资源描述:
《单片机课设报告.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、单片机课程设计报告班级:D12008学号:姓名:一.课题名称单片机课程设计二.课程任务及要求。任务:设计一个单片机程序控制的电子时钟要求:1.上电时,时、分、秒显示为00时、00分、00秒,以秒为的单位开始计时。2.运行状态下,按动控制按钮S-SET,对秒进行调整。3.运行状态下,按动控制按钮M-SET,对分进行调整。4.运行状态下,按动控制按钮H-SET,对时进行调整。三.总体设计方案。AT89C51按键驱动数码管显硬件方案:电子时钟的电路图主要由单片机(AT89C51)、按键电路、驱动电路和数码管显示四部分组成,它主要实现时钟的显示,以及对时、分、秒进行调整
2、,即实现调时功能。P0口和P3口用作数码管段选和位选,P1.0,P1.1,P1.2作为按键输入口。软件方案:利用单片机内部的定时/计数器进行定时,配合按键和软件定时实现分、时、秒的计时。四.硬件设计。1.主控部分:采用AT89C51单片机作为主控芯片。电路包括复位电路、时钟电路、电源。2.显示部分:使用八位一体共阴数码管。通过连接单片机的p口控制数码管的段选和位选。3.按键:采用轻触按键,对电子时钟的时、分、秒进行调节。五.软件设计。结束是否时间进行调整并显示判断按键是否按下开始显示初始化初始化将时、分、秒各单元的内容清空,置T0为计数器方式1,分别给计数器的高
3、8位和低8位赋计数初值,启动T0工作,键入一个按键,如执行此动作,秒值加1,否则重新键入按键。而且秒值到判断是否等于60,若等于则归零分加1。分判断是否等于60,若等于60,分归零时加1。是判断是否等于24,若等于24则归零。汇编程序:S_SETBITP1.0M_SETBITP1.1H_SETBITP1.2SECONDEQU30HMINUTEEQU31HHOUREQU32HTCNTEQU34HORG0000HSJMPSTARTORG0BHLJMPINT_T0START:MOVDPTR,#TABLEMOVHOUR,#0MOVMINUTE,#0MOVSECOND,#
4、0MOVTCNT,#0MOVTMOD,#01HMOVTH0,#(65536-50000)/256;50毫秒MOVTL0,#(65536-50000)/256MOVIE,#82HSETBTR0;启动T0A1:LCALLDISPLAYJNBS_SET,S1JNBM_SET,S2JNBH_SET,S3LJMPA1S1:LCALLDELAYJBS_SET,A1INCSECONDMOVA,SECONDCJNEA,#60,J0;判断是否加到60秒MOVSECOND,#0LJMPJ0S2:LCALLDELAYJBM_SET,A1K1:INCMINUTEMOVA,MINUTEC
5、JNEA,#60,J1;判断是否加到60分MOVMINUTE,#0LJMPJ1S3:LCALLDELAYJBH_SET,A1K2:INCHOURMOVA,HOURCJNEA,#24,J2;判断是否加到60分MOVHOUR,#0LJMPJ2J0:JBS_SET,A1LCALLDISPLAYSJMPJ0J1:JBM_SET,A1LCALLDISPLAYSJMPJ1J2:JBH_SET,A1LCALLDISPLAYSJMPJ2INT_T0:MOVTH0,#(65536-50000)/256MOVTL0,#(65536-50000)/256INCTCNTMOVA,TCN
6、TCJNEA,#20,RETUNEINCSECONDMOVTCNT,#0MOVA,SECONDCJNEA,#60,RETUNEINCMINUTEMOVSECOND,#0MOVA,MINUTECJNEA,#60,RETUNEINCHOURMOVMINUTE,#0MOVA,HOURCJNEA,#24,RETUNEMOVHOUR,#0RETUNE:RETIDISPLAY:MOVA,SECONDMOVB,#10DIVABCLRP3.6MOVCA,@A+DPTRMOVP0,ALCALLDELAYSETBP3.6MOVA,BCLRP3.7MOVCA,@A+DPTRMOVP0
7、,ALCALLDELAYSETBP3.7CLRP3.5MOVP0,#40HLCALLDELAYSETBP3.5MOVA,MINUTEMOVB,#10DIVABCLRP3.3MOVCA,@A+DPTRMOVP0,ALCALLDELAYSETBP3.3MOVA,BCLRP3.4MOVCA,@A+DPTRMOVP0,ALCALLDELAYSETBP3.4CLRP3.2MOVP0,#40HLCALLDELAYSETBP3.2MOVA,HOURMOVB,#10DIVABCLRP3.0MOVCA,@A+DPTRMOVP0,ALCALLDELAYSETBP3.0MOVA,BC
8、LRP3.1MOVCA,