单片机闹钟实训
※※※※※※※※※※201*级学生单※※
※※※
片机课程实训
※※※※※※
※※※
湖南******职业技术学院单片机闹钟课程实训报告
课题名称姓名学号院、系、部专业指导教师
单片机闹钟***************电子信息工程
***
201*年6月10日
【单片机闹钟设计】
一.实验目的及要求
实验目的:
1、加强使用单片机的编程控制一些较复杂一点电路的能力。2、掌握单片机闹钟的原理
3、学会使用程序驱动数码管显示4、学习复杂电路的设计、分析
5、按设计电路和工艺要求制作调试样机,并编写测试报告。6、强化自己的焊工技能和专业素养。
7、强化综合运用模拟、数字电子技术和单片机原理与应用技术的能力。
实验要求:
1、设计一个闹钟电路,最大能显示到小时2、要示具有使能端、复位端、启动、停止按钮3、要求用数码管显示
二.电路工作原理及分析
(1)硬件原理图:
(2)工作原理:
三.实验程序设计
整个实验的所有原理程序
#include
#defineucharunsignedchar#defineuintunsignedintucharshi,fen,miao;sbitrs=P2^5;sbitrw=P2^6;sbiten=P2^7;sbitbuy=P0^7;
ucharcodea1[]="201*-7-30MON";ucharcodea2[]="00:00:00";voiddelay(ucharz){ucharx,y;for(x=100;x>0;x--)for(y=z;y>0;y--);}
voidcbuy(){P0=0xff;rs=0;rw=1;en=1;while(buy==1);en=0;}
voidwrite_com(ucharcom){cbuy();P0=0xff;rs=0;rw=0;P0=com;en=1;;en=0;}
voidwrite_date(uchardate){cbuy();rs=1;rw=0;P0=date;en=1;;en=0;}
voidinit(){write_com(0x30);write_com(0x01);write_com(0x06);write_com(0x0c);}voidclr(){write_com(0x30);write_com(0x01);}
voiddis_ch(ucharx0,uchary0,ucharxx,uchar*p){uchari,j;write_com(0x30);write_com(xx);for(i=0;i五、参考文献
《C语言与单片机》*88**********************《单片机应用技术》***主编高等教育出版社《电子技术基础》康华光主编高等教育出版社
《电子产品工艺》卢庆林主编西安电子科技大学出版社
《电子元器件检测与应用技术》韩广兴主编电子工业出版社
六.实训总结
通过这次实训还使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从实践中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。
在此次综合实训的过程中,不仅让我比较全面的温习了大学所学的知识,体会到了很多的乐趣,而且激发了我对电子行业及其产品的兴趣。
这次实训,使我的动手操作能力和学习能力有了很大的提升。主要表现在:1、懂得了如何测量和检测各元器件
2、学会自己分析电路和并能自己纠错更正。3、怎么去看每一部的运行结果
4、掌握了正确运用电烙铁焊接元器件的技巧5、.设计时,一定把可能出现的情况列出来,有哪些弊端,实现同样的功能,用很多芯片去实现都可能,但是要简单,实用,经济,比较方便才是最好的最合适的设计方案。
6、要想设计一个完善的电路,首先就是要明白设计的原理以及其电路中所涉及各元件的功能和信号变化情况。调试的时候,可以把电路分为几个部分来调试,调试起来就顺手多了。
通过这次设计,使我深深的知道,在工作中的任何环节都不能马虎,任何一点小小的差错都可能造成最终的失败。所以我学到了:,学知识要学无止境,搞技术要精益求精。做事要有胆大,心细,谨慎的作风。
扩展阅读:单片机实训电子闹钟
主程序框图
开始初始化T0初始化时钟显示键扫描NY设置闹钟时间判断与当前时N间是否一致Y响键扫描1子程序框图NY
闹钟时间设置
显示时间子程序中断次数R5=20?NYR5清零,最低位秒R4+1秒R4=60?N
Y秒清零,分加1分=60?NY四位计数位都清零中断返回
设置第一位纪录按键次数显示数据送缓冲区查表LED码值设置第二位纪录按键次数显示数据送缓冲区查表LED码值返回
闹钟比较子程序:
第四位R4N相等?Y第三位R3相等?NY第二位R2相等?NY第一位R1N相等?
Y响铃
键扫描1子程序:
响铃N有按键?Y判别按键K3K4若K3按下若K4按下暂停5秒钟响铃结束并将闹钟复位返回
计时子程序设定时时间常数50ms中断次数加1N中断返回到20次?Y秒变量加1N中断返回到60秒?Y秒变量清零,分加1N到60分?Y分清零,时加1中断返回N到24H?Y时清零中断返回
四、程序清单
ORG0000HSJMPMAINORG000BHSJMPTOO
TOO:CLRRS1CLRRSODJNZR5,EXIT1MOVR5,#14HDJNZR4,EXIT1MOVR4,#0AHDJNZR3,EXIT1MOVR3,#6HDJNZR2,EXIT1MOVR2,#0AHDJNZR1,EXIT1MOVR1,#6HMOVR6,#0AHMOVA,R4SUBBR6,AMOV34H,R6MOVR6,#06HMOVA,R3SUBBR6,AMOV35H,R6MOVR6,#0AHMOVA,R2SUBBR6,AMOV36H,R6MOVR6,#06HMOVA,R1
SUBBR6,AMOV37H,R6MOVA,P1JZLAB1;
LCALLNAOZHONGSHEZHILCALLNAOZHONGBIJIAO
EXIT1:SETBTR0RETI
MAIN:MOVTMOD,#01HMOVTH0,#3CHMOVTL0,#0B0HMOVIE,#8AHMOVSP,#60HSETBTR0CLRTR1CLRRS1CLRRS0MOVR1,#6HMOVR2,#0AHMOVR3,#6HMOVR4,#0AHMOVR5,#14H
LAB1:CLRRS1CLERS0LCALLSEL5LCALL15LCALLSEL4LCALL14LCALLSEL3LCALL13
LCALLSEL2LACLL12SIMPLAB1ORG1000H
BUF1:DB0H,0DEH,0FEH,0EH,0FAH,0DAH,0CCH,9EH,0B6H,0CH,7EH,ORG1010H
BUF2:DB0H,0DAH,0CCH,9EH,0B6H,0CH,7EH15:MOVDPTR,#1000HMOVA,R4MOVCA,@A+DPTRMOVP0,ALCALLDELAY2RET
14:MOVDPTR,#1010HMOVA,R3MOVECA,@A+DPTRMOVP0"ALCALLDELAY2RET
13:MOVDPTR,#1000HMOVA,R2MOVCA,@A+DPTRMOVP0,ASETBP0.0LCALLDELAY2RET
12:MOVDPTR,#1010HMOVA,R1MOVCA,@A+DPTRMOVP0,ALCALLDELAY2RET
SLE2:SETBP2.7CLRP2.6CLRP2.5RETSLE3:CLRP2.7SETBP2.6CLRP2.5RETSEL4:SETBP2.7SETBP2.6CLRP2.5RETSEL5:CLRP2.7CLRP2.6SETBP2.5RETSEL7:CLRP2.7SETBP2.6SETBP2.5SEL8:SETBP2.7SETBP2.6SETBP2.5RET
DELAY2:MOVR6,#6HLOOP3:MOVR7,0FFHLOOP4:DJNZR7,LOOP4DJNZR8,LOOP3RET
############闹钟时间显示############
NAOZHONGSHEZHI:K1:LCALLSEL5MOVR0,#0HK11:MOVA,P1JZK11K12:INCR0MOV30H,R0LCALLLEDS1MOVPI,R5LCALLWAIT1MOVA,P1JNZK12K2:LCALLSEL4MOVR0,#OHK21:MIVA,P1JZK21K22:INCR0MOV31H,R0LCALLLEDS2MOVP1,R5LCALLWAIT1MOVA,P1JNZK22K3:LCALLSEL3MOVR0,#0HK31:MOVA,P1JZK31K32:INCR0MOV32H,R0LCALLLEDM1MOVP1,R5LCALLWAIT1
MOVA,P1JNZK32K4:LCALLSEL2MOVR0,#0HK41:MOVA,P1JZK41K42:INCR0MOV33H,ROLCALLLDDM2MOVP1,R5LCALLWAIT1MOVA,P1JNZK42SEL2:
CLRP2.5CLRP2.6SETBP2.7RETSEL3:
CLRP2.5SETBP2.6CLRP2.7RETSEL4:
CLRP2.5SETBP2.6SETBP2.7RETSEL5:SETBP2.5CLRP2.6CLRP2.7RET
WAIT1:
MOVR7,#0A7HDL1:
MOVR6,#ABHDL0:
MOVR5,#10HDJNZR5,$DJNZR6,DL0DJNZR7,DL1NOPRETLEDS1:
MOVR5,30HLED10:CJNER5,#0H,LED11MOVR5,#7EHRET
LED11:CJNER5,#1H,LED12MOVR5,#0CHRET
LED12:CJNER5,#2H,LED13MOVR5,#0B6HRET
LED13:CJNER5,#3H,LED14MOVR5,#9EHRET
LED14:CJNER5,#4H,LED15MOVR5,#0CCHRET
LED15:CJNER5,#5H,LED16MOVR5,#0DAHRET
LED16:CJNER5,#6H,LED17MOVR5,#0FAHRET
LED17:CJNER5,#7H,LED18MOVR5,#0EHRET
LED18:CJNER5,#8H,LED19MOVR5,#0FEHRET
LED19:CJNER5,#9H,JIANSHIMOVR5,#0DEHRETJIANSHI:MOVA,R5SUBBA,#0AHSJMPLED10LED2:
MOVR5,31HLED20:CJNER5,#0H,LED21MOVR5,#7EHRET
LED21:CJNER5,#1H,LEDR22MOVR5,#0CHRET
LED22:CJNER5,#2H,LED23MOVR5,#0B6HRET
LED23:MOVR5,#3H,LED24MOVR5,#9EHRET
LED24:CJNER5,#4H,LED25MOUR5,#0CCH
RET
LED25:CJNER5,#5H,JIANLIUMOVR5,#0DAHRETJIANLIU:MOUA,R5SUBBA,#6HSJMPLED20LEDM1:
MOVLED30:CJNEMOVRET
LED31:CJNEMOVRET
LED32:CJNEMOVRET
LED33:CJNEMOVRET
LED34:CJNEMOVRET
LED35:CJNEMOVRET
LED36:CJNEMOVRET
LED37:CJNE
R5,30HR5,#0H,LED31R5,#7EHR5,#1H,LED32R5,#0CHR5,#2H,LED33R5,#0B6HR5,#3H,LED34R5,#9EHR5,#4H,LED35R5,0CCHR5,#5,LED36R5,#0DAHR5,#6H,KLED37R5,#0FAHR5,#7H,LED38
MOVR5,#0EHRET
LED38:CJNER5,#8H,LED39MOVR5,#0FEHRET
LED39:CJNER5,#9H,JIANSHIMOVR5,#0DEHRET
JIANSHIM:MOVA,R5SUBBA,#0AHSJMPLED30
LEDM2:MOVR5,31HLED40:CJNER5,#0H,LED41MOVR5,#7EHRET
LED41:CJNER5,#1H,LED42MOVR5,#0CHRET
LED42:CJNER5,#2H,LED43MOVR5,#0B6HRET
LED43:CJNER5,#3H,LED44MOVR5,#9EHRET
LED44:CJNER5,#4H,LED45MOVR5,#0CCHRET
LED45:CJNER5,#5H,JIANLIUMOVR5,#0DAHRET
JIANLIUM:MOVA,R5
SUBBA,#6HSJMPLED40MOVR1,30HMOVR2,31HMOVR3,32HMOVR4,33H########闹钟比较########
NAOZHONGBIJIAO:MOVA.37HCJNEA,R4,MAINMOVA,36HCJNEA,R3,MAINMOVA,35HCJNEA,R2,MAINMOVA,34HCJNEA,R1,MAINLCALLNAOLINGRET
##########闹钟时间响##########
NAOLING:MOUP1,#0FFHN5:MOVA,P1SUBBA,#04HJZDALAY5MOVA,#0HN1:CLRP2.3LCALLDELAY1
SETBP2.3LCALLDELAY1INCA
CJNEA,#06H,N1MOVA,#0HN2:CLRP2.3LCALLDELAY2SETBP2.3LCALLDELAY2INCA
CJNEA,#08H,N2MOVA,#0HN3:CLRP2.3LCALLDELAY3SETBP2.3LCALLDELAY3INCA
CJNEA,#011H,N3MOVA,#0HN4:CLRP2.3CALLDELAY4SETBP2.3CALLDELAY4INCACINEA,#15H,N4SJMPN5
DELAY1:MOVR6,#0F8HLOOP1:MOVR7,#0F8HNOPLOOP2:NOP
DJNZR7,LOOP2DJNZR6,LOOP1
RET
DELAY2:MOVR6,#0C8HLOOP3:MOVR7,#0C8HLOOP4:NOP
DJNZR7,LOOP4DJNZR6,LOOP3RET
DELAY3:MOVR6,#098HLOOP5:MOVR7,#098HLOOP6:NOP
DJNZR7,LOOP6DJNZR6,LOOP5RET
DELAY4:MOVR6,#058HLOOP7:MOVR7,#058HLOOP8:NOP
DJNZR7,LOOP8DJNZR6,LOOP7RET
DELAY5:MOVR6,#0FFFHLOOP9:MOVR7,#0FFFHLOOP10:NOP
DJNZR7,LOOP10DJNZR6,LOOP9RET
七、参考资料
1、《单片机系统综合设计与实践》教材主编:裴岩刘利民内蒙古大学出版社。2、《51单片机应用教程》教程主编:曹建树夏云友曾林春中国石化出版社。
友情提示:本文中关于《单片机闹钟实训》给出的范例仅供您参考拓展思维使用,单片机闹钟实训:该篇文章建议您自主创作。
来源:网络整理 免责声明:本文仅限学习分享,如产生版权问题,请联系我们及时删除。