单片机课程设计报告-作息时间表系统设计

上传人:aa****6 文档编号:29986285 上传时间:2018-01-26 格式:DOC 页数:25 大小:460KB
返回 下载 相关 举报
单片机课程设计报告-作息时间表系统设计_第1页
第1页 / 共25页
单片机课程设计报告-作息时间表系统设计_第2页
第2页 / 共25页
单片机课程设计报告-作息时间表系统设计_第3页
第3页 / 共25页
单片机课程设计报告-作息时间表系统设计_第4页
第4页 / 共25页
单片机课程设计报告-作息时间表系统设计_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《单片机课程设计报告-作息时间表系统设计》由会员分享,可在线阅读,更多相关《单片机课程设计报告-作息时间表系统设计(25页珍藏版)》请在金锄头文库上搜索。

1、1单片机课程设计报告项目:作息时间表系统设计 班级:通信工程 04 本 姓名:XX X 号 实验指导老师: 李强2一、题目作息时间表系统设计用 89C51 设计一个 6 位 LED 数码显示“作息时间表系统” ,显示时间为 000000 23 时59 分59 秒,每秒自动加一。另设计 4 个按钮,分别是“分状态”按键、 “分加 1”按键、 “时状态”按键, “时加 1”按键。用于进行小时和分钟的调整。这就是一个完整的具有时、分、秒显示的单片机实时钟系统。二、增加功能在上述实时钟系统的基础上,在控制软件钟增加一个“作息时间表” ,如图 1 所示,并增加对该表的查询功能模块,依据对该表的查询结果,

2、控制喇叭,进行课间打铃提示,完成单片机作息时间表系统的设计。也完成本次课程设计。三、内容提要本设计利用单片机的定时器/计数器定时和记数的原理,结合 sl-100、sl-200 系统上的集成电路芯片 8052、LED 数码管以及按键来设计计时器。将软、硬件有机地结合起来,使得系统能够正确地进行计时,数码管能够正确地显示时间。其中本设计中的四个开关按键:其中一个按键按下去时,系统进入秒调整状态,然后,秒加 1 键每按一次,秒计时器加 1。时状态按下时,系统进入时调整状态,时按键每按一次,时计数器加 1。本设计运行开始时,各按键回到各初始位置,即都处于 1 状态。计时显示从 00:00:00 开始,

3、依据秒加 1 为单位进行显示计时。三、实验目的1、 通过本次课程设计加深对单片机课程的全面认识复习和掌握,对嵌入式系统的应用进一步的了解。2、 掌握定时器、外部中断的设置和编程原理。3、 通过此次课程设计能够将单片机软硬件结合起来,对程序进行编辑,校验。四、意义该实验通过单片机的定时器/计数器定时和计数原理,设计单片机作息时间表系统,拥有正确的计时、显示、时间调整等功能,并同时可以用数码管显示,在现实生活中应用广泛,具有现实意义。五、本人所做工作根据相关的单片机材料,利用所学的单片机知识,结合 sl-100 单片机微机实验系统中的软件和硬件(集成电路芯片 8952,七段数码管,开关电路及时钟信

4、号电路,按键等),编写能够实现该设计的软件程序,最后将软、硬件有机的结合起来,进行有效的调试,达到完成该实验课程设计的目的要求。六、设计内容用 AT89C51 设计一个 6 位 LED 数码显示“实时钟” ,显示时间为 00:00:00 秒,每秒自动加一。另设计一个“时状态”按键和一个“时加 1 ”按键。再增加一个“分状态”按键和一个“分加 1”按键。在以上设计的基础上,在在控制软件系统中增加作息时间表功能,驱动喇叭去完成作息时间控制的功能。七、设计思路及描述该实验要求进行计时并在数码管上显示时间,则可利用 sl-100 单片机实验系统中的芯片 AT89C52,中的 P3 管脚做为外部按键输入

5、,并实现各个按键的功能;定时器 T0作为每 1050 毫秒加一的定时器。在内部 RAM 中开辟 1050MS 计数器,秒计数器、分计数器、时计数器。单片机依据定时器 T0 的定时时间,进行秒、分、时的累加,并将秒、分、时数据转换为 7 段 LED 显示段码,送 LED 显示器,从而完成单片机实时钟3系统的设计。注意,为了输出显示方便,时、分、秒的累加计时可以采用 BCD 码运算。八、原理图九、课程设计参考汇编程序;*; 按键可调作息时间电子钟; ; Date 2007.7.6 ; Created by 李强 ;*;*; 显示缓冲区定义;*Seclequ 50hSech equ 51h4Minl

6、 equ 52hMinh equ 53hHourl equ 54hHourh equ 55h;*; 时钟计数单元定义;*ms equ 56hsec equ 57hmin equ 58hhour equ 59hflash equ 5ahtimec equ 5bhbpcount equ 5chcodep equ 5dh;*; 按键定义;*keym bit p3.0keym1 bit p3.1keym_1 bit p3.2keyh bit p3.3keyh1 bit p3.4keyh_1 bit p3.5;keytime bit p3.6;按键状态标志m_key bit 00hh_key bit 0

7、1hflashb bit 02htime bit 03htimeg bit 04h;*; 共阳数码管段码;*; DispTab: ; db 0c0h,0f9h,0a4h,0b0h,99h; db 92h,82h,0f8h,80h,90h,0ffhorg 0080hTab: DB 0C0H, 0F9H, 0A4H, 0B0H, 99H ; 01234DB 92H, 82H, 0F8H, 80H, 90H ; 56789DB 88H, 83H, 0C6H, 0A1H, 86H; ABCDE5DB 8EH,0FFh;*; 作息时间码;*org 00b0htimetab:db 00h,00h,15hd

8、b 00h,00h,30hdb 00h,01h,00hdb 10h,00h,15hdb 00h,03h,00hdb 13h,00h,15hdb 20h,30h,00hdb 00h,00h,45hdb 0ffh,0ffh,0ffh;*; 中断地址表设置;*org 0000hajmp mainorg 0003hretiorg 000bhajmp intt0org 0013hretiorg 001bhajmp intt1org 0023hreti;*; main 程序;*org 0100hmain:mov sp,#60hmov r7,#0fhmov r0,#50hmov a,#00h6mov 20h

9、,aclr m_keyclr h_keyclrd: mov r0,ainc r0djnzr7,clrdmov tmod,#11hmov th0,#3chmov tl0,#0b0hmov th1,#3chmov tl1,#0b0hmov ms,#00hmov flash,#00hsetb easetb et0setb et1setb tr0clr timegclr tr1cont: lcalldisplaylcallkeytest;jnb time,contlcallbeepajmp cont;*; beep 程序;*beep:mov timec,hourmov codep,#0fdhmov d

10、ptr,#timetabbeph: mov a,codepinc ainc ainc amov codep,amovc a,a+dptrmov b,axrl a,#0ffhjz exitbmov a,bcjnea,timec,beph7mov timec,mindec codepdec codepbepm: mov a,codepinc ainc ainc amov codep,amovc a,a+dptrmov b,axrl a,#0ffhjz exitbmov a,bcjnea,timec,bepmmov timec,secdec codepdec codepbepsec: mov a,c

11、odepinc ainc ainc amov codep,amovc a,a+dptrmov b,axrl a,#0ffhjz exitbmov a,bcjnea,timec,bepsecsetb timegclr codep;ajmp exitbbexitb: ;clr timegexitbb: clr codepclr timecret;*; keytest 程序; key0-P3.0,状态键盘; key1=P3.1,加 1 键;*keytest:setb keymsetb keym18setb keyhsetb keyh1setb keym_1setb keyh_1jnb keym,ke

12、ydelayjnb keym1,keydelayjnb keym_1,keydelayjnb keyh,keydelayjnb keyh1,keydelayjnb keyh_1,keydelay;jnb keytime,keydelayajmp exitskeykeydelay:lcall delay10msjnb keym,keympjnb keym1,keym1pjnb keym_1,keym_1pjnb keyh,keyhpjnb keyh1,keyh1pjnb keyh_1,keyh_1p;jnb keytime,keytimepajmp exitskeykeymp: ajmp key

13、mppkeym1p:ajmp keym1ppkeym_1p:ajmp keym_1ppkeyhp: ajmp keyhppkeyh1p: ajmp keyh1ppkeyh_1p:ajmp keyh_1pp;keytimep:ajmp timep;timep: jnb keytime,$; jbc m_key,exitkeyt; jbc h_key,exitkeyt; cpl time; ajmp exitskeykeympp:jnb keym,$jbc m_key,exitkeytjbc h_key,exitkeytsetb m_keysetb et1setb tr1clr tr0ajmp e

14、xitskey9exitkeyt:ajmp exitkeykeyhpp: jnb keyh,$jbc m_key,exitkeyjbc h_key,exitkeysetb h_keysetb et1setb tr1clr tr0ajmp exitskeykeym1pp:jnb keym1,$jnb m_key,exitkeymov a,minadd a,#1da amov min,acjnea,#60h,$+3jc exitsmmov min,#00hexitsm: ajmp exitskeykeym_1pp:jnb keym_1,$jnb m_key,exitkeymov a,minjnz exitm_1mov a,#60hexitm_1:clr csubb a,#1mov b,aan

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号