单片机课程设计说明书仿真及源程序Word文档格式.docx
- 文档编号:17279312
- 上传时间:2022-11-30
- 格式:DOCX
- 页数:27
- 大小:783.88KB
单片机课程设计说明书仿真及源程序Word文档格式.docx
《单片机课程设计说明书仿真及源程序Word文档格式.docx》由会员分享,可在线阅读,更多相关《单片机课程设计说明书仿真及源程序Word文档格式.docx(27页珍藏版)》请在冰豆网上搜索。
2015年1月9-13日软件设计与编程
2015年1月14-16日调试并修改硬件组成
2015年1月17-18日修改软件编程并调试
2015年1月19-20日编写设计说明书
2015年1月21-22日确认提交版答辩
指导教师签名:
年月日
系主任(或责任教师)签名:
本科生课程设计成绩评定表
性别
男
专业、班级
课程设计题目:
课程设计答辩或质疑记录:
1.Proteus软件的主要功能是什么?
答:
Proteus分两部分,一部分是绘制PCB板的;
另一部分是仿真软件,用于电子的仿真,如单片机。
2.LED显示屏与LCD显示屏相比有什么优势?
LED为一种发光二极管,工作时耗电量小,节能环保。
原理是把电能直接转换为光能,不产生或产生极少热量,对人体辐射较小,而且耐冲击,性能稳定。
3.时间设置功能你采用了几只按键来实现,分别有什么作用?
用了三只按键来实现,其中的两只是时间调整按键,分别用于时调整和分调整,另外一只是用作复位按键来实现复位的。
成绩评定依据:
1.硬件电路和软件程序的正确性;
2.设计说明书的规范性和完整性;
3.答辩情况;
4.功能实现的难易程度。
最终评定成绩(以优、良、中、及格、不及格评定)
指导教师签字:
年月日
1.项目概述…………………………………………………………………………………2
1.1设计内容和要求………………………………………………………………………2
1.2设计思路………………………………………………………………………………2
2.设计原理分析……………………………………………………………………………3
2.1设计方案论证…………………………………………………………………………3
2.2电路工作原理…………………………………………………………………………3
2.2.1复位电路模块…………………………………………………………………3
2.2.2晶振电路模块…………………………………………………………………3
2.2.3按键电路模块…………………………………………………………………4
2.2.4显示电路模块…………………………………………………………………5
3.硬件电路设计……………………………………………………………………………6
3.1主要硬件设备介绍……………………………………………………………………7
3.1.18×
8点阵屏…………………………………………………………………7
3.1.274LS373锁存驱动器的特性及使用…………………………………………8
3.1.374LS138译码器的特性及使用………………………………………………10
3.1.4AT89C52单片机……………………………………………………………12
3.2电路原理图…………………………………………………………………………13
3.3元件清单……………………………………………………………………………14
4.软件设计…………………………………………………………………………………15
4.1框图设计……………………………………………………………………………15
4.2程序流程图…………………………………………………………………………16
4.3程序清单……………………………………………………………………………16
5.系统仿真…………………………………………………………………………………27
6.课程设计总结……………………………………………………………………………29
参考文献…………………………………………………………………………………29
摘要
本文设计的是一个室内用5块8×
8点阵时钟显示屏,数字采用静止显示方式。
电子钟是一种利用数字电路来显示秒、分、时的计时装置,与传统的机械钟相比,它具有走时准确、显示直观、无机械传动装置等优点,因而得到广泛应用。
由于数字集成电路技术的发展和采用了先进的石英技术,使数字钟走时更准确、性能更稳定。
LED点阵电子钟程序主要功能是屏幕显示时间稳定,精确。
所以按照分块设计的方法可以把程序分为主程序、显示程序、计时程序。
主程序主要是用来初始化系统和控制各个子程序之间执行的顺序。
显示程序用来完成数字在LED点阵上的显示,时钟的显示是使用5块8×
8点阵显示屏。
计时程序用来完成计时,数时功能。
基于AT89C52单片机的LED点阵显示电子钟具有结构简单,性能好,价格低和灵活等优点,因此得到了广泛应用。
关键词:
LED;
电子钟;
AT89C52单片机
1项目概述
1.1设计内容和要求
利用AT89C52单片机结合LED点阵显示器设计一个点阵显示电子钟。
电子时钟将在5块8×
8点阵显示屏上分别显示(小时十位)、(小时个位)、(:
)、(分十位)、(分个位)。
时钟出现累积误差,可以人为手动进行修改。
修改时间的功能可以通过独立式按键来完成。
设计一种基于AT89C52单片机的LED点阵显示时钟,基本设计要求如下:
⑴时钟的显示由LED点阵构成。
⑵能正确显示时间,上电时间为12点。
⑶时间能够由按键调整。
⑷误差小于1s。
1.2设计思路
2设计原理分析
2.1设计方案论证
由中断产生的秒、分、小时数据,经转换子程序转换成适应LED点阵显示屏显示的数据,并通过单片机的输出功能输入到LED点阵显示屏,再通过显示扫描程序,显示出时钟的走时时间。
用计时程序来完成计时,数时功能,再通过单片机综合控制将数字显示出来。
由此可见,通过AT89C52单片机的控制功能,完全可以实现LED点阵显示电子钟。
2.2电路工作原理
2.2.1复位电路模块
本设计采用RC上电加按钮复位。
如图2.1中所示,将一个手动按钮与电阻串联后再和复位电容并联起来,当系统上电后,由于开关没有导通,还是一个基本的阻容复位电路,系统会可靠地复位。
如果在调试过程中需要对系统进行复位,这时不需要断电再接通电源,只需按一下复位开关即可。
当复位开关按下后,电容被短路,在RET脚上由于电阻分压会得到一个复位的高电平,达到复位效果。
图2.1复位电路
2.2.2晶振电路模块
AT89C52单片机芯片内部设有一个由反向放大器构成的振荡器,XTAL1和XTAL2分别为振荡电路的输出端和输入端,时钟可由内部或外部生成,在XTAL1和XTAL2引脚上外接定时元件,内部振荡电路就会产生自激振荡。
晶振电路中,采用高精度的12MHz的石英晶振和电容值为30皮法拉的电容组成并联谐振回路。
以获得较高的刷新频率及较准确的时钟频率使显示稳定,计时准确。
系统时钟由定时器T0中断方式产生,较为精确。
电路图如图2.2。
图2.2晶振电路
综合以上两个电路模块可设计出由复位电路和晶振电路加上AT89C52单片机所组成的单片机最小系统,如图2.3所示。
图2.3单片机最小系统电路
2.2.3按键电路模块
按键电路由两个个独立式按键组成,如图2.4。
采用定时查询方式,一般情况下,单片机应用系统的用户按一次键(从按下到释放)或释放一次键(从释放到再次按下)最快也需要50毫秒以上,在此期间CPU只要有一次查询键盘,则该次的按键和释放就不会丢失。
因此,可以编制这样的按键程序,即每隔不大于50毫秒的时间(典型值为20毫秒)单片机就去查询一次按键,查询各键按下与释放的状态,就能正确地识别用户对键盘的操作。
独立按键,按键电路由两个独立式按键组成,分别接单片机的P3.2、P3.3低电平驱动。
这两个按键分别用作时调整,分调整。
图2.4独立按键电路
2.2.4显示电路模块
显示电路由五片8×
8点阵LED组成,用以显示(时∶分)。
根据设计要求,采用并行方式显示,通过锁存器芯片来扩展I/O口,达到控制LED点阵的40个列线的目的。
本方案运用5片锁存器74LS373来组成5组双缓存寄存器,驱动LED点阵的8组列线,用3/8译码器74LS138对LED点阵的8行进行扫描。
在送每一行的数据到LED点阵时,每次把数据分别送到5个74LS373,然后再把数据一起输出到LED点阵列中,送出去的时间数据由AT89C52来控制。
单片机的串口与行驱动器相连,用来发送显示数据信息。
P0口与LED的行引脚相连,送出数据,地址以及系统的控制信号。
输出低态时,最大可吸取0.5安培,即500毫安,若每个LED取30毫安,8个LED同时点亮,需要240毫安,完全满足LED点亮的基本条件。
显示电路如图2.5。
图2.5显示电路模块
3硬件电路设计
3.1主要硬件设备介绍
8点阵屏
图3.1为8×
8点阵LED外观及引脚图,其等效电路如图3.2所示,只要其对应的DC、DR轴顺向偏压,即可使LED发亮。
例如如果想使图3.2左上角LED点亮,则DC8=1,DR1=0即可。
应用时限流电阻可以放在DC轴或DR轴。
8×
8点阵LED外观及引脚如图3.1。
图3.18×
8LED点阵引脚图
图3.2为8×
8点阵LED等效电路,由此可以看出点阵是用64个LED组成的。
点阵LED扫描法介绍:
从图3.2中可以看出,8×
8点阵共需要64个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一列置1电平,某一行置0电平,则相应的二极管就亮。
频率必须大于128赫兹,周期小于7.8毫秒即可符合视觉暂留要求。
此外一次驱动一列或一行(8盏LED)时需外加驱动电路提高电流,否则LED亮度会不足。
图3.28×
8点阵LED等效电路
3.1.274LS373锁存驱动器的特性及使用
74LS373是常用的地址锁存器芯片,它实质是一个是带三态缓冲输出的8D触发器,在单片机系统中为了扩展外部存储器,通常需要一块74LS373芯片。
本小节将介绍74LS373的工作原理,引脚图(管脚图),内结构图,主要参数及在单片机系统中的典型应用电路。
74LS373工作原理简述:
1脚是输出使能(OE),是低电平有效,当1脚是高电平时,不管输入3、4、7、8、13、14、17、18如何,也不管11脚(锁存控制端,G)如何,输出2(Q0)、5(Q1)、6(Q2)、9(Q3)、12(Q4)、15(Q5)、16(Q6)、19(Q7)全部呈现高阻状态(或者叫浮空状态)。
当1脚是低电平时,只要11脚(锁存控制端,G)上出现一个下降沿,输出2(Q0)、5(Q1)、6(Q2)、9(Q3)、12(Q4)、15(Q5)、16(Q6)、19(Q7)立即呈现输入脚3、4、7、8、13、14、17、18的状态。
锁存端LE由高变低时,输出端8位信息被锁存,直到LE端再次有效。
当三态门使能信号OE为低电平时,三态门导通,允许Q0到Q7输出,OE为高电平时,输出悬空。
74LS373内部逻辑结构如图3.3所示。
图3.374LS373内部逻辑结构
表3.1中:
L表示低电平。
H表示高电平。
X表示不定态。
Q0表示建立稳态前Q的电平,G输入端,与8031ALE连高电平,畅通无阻,低电平,关门锁存。
表3.174LS373的真值表(功能表)
OUTPUTCONTROL
ENABLEG
D
OUTPUT
L
H
X
Q0
Z
图中OE表示使能端,接地。
当G=“1”时,74LS373输出端1Q到8Q与输入端1D到8D相同,当G为下降沿时,将输入数据锁存。
G,E功能如表3.2所示。
表3.2G,E功能表
E
G
功能
直通QI=DI
保持(QI保持不变)
输出高阻
74LS373引脚(管脚)排列如图3.4。
可见输出和输入是相邻排列的,所以在连接时应注意连接的引脚是否正确,避免错误。
图3.474LS373引脚(管脚)排列
3.1.374LS138译码器的特性及使用
74LS138为3线8线译码器,74LS138的工作原理如下:
当一个选通端(G1)为高电平,另两个选通端(/(G2A)和/(G2B))为低电平时,可将地址端(A、B、C)的二进制编码在一个对应的输出端以低电平译出。
74LS138功能是利用S1、/S2和/S3可级联扩展成24线译码器,若外接一个反相器还可级联扩展成32线译码器。
若将选通端中的一个作为数据输入端时,74LS138还可作数据分配器。
74LS138引脚图如图3.5所示。
图3.6所示的是用与非门组成的3线8线译码器74LS138的内部结构图。
详细功能表如表3.3所示。
图3.574LS138引脚图
图3.674LS138内部电路
表3.33线-8线译码器74LS138的功能表
输入
输出
S1
_S2+_S3
A2A1A0
Y0Y1Y2Y3Y4Y5Y6Y7
XXX
XXX
000
001
010
011
100
101
110
111
11111111
01111111
10111111
11011111
11101111
11110111
11111011
11111101
11111110
无论从逻辑图还是功能表(表3.3)我们都可以看到74LS138的八个输出管脚,任何时刻全为高电平则芯片处于不工作状态,只有一个为低电平,其余7个输出管脚全为高电平。
如果出现两个输出管脚在同一个时间为0的情况,说明该芯片已经损坏。
74LS138有三个附加的控制端S1、/S2和/S3。
当S1、/S2接低电平时,输出为高电平(S=1),译码器处于工作状态。
否则,译码器被禁止,所有的输出端被封锁在高电平,如表2.3所示。
这三个控制端也叫做“片选”输入端,利用片选的作用可以将多片连接起来以扩展译码器的功能。
带控制输入端的译码器又是一个完整的数据分配器。
在图3.6中如果把作为“数据”输入端(在同一个时间),而将作为“地址”输入端,那么从送来的数据只能通过所指定的一根输出线送出去。
这就不难理解为什么把叫做地址输入了。
例如当S1=1、S2=0和S3=1时,门的输入端除了接至输出端的一个以外全是高电平,因此的数据以反码的形式从输出,而不会被送到其他任何一个输出端上。
3.1.4AT89C52单片机
微处理器采用AT89C52系列单片机,AT89C52单片机是这几年在我国非常流行的单片机,是一种带8K字节闪存器的高性能单片机,可擦除存储器可以反复擦除100次,具有低功耗,高性能的特点,并且可与工业标准的MSC-51指令集和输出管脚相兼容,对于本设计需要实现的功能,完全可胜任。
LED点阵电子钟的设计主要是用AT89C52单片机进行控制,用12MHz的晶振来保证计时的精准性,用具有一定驱动能力的74LS373锁存器和74LS138译码器进行I/O口扩展,并在5块8×
8点阵上显示。
3.2电路原理图
图3.7LED点阵显示电子钟电路原理图
3.3元件清单
表3.4LED点阵显示电子钟元件清单
元件名称
型号
数量/个
用途
单片机
AT89C52
控制核心
晶振
12MHZ
晶振电路
电容
33pF
2
电解电容
10uF/10V
复位电路
电阻
10KΩ
驱动器
74LS07
LED驱动
LED点阵
8
5
显示电路
集成块
74LS373
驱动锁存
74LS138
行扫描
排阻
10KΩ×
上拉电阻
按键
分调节
时调节
电源
+5V/0.5A
提供+5V
4软件设计
4.1框图设计
所以按照分块设计的方法可以把程序设计为主程序、显示程序、计时程序。
8点阵显示屏,其软件设计原理是:
图4.1为主程序框图,图4.2为系统框图设计。
图4.1主程序流程图
图4.2LED点阵显示电子钟系统框图
4.2程序流程图
图4.3程序流程图
4.3程序清单
ORG0000H
LJMPMAIN
ORG0003H
LJMPPINT0
ORG000BH
LJMPINTT0
ORG0013H
LJMPPINT1
ORG0030H
MAIN:
MOVSP,#60H
MOVTMOD,#01H
MOVTL0,#0e0H
MOVTH0,#0b1H
MOVIE,#87H
MOV30H,#01H;
时十位
MOV31H,#02H;
时个位
MOV32H,#0AH;
光标点位
MOV33H,#00H;
分十位
MOV34H,#00H;
分个位
MOV35H,#00H;
秒十位
MOV36H,#00H;
秒个位
SETBIT0
SETBIT1
SETBPT0
SETBTR0
LOOP0:
LCALLDISP
LJMPLOOP0
INTT0:
PUSHACC
PUSHPSW
INC36H
MOVA,36H
CJNEA,#25,PLL
MOV32H,#0BH
PLL:
CJNEA,#50,ENDD;
1S
MOV32H,#0AH
MOV36H,#00H
INC35H
MOVA,35H
CJNEA,#60,ENDd;
MOV35H,#00H
INC34H
MOVA,34H
CJNEA,#0AH,ENDd;
MOV34H,#00H
INC33H
MOVA,33H
CJNEA,#06H,ENDd;
MOV33H,#00H
INC31H
MOVA,30H
CJNEA,#02H,END1
MOVA,31H
CJNEA,#04H,END1;
MOV31H,#00H
MOV30H,#00H
END1:
INC30H
ENDd:
POPPSW
POPACC
RETI
DISP:
MOVA,30H;
显示要显示的数字
MOVB,#08H
MULAB
MOV3BH,A
MOVR4,#00H
MOVR5,#08H
LOOP00:
MOVA,3BH
MOVDPTR,#TABE
MOVCA,@A+DPTR
MOVP2,R4
MOVP0,A
MOVP1,#0FEH
INC3BH
INCR4
LCALLDELAY
DJNZR5,LOOP00
MOVA,31H;
显示要显档的数字
LOOP11:
MOVDPTR,#TABE
MOVP1,#0FDH
DJNZR5,LOOP11
MOVA,32H;
LOOP22:
MOVP1,#0FBH
DJNZR5,LOOP22
MOVA,33H;
LOOP33:
MOVP1,#0F7H
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 课程设计 说明书 仿真 源程序