公文素材库 首页

单片机闹钟实训

时间:2019-05-28 22:13:17 网站:公文素材库

单片机闹钟实训

※※※※※※※※※※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单片机应用教程》教程主编:曹建树夏云友曾林春中国石化出版社。

友情提示:本文中关于《单片机闹钟实训》给出的范例仅供您参考拓展思维使用,单片机闹钟实训:该篇文章建议您自主创作。

  来源:网络整理 免责声明:本文仅限学习分享,如产生版权问题,请联系我们及时删除。


单片机闹钟实训
由互联网用户整理提供,转载分享请保留原作者信息,谢谢!
http://m.bsmz.net/gongwen/626157.html
相关阅读
最近更新
推荐专题