Proteus花样流水灯课程设计.docx
《Proteus花样流水灯课程设计.docx》由会员分享,可在线阅读,更多相关《Proteus花样流水灯课程设计.docx(8页珍藏版)》请在冰豆网上搜索。
![Proteus花样流水灯课程设计.docx](https://file1.bdocx.com/fileroot1/2023-1/5/e7bc2a5f-5af5-45f9-ae25-b66316182ad2/e7bc2a5f-5af5-45f9-ae25-b66316182ad21.gif)
Proteus花样流水灯课程设计
Proteus花样流水灯课程设计
课程论文
题目:
基于51单片机LED流水灯设计
课程名称:
学生姓名:
学生学号:
系别:
专业:
年级:
任课教师:
电气信息工程学院制
2015年1月
基于51单片机的LED流水灯设计
1单片机AT89C51芯片简介
MCS-51兼容4K字节,可编程闪烁存储器,寿命:
1000写/擦循环,数据保留时间:
10年。
全静态工作:
0Hz—24Hz,三级程序存储器锁定。
128*8位内部RAM,32可编程I/O线,两个16位定时器/计数器,5个中断源可编程串行通道,低功耗的闲置和掉电模式,片内震荡器和时钟电路。
图1AT89C51芯片
1.1电源引脚
Vcc(40脚):
典型值+5V。
Vss(20脚):
接低电平。
1.2外部晶振
XTAL1、XTAL2分别与晶振两端相连接。
1.3输入输出口引脚
P0口:
I/O双向口。
作输入口时,应先软件置“1”.P0口:
是一个8位漏极开路输出型双向I/O端口。
作为输出端口时,每位能以吸收电流的方式驱动8个TTL输入,对端口写1时,又可作高阻抗输入端用。
在访问外部程序或数据存储器时,它是时分多路转换的地址(低8位)/数据总线,在访问期间将激活内部的上拉电阻。
1.4控制引脚
RST、ALE/-PROG、-PSEN、-EA/Vpp组成了MSC-51的控制总线。
RST(9脚):
复位信号输入端(高电平有效)。
ALE/-PROG(30脚):
地址锁存信号输出端.第一功能:
编程脉冲输入。
-PSEN(29脚):
外部程序存储器读选通信号。
-EA/Vpp(31脚):
外部程序存储器使能端。
第二功能:
编程电压输入端(+21V)。
2硬件电路
2.1晶振电路
单片机晶振的作用是为系统提供基本的时钟信号。
通常一个系统共用一个晶振,便于各部分保持同步。
有些通讯系统的基频和射频使用不同的晶振,而通过电子调整频率的方法保持同步。
也就是说.晶振是给单片机提供工作信号脉冲的。
这个脉冲就是单片机的工作速度。
比如这里选用的是12MHZ的晶振.如果一个单片机选择了12MHZ晶振,它的时钟周期是1/12us,它的一个机器周期是12×(1/12)us,也就是1us。
晶振与单片机XTAL0和XTAL1引脚构成的振荡电路中会产生偕波,这个波对电路的影响不大,但会降低电路的时钟振荡器的稳定性。
为了提高电路的稳定性,在晶振的两引脚处接入两个10pf-50pf的瓷片电容接地来削减偕波对电路的稳定性的影响。
晶振电路中两个电容的取值都是相同的,或者说相差不大,如果相差太大,容易造成谐振的不平衡,容易造成停振或者干脆不起振。
这里我们选用30pf的电容。
复位电路:
复位电路的原理是单片机RST引脚接收到2US以上的电平信号,只要保证电容的充放电时间大于2US,即可实现复位。
复位电路由电容串联电阻构成,结合"电容电压不能突变"的性质,可以知道,当系统一上电,RST脚将会出现高电平,并且,这个高电平持续的时间由电路的R、C值来决定。
在这个电路中,这里选用10K的电阻和1uf的电容。
2.2排阻的作用
所谓排阻就是若干个参数完全相同的电阻,它们的一个引脚都连到一起,作为公共引脚。
其余引脚正常引出。
所以如果一个排阻是由n个电阻构成的,那么它就有n+1只引脚,一般来说,最左边的那个是公共引脚。
它在排阻上一般用一个色点标出来。
排阻一般应用在数字电路上,比如:
作为某个并行口的上拉或者下拉电阻用。
使用排阻比用若干只固定电阻更方便。
2.3LED发光二极管
是一种能够将电能转化为可见光的固态的半导体器件,它可以直接把电转化为光。
LED的心脏是一个半导体的晶片,晶片的一端附在一个支架上,一端是负极,另一端连接电源的正极,使整个晶片被环氧树脂封装起来。
半导体晶片由两部分组成,一部分是P型半导体,在它里面空穴占主导地位,另一端是N型半导体,在这边主要是电子。
但这两种半导体连接起来的时候,它们之间就形成一个P-N结。
当电流通过导线作用于这个晶片的时候,电子就会被推向P区,在P区里电子跟空穴复合,然后就会以光子的形式发出能量,这就是LED灯发光的原理。
而光的波长也就是光的颜色,是由形成P-N结的材料决定的。
单片机AT89C51
瓷片片电容CAP-22pf
晶振CRYSTAL11.0592MHz
解电容CAP-ELEC
电阻RES
排阻RESPACLK-8
发光二极管LED-GREEN
发光二极管LED-YELLOW
发光二极管LED-RED
发光二极管LED-BLUE
发光二极管LED-BIBY
发光二极管LED-BIGY
发光二极管LED-BIRG
发光二极管LED-BIRY
按钮BUTTO
表1元器件表
2.4电路图
图2电路仿真图
3软件设计
3.1软件(Proteus+KeiluV4)
在PROTUES绘制好原理图后,再在keiluV2中输入程序代码并且进行编译。
然后就可以调入已编译好的目标代码文件:
*.HEX,利用这两个软件进行联合仿真。
PROTUES不仅可将许多单片机实例功能形象化,也可将许多单片机实例运行过程形象化。
前者可在相当程度上得到实物演示实验的效果,后者则是实物演示实验难以达到的效果。
它的元器件、连接线路等却和传统的单片机实验硬件高度对应。
由于PROTUES提供了实验室无法相比的大量的元器件库,提供了修改电路设计的灵活性、提供了实验室在数量、质量上难以相比的虚拟仪器、仪表,因而也提供了培养学生实践精神、创造精神的平台。
它具有设计灵活,结果、过程的统一的特点。
可使设计时间大为缩短、耗资大为减少,也可降低工程制造的风险。
相信在单片开发应用中PROTUES也能茯得愈来愈广泛的应用。
3.2流程图
图3LED流水灯流程图
4仿真结果
4.1仿真结果
右移左移
图4仿真结果图
当K1键按下时实现右移即从下往上移动,当K2键按下时实现左移即从上往下移动。
5参考文献
[1]康光华主编.电子技术基础[M].高等教育出版社,2009
[2]陈海宴主编.51单片机原理及应用基KeilC与Proteu[M].北京航空航天大学出版社,2013
[3]林立主编.单片机原理及其应用--基于Proteus与keilC[M].电子工业出版社,2014
[4]陈忠平主编.基于proteus51系列单片机设计与仿真[M].电子工业出版社,2008
[5]何应浚.51单片机C语言编程一学就会[M].机械工业出版社,2014
[6]陈志旺主编.51单片机应用实例详解[M].机械工业出版社,2010
附录
程序设计
#include
#include
unsignedinta,d;
sbitkey1=P3^4;
sbitkey2=P3^5;
sbitkey3=P3^6;
sbitkey4=P3^7;
voiddelay();
bitflag1=0;
bitflag2=0;
bitflag3=0;
bitflag4=0;
voidmain()
{
d=0xfe;
while
(1)
{
if(key1==0)
{
flag1=1;
flag2=0;
}
if(flag1==1)
{
P0=d;
delay();
d=_cror_(d,1);
}
if(key2==0)
{
flag2=1;
flag1=0;
}
if(flag2==1)
{
P0=d;
delay();
d=_crol_(d,1);
}
}
}
voiddelay(unsignedintc)
{
for(c=8000;c>0;c--);
}