沈航单片机数码管动态扫描课程设计报告.
- 格式:doc
- 大小:136.50 KB
- 文档页数:9
电子设计应用软件训练总结报告
一、任务说明
1、熟练掌握PROTUS软件的使用;
2、按照设计要求绘制电路原理图;
3、能够按要求对所设计的电路进行仿真,利用51单片机、8个数码管设计一个单片机显示系统,要求8个数码管分别显示数据1~8。
二、原理图绘制说明
电路原理图的设计与绘制是整个电路设计的基础,设计一个电路原理图的工作包括:设置电路图图纸的大小,规划电路图的总体布局,在图纸上放置元器件并对元器件进行调整,进行布线和整体布局,最后保存并打印输出等几个步骤。
安装完Proteus后,运行ISIS 6 Professional,在原理图编辑窗口绘制电路图,在该界面下还有预览窗口和元件列表区,在左侧的工具箱中还有模型选择工具栏,方向工具栏及仿真按钮等工具。
绘制电路图首相要选择大小合适的图纸尺寸,本次实验所要求的是应用A4图纸,然后即开始进行电路原理图的绘制。
在Proteus 6 Professional中点击“文件”->“新建设计”可以根据设计的规模选择页面的大小,然后开始电路的设计。
如图1所示。
图1 设计图纸大小选择
选好合适的设计图纸后,在软件的元件库中利用搜索功能找到设计中所要用到的元件,放置到图纸合适的位置上,并单击元件设置元器件的参数。
点击“库”->“选择元件/符号”可以在弹出的对话框(如图2所示)中填写需要的元器件名称,通过这种方式,就可以找到并放置相应的器件。
在这个界面中我们可以看到关于器件的一些基本信息,如管脚数目和PCB图形样式等。
图2 元器件查找与选择界面
在主界面的左侧有模型选择工具栏,通过它我们可以放置一些基本的器件,如直流电源、接地标志、电阻、电容等等。
在将主要的芯片器件放置到界面之中以后,我们要根据预先设计好的方案将各个小器件放置在相应位置上。
最后将各个元器件用导线连接,这样电路原理图的绘制部分就基本完成,对所绘制的电路原理图进行检查,这时可以点击“工具”->“电气规则检查”,可以检查原理图中是否有忘记连接的引脚,是否忘记接电源或接地等,如有错误就要作进一步的调整与修改,以保证原理图准确无误。
因为本次设计的要求对数码管的“DP”引脚没有要求,所以经过电气规则检查之后只有数码管“H”引脚没有定义这一个错误,没有其它的错误,可以判定电路原理图绘制正确。
电器规则检查结果如图3所示。
图3 电气规则检查结果
电气规则检查无误后,电路原理图的绘制工作就完成了。
电路原理图如图4所示。
XTAL2
18
XTAL1
19
ALE 30EA
31
PSEN 29RST
9
P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78
P3.0/RXD 10P3.1/TXD 11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD
17
P3.6/WR 16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1
AT89C51
PULLUP
VCC
A 1
B 2C
3
E16E24E35
Y015Y114Y213Y312Y411Y510Y69Y7
7
U2
74LS138
GND
VCC
X1
CRYSTAL
C2
30pF
C1
30pf
C3
10uF
R1
10k
VCC
GND
图4 电路原理图
三、流程图绘制以及说明
本设计应用八位7段数码管(LED)显示电路,8位LED由一个8为动态显示共阴数码管组成,八位数据线接到单片机的P0口,如附录图中所示,8位片选线通过74LS138译码器连接到单片机的P2口,高电平选择。
操作过程为:选择相应数码管(给P2口送数据),控制数码管的8位数据线(给P0口送相应数据),只要按地址输出相应数据,就可以实现对LED的控制。
显示共有8 位,用动态方式显示。
程序流程图如图5所示。
图5 程序流程图
四、Proteus仿真说明
电路原理图绘制完成之后就可以进行电路功能的仿真。
仿真之前首先要用到Keil这个软件,打开这个软件之后将所编写的程序进行编译,如果程序没有错误,Keil 会自动生成一个 .hex的文件。
然后就是将所生成的 .hex文件写入AT89C51芯片中,具体方法是先右键点击芯片,再左击芯片,将 .hex文件载入,就完成了程序的写入。
导入文件如图6所示。
图6 .hex文件导入
此时程序已经写入芯片中,这时就可以进行电路图功能的仿真了。
点击左下方的运行按钮,仿真的结果如图7所示。
图7 电路功能仿真
本设计将所有数码管的8个段线相应地并接在一起,并接到 AT89C51的P0口,由P0口控制字段输出。
而各位数码管的共阳极由AT89C51的P2口控制P20-P21连接到译码器74LS138来实现8位数码管的位输出控制。
这样,对于一组数码管动态扫描显示需要由两组信号来控制:一组是字段输出口输出的字形代码,用来控制显示的字形,称为段码;另一组是位输出口输出的控制信号,用来选择第几位数码管工作,称为位码。
虽然这些字符是在不同时刻出现的,而且同一时刻,只有一位显示,其它各位熄灭,但由于数码管具有余辉特性和人眼有视觉暂留现象,只要每位数码管显示间隔足够短,给人眼的视觉印象就会是连续稳定地显示。
数码管不同位显示的时间间隔可以通过调整延时程序的延时长短来完成。
数码管显示的时间间隔也能够确定数码管显示时的亮度,若显示的时间间隔长,显示时数码管的亮度将亮些,若显示的时间间隔短,显示时数码管的亮度将暗些。
若显示的时间间隔过长的话,数码管显示时将产生闪烁现象。
所以,在调整显示的时间间隔时,即要考虑到显示时数码管的亮度,又要数码管显示时不产生闪烁现象。
由实验结果可看出,所设计的电路及程序可以满足设计的要求。
五、汇编源程序
ORG 0000H
LJMP START
START:
MOV B, #0
MOV DPTR, #D_table ;指针指向表头地址
M_LOOP:
MOV P0, #0 ;P0口初始化
MOV P2, B ;P2口初始化
MOV A, B
MOVC A, @A+DPTR ;查表取得段码,送A存储
MOV P0, A
INC B
ANL B, #7
CALL Delay
SJMP M_LOOP
Delay: ;延时子程序
MOV R7, #0
DJNZ R7, $
DJNZ R7, $
RET
D_table:
DB 0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f
END
六、体会及合理化建议
通过单片机课程设计,我不仅加深了对单片机理论的理解,将理论很好地应用到实际当中去,而且我还学会了如何去培养我们的创新精神,从而不断地战胜自己,超越自己。
创新,是要我们学会将理论很好地联系实际,并不断地去开动自己的大脑,从为人类造福的意愿出发,做自己力所能及的,别人却没想到的事。
使之不断地战胜别人,超越前人。
同时,更重要的是,我在这一设计过程中,学会了坚持不懈,不轻易言弃。
设计过程,也好比是我们人类成长的历程,常有一些不如意,也许这就是在对我们提出了挑战,勇敢过,也战胜了,胜利的钟声也就一定会为我们而敲响。
这个设计过程中,我遇到过许多次失败的考验,就比如,自己对数码管应用的不了解给整个设计带来的困扰,真想要就此罢休,然而,就在想要放弃的那一刻,我明白了,原来结果并不那么重要,我们更应该注重的是这一整个过程。
于是,我坚持了下来。
当然最终,这个设计很成功,设计结果能够符合题意,成功完成了此次实习要求,我们不只在乎这一结果,更加在乎的,是这个过程。
一周的课程设计结束了,但是从中学到的知识会让我受益终身。
发现、提出、分析、解决问题和实践能力的提高都会受益于我在以后的学习、工作和生活中。
附录Ⅰ电路原理图
参考文献
[1]李光飞,楼然苗 .《51系列单片机设计实例》北京航空航天大学出版社,2003
年3月
[2]韩志军,沈晋源,王振波. 《单片机应用系统设计——入门向导与设计实例》机
械工业出版社,2005年1月
[3]王幸之,钟爱琴,王雷,王闪.《AT89系列单片机原理与接口技术》北京航空航
天大学出版社,2004年5月
[4]朱定华.《单片机原理及接口技术》电子工业出版社,2001年4月
[5]刘东红.《利用单片机89C51的一个并行I∕O口实现多个LED显示的一种简单方
法》国外电子元器件,2002年第8期。