基于51单片机的电子时钟的设计与实现2.docx
《基于51单片机的电子时钟的设计与实现2.docx》由会员分享,可在线阅读,更多相关《基于51单片机的电子时钟的设计与实现2.docx(40页珍藏版)》请在咨信网上搜索。
武汉大学电子信息学院 电子系统综合设计课程论文 基于51单片机的电子时钟的设计与实现 专 业: 年 级: 作 者: 指导教师: 2012年 6月 26日 目 录 1 课题背景与立项缘由 1 2 实验方案设计 2 2.1设计要求 2 2.2数字钟的构成 2 2.3系统总体框图 3 3 软件系统方案设计与选择 4 3.1主程序流程图 4 3.2定时器子程序流程图 6 3.3方案选择 7 4 硬件系统方案设计与选择 7 4.1单片机的结构 7 4.2开发板的结构和使用方法... 8 4.3方案选择... 10 5 系统测试 11 5.1测试环境 11 5.2测试过程 11 5.3测试结果... 12 6 实验心得 12 参考文献 13 附录1 系统电路图 13 附录2 系统软件代码 14 附录3 系统器件清单 38 1 课题背景及立项缘由 所谓单片机,就是把中央处理器CPU(Central Processing Unit)、存储器(Memory)、定时器、I/0(Input/Output)接口电路等一些计算机的主要功能部件集成在一块集成电路芯片上的微型计算机。虽然单片机只是一个芯片,但从组成和功能上看,它已具有了微型计算机系统的含义。中文“单片机”的称呼由英文名称“Single Chip Microcomputer”直接翻译而来。单片机把微型计算机的各主要部分集成在一块芯片上,大大缩短了系统内信号传送距离,从而提高了系统的可靠性及运行速度。因而在工业测控领域中,单片机系统是最理想的控制系统。所以,单片机是典型的嵌人式系统,是嵌入式系统低端应用的最佳选择。单片机的发展经历了以下4个阶段: 1、芯片化探索阶段 20世纪70午代,美国的Fairchild(仙童)公司首先推出了第一款单片机F-8,随后Intel公司推出了影响面大、应用更广的MCS48单片机系列。MCS48单片机系列的推出标志着在工业控制领域,进入到智能化嵌入式应用的芯片形态计算机的探索阶段。参与这一探索阶段的还有Motorola、Zilog和TI等大公司,它们都取得了满意的探索效果,确立了在SCMC的嵌入式应用中的地位。 2、结构体系的完善阶段 在MCS-48探索成功的基础上很快推出了完善的、典型的单片机系列MCS-5l。MCS-51系列单片机的推出,标着Single Chip Microcomputer体系结构的完善。 3、从SCMC向MCU化过渡阶段 Intel公司推出的MCS96单片机,将一些用于测控系统的模数转换器(ADC)、程序运行监视器(WDT)、脉宽调制器(PWM)、高速I/O口纳入片中,体现了单片机的微控制器特征。MCS-51单片机系列向各大电气商的广泛扩散,许多电气商竞相使用80C51为核,将许多测控系统中使用的电路技术、接口技术、可靠性技术应用到单片机中;随着单片机内外围功能电路的增强,强化了智能控制器特征。微控制器(Microcontrollers)成为单片机较为准确表达的名词。 4、MCU的百花齐放阶段 单片机发展到这一阶段,表明单片机已成为工业控制领域中普遍采用的智能化控制工具-----小到玩具、家电行业,大到车载、舰船电子系统,遍及计量测试、工业过程控制、机械电子、金融电子、商用电子、办公自动化、工业机器人、军事和航空航天等领域。为满足不同的要求,出现了高速、大寻址范围、强运算能力和多机通信能力的8位、16位、32位通用型单片机,小型廉价型、外围系统集成的专用型单片机,以及形形色色各具特色的现代单片机。可以说,单片机的发展进人了百花齐放的时代,为用户的选择提供了空间。 在日常生活和工作中,我们常常使用到定时控制。早起常用的一些时间控制单元都是使用模拟电路设计和制作的,其定时准确性和重复精度都不是很理想,现在基本上都是基于数字技术的新一代产品,随着单片机性能价格比的不断提高,新一代产品的应用也越来越广泛,大可构成复杂的工业过程的控制系统,完成复杂的控制功能。小则用于家电控制,大则用于工业和科学研究中的精确时间定位,配以适当的接口芯片,可以构造各式各样的微电子产品。 我们专业在本学期的数字逻辑电路实验中已经能使用脉冲信号发生器、相关芯片、数码管和导线在实验箱上实现基于基本门电路的数字时钟;在电子系统综合设计(2)这门课上,我们学习了单片机的相关知识,了解了其低功耗、可靠性和稳定性强、可以在内部的EPROM上写入和擦除程序的相对先进的特点与功能。因此,我们希望在有单片机芯片的开发板上通过编程实现数字钟,并期望它能有更多的功能和更好的稳定性。 2 实验方案设计 2.1 设计要求 u 实现时、分、秒的计时功能 u 实现年、月、日的日历功能 u 体现平闰年的区别,各时间单位之间进制准确 u 实现闹钟报警功能 2.2 数字钟的构成 数字钟实际上是一个对标准频率(1HZ)进行计数的计数电路.由于计数的起始时间不可能与标准时间一致,故需要在电路上加一个校时电路,同时标准的1MHZ时间信号必须做到准确稳定.通常使用石英晶体振荡器电路构成数字钟。 ⑴晶体振荡器电路 晶体振荡器电路给数字钟提供一个频率稳定准确的12MHz的方波信号,可保证数字钟的走时准确及稳定.不管是指针式的电子钟还是数字显示的电子钟都使用了晶体振荡器电路。 ⑵时间计数器电路 时间计数电路由秒个位和秒十位计数器,分个位和分十位计数器电路构成,秒个位和秒十位计数器,分个位和分十位计数器为60进制计数器。 ⑶译码驱动电路 译码驱动电路将计数器输出的8421BCD码转换为数码管需要的逻辑状态,并且为保证数码管正常工作提供足够的工作电流。 ⑷数码管 数码管通常有发光二极管(LED)数码管和液晶(LCD)数码管,本设计提供的为LED数码管。 2.3 系统总体框图 开始 系统初始化 显示计时 判断按键是否有按下 年、月、日 调整时分秒 调整定时 调整星期 3 软件系统方案设计与选择 3.1 主程序流程图 3.1主程序流程图(续) 3.2 定时器子程序流程图 3.3方案选择与相关技术 方案一:基本门电路搭肩,用基本门电路来实现数字钟,电路结构复杂,鼓掌系数大,不易调试。 方案二:单片机编程,用单片机设计电路,由于使用软硬件结合的方式,所以电路结构简单,调试也相对方便。 与第一种方案比较优点的是非常明显的。我们选择了第二种方案。 4 硬件系统方案设计与选择 4.1 单片机的结构 4.1.1 结构框图 4.2 开发板结构与使用方法 4.2.1开发板的结构 4.2.2 通过SST51实现开发板只读模式和程序烧写的切换 打开SSTEasyIAP11F.exe程序,选择串口 选择芯片型号和内部程序存储器 选择PC串口,MCU晶振和波特率 先选择确定在复位MCU 通讯成功后窗口右上角显示芯片信息和版本信息 点击Download SoftICE选项,将MCU中的BOOT LOADER监控程序替换为Soft ICE监控程序 选择确认更换 打开Keil C51程序,新建一个工程 保存在自己新建的文件夹中 点击保存出现CPU选择对话框,选择SST系列的89X516RD2 出现是否添加标准51初始代码对话框,选“否” 工程建立之后新建源程序文件,点击”File”菜单下“New”选项 保存在工程文件夹内,C程序文件后缀为“.C”,汇编程序文件后缀为“.ASM” 在文本编辑区编写源程序并保存;在Source Group上右击选择“Add Files To Group…”选项添加源文件至工程 选择编写好的源程序文件,点击Add添加所选文件 点击编译按钮,编译工程 进入目标板调试选项设置,点击“Project”菜单下“Options for Target…”选项 选择为硬件仿真功能 点击Setting进入通讯参数设定菜单,去掉所有Cache选项。至此设置完毕,进入仿真调试阶段 点击DEBUG下的“Start/Stop Debug Session”选项进入DEBUG界面 进入后可以看到信息栏中由显示连接成功信息。在此仿真界面可以进行单步、全速、断点等调试方式 由Soft ICE监控程序转换回SST Boot-Strap Loader监控程序 打开编辑器SUPERPRO程序 进入SUPERPRO程序界面,单击“选择器件选项” 进入器件选择对话框,在器件类型处选择“MCU/MPU”在查找处输入要器件名称,找到之后选择“确定” 单击“装入文件”选项 进入下载文件选择对话框,选择要下载的Soft ICE监控程序,文件格式一般为“.hex”或“.bin”格式 因为SST单片机的监控程序存储在Block1中,Block1的地址为10000h,故数据缓冲区起始地址改为“10000”,下载一般执行程序则直接默认 具体步骤为:Erase=》Program=》Verify; 打开SST BOOT-STRAP LOADER软件工具,并按之前的步骤与单片机通讯连接成功。在界面的右下方IAP Function菜单中有下载选项,选择“Download”选项下载程序 进入了下载文件选择界面 在文件查找对话框中找到要下载的用户程序,一般为.Hex或.bin格式文件 选择好用户程序后,单击步骤二中的OK选项开始下载,界面最下面的状态栏显示下载进度,当显示为Done时表示程序下载已经完成,单片机上电执行用户程序了 4.3 方案选择与相关技术 4.3.1显示模块 显示模块是本次单片机课程设计最核心的部分。 方案一:采用LCD1602。LCD1602为工业字符型液晶,能够同时显示16x02即32个字符。其采用标准的16脚接口,该液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,所以可分容易的实现数字钟数码显示。 方案二:采用LED共阴极数码管。共阴数码管在应用时将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。 基于以上分析,我们考虑到现实经济因素,所以选择了方案二。 共阴极数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类: 方案一:静态显示驱动。就是每一个数码管显示器都要占用单独的具有锁存功能的I/O接口用于笔划段字形代码。这样单片机只要把要显示的字形代码发送到接口电路,直到要显示新的数据时,再发送新的字形码,因此,使用这种办法单片机中CPU的占用较小。但对于静态显示方式,所需的数据锁存装置很多,引线多而复杂,且可靠性也较低。 方案二:动态显示驱动。通过单片机对数码管位选通COM端电路的控制,只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的COM端,就使各个数码管轮流受控显示,这就是动态驱动。动态显示可以大幅度地降低硬件成本和电源的功耗,因为某一时刻只有一个数码管工作,也就是所谓的分时显示,故显示所需要的硬件电路可分时复用。动态显示方式,可以避免静态显示的问题。但设计上如果处理不当,易造成亮度低,闪烁问题。因此合理的设计既应保证驱动电路易实现,又要保证显示后的数据稳定,无闪烁。动态显示采用多路复用技术的动态扫描显示方式, 复用的程度不是无限增加的, 因为利用动态扫描显示使我们看到一幅稳定画面的实质是利用了人眼的暂留效应和发光二极管发光时间的长短, 发光的亮度等因素. 我们通过实验发现, 当扫描刷新频率(发光二极管的停闪频率) 为50Hz, 发光二极管导通时间≥1m s 时, 显示亮度较好, 无闪烁感.。 鉴于上述的方案分析, 我们采用方案二 4.3.2闹铃模块 方案一:采用语音芯片ISD1110闹铃。ISD1110 具有多种采样率对应,多种录放时间,可以利用振荡电阻自已决定采样率。操作简单,灵活。音质好,适应电压范围广。可先对录放音设备录入一段音乐或其他报时方式,当到设定时间时,单片机控制录放音设备放音。 方案二:采用蜂鸣器闹铃,当到设定时间时,单片机向蜂鸣器送出低电平,蜂鸣器响铃。采用蜂鸣器闹铃结构简单,只需要单路信号控制,发出的闹铃声音可以根据响和不响的不同的软件延时时间来控制,当然也能发出音乐声音。 基于两种方案分析,虽然语音芯片ISD1110具备更多优点,但鉴于经济因素,我们本次设计还是决定采用方案二。 4.3.3 LED灯显示模块 采用LED灯可以方便的用不同的流水方式或单个LED灯来判断系统的工作状态,实现不同的显示功能,是一种经济又实用的方式。 5 系统测试 5.1 测试环境 硬件平台:计算机一台、通讯电缆一根、数据线一根、单片机系统学习平台V1.1 软件平台:WINDOWS XP操作系统、SoftICE监控程序、Keil软件 5.2 测试过程 硬件测试: 用SoftICE查看和改变单片机工作状态 软件测试:将数字钟程序烧入单片机,并测试其功能是否完善 5.3 测试结果 时钟精度分析: 为进一步使本次的系统做得更完美,我使用了标准的秒表对自己设计的时间进行了精度测量。本次设计系统使用的晶振为12MHZ.数码管显示 00:5:00时,用秒表测得相应的数据如表3所示: 序号 1 2 3 4 5 T(min) 5.00.5781 5.00.4787 5.00.5040 5.00.3096 4.59.2587 序号 6 7 8 9 10 T(min) 5.01.4335 5.00.2003 4.59.4556 5.01.2026 5.00.2597 序号 11 12 13 14 15 T(min) 4.58.9750 5.00.1181 5.00.9604 5.02.5060 4.59.8985 序号 16 17 18 19 20 T(min) 10.00.1081 10.01.0545 10.00.9560 10.00.7854 5.00.4355 通过计算可得数码管显示:00:5:00时 秒表测得的数值平均值为:00:5:2343 6 实验心得 本次数字钟实验耗时很久,最后做出的来的功能也是经过反复多次调试才全部达标,是一次很有意义的学习和动手经历。从完全不懂单片机到在单片机上编出数字钟的程序,我们的感受主要有一下几点: u 看再多的课本可能效果也不如实际编程的学习效率高。事实上我们编跑马灯的程序的时候缺什么就看什么,非常有针对性,在短时间内掌握了汇编语言编程的基础。从本课程的角度来说,实践对理论的反馈作用体现的更加明显。 u 调试程序比编程本身枯燥的多,但是在某种意义上更加重要。编程是靠灵感的,脑袋里有了算法可以很快写出来,但是实际结果能不能达到还要看调试,要考虑算法逻辑、语法、内存地址等诸多方面。这一点在对硬件编程上体现的尤为明显。 u 本实验最后完成了数字钟的诸多功能,并没有向其他领域拓展的功能,是比较遗憾的地方。希望能在电子系统综合设计(2)中得到弥补! 参考文献 [1] 楼然苗.《单片机课程设计指导》.北京航空航天大学出版社,2007.7. [2] 苏家健.《单片机原理及应用技术》.高等教育出版社,2004.11. [3] 深圳市精敏数字机器有限公司 单片机入门背景知识,2012.5. [4] 张毅坤 陈善久 裘雪红. 单片微型计算机原理及应用. 西安电子科技大学出版,1998.91版. [5] 李学海.《标准80C51单片机基础教程:原理篇》.北京航空航天大学出版社,2006. [6] 王建校.《51系列单片机及C51程序设计》.科学出版社,2002. [7] 陈龙三.《C语言控制与应用》.清华大学出版社,1999.8. [8] 赵建领.《51系列单片机开发宝典》. 电子工业出版社,2007. 附录一 系统电路图 附录二 软件完整代码 ORG 0000H LJMP MAIN ORG 0003H ;时钟中断入口 LJMP JIA1 ORG 000BH ;日期中断入口 LJMP CLOCK ORG 0013H LJMP JIAN1 ORG 001BH LJMP NAOZHO ORG 0030H DATELED1 EQU 55H ;日期月地址 DATELED2 EQU 56H ;日期日地址 DATELED3 EQU 57H ;日期年高位地址 DATELED4 EQU 67H ;日期年低位地址 SHUNAO EQU 58H NAOH EQU 59H NAOM EQU 40H DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH ORG 0100H MAIN: MOV R3,#0 MOV R0,#12 MOV R1,#0 MOV NAOH,#12 MOV NAOM,#0 MOV SHUNAO,#40 MOV P1,#0FFH MOV R5,#0FFH MOV 66H,#0FFH MOV SP,#30H MOV R2,#0 MOV R7,#7FH MOV DATELED1,#01 MOV DATELED2,#01H MOV DATELED3,#00H MOV DATELED4,#20 MOV TMOD,#21H MOV TH0,#3CH MOV TL0,#0B0H MOV TH1,#00H MOV TH0,#00H SETB TR0 CLR TR1 MOV IE,#087H SETB IT1 ;外部中断模式 SETB IT0 CLR PS CLR PT1 CLR PT0 SETB PX1 SETB PX0 LED: MOV A,R0 MOV R7,#7FH LCALL LED1 LCALL TIME MOV A,R0 CJNE A,NAOH,NONAO MOV A,R1 CJNE A,NAOM,NONAO JB TR1,NONAO LJMP NAOKAI NONAO: INC NAOM MOV A,NAOM MOV 38H,R1 CJNE A,38H,NONAO1 CLR TR1 NONAO1: DEC NAOM MOV A,R1 MOV R7,#0EFH LCALL LED1 LCALL TIME MOV A,R2 MOV R7,#0FDH LCALL TIME LCALL LED1 LCALL TIME JNB P3.4,SETM JNB P3.5,DATEH LJMP LED NAOKAI: SETB ET1 SETB TR1 LJMP NONAO DATEH: LJMP DATE SETM: CLR ET1 LCALL TIME3 JB P3.4,LED SETM3: JNB P3.4,SETM3 LCALL TIME3 JNB P3.4,SETM3 MOV P1,#11111110B SETM1: MOV A,R1 MOV R7,#0EFH LCALL LED1 LCALL TIME MOV A,R0 MOV R7,#7FH LCALL LED1 LCALL TIME JB P3.4,SETM1C1 LCALL TIME3 JNB P3.4,SETH SETM1C1: DJNZ R5,SETM1 MOV R5,#0FFH SETM2: MOV A,#00H MOV DPTR,#0FAFFH MOVX @DPTR,A MOV DPTR,#0FBFFH MOV A,#0EFH MOVX @DPTR,A LCALL TIME MOV A,#00H MOV DPTR,#0FAFFH MOVX @DPTR,A MOV DPTR,#0FBFFH MOV A,#0F7H MOVX @DPTR,A LCALL TIME MOV A,R0 MOV R7,#7FH LCALL LED1 LCALL TIME JB P3.4,SETM1C2 LCALL TIME3 JNB P3.4,SETH SETM1C2: DJNZ R5,SETM2 MOV R5,#0FFH LJMP SETM1 SETH: JNB P3.4,SETH LCALL TIME3 JNB P3.4,SETH MOV P1,#11111101B SETH1: MOV A,R0 MOV R7,#07FH LCALL LED1 LCALL TIME MOV A,R1 MOV R7,#0EFH LCALL LED1 LCALL TIME JB P3.4,SETH2 LCALL TIME3 JNB P3.4,SETD SETH2: DJNZ R5,SETH1 MOV R5,#0FFH SETH3: MOV A,R1 MOV R7,#0EFH LCALL LED1 LCALL TIME MOV A,#00H MOV DPTR,#0FAFFH MOVX @DPTR,A MOV DPTR,#0FBFFH MOV A,#07FH MOVX @DPTR,A LCALL TIME MOV A,#00H MOV DPTR,#0FAFFH MOVX @DPTR,A MOV DPTR,#0FBFFH MOV A,#0BFH MOVX @DPTR,A LCALL TIME JB P3.4,SETH4 LCALL TIME3 JNB P3.4,SETD SETH4: DJNZ R5,SETH3 MOV R5,#0FFH LJMP SETH1 SETD: JNB P3.4,SETD LCALL TIME3 JNB P3.4,SETD MOV P1,#11111011B SETD1: MOV A,DATELED4 MOV R7,#7FH LCALL LED1 LCALL TIME MOV A,DATELED3 MOV R7,#0DFH LCALL LED1 LCALL TIME MOV A,DATELED1 MOV R7,#0F7H LCALL LED1 LCALL TIME MOV A,DATELED2 MOV R7,#0FDH LCALL LED1 LCALL TIME JB P3.4,AGAIN2 LCALL TIME3 JNB P3.4,SETDM AGAIN2: DJNZ R5,SETD1 MOV R5,#0FFH SETD3: MOV A,DATELED4 MOV R7,#7FH LCALL LED1 LCALL TIME MOV A,DATELED3 MOV R7,#0DFH LCALL LED1 LCALL TIME MOV A,DATELED1 MOV R7,#0F7H LCALL LED1 LCALL TIME MOV A,#00H MOV DPTR,#0FAFFH MOVX @DPTR,A MOV DPTR,#0FBFFH MOV A,#0FDH MOVX @DPTR,A LCALL TIME MOV A,#00H MOV DPTR,#0FAFFH MOVX @DPTR,A MOV DPTR,#0FBFFH MOV A,#0FEH MOVX @DPTR,A LCALL TIME JB P3.4,AGAIN3 LCALL TIME3 JNB P3.4,SETDM AGAIN3: DJNZ R5,SETD3 MOV R5,#0FFH LJMP SETD1 SETDM: JNB P3.4,SETDM LCALL TIME3 JNB P3.4,SETDM MOV P1,#11110111B SETDM1:MOV A,DATELED4 MOV R7,#7FH LCALL LED1 LCALL TIME MOV A,DATELED3 MOV R7,#0DFH LCALL LED1 LCALL TIME MOV A,DATELED1 MOV R7,#0F7H LCALL LED1 LCALL TIME MOV A,DATELED2 MOV R7,#0FDH LCALL LED1 LCALL TIME JB P3.4,AGAIN1 LCALL TIME3 JNB P3.4,SETDYD AGAIN1: DJNZ R5,SETDM1 MOV R5,#0FFH SETDM3: MOV A,DATELED4 MOV R7,#7FH LCALL LED1 LCALL TIME MOV A,DATELED3 MOV R7,#0DFH LCALL LED1 LCALL TIME MOV A,#00H MOV DPTR,#0FAFFH MOVX @DPTR,A MOV DPTR,#0FBFFH MOV A,#11110111B MOVX @DPTR,A LCALL TIME MOV A,#00H MOV DPTR,#0FAFFH MOVX @DPTR,A MOV DPTR,#0FBFFH MOV A,#11111011B MOVX @DPTR,A LCALL TIME MOV A,DATELED2 MOV R7,#0FDH LCALL LED1 LCALL TIME JB P3.4,AGAIN LCALL TIME3 JNB P3.4,SETDYD AGAIN: DJNZ R5,SETDM3 MOV R5,#0FFH LJMP SETDM1 SETDYD: JNB P3.4,SETDYD LCALL TIME3 JNB P3.4,SETDYD MOV P1,#11101111B SETDYD1: MOV A,DATELED4 MOV R7,#7FH LCALL LED1 LCALL TIME MOV A,DATELED3 MOV R7,#0DFH LCALL LED1 LCALL TIME MOV A,DATELED1 MOV R7,#0F7H LCALL LED1 LCALL TIME MOV A,DATELED2 MOV R7,#0FDH LCALL LED1 LCALL TIME JB P3.4,AGAIND4 LCALL TIME3 JNB P3.4,SETDYG AGAIND4: DJNZ R5,SETDYD1 MOV R5,#0FFH SETDYD3: MOV A,DATELED4 MOV R7,#07FH LCALL LED1 LCALL TIME MOV A,#00H MOV DPTR,#0FAFFH MOVX @DPTR,A MOV DPTR,#0FBFFH MOV A,#11011111B MOVX @DPTR,A LCALL TIME MOV A,#00H MOV DPTR,#0FAFFH MOVX @DPTR,A MOV DPTR,#0FBFFH MOV A,#11101111B MOVX @DPTR,A LCALL TIME MOV A,DATELED1 MOV R7,#0F7H LCALL LED1 LCALL TIME MOV A,DATELED2 MOV R7,#0FDH LCALL LED1 LCALL TIME JB P3.4,AGAIND9 LCALL TIME3 JNB P3.4,SETDYG AGAIND9: DJNZ R5,SETDYD3 MOV R5,#0FFH LJMP SETDYD1 SETDYG: JNB P3.4,SETDYG LCALL TIME3 JNB P3.4,SETDYG MOV P1,#11011111B SETDYG1: MOV A,DATELED4 MOV R7,#7FH LCALL LED1 LCALL TIME MOV A,DATELED3 MOV R7,#0DFH LCALL LED1 LCALL TIME MOV A,DATELED1 MOV R7,#0F7H LCALL LED1 LCALL TIME MOV A,DATELED2 MOV R7,#0FDH LCALL LED1 LCALL TIME JB P3.4,AGAING4 LCALL TIME3 JNB P3.4,NAOSETM AGAING4: DJNZ R5,SETDYG1 MOV R5,#0FFH SETDYG3: MOV A,#00H MOV DPTR,#0FAFFH MOVX @DPTR,A MOV DPTR,#0FBFFH MOV A,#01111111B MOVX @DPTR,A LCALL TIME MOV A,#00H MOV DPTR,#0FAFFH MOVX @DPTR,A MOV DPTR,#0FBFFH MOV A,#10111111B MOVX @DPTR,A LCALL TIME MOV A,DATELED3 MOV R7,#0DFH LCALL LED1 LCALL TIME MOV A,DATELED1 MOV R7,#0F7H LCALL LED1 LCALL TIME MOV A,DATELED2 MOV R7,#0FDH LCALL LED1 LCALL TIME JB P3.4,AGAING9 LCALL TIME3 JNB P3.4,NAOSETM AGAING9: DJNZ R5,SETDYG3 MOV R5,#0FFH LJMP SETDYG1 NAOSETM: JNB P3.4,NAOSETM LCALL TIME3 JNB P3.4,NAOSETM MOV P1,#10111111B NAOSETM1: MOV A,NAOM MOV R7,#0EFH LCALL LED1 LCALL TIME MOV A,NAOH MOV R7,#7FH LCALL LED1 LCALL TIME JB P3.4,SETM1CN LCALL TIME3 JNB P3.4,NAOSETH SETM1CN: DJNZ R5,NAOSETM1 MOV R5,#0FFH NAOSETM2: MOV A,#00H MOV DPTR,#0FAFFH MOVX @DPTR,A MOV DPTR,#0FBFFH MOV A,#0EFH MOVX @DPTR,A LCALL TIME MOV A,#00H MOV DPTR,#0FAFFH MOVX @DPTR,A MOV DPTR,#0FBFFH MOV A,#0F7H MOVX @DPTR,A LCALL TIME MOV A,NAOH MOV R7,#7FH LCALL LED1 LCALL TIME JB P3.4,SETM1CN2 LCALL TIME3 JNB P3.4,NAOSETH SETM1CN2: DJNZ R5,NAOSETM2 MOV R5,#0FFH LJMP NAOSETM1 NAOSETH: JNB P3.4,NAOSETH LCALL TIME3 JNB P3.4,NAOSETH MOV P1,#01111111B NAOSETH1: MOV A,NAOH MOV R7,#07FH LCALL LED1 LCALL TIME MOV A,NAOM MOV R7,#0EFH LCALL LED1 LCALL TIME JB P3.4,NAOSETH2 LCALL TIME3 JNB P3.4,NOSET NAOSETH2: DJNZ R5,NAOSETH1 MOV R5,#0FFH NAOSETH3: MOV A,NAOM MOV R7,#0EFH LCALL LED1 LCALL TIME MOV A,#00H MOV DPTR,#0FAFFH MOVX @DPTR,A MOV DPTR,#0FBFFH MOV A,#07FH MOVX @DPTR,A LCALL TIME MOV A,#00H MOV DPTR,#0FAFFH MOVX @DPTR,A MOV DPTR,#0FBFFH MOV A,#0BFH MOVX @DPTR,A LCALL TIME JB P3.4,NAOSETH4 LCALL TIME3 JNB P3.4,NOSET NAOSETH4: DJNZ R5,NAOSETH3 MOV R5,#0FFH LJMP NAOSETH1 NOSET: MOV P1,#0FFH JNB P3.4,$ LCALL TIME3 JNB P3.4,NOSET LJMP LED CLOCK: INC R3 MOV TH0,#3CH ;定时器复位 MOV TL0,#0B0H CJNE R3,#20,CHUAN ;以下为小时,分钟,秒进一 INC R2 MOV R3,#00H CJNE R2,#60,CHUAN INC R1 MOV R2,#00H CJNE R1,#60,CHUAN INC R0 MOV R1,#00H CJNE R0,#24,CHUAN INC DATELED2 MOV R0,#00H MOV R4,DATELED1 ;以下是月份和平闰年选择及进一 MOV R6,DATELED2 CJNE R4,#01,CLOCK1 CJNE R6,#32,CHUAN INC DATELED2 MOV DATELED1,#01H LJMP ENDD CLOCK1: CJNE R4,#02,CLOCK3 MOV B,#4 ;平闰年选择 MOV A,DATELED3 DIV AB MOV A,B JNZ CLOCK2 CHUANX2: CJNE R6,#30,CHUANX1 ;闰年二月 INC DATELED1 MOV DATELED2,#01H LJMP ENDD CLOCK2: CJNE R6,#29,CHUANX2 ENDDX: INC DATELED1- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 51 单片机 电子 时钟 设计 实现
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【xrp****65】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【xrp****65】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【xrp****65】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【xrp****65】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文