Proteus花样流水灯课程设计

  • 格式:doc
  • 大小:156.50 KB
  • 文档页数:11

Proteus花样流水灯课程设计
————————————————————————————————作者:————————————————————————————————日期:
成绩
课程论文
题目:基于51单片机LED流水灯设计
课程名称:
学生姓名:
学生学号:
系别:
专业:
年级:
任课教师:
电气信息工程学院制
2015年1月
基于51单片机的LED流水灯设计
1 单片机AT89C51芯片简介
MCS-51兼容4K字节,可编程闪烁存储器,寿命:1000写/擦循环,数据保留时间:10年。

全静态工作:0Hz—24Hz,三级程序存储器锁定。

128*8位内部RAM,32可编程I/O线,两个16位定时器/计数器,5个中断源可编程串行通道,低功耗的闲置和掉电模式,片内震荡器和时钟电路。

图1 AT89C51芯片
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.3 LED发光二极管
是一种能够将电能转化为可见光的固态的半导体器件,它可以直接把电转化为光。

LED的心脏是一个半导体的晶片,晶片的一端附在一个支架上,一端是负极,另一端连接电源的正极,使整个晶片被环氧树脂封装起来。

半导体晶片由两部分组成,一部分是P型半导体,在它里面空穴占主导地位,另一端是N型半导体,在这边主要是电子。

但这两种半导体连接起来的时候,它们之间就形成一个P-N结。

当电流通过导线作用于这个晶片的时候,电子就会被推向P区,在P区里电子跟空穴复合,然后就会以光子的形式发出能量,这就是LED灯发光的原理。

而光的波长也就是光的颜色,是由形成P-N结的材料决定的。

表1 元器件表
单片机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
2.4电路图
图2 电路仿真图
3软件设计
3.1软件(Proteus+Keil uV4)
在PROTUES绘制好原理图后,再在keil uV2中输入程序代码并且进行编译。

然后就可以调入已编译好的目标代码文件:*.HEX,利用这两个软件进行联合仿真。

PROTUES不仅可将许多单片机实例功能形象化,也可将许多单片机实例运行过程形象化。

前者可在相当程度上得到实物演示实验的效果,后者则是实物演示实验难以达到的效果。

它的元器件、连接线路等却和传统的单片机实验硬件高度对应。

由于PROTUES 提供了实验室无法相比的大量的元器件库,提供了修改电路设计的灵活性、提供了实验室在数量、质量上难以相比的虚拟仪器、仪表,因而也提供了培养学生实践精神、创造精神的平台。

它具有设计灵活,结果、过程的统一的特点。

可使设计时间大为缩短、耗资大为减少,也可降低工程制造的风险。

相信在单片开发应用中PROTUES也能茯得愈来愈广泛的应用。

3.2流程图
图3 LED 流水灯流程图
4仿真结果 4.1仿真结果
右移 左移
图4 仿真结果图
当K1键按下时实现右移即从下往上移动,当K2键按下时实现左移即从上往下移动。

P1,P3端开是否按LED 灯

是否按下LED 灯
5参考文献
[1] 康光华主编. 电子技术基础[M]. 高等教育出版社,2009
[2] 陈海宴主编. 51单片机原理及应用基Keil C与Proteu[M] . 北京航空航天大学出版社,
2013
[3] 林立主编. 单片机原理及其应用--基于Proteus与keil C[M]. 电子工业出版社, 2014
[4] 陈忠平主编. 基于proteus 51系列单片机设计与仿真[M]. 电子工业出版社,2008
[5] 何应浚. 51单片机C语言编程一学就会[M]. 机械工业出版社,2014
[6] 陈志旺主编.51单片机应用实例详解[M].机械工业出版社,2010
附录
程序设计
#include<reg52.h>
#include<intrins.h> unsigned int a,d;
sbit key1=P3^4;
sbit key2=P3^5;
sbit key3=P3^6;
sbit key4=P3^7;
void delay();
bit flag1=0;
bit flag2=0;
bit flag3=0;
bit flag4=0;
void main()
{
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);
}
}
}
void delay(unsigned int c) {
for(c=8000;c>0;c--);
}。