单片机数字电子钟课程设计实训报告.docx |
您所在的位置:网站首页 › 表格有的行显示不出来 › 单片机数字电子钟课程设计实训报告.docx |
单片机数字电子钟课程设计实训报告.docx 《单片机数字电子钟课程设计实训报告.docx》由会员分享,可在线阅读,更多相关《单片机数字电子钟课程设计实训报告.docx(13页珍藏版)》请在冰豆网上搜索。 单片机数字电子钟课程设计实训报告
第一章设计概要 设计要求: 1、用单片机及6位LED数码管显示时、分、秒 00时00分00秒——23时59分59秒循环运行 2、整点提醒0,1…23时短蜂鸣 3、用按键实现时、分、秒调整 *4、省电功能(关闭显示) *5、定时设定提醒如设定08时15分00秒长蜂鸣 *6、秒表功能显示××分××秒.×× 健复位从00分00秒00开始计时 启动从00分00秒00开始计时 停止显示实际计时××分××秒×× 第二章硬件设计方案 2.1设计框架图 2.2总体设计方案说明 设计框架图如图2.1所示总共分为5小部分: 时间显示部分,键盘控制部分,单片机部分,闹钟部分,电源部分。 本设计各部分由统一电源集中供电,外加被用电源确保主电源断电时备用电源及时供电避免时间的丢失.采用12MHZ晶振为单片机提供时钟。 显示部分采用容易购买的LED八段数码显示管,利用单片机输出高低电平实现数码管的刷新显示。 LED具有显示明亮,容易识别,价格便宜等优点,特别适合时间的显示。 按键部分采用普通的按建开关,使用查询方式从而节约元件。 2.3数码显示管设计部分 . 图3.1-1 数码显示部分采用八块共阳极八段数码显示管分别对时,分,秒进行显示。 将第三块和第六块显示横杠,可以使时间显示更美观.显示部分采用刷新显示方案.具体如下: 当p2口输出第一块的三极管导通,u1数码管被选中,然后p0口输出数字的数码管编码。 如p0口输出时u1数码管就输出数字0。 当循环右移一位是u2被选通显示。 依次类推u1-u8数码管显示完成,再循环显示。 由于单片机的刷新速度很快所以8个数码管看起来就像同时显示的一样。 2.4键盘控制电路 键盘部分采用普通的按键进行设计,使用软件延时消除开关抖动. 2.5闹铃电路 闹铃电路通过p1.7口输出1HZ脉冲使蜂鸣器发出间隔为一秒的蜂鸣声. 2.6电源电路 2.7总体电路图设计 图3.4-1 第三章软件设计方案 3.1程序流程图 3.2总体程序设计 //主程序 ORG0000H AJMPMAIN ORG000BH AJMPTZP ORG0030H MAIN: MOVSP,#60H MOVR4,#00H MOVTMOD,#02h MOVTH0,#06H MOVTL0,#06H SETBEA SETBET0 SETBTR0 //初始化 MOVR2,#3 MOVR1,#30H LOOP: MOV@R1,#00H INCR1 DJNZR2,LOOP LCALLRINGPI // LOOP2: MOVR2,#6 MOVR1,#30H LCALLDPZP //开启节能功能 JBP1.0,XWJN JBP1.0,$ // //闹钟设置入口 ZWJN: JBP1.1,XPP1 LCALLRINGP LCALLRELAY // //调时入口 XPP1: JBP1.3,XPP2 LCALLZPP1 XPP2: JBP1.2,ZPP LCALLZPP2 ZPP: AJMPLOOP2// //定时器0中断 TZP: PUSH00H PUSH03H INCR4//软件-硬件延时1秒 CJNER4,#40,ENDI MOVR4,#0 INCR5 CJNER5,#100,ENDI//结束 MOVR5,#0 ZP: MOVR0,#30H MOVR3,#3 MOVDPTR,#TCOUNT LCALLTTZP LCALLRING ENDI: POP03H POP00H RETI //定时器0中断返回 //软中断1 ZPP1: MOVA,31H ADDA,#1 DAA MOV31H,A CJNEA,#60H,END1 MOV31H,#00H END1: LCALLRELAY RET // //软中断2 ZPP2: MOVA,32H ADDA,#1 DAA MOV32H,A CJNEA,#24H,END2 MOV32H,#00H END2: LCALLRELAY RET // //延时显示程序 RELAY: MOVR6,#255 REP: MOVR7,#4 REEE: MOVR2,#6 MOVR1,#30H LCALLDPZP DJNZR7,REEE DJNZR6,REP RET //延时显示程序结束 //显示子程序 DPZP: MOVP0,#0FFH//显示横杠 MOVP2,#0DBH MOVP0,#0BFH//END DPZP1: MOVP0,#0FFH MOVDPTR,#CHART//P3part MOVA,R2 MOVCA,@A+DPTR MOVP2,A// MOVDPTR,#LED MOVA,@R1 JNBF0,DPZPS INCR1 SWAPA DPZPS: ANLA,#0FH MOVCA,@A+DPTR MOVP0,A CPLF0 DJNZR2,DPZP1 RET //显示子程序结束 //不规则循环加一子程序 TTZP: MOVA,@R0 ADDA,#1 DAA MOV@R0,A MOVA,R3 MOVCA,@A+DPTR CLRC SUBBA,@R0 JNCRTTZP MOV@R0,#0 INCR0 DJNZR3,TTZP RTTZP: RET //响铃程序 RING: MOVR0,#34H MOV24H,#6 RRING: MOVA,31H SUBBA,@R0 JNZERING INCR0 MOVA,32H SUBBA,@R0 DECR0 JNZERING CPLP1.7 RET ERING: MOVA,R0 ADDA,#3 MOVR0,A DJNZ24H,RRING SETBP2.1 RET // //闹钟调整程序 RINGP: MOV20H,#33H MOV21H,#6 MOVR3,#20 MOV22H,#5 LPRP: LCALLRELAY1 JBP1.1,LPRP1 MOVR3,#20 MOVA,20H ADDA,#3 MOV20H,A DJNZ22H,LPRP RET LPRP1: JBP1.3,LPRP2 MOVR3,#20H MOVA,20H ADDA,#1 MOVR0,A MOVA,@R0 ADDA,#1 MOV@R0,A DAA CJNEA,#60H,LPRP21 MOV@R0,#00H LPRP21: LCALLRELAY1 LPRP2: JBP1.2,LPRP3 MOVR3,#20H MOVA,20H ADDA,#2 MOVR0,A MOVA,@R0 ADDA,#1 DAA MOV@R0,A CJNEA,#24H,LPRP31 MOV@R0,#00H LPRP31: LCALLRELAY1 LPRP3: DJNZR3,LPRP LPRPEND: RET // //闹钟组初始化程序(共5组) RINGPI: MOVR2,#5 MOVR1,#41H LPRPI: MOV@R1,#00H DECR1 MOV@R1,#00H DECR1 MOVA,#00H ORLA,#0A0H ADDA,R2 MOV@R1,A DECR1 DJNZR2,LPRPI RET // //延时显示程序1 RELAY1: MOVR6,#255 REP1: MOVR7,#4 REEE1: MOVR2,21H MOVR1,20H LCALLDPZP DJNZR7,REEE1 DJNZR6,REP1 RET //延时显示程序结束 //数据表 LED: DB0c0H,0f9H,0a4H,0b0H,099H,092H,82H,0f8H,80H,90H,8EH,0A8H//0,1,2,3,4,5,6,7,8,9,F,n CHART: DB0FEH,0FEH,0FDH,0F7H,0EFH,0BFH,7FH TCOUNT: DB0,23H,59H,59H END 第四章心得体会 4.1心得体会 在整个课程设计完后,总的感觉是: 有收获。 以前上课都是上一些最基本的东西,而现在却可以将以前学的东西作出有实际价值的东西。 在这个过程中,我的确学得到很多在书本上学不到的东西,如: 如何利用现有的元件组装得到设计要求,如何找到错误的原因,如何利用计算机来画图等等。 但也遇到了不少的挫折,有时遇到了一个错误怎么找也找不到原因所在,找了老半天结果却是芯片的管脚接错了,有时更是忘接电源了。 在学习中的小问题在课堂上不可能犯,在动手的过程中却很有可能犯。 特别是在接电路时,一不小心就会犯错,而且很不容易检查出来。 但现在回过头来看,还是挺有成就感的。 参考文献 [1] [2] [3] [4] [5]
辞谢 在本次数字电路课程设计完成之际,谨向我的指导老师**老师致予衷心的谢意。 此次课程设计得到了**老师细心指导,给我很大的支持。 这设计过程中遇到了很多困难,诸如怎样不熟悉的集成块的使用,数字电路的编码等问题。 在解决这些问题的过程中多得到了**老师的大力支持,在此再次衷心的感谢**老师。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |