收藏 分享(赏)

单片机课程设计83847.doc

上传人:dreamzhangning 文档编号:2305329 上传时间:2018-09-10 格式:DOC 页数:12 大小:261KB
下载 相关 举报
单片机课程设计83847.doc_第1页
第1页 / 共12页
单片机课程设计83847.doc_第2页
第2页 / 共12页
单片机课程设计83847.doc_第3页
第3页 / 共12页
单片机课程设计83847.doc_第4页
第4页 / 共12页
单片机课程设计83847.doc_第5页
第5页 / 共12页
点击查看更多>>
资源描述

1、单片机原理及系统课程设计评语:考勤(10) 守纪(10) 过程(30) 设计报告(30) 答辩(20) 总成绩(100)专 业: 自动控制 班 级: XX 姓 名: XX 学 号: XX 指导教师: XX 兰州交通大学自动化与电气工程学院2014 年 1 月 17 日单片机原理及系统课程设计报告1一、设计目的通过解决实际问题,巩固和加深“单片机原理与应用系统设计”课程中所学的理论知识和实验能力,基本掌握单片机应用电路的一般设计方法,提高电子电路的设计和实验能力,加深对单片机软硬知识的理解。二、设计要求(1)设计一个倒计时器,由单片机接收小键盘阵列设定倒计时时间,倒计时范围最大为 24 小时,由

2、 LED 显示模块显示剩余时间,显示格式为 XX(时):XX(分):XX(秒) 。倒计时时间到,由蜂鸣器发出报警。(2)绘制系统硬件接线图,并进行系统仿真。(3)画出程序流程图并编写程序实现上述功能三、设计方案倒计时器以 AT89C51 单片机为核心,系统包括六位数码管显示电路,按键电路,电源电路,复位电路,晶振电路以及蜂鸣器电路几部分,设计框图如下:A T 8 9 C 5 1 单片机晶振电路复位电路电源电路蜂鸣器电路六位数码管显示电路按键电路图 1 倒计时器设计框图四、硬件介绍4.1 单片机 AT89C51 AT89C51 是一种带 4K 字节闪存可编程可擦除只读存储器( FPEROMFla

3、sh Programmable and Erasable Read Only Memory)的低电压、高性能 CMOS 8 位微处理器,俗称单片机。单片机的可擦除只读存储器可以反复擦除 1000 次。该器件采用 ATMEL 高密度非易失存储器制造技术制造,与工业标准的 MCS-51 指令集和输出管脚相兼容。由于将多功能 8 位 CPU 和闪烁存储器组合在单个芯片中,ATMEL 的 AT89C51 是一种高效微控制器, AT89C 单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。单片机原理及系统课程设计报告2XTAL218 XTAL119ALE30 EA31 PSEN29RST9P0.

4、0/AD0 39P0.1/AD1 38P0.2/AD2 37P0.3/AD3 36P0.4/AD4 35P0.5/AD5 34P0.6/AD6 33P0.7/AD7 32P1.01 P1.12 P1.23 P1.34P1.45 P1.56 P1.67 P1.78P3.0/RXD 10P3.1/TXD 11P3.2/INT0 12P3.3/INT1 13P3.4/T0 14P3.7/RD 17P3.6/WR 16P3.5/T1 15P2.7/A15 28P2.0/A8 21P2.1/A9 22P2.2/A10 23P2.3/A11 24P2.4/A12 25P2.5/A13 26P2.6/A14

5、 27U1AT89C51图 2 AT89C51 引脚图4.2 晶振电路晶振与单片机的脚 XTAL0 和脚 XTAL1 构成的振荡电路中会产生偕波(也就是不希望存在的其他频率的波),这个波对电路的影响不大 ,但会降低电路的时钟振荡器的稳定性。为了电路的稳定性起见,ATMEL 公司只是建议在晶振的两引脚处接入两个 10pf-50pf 的瓷片电容接地来削减偕波对电路的稳定性的影响, 所以晶振所配的电容在 10pf-50pf 之间都可以的。但是主流是接入两个 33pf 的瓷片电容。4.3 键盘按键电路XTAL218XTAL119ALE30 EA31 PSEN29RST9P0.0/AD0 39P0.1/

6、AD1 38P0.2/AD2 37P0.3/AD3 36P0.4/AD4 35P0.5/AD5 34P0.6/AD6 33P0.7/AD7 32P1.01 P1.12P1.23 P1.34P1.45 P1.56P1.67 P1.78P3.0/RXD 10P3.1/TXD 11P3.2/INT0 12P3.3/INT1 13P3.4/T0 14P3.7/RD 17P3.6/WR16P3.5/T1 15P2.7/A15 28P2.0/A8 21P2.1/A9 22P2.2/A10 23P2.3/A11 24P2.4/A12 25P2.5/A13 26P2.6/A14 27U1AT89C51图 3

7、键盘按键电路图独立按键:一个按键占用单独的一个 I/O 口;矩阵键盘:为了节省 I/O 口,通常将按键排列成矩阵形式,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。设计采用 1*4 的矩阵式电路。单片机原理及系统课程设计报告3五、单片机倒计时控制系统原理图单片机原理及系统课程设计报告4图 4 硬件电路图六、软件设置6.1 单片机定时系统工作原理我们知道单片机的外接石英体振荡器能提供稳定、准确的频率,并经 12 分频后向内部定时器提供实时基准频率信号,我们设定定时工作在中断方式下,连续对此频率信号进行分频计数,便可得到秒信号,在对秒信号进行计数便可得到分、时、实时时钟信息。石英

8、晶体振荡频率为 6MHz,设定定时器工作在方式 1下,定时常数为 3CB0H,则定时器每 100ms 产生 1 次中断,在定时器的中断定时处理中,每 10 次中断,则向秒计数器减 1,秒计数器计数到 00 时则向分计数器退位(并建立退位标志) ,分计数器计数到 00 时则向时计数器退位,计数器退位如此周而复始地连续计数,便可获得时、分、秒的信号,建立一个实时时钟,接下来便可以进行报警输出,当主程序检测到有分退位标志时,便开始比较当前时间(小时与分,存放在 RAM 中)与规定时间(小时与分及秒,存放在 ROM 中)是否有相同者,则进行蜂鸣器报警,如无相同者则返回主程序,如此便实现了定时控制的要求

9、。要准确到秒,则时、分、秒三者均需参与比较,并且建立秒进位标志位,即每秒钟的偶也要对定时设定值比较一遍。6.2 电路原理定时电路的核心是 AT89C51 单片机,其内部带有 4KB 的 FLASH ROM,无须外扩程序存储器。电脑时钟没有大量的运算和短暂缓存数据,现有的 128B 片内 RAM 亦能满足要求,也不必外扩片外 RAM。系统配备 5 位 LED 显示和 3*4键盘,用 P3 口作为减排接口电路, P2 口作为 5 位 LED 显示的位选通口,P0 口则作为字形码输出口。采用共阳极 LED 数码管, PO 口、P2 口和数码管之间传接了驱动芯片 74LS245,因此 P2 口输出高电

10、平选中相应的位,而对 P0 口输出低电平点亮相应的段。6.3 软件流程根据上述工作流程,软件设计可分为以下几个功能模块:1)主程序:初始化与键盘监控。2)计时:未定时器 0 中断服务子程序,完成刷新计时缓冲区的功能。3)显示:完成 5 位 LED 动态显示。4)键盘扫描:判断是否有键按下,并求取键号。下面分模块进行软件设计:计时程序模块。如前所述,系统定时采用定时器与软件循环相结合的方法。定时器 0 每隔 100ms 溢出中断一次,则循环中断 10 次延时时间为 1 秒,上述过单片机原理及系统课程设计报告5程重复 60 次为 1 分钟,分计时 60 次为 1 小时。6.4 主程序主程序的设计一

11、般包括:主程序的起始地址,中断服务程序的起始地址,有关内存单元及相关部件的初始化和一些子程序调用等等。MCS-51 系列单片机复位后, (PC )=0000H,而 0003H002BH 分别为个中断源的入口地址。所以,编程池应在 0000H 处写一跳转指令。当 CPU 接受到中断请求信号并予以响应后,CPU 把当前的 PC 内容压入栈中进行保护,然后转入响应的中断服务程序入口处执行。一所谓初始化,是对用到的单片机内部部件或拓展芯片进行初始工作状态设定。本次设计中,使用了两个中断,即 T0、T1。其中:T0 中断:采用 T0 定时中断工作方式,完成倒计时。T1 中断:采用 T1 定时中断工作方式

12、,完成蜂鸣器报警。七、流程图开始设置各中断服务程序的入口程序报警限时按下的数字按键扫描相关寄存器清零设置数码管显示初始状态进行倒计时时间到零否 ?结束NY单片机原理及系统课程设计报告6图 5 主程序流程图八、调试问题与解决方法完成了硬件的设计、制作和软件编程后,要使系统能够按设计意图正常运作,必须进行系统调试。系统调试包括软件调试和硬件调试。不过,软硬件的调试也是不可能绝对分开的,硬件的调试常常需要利用调试软件,软件的调试也可能需要对硬件的测试和控制来进行。(1)硬件调试。硬件调试的主要任务是排除硬件故障,其中包括设计错误和工艺性故障。1)脱机检查。检查数据总线、地址总线和控制总线是否有短路等

13、故障,顺序是否正确;检查各开关按键是否能正常开关,是否连接正常;各限流电阻是否短路等内容。2)联机调试。暂时拔掉 89C51 芯片,将仿真器的 40 仿真插入 89C51 的芯片插座进行调试,检验键盘/显示接口电路是否满足要求设计。(2) 软件调试。软件调试的任务是利用开发工具进行在线仿真调试,发现和纠正程序错误,同时也能发现硬件故障。程序的调试应一个模块一个模块地进行,首先单独调试各功能子程序,检验程序是否能够实现预期的功能,接口电路的控制是否正常等;最后逐步将各子程序连接起来进行联调。九、设计的优缺点分析优点:设计思路简单,容易实现,有利于自己的学习本装置的最大特点是实时性强,可操作性好。

14、因为采用了矩阵式键盘控制,能够随时改变倒计时时间,所以装置能够应对不同的要求而做出相应的调整,以适应不同的环境。缺点:倒计时器溢出中断请求,CUP 并不一定立即响应中断,而可能需要延迟一定的中断响应时间之后才能响应中断,中断响应时间大约为 3-8 个机器周期。不能实现更为复杂的计时。本装置也存在一些缺点值得注意。如当按键开关出现问题时,系统会出现错误,甚至误报警。如果能采用红外线控制则可避免这一问题。参考文献1 余永权.AT89 系列单片机应用技术.北京:北京航空航天大学出版社,20022 沈红卫 .单片机应用系统设计实例与分析. 北京:北京航空航天大学出版社,20033 吴金戎.8051 单

15、片机实践与应用.北京:清华大学出版社,20024 胡汉才.单片机原理及系统设计.北京:清华大学出版社,2002单片机原理及系统课程设计报告75 何希才.新型集成电路应用实例M.北京:电子工业出版社,2002.附录附录 1 仿真图图 6 仿真图一单片机原理及系统课程设计报告8图 7 仿真图二附录 2 程序模块以下8个存储单元分别存放8位数码管的段码LED_BIT_1 EQU 30HLED_BIT_2 EQU 31HLED_BIT_3 EQU 32HLED_BIT_4 EQU 33HLED_BIT_5 EQU 34HLED_BIT_6 EQU 35HLED_BIT_7 EQU 36HT_COUNT

16、 EQU 38HKEY_CNT EQU 39HLINE EQU 3AHROW EQU 3BHVAL EQU 3CHTCOUNT EQU 40HKCOUNT EQU 41HKEY BIT P3.3;*ORG 00HSJMP STARTORG 0BHLJMP INT_T0ORG 1BHLJMP INT_T1START: MOV T_COUNT,#00H ;初始化MOV KEY_CNT,#00HMOV LINE,#00HMOV ROW,#00HMOV VAL,#00HMOV LED_BIT_1,#3FHMOV LED_BIT_2,#3FHMOV LED_BIT_3,#40HMOV LED_BIT_4

17、,#3FHMOV LED_BIT_5,#3FHMOV LED_BIT_6,#80HMOV LED_BIT_7,#3FHMOV DPTR,#TABLEA0: LCALL DISP;*;按键扫描LSCAN: MOV P3,#0F0H ;行码扫描L1: JNB P3.0,L2LCALL DELAYJNB P3.0,L2MOV LINE,#00HLJMP RSCANL2: JNB P3.1,L3LCALL DELAYJNB P3.1,L3MOV LINE,#01HLJMP RSCANL3: JNB P3.2,L4LCALL DELAY单片机原理及系统课程设计报告9JNB P3.2,L4MOV LINE

18、,#02HRSCAN: MOV P3,#0FH ;列码扫描C1: JNB P3.4,C2MOV ROW,#00HLJMP CALCUC2: JNB P3.5,C3MOV ROW,#01HLJMP CALCUC3: JNB P3.6,C4MOV ROW,#02HLJMP CALCUC4: JNB P3.7,C1MOV ROW,#03H;*CALCU: INC KEY_CNT ;统计按键次数MOV A,KEY_CNTCJNE A,#9,K1 ;如果按键3次,发声提示MOV TMOD,#01HMOV TH1,#(65536-700)/256MOV TL1,#(65536-700)MOD 256MOV

19、 IE,#82HSETB TR1W10:MOV A,P3 ;等待按键抬起CJNE A,#0FH,W11MOV P0,#00HCLR TR0LJMP STARTW11:MOV A,P3CJNE A,#0F0H,W12MOV P0,#00HCLR TR0LJMP STARTW12:SJMP W10;*;第1次按键,清除已显示的0, 显示按下的数字K1: CJNE A,#1,K2MOV A,LINEMOV B,#04HMUL ABADD A,ROWMOV VAL,AMOVC A,A+DPTRMOV LED_BIT_1,ACJNE P3.3,#1,AA1DISP1: LCALL DISPW20:MOV

20、 A,P3 ;等待按键抬起CJNE A,#0FH,W21LJMP A0W21:MOV A,P3CJNE A,#0F0H,W22LJMP A0W22:SJMP DISP1;*;开始倒计数单片机原理及系统课程设计报告10AA1: MOV TCOUNT,#00HMOV KCOUNT,#00HMOV TMOD,#01H ;定时器0工作在方式1MOV TL0,#(65536-50000)/256MOV TH0,#(65536-50000) MOD 256K1: JB KEY,$ ;等待按键LCALL DELAYJB KEY,$MOV A,KCOUNTCJNE A,#00H,K2 ;判断按键次数SETB

21、TR0 ;第1次按键,启动定时器MOV IE,#82HJNB KEY,$INC KCOUNT ;按键抬起,按键次数值加1LJMP K1K2: CJNE A,#01H,K3CLR TR0 ;第2次按键,关闭定时器MOV IE,#00HJNB KEY,$INC KCOUNT ;按键抬起,按键次数值加1LJMP K1K3: CJNE A,#02H,K1 ;第3次按键,返回初始状态JNB KEY,$LJMP AA1INT_T0:MOV TH0,#(65536-50000)/256MOV TL0,#(65536-50000) MOD 256INC TCOUNTMOV A,TCOUNTCJNE A,#2,

22、A1 ;是否计够0.1秒MOV A,LED_BIT_7INC AMOV LED_BIT_7,ACJNE A,#9,DISPMOV LED_BIT_7,#00HMOV A,LED_BIT_5DEC AMOV LED_BIT_5,ACJNE A,#0,DISPMOV LED_BIT_5,#00HMOV A,LED_BIT_4DEC AMOV LED_BIT_4,ACJNE A,#0,DISPMOV LED_BIT_4,#00HMOV A,LED_BIT_2DEC AMOV LED_BIT_2,ACJNE A,#0,DISPMOV LED_BIT_2,#00HMOV A,LED_BIT_1DEC A

23、MOV LED_BIT_1,ACJNE A,#0,DISPMOV TMOD,#01H A1: RETI单片机原理及系统课程设计报告11;*;定时器1中断服务程序,驱动扬声器发声INT_T1:MOV TH1,#(65536-700)/256MOV TL1,#(65536-700)MOD 256CPL P1.0RETI;*DISP: CLR P2.6MOV P0,LED_BIT_7LCALL DELAYSETB P2.6CLR P2.5MOV P0,LED_BIT_6LCALL DELAYSETB P2.5CLR P2.4MOV P0,LED_BIT_5LCALL DELAYSETB P2.4CLR P2.3MOV P0,LED_BIT_4LCALL DELAYSETB P2.3CLR P2.2MOV P0,LED_BIT_3LCALL DELAYSETB P2.2CLR P2.1MOV P0,LED_BIT_2LCALL DELAYSETB P2.1CLR P2.0MOV P0,LED_BIT_1LCALL DELAYSETB P2.0RETDELAY: MOV R6,#10D1: MOV R7,#250DJNZ R7,$DJNZ R6,D1RETTABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07HDB 7FH,6FHEND

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报