A. 求:单片机C51课程设计(花样走马灯)
#include "reg51.h"
#include "intrins.h"
/*我设计的高电平有效,延时时间大概1s,你可以自己改 */
/*我没编译的,很久没编单片机程序了,随手之作 */
/*电路:单片机最小系统+三极管驱动 */
#define uchar unsigned char
#define uint unsigned int
sbit Led=P1;
void delay(void);
void main(void)
{
unsigned char tmp,k,i,j;
P1=0x00;//全熄灭
while(1)
{
for(i=0;i<8;i++)//左移
{
tmp=0x01;
tmp=(tmp<<i);
P1=tmp;
delay();
}
P1=0x00;
delay();
for(i=0;i<8;i++)//右移
{
tmp=0x80;
tmp=tmp>>i;
P1=tmp;
delay();
}
P1=0x00;
delay();
for(i=0;i<4;i++)//两边向中间点亮
{
j=0x01;
k=0x80;
tmp=(j<<i)|(k>>i);
P1=tmp;
delay();
}
P1=0x00;
delay();
for(i=0;i<4;i++)//中间向两边点亮
{
j=0x08;
k=0x09;
tmp=(j>>i)|(k<<i);
P1=tmp;
delay();
}
}
}
void delay(void) //误差 0us
{
unsigned char a,b,c;
for(c=167;c>0;c--)
for(b=171;b>0;b--)
for(a=16;a>0;a--);
_nop_; //if Keil,require use intrins.h
}
//兄弟给分呀,我需要赞同更需要分。谢谢!
B. 51单片机课设
可以做一个温度检测回报跟风扇控制的,既有AD(温度检测),也有DA(驱动风扇),显示(显示数值),键盘(设置风扇启动点及停止点)通讯(回传温度)都有用到
C. 利用51单片机,4个数码管设计一个计时器,要求在数码管上显示的数据从0开始每1秒钟加1。
共阳数码管中断程序:
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
uchar code table[]=
{
0xc0,0xf9,0xa4,0xb0,
0x99,0x92,0x83,0xf8,
0x80,0x90,0x88,0x83,
0xc6,0xa1,0x86,0x8e};
uint num,a;
uchar ,shi,ge;
void init();
void delay(uint);
void display(uchar,ucharshi,ucharge);
uint fb();
uint fs();
uint fg();
void main()
{
init();
while(1)
{
display(fb(),fs(),fg());
}
}
void init()
{
num=0;
a=0;
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;
ET0=1;
TR0=1;
}
void display(uchar,ucharshi,ucharge)
{
P1=0xfd;
P0=table[];
delay(1);
P1=0xfb;
P0=table[shi];
delay(1);
P1=0xf7;
P0=table[ge];
delay(1);
}
void timeoff() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65526-50000)%256;
a++;
if(a%20==0)
{
num++;
if(num==999)
{
num=0;
}
}
}
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
uint fb()
{
=num/100;
return ;
}
uint fs()
{
shi=num%100/10;
return shi;
}
uint fg()
{
ge =num%100%10;
return ge;
}
(3)51单片机课程设计扩展阅读
2个可编程定时/计数器·5个中断源,2个优先级(52有6个)
一个全双工串行通信口
外部数据存储器寻址空间为64kB
外部程序存储器寻址空间为64kB
逻辑操作位寻址功能·双列直插40PinDIP封装
单一+5V电源供电
CPU:由运算和控制逻辑组成,同时还包括中断系统和部分外部特殊功能寄存器;
RAM:用以存放可以读写的数据,如运算的中间结果、最终结果以及欲显示的数据;
ROM:用以存放程序、一些原始数据和表格;
I/O口:四个8位并行I/O口,既可用作输入,也可用作输出
T/C:两个定时/记数器,既可以工作在定时模式,也可以工作在记数模式;
五个中断源的中断控制系统;
一个全双工UART(通用异步接收发送器)的串行I/O口,用于实现单片机之间或单片机与微机之间的串行通信;
片内振荡器和时钟产生电路,石英晶体和微调电容需要外接。最佳振荡频率为6M—12M。
参考资料来源:网络-51单片机
D. 51单片机课程设计要怎么写
第一次见有人这样问!!-
-
自己学单片机都不知道该做什么啊,看样子复杂的你是没指望了,看看书,写个计算器、万年历、变压器啦什么的还可以
追问:
我不会啊
回答:
真干脆!你们老师也没说题目,就是让你自己想题目然后设计啊?要是那样,也不怪乎你会问这种问题
课程设计
的一般要求:
1、
设计任务书
:说明设计的内容,达到什么程度
2、硬件电路图:设计硬件
电路板
(若不要求做实物的话,可用protues仿真,但无论如何硬件电路一定要有)
3、
软件设计
:根据硬件电路开发,去实现要设计的目的。
4、
流程图
:绘制软件流程图(其实,应该是根据先流程图
再设计
程序的,不过一般具体流程图都是要根据软件细化,所以就放在了编程后便..)
5.
设计说明
书:总结是设计的过程
//-----------------------------
一般
单片机
设计的流程就是这样了,可以根据你们要求具体做哪些....
E. 求51单片机一个简单的课程设计
这个可以做,
F. 51系列单片机拔河课程设计需要掌握哪几章知识
要做单片机的课程设计,应该是学完单片机这门课才能做的,总不能一点不学,系里就让你们做课设吧。就算是现学现做,靠自学,那也不能只学一两章就能做,真是想自学还是从头学起。如果只是为了做课设,那上网搜一下这个题目,模仿做一个好啦。