




已阅读5页,还剩10页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
多功能电子钟设计一、80C51单片机功能介绍下面是8051单片机引脚图及引脚功能介绍:40个引脚按引脚功能大致可分为4个种类:时钟、控制和I/O引脚。 电源: VCC - 芯片电源,接+5V; VSS - 接地端; 时钟:XTAL1、XTAL2 - 晶体振荡电路反相输入端和输出端。 控制线:控制线共有4根, ALE/PROG:地址锁存允许/片内EPROM编程 ALE功能:用来锁存P0口送出的低8位地址 PROG功能:片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。 PSEN:外ROM读选通信号。 RST/VPD:复位/备用电源。 RST(Reset)功能:复位信号输入端。 VPD功能:在Vcc掉电情况下,接备用电源。 EA/Vpp:内外ROM选择/片内EPROM编程电源。 EA功能:内外ROM选择端。 Vpp功能:片内有EPROM的芯片,在EPROM编程期间,施加编程电源Vpp。 I/O线80C51共有4个8位并行I/O端口:P0、P1、P2、P3口,共32个引脚。P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)。二 单片机课程设计目的 1 进一步熟悉和掌握8051单片机的结构及工作原理。2 掌握单片机的接口技术及相关外围芯片的外特性,控制方法。3 通过课程设计,掌握以单片机核心的电路设计的基本方法和技术。 4 通过实际程序设计和调试,逐步掌握模块化程序设计方法和调试技术。5 通过完成一个包括电路设计和程序开发的完整过程,使学生了解开发一单片机应用系统的全过程,为今后从事相应打下基础。6.掌握SPI串口进行数据传输的应用,并学会使用外部芯片辅助项设计. 7.锻炼通过自学与自己探索的方式解决问题的能力. 8.通过此次课程设计将单片机软硬件结合起来对程序进行编辑,校验,锻炼实践能力和理论联系实际的能力.三、 设计任务1基本任务:利用定时器/计数器中段和静态显示,实现电子钟的时分秒精确走时和校准。时间日期显示用四个数码管分别显示时、分;月、日。时间正常走时小数点闪烁,日期显示时小数点不闪烁。2. 功能增加型任务:可以正确定时,默认显示时间,可切换显示时间,可校时,校日期。校正时校正对应的内容闪烁。四设计要求1、设计用四个数码管分别显示时分/月日,采用静态显示方法。2、资源分配:K1、 时间日期切换键 P1.4 K2、 校正键 P1.5 进入校正状态,显示日期,月闪烁,显示指针+1,对应内容闪烁 K3、 +键 P1.6闪烁内容加1 K4、 确定键 P1.7退出校正状态,显示 定时时间: 1/16S 计数单元:2FH 秒分时日单元:30H33H 时间/日期标志:20H.0为1,时间标志 20H.0为0,日期标志 校正标志: 20H.1 校正指针: 21H:00H 月 01H 日 10H 时 11H 分3、校正功能:若开始为时间,按下K2,进入时间时校正状态,按下K2,进入分校正状态,按下K2进入月校正状态,按下K2,进入日校正状态,按下K4,确定状态。若开始为按下K1切换为日期,则先进行日期校正,再进入时间校正。五、设计思路1、主程序部分思路 通过对时间日期初始化,时间日期标志,校正标志,初始化按键信息,定时器计数器初值等设置。2、计时部分设计规律思路该设计采用80C51单片机内部的定时器计数器1,中断系统,独立式键盘,串行口方式1,进行设计一个多功能单片机数字钟。设计的电子时钟通过数码管显示,并能通过按键实现设置时间、校时、启动控制等。用定时计数器T1,工作于定时,采用方式1,对12MHZ的系统时钟进行定时计数,初值设为0BDCH。形成定时时间为62500ms。用片内RAM的2FH单元对62500ms计数,计16次产生秒计数器34H单元加1,秒计数器加到59则分计数器33H单元加1,分计数器加到59则时计数器32H单元加1,时计数器加到23则时计数器清0。然后把分、时 、日、月计数器分成分单元和时单元放到4个数码管的显示缓冲区,通过数码管显示出来。显示格式为小时高位、小时低位-分高位、分低位和显示日期格式为月高位、月低位-日高位、日低位。3、判键处理程序思路先读按键信息,进而对时间日期切换键,校正键等判断,分析各种可能,最后把时间日期送显缓,详细思路看流程图。4、校正状态程序设计思路先判断与上次按键是否相同,防止连击,再次判断是否校正键,通过校正指针看是对哪个单元校正,校正中进行加键处理,通过指针内容加1进行处理,校正结束后确定,显示送显缓,详细思路看流程图。5、显示程序思路把我们设计好的送显缓,通过静态显示方法,四个数码管分别显示时分/月日,小数点在第二个数码管上显示,若显示时间,小数点闪烁,若显示日期,小数点不闪烁。六、实验电路图七、流程图计时程序2FH单元内容减一2FH单元内容为零2FH单元重赋初值,秒单元加一并调整为十进制数到60s?秒单元清零,分单元加一,并调整为十进制到60分?分单元清零,小时单元加一并调整为十进制数到24小时?小时单元清零,日单元加一并调整为十进制数到31天?天单元置一,月单元加一并调整为十进制数到13月?月单元置一判键程序YYYYYYYYYYNNNNNYN八、程序ORG 0000H SJMP MAIN ORG 001BH ;设置定时器、计数器1入口地址 LJMP JISHU ORG 0030H ; ;主程序初始化 MAIN: MOV 50H,#0FFH ;按键信息 MOV 30H,#01H ;月单元置1 MOV 31H,#01H ;日单元置1 MOV 32H,#00H ;时单元置0 MOV 33H,#00H ;分单元置0 MOV 34H,#00H ;秒单元置0 MOV 2FH,#00H ;计数单元清0 CLR 20H.1 ;清校时标志 SETB 20H.0 ;时间,日期标志 MOV TMOD,#10H ;定时器计数器方式1 MOV TH1,#0BH ;初值,以62.5MS定时 MOV TL1,#0DCH MOV IE ,#88H ;EA为1,ET1为1 SETB TR1 ;启动运行定时器计数器1 SJMP $ ;等待中断 ; ;正常计数 JISHU:MOV TH1,#0BH ;重新赋初值 MOV TL1,#0DCH MOV A,2FH INC A MOV 2FH,A CJNE A,#0FH,KEY ;判断一秒到否?到了则进位 MOV 2FH,#00 ;重新对计数单元清0 MOV A,34H ;进行秒单元计数 ADD A,#01H DA A ;十进制调整 MOV 34H,A CJNE A,#60H,KEY ;判断1分钟是否到? MOV 34H,#00H MOV A,33H ADD A,#01H DA A MOV 33H,A CJNE A,#60H,KEY ;判断一小时是否到? MOV 33H,#00H MOV A,32H ;进行小时单元计数 ADD A,#01H DA A MOV 32H,A CJNE A,#24H,KEY MOV A,#00H MOV A,31H ;进行日单元计数 ADD A,#01H DA A MOV 31H,A CJNE A,#31H,KEY MOV 31H,#01H MOV A,30H ADD A,#01H DA A MOV 30H,A CJNE A,#12H,KEY MOV 30H,#01H ; ;判断按键 KEY: JNB 20H.1,ZOUSHI ;校时标志不为1,则跳转 LJMP JIAOSHI ;为1跳转为校时ZOUSHI: MOV A,P1 ;读按键信息 CJNE A,50H,KEY1 ;判断与上一次按键是否相同 LJMP NONE1 ;跳转到无按键处理 KEY1:MOV 50H,A JNB ACC.4,SWITCH1 ;是否P1.4切换键,即时间日期切换键是否按下 JNB ACC.5,SET1 ;是否P1.5校正键,校正键是否按下 LJMP NONE1 ;都不是则跳转到无按键处理SWITCH1:CPL 20H.0 ;切换键按下,取反时间日期标志 NONE1: JNB 20H.0,DATE1 ;显示时间日期标志 MOV 3BH,32H ;时间送显缓 MOV 3AH,33H LJMP DISP ;跳转到显示程序 DATE1:MOV 3BH,30H ;日期送显缓 MOV 3AH,31H LJMP DISP SET1:SETB 20H.1 ;校正键按下 MOV 21H,#00 ;校正指针清0 CLR 20H.0 ;切换到日期 MOV 3BH,30H ;显示日期 MOV 3AH,31H LJMP DISP ;跳转到显示程序 ; ;校正JIAOSHI:MOV A,P1 CJNE A,50H,KEY2 ;判断与上次是否按键相同? JNB P1.6,KEY2 LJMP NONE2 ;没有键按下,调用显缓 KEY2: MOV 50H,A ;有键按下 JNB ACC.5,SET2 ;是否校正键 JNB ACC.6,ADD2 ;是否加键 JNB ACC.7,SURE ;是否确定键 LJMP NONE2 ;无键按下处理 SET2: INC 21H ;按下校正键,校正下一个状态 ANL 21H,#03H ;修改校正标志 SJMP NONE2 ADD2: MOV A,2FH ANL A,#07H CJNE A,#04H,NONE2MOV A,#30H ;处于校正,按下加键 ADD A,21H ;判断校正哪个单元 MOV R0,A MOV A,R0 ADD A,#01H ;指针内容加1 DA A MOV R0,A CJNE R0,#30H,DATE ;判断是否校月 CJNE R0,#13H,NONE2 ;判断校月是否超出范围 MOV R0,#01H SJMP NONE2 DATE:CJNE R0,#31H,HOUR ;判断是否校日 CJNE R0,#32H,NONE2 MOV R0,#01H SJMP NONE2 HOUR: CJNE R0,#32H,MIN ;判断是否校时 CJNE R0,#24H,NONE2 MOV R0,#00H SJMP NONE2 MIN: CJNE R0,#60H,NONE2 ;校分 MOV R0,#00H SJMP NONE2 SURE:CLR 20H.1 ;是确定键,清校正状态 SJMP TIME2 NONE2:JNB 21H.1,DATE2 TIME2:SETB 20H.0 ;时间送显缓 MOV 3BH,32H MOV 3AH,33H LJMP DISP DATE2:CLR 20H.0 ;日期送显缓 MOV 3BH,30H MOV 3AH,31H ; ;显示缓冲器内容送入程序 DISP: MOV A,3BH ;第一个数码管显示 ANL A,#0F0H ;保留高四位 SWAP A MOV 43H,A CJNE A,#00H,LP1 MOV 43H,#0AH LP1: MOV A,3BH ANL A,#0FH ;保留低位 MOV 42H,A MOV A,3AH ANL A,#0F0H ;保留高位 SWAP A MOV 41H,A JB 20H.0,LL ;时间日期标志为1则跳转 CJNE A,#00H,LL MOV 41H,#0AH LL: MOV A,3AH ANL A,#0FH MOV 40H,A ;解压成四个BCD码 JNB 20H.1,DISP1 ;判断是否校正?非校正则正常显示 JNB P1.6,DISP1 JNB 2FH.3,DISP1 ;校正,判断半秒到否?未到正常显示 JNB 21H.0,LP ;半秒到,判断数码管哪个闪 MOV 41H,#0AH ;送灭码 MOV 40H,#0AH SJMP DISP1 LP: MOV 43H,#0AH MOV 42H,#0AH DISP1:MOV DPTR,#TAB MOV A,43H MOVC A,A+DPTR ;查表显示 MOV SBUF,A ;送出静态码 JNB TI,$ ;发送中断 CLR TI MOV A,42H ;小数点显示程序 MOVC A,A+DPTR MOV C,2FH.3 ANL C,20H.0 MOV ACC.0,C MOV SBUF,A JNB TI,$ CLR TI MOV A,41H MOVC A,A+DPTR MOV SBUF,A JNB TI,$ CLR TI MOV A,40H MOVC A,A+DPTR MOV SBUF,A JNB TI,$ CLR TI RETI TAB: DB 09H,7DH,07H,15H,71H,91H,81H,3DH,01H,11H,0FFH END九、实验中出现的问题及分析1、调试过程中出现一些标识符,符号等问题2、数码管时间显示时高位为0时开始是灭的,可加到10以上还是不能显示,解决办法:CJNE A,#00H, LP1 MOV 43H,#0AH3、显示过程中,小时加到了24点且分钟加到了60分,解决办法:小时MOV 32H,A CJNE A,#24H,KEY MOV A,#00H分钟 CJNE A,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025湖北咸宁市通城城市发展建设投资(集团)有限公司第一期招聘模拟试卷及答案详解(名师系列)
- 2025辽宁鞍山市千山区公益性岗位招聘1人模拟试卷及参考答案详解
- 2025年甘肃省平凉市灵台县第二批城镇公益性岗位人员招聘114人模拟试卷及一套完整答案详解
- 2025年宁波市鄞州区面向社会公开招聘社区专职工作者55人模拟试卷附答案详解(考试直接用)
- 2025北京第四实验学校招聘45人模拟试卷及答案详解(历年真题)
- 2025南昌市自然资源和规划局高新分局招聘用地业务岗1人考前自测高频考点模拟试题及答案详解(易错题)
- 2025贵州省卫生健康委员会“银龄计划”(引进退休高级医疗卫生人才)724人模拟试卷及答案详解(夺冠系列)
- 2025年广东佛山市南海区桂城街道公开招聘辅警1人模拟试卷含答案详解
- 2025河南新乡市碳汇计量检测中心招聘模拟试卷及完整答案详解一套
- 2025年哈尔滨新区第二十四幼儿园招聘5人考前自测高频考点模拟试题含答案详解
- 陈皮种植转让合同协议
- 预防青少年药物滥用-主题班会课件
- 世界语与英语的词汇对比分析论文
- 2025年度建筑公司分公司市场拓展合作合同
- 《林氏木业供应链管理现状、问题及优化建议》14000字(论文)
- 研发项目管理流程
- 八年级英语组工作总结
- 《船用格栅》规范
- 《出师表》原文及英文对照版-20210722094410
- 实验室装修工程设计书
- 2024-2025学年人教版八年级英语上册Unit 2 测试卷
评论
0/150
提交评论