单片机电子时钟课程设计说明书.doc_第1页
单片机电子时钟课程设计说明书.doc_第2页
单片机电子时钟课程设计说明书.doc_第3页
单片机电子时钟课程设计说明书.doc_第4页
单片机电子时钟课程设计说明书.doc_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

单片机电子时钟设计说明书目录1 设计的要求22 单片机系统原理图及工作原理描述 23 设计过程中碰到的问题及解决方法44 总结65 程序模块框图6 程序清单 1 5设计要求 实时时钟工作原理:采用单片机内部定时器精密定时,四位数码管显示年、月、日、时、分、秒等,用键盘可以进行时间预置、时间显示内容设置、时间运行方式设置等。要求:1用键盘切换的方式,分别显示年月日或者时分秒;2用键盘预置年、月、日、时、分、秒等;3可以倒计时,倒计时单位为分; 4每一秒4个小数点闪烁一次;5定时闹钟功能,蜂鸣器鸣叫提示。6时钟误差每日不大于1秒。2 单片机系统原理图及工作原理描述为满足不同功能的设计要求,一块电路板上设计出多个常用的功能电路,供使用者选用。印制线路板包含:(1) 单片机最小系统;(2) 四位LED数码管显示器;(3) 44共16个键的矩阵键盘(4) RS-232电平转换电路;(5) DC12V稳压电源输入接口;(6) USB电源转换接口(DC5V);(7) ISP编程接口。(8) 8位串行A/D转换接口;(9) 8位串行D/A转换接口;(10) 四相步进电机驱动接口;(11) EEPROM串行存储电路;1.单片机最小系统 AT89S51是一款非常适合单片机初学者学习的单片机,它完全兼容传统的8051,8031的指令系统,他的运行速度要比8051快最高支持达33MHz的晶体震荡器,在此系统中使用12MHz的晶振。AT89S51具有以下标准功能: 8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。2显示器显示器采用LED数码管动态显示方法,P0口输出字符的显示码,位码由P2.4P2.7来控制。动态显示的成本极低,但占用CPU接口资源较多,本设计中共采用了12根口线。另外由于显示器的不断动态刷新,占用了CPU的部分工作时间,所以对一些时间要求较高的控制系统,则应考虑显示器显示占用的时间。3.键盘键盘采用44矩阵键盘,由P2.0P2.3为行线、P1.4P1.7为列线而组成44的方阵,用软件扫描的方法可以确定每个键的键值。在设计中,每个键可以用来数据及命令的输入。4电源控制电源可以由单放机DC12V稳压电源提供,该电源可以用于步进电机的驱动,同时通过线性三端稳压器7805为其它电路提供电源;如果不需要使用步进电机,整个控制系统的DC5V电源可以从普通计算机的USB接口采集,使用时只要把USB接线一头接微机USB端口,另一头接控制器上的2芯电源接口即可。5编程接口微处理器采用AT89S51,AT89S51具有ISP在线编程功能,P1.5P1.7为编程接口,软件编译和调试包括两个过程:1打开Medwin仿真编译软件,选择模拟仿真即可进入编译环境,新建一个文件(后缀为asm),在文本输入框输入源程序,然后进行编译直至没有语法错误,使用编译命令(CtrlF7)生成16进制文件(后缀hex)。2连接好电源线和编程线后,启动USBASP编程软件,在芯片选择中选择微处理器型号AT89S51,打开装入Flash,装入16进制文件,用擦除命令将芯片内的原程序擦除,用编程命令将新程序写入AT89S51,完毕后,重新复位使程序运行,观察结果。如有错误应重新打开Medwin修改源程序,重新生成16进制文件,重复以上操作,直至满足设计要求。3 设计过程中碰到的问题及解决方法硬件方面:(1)焊接三极管时,由于三个引脚间的距离太近,自己过于急躁,弄了很多锡在上面,造成短路;最后用吸锡器弄干净,重新焊接,有些锡粘在板上,必须用小刀把两引脚间的锡削掉。这里花费了大量时间。(2)LED显示器有一排显示不出来,查明是接口虚焊问题。重新补焊接显示器接口。软件方面:(1)程序编写开始有点混乱,最后重新构思,确定各个按键功能,再根据各个功能编写,这样一步步来,思路比较清晰。(2)程序编写时感觉最难的是按键切换,开始感觉无法下手。最后找了一些按键方面的程序,慢慢看,慢慢了解;然后根据自己设计的特点编写程序。4 总结数字电子钟基本功能都已实现,可以通过按键进行模式切换,并对其数值进行调节。在这基础上还添加了年月日的移动显示,还有秒表,闹铃功能。存在不足是设计的电子钟存在一定的误差,不能在实际中运用。通过本次课程设计,对单片机AT89S51有更深入的了解,同时在对单片机进行软件编程的过程中,学会了单片机编程的流程控制,熟悉了单片机显示按键系统的编程实现。5 程序模块框图6 程序清单*; 主程序开始 ;*ORG0000HLJMPSTART ORG000BH ;定时器0的中断向量地址 LJMPTIME0;转到定时中断START: ;显示缓冲区DISP_SBUF1 EQU 40HDISP_SBUF2 EQU 41HDISP_SBUF3 EQU 42HDISP_SBUF4 EQU 43H*; 复位程序 ;*MOVR0,#20HMOVR7,#60HS1:MOVR0,#00HINCR0DJNZR7,S1*; 定时程序 ;*MOV30H,#02H ;赋初值MOV31H,#01HMOV32H,#06H ;开机显示 时间 12:00MOV33H,#00HMOV34H,#00H ;闹钟时间为7:00MOV35H,#01HMOV36H,#00HMOV37H,#02H;起始日期:2010-6-2MOV TMOD,#01H ;定时/计数器0工作于方式1MOV TH0,#3CHMOV TL0,#0B0H ;定时50ms(f=11.05MHz) MOV70H,#20 SETB12H SETB EA ;开总中断允许 SETB ET0 ;开定时/计数器0允许 SETB TR0 ;定时/计数器0开始运行*; 显示子程序 ;*KEY:JB16H,XUNHUANLCALLDSHBJJB04H,SFXSJB05H,MXSJB06H,DXSJB10H,NXSJB11H,YRXSLJMPWORD1XUNHUAN:JB17H,XUNHLJMPNXSLJMPWORD1XUNH:LJMPYRXSLJMPWORD1DSHBJ:JB12H,DSHBJ1JB14H,DSHBJ1MOVA,55HCJNEA,63H,DSHBJ1MOVA,54HCJNEA,62H,DSHBJ1MOVA,53HCJNEA,61H,DSHBJ1MOVA,52HCJNEA,60H,DSHBJ1CLRP1.3SETB13HDSHBJ1:RETNXS:MOV 40H,34HMOV 41H,35HMOV 42H,36HMOV 43H,37HLJMPWORD1YRXS:MOV 40H,30HMOV 41H,31HMOV 42H,32HMOV 43H,33HLJMPWORD1SFXS:MOV40H,52HMOV41H,53HMOV42H,54HMOV43H,55HLJMPWORD1MXS:MOV40H,50HMOV41H,51HMOV42H,#00HMOV43H,#00HLJMPWORD1DXS:MOV40H,60HMOV41H,61HMOV42H,62HMOV43H,63HLJMPWORD1 *; 显示程序 ;*;第1个字WORD1:MOV DPTR,#TABJB 00H,WORD2SETB 00HCLR P2.4MOV A,DISP_SBUF4MOVC A,A+DPTRJB15H,WORD11DECAWORD11:MOV P0,ASETB P2.7AJMP INT_T0_OUT;第2个字WORD2:JB 01H ,WORD3SETB 01HCLR P2.7MOV A,DISP_SBUF3MOVC A,A+DPTRJB15H,WORD21DECAWORD21:MOV P0,ASETB P2.6AJMP INT_T0_OUT;第3个字WORD3:JB 02H,WORD4SETB 02HCLR P2.6MOV A,DISP_SBUF2MOVC A,A+DPTRJB15H,WORD31DECAWORD31:MOV P0,ASETB P2.5AJMP INT_T0_OUT;第4个字WORD4:JB 03H,WORD5SETB 03HCLR P2.5MOV A,DISP_SBUF1MOVC A,A+DPTRJB15H,WORD41DECAWORD41:MOV P0,ASETB P2.4AJMP INT_T0_OUTWORD5:CLR 00HCLR 01HCLR 02HCLR 03HAJMP WORD1*; 键盘程序 ;*INT_T0_OUT:ANL P1,#0FH ;保护P1的低四位,高四位置低电平ORL P2,#0FH ;保护P2的高四位,低四位置高电平JNB P2.0,KEY1JNB P2.1,KEY2JNB P2.2,KEY3JNB P2.3,KEY4AJMP KEYKEY1:LCALL T10MSSETB P2.0JNB P2.0,KEY11AJMP KEYKEY2:LCALL T10MSSETB P2.1JNB P2.1,KEY21AJMP KEYKEY3:LCALL T10MSSETB P2.2JNB P2.2,KEY31AJMP KEYKEY4:LCALL T10MSSETB P2.3JNB P2.3,KEY41AJMP KEYKEY11:MOV R5,#0 ;行值MOV R6,#0 ;列值MOV R7,#70HMOV R3,#4AA:MOV A,R7ANL P1,#0FHORL P1,ASETB P2.0JNB P2.0,TRKINC R6SETB CMOV A,R7RRC AANL A,#0F0HMOV R7,ADJNZ R3,AAAJMP KEYKEY21:MOV R5,#4 ;行值MOV R6,#0 ;列值MOV R7,#70HMOV R3,#4BB:MOV A,R7ANL P1,#0FHORL P1,ASETB P2.1JNB P2.1,TRKINC R6SETB C ;?MOV A,R7RRC AANL A,#0F0HMOV R7,ADJNZ R3,BBAJMP KEYKEY31:MOV R5,#8 ;行值MOV R6,#0 ;列值MOV R7,#70HMOV R3,#4CC:MOV A,R7ANL P1,#0FHORL P1,ASETB P2.2JNB P2.2,TRKINC R6SETB CMOV A,R7RRC AANL A,#0F0HMOV R7,ADJNZ R3,CCAJMP KEYKEY41:MOV R5,#12 ;行值MOV R6,#0 ;列值MOV R7,#70HMOV R3,#4DD:MOV A,R7ANL P1,#0FHORL P1,ASETB P2.3JNB P2.3,TRKINC R6SETB CMOV A,R7RRC AANL A,#0F0HMOV R7,ADJNZ R3,DDAJMP KEYTRK:MOV A,R5ADD A,R6MOV B,#3MUL AB ;?MOV DPTR,#KTJMP A+DPTRKT:LJMP PR0LJMP PR1LJMP PR2LJMP PR3LJMP PR4LJMP PR5LJMP PR6LJMP PR7LJMP PR8LJMP PR9LJMP PR10LJMP PR11LJMP PR12LJMP PR13LJMP PR14LJMP PR15PR0:SETB10HCLR04HCLR05HCLR06HCLR11HCLR16HLJMPKEYPR1:SETB11HCLR04HCLR05HCLR06HCLR10HCLR16HLJMPKEYPR2:SETB04HCLR05HCLR06HCLR16HLJMPKEYAPR3:SETB05HCLR04HCLR06HCLR16HLJMPKEYAPR4:SETB06HCLR05HCLR04HCLR10HCLR11HSETB12HCLR14HCLR16HLJMPKEYAPR5:JNB06H,PR52INC62HMOVA,63HCJNEA,#02H,PR51MOVA,62HCJNEA,#04H,PR52MOV62H,#00HMOV63H,#00HLJMPPR52PR51:MOVA,62HCJNEA,#0AH,PR52MOV62H,#00HINC63HPR52:LJMP KEYAPR6:JNB06H,PR61INC60HMOVA,60HCJNEA,#0AH,PR61MOV60H,#00HINC61HMOVA,61HCJNEA,#06H,PR61MOV60H,#00HMOV61H,#00HPR61:LJMP KEYAPR7:JNB13H,PR71SETBP1.3SETB14HPR71:LJMP KEYAPR8:SETB04HCLR05HCLR06HSETB07HCLR08HCLR10HCLR11HCLR16HLJMPKEYAPR9:JNB07H,PR92INC54HMOVA,55HCJNEA,#02H,PR91MOVA,54HCJNEA,#04H,PR92MOV54H,#00HMOV55H,#00HLJMPPR92PR91:MOVA,54HCJNEA,#0AH,PR92MOV54H,#00HINC55HPR92:LJMP KEYAPR10:JNB07H,PR101INC52HMOVA,52HCJNEA,#0AH,PR101MOV52H,#00HINC53HMOVA,53HCJNEA,#06H,PR101MOV52H,#00HMOV53H,#00HPR101:LJMP KEYAPR11:CLR06HCLR07HCLR08HCLR12HCLR16HLJMP KEYAPR12:SETB16HLJMP KEYPR13:LJMP KEYPR14:LJMP KEYPR15:LJMP KEYKEYA:LCALL T1SLJMPKEY *; 中断程序 ;*TIME0: PUSH ACCPUSH PSWMOV TH0,#3CHMOV TL0,#0B0HDJNZ70H,L1MOV70H,#20CPL17HC

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论