单片机原理及应用(单片机电子时钟设计)-大连理工大学

合集下载

大连理工大学网络教育学院《单片机原理及应用》课程实施方案

大连理工大学网络教育学院《单片机原理及应用》课程实施方案

大连理工大学网络教育学院《单片机原理及应用》课程实施方

《单片机原理及应用》课程实施方案
2021年9月
一、课程简介:
《单片机原理及应用》是大连理工大学网络教育学院远程高等教育必修的一门专业课。

通过本课程的学习,应使学生在掌握单片机基本理论知识的基础上,着重强化应用所学知识的能力和实际动手能力。

因此,在教学过程中既要重视基础理论的培养,也要重视实验等实践性环节,基础理论知识和基本应用能力并重,为后续专业课的学习及学生从业后自学相关知识、更好地从事相关技术工作奠定良好的基础。

二、课程教材:
1.《单片机原理及应用》网络课件,包括课程内容的讲解、编程实例的分析。

2.《单片机原理及实践》王开宇主编,副主编孙鹏,大连理工大学出版社,2016年3月1日
三、教学过程:观看课件的课程讲解、自学?平时作业网上课程辅导答疑(网上讨论)离线大作业
四、教学特点:
本课程是工程控制和电子信息领域各专业的技术基础理论课,它
上承“电子技术基础”等专业理论基础课,下启“接口技术”和“计算机控制技术”等专业课,在其间起着桥梁和纽带的作用,因此是非常重要的技术基础理论课;
单片机原理及应用是一门应用性较强的课程,教学中,应以单片机的应用特性为主线,原理的讲授以应用为落脚点,注重实用性和实施性。

使学生掌握单片机的基本工作原理和应用方法,了解单片机在实际应用中的系统设计与开发方法,并逐步提高信息素养和自学能力。

大连理工大学网络教育学院
1。

大工18秋《单片机原理及应用》大作业题目及要求

大工18秋《单片机原理及应用》大作业题目及要求

网络教育学院《单片机原理及应用》大作业题目:单片机电子时钟设计学习中心:层次:专业:年级:学号:学生姓名:大工18秋《单片机原理及应用》大作业具体要求:1 作业内容从以下五个题目中任选其一作答。

2 正文格式作业正文内容统一采用宋体,字号为小四,字数在2000字以上。

3. 作业提交学生需要以附件形式上交离线作业(附件的大小限制在10M以内),选择已完成的作业,点“上交”即可。

如下图所示。

4. 截止时间2019年3月11日。

在此之前,学生可随时提交离线作业,如需修改,可直接上传新文件,平台会自动覆盖原有文件。

5. 注意事项请同学独立完成作业,不准抄袭其他人或者请人代做,如有雷同作业,成绩以零分计!题目一:单片机电子时钟设计准则:设计一个基于51单片机或STM单片机的电子时钟,并且能够实现时分秒的显示和调节撰写要求:(1)首先介绍课题背景,并进行需求分析及可行性分析,包括软硬件功能分配、核心器件的选型等;(2)对系统硬件进行设计,包括硬件功能模块划分、电路原理图设计等;(3)对系统软件进行设计,选用汇编语言或C语言编写程序,给出软件开发流程;(4)总结:需要说明的问题以及设计的心得体会。

一、课题背景1957年,Ventura发明了世界上第一个电子表,从而奠定了电子时钟的基础,电子时钟开始迅速发展起来。

现代的电子时钟是基于单片机的一种计时工具,采用延时程序产生一定的时间中断,用于一秒的定义,通过计数方式进行满六十秒分钟进一,满六十分小时进一,满二十四小时小时清零。

从而达到计时的功能,是人们日常生活不可缺少的工具。

现在高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟、石英钟、石英表都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调试,数字式电子钟用集成电路计时时,译码代替机械式传动,用LED显示器代替指针显示进而显示时间,减小了计时误差,这种表具有时、分、秒显示时间的功能,还可以进行时和分的校对,片选的灵活性好。

大连理工大学软件学院单片机实验5报告

大连理工大学软件学院单片机实验5报告

大连理工大学软件学院《单片机原理与应用设计》实验报告姓名:学号:班级:实验时间:实验台:Proteus仿真平台_指导教师:成绩:实验五一、实验目的和要求1. 通过按键控制,完成数码管的显示计数控制。

2. 学习单片机的基本接口技术。

3. 学习74HC595、74HC138使用及与51单片机的控制方法。

二、实验原理和内容实验原理:1.根据38译码器的片选,一次选中一个数码管不能选择多位的特性,选择很短的时间间隔向8个晶体管传输数据,并循环显示8LED的内容,利用计时器,通过中断次数来实现依次显示时间的控制。

2.利用段码表,通过不断的更新段码,依次传输数据。

3.使用74HC595芯片,接收51单片机传输的串行数据,进行并行输出,并使用数码管对应的段码,完成0、1、2、3、4、5、6、7、8的依次输出,输出到数码管上实验内容:用汇编语言设计程序,完成8个数码管的显示控制。

当按下INT 按钮时,数码管开始快速计时,高五位为秒数,低三位为ms 数,每1ms 刷新一次显示内容。

当再次按下INT 按钮时,停止计数。

三、主要仪器设备及软件编程环境Keil 4+Proteus 8四、实验步骤与编程代码:ORG 0000HLJMP MAINORG 000BHLJMP IT0PORG 0013H //P3.3触发的中断的入口LJMP IT1PORG 0030HNUMTAB: // 0 1 2 3 4 56 7 8 9DB 00111111B, 00000110B, 01011011B, 01001111B, 01100110B, 01101101B, 01111101B, 00000111B, 011111111B, 01101111BMAIN:MOV R3,#1HMOV A,#0011111BMOV R2,#8HMOV R1,#78HSET0:MOV @R1,AINC R1DJNZ R2,SET0 //初始化置零SETB EASETB ET0MOV TMOD,#01BMOV TH0,#0FCHMOV TL0,#018H //1msSETB TR0SETB EX1 // 打开外部中断1SETB IT1LOOP_START:MOV P0,#00 //P0清零MOV R6,#8H //循环8次赋值MOV R0,#78HNUM_LOAD: //移动MOV R7,#8H //循环8次CLR A //Acc清零MOV A,@R0 //把要显示的数放到累加器A中CJNE R6, #4, BIT_LOADADD A, #128 //小数点BIT_LOAD: //74HC595:8位串行输入,8位并行输出 RLC A //带进位的左移MOV P0.5,C //把移出位放到SER引脚CLR P0.4SETB P0.4DJNZ R7,BIT_LOAD //八次移位实8位串行输入INC R0 //移动到下一个要显示的值CLR P0.3SETB P0.3LCALL DELAY //极其短暂延迟INC P0 //(P0.0~P0.2) 对应LED移动DJNZ R6,NUM_LOADLJMP LOOP_STARTDELAY:MOV R4,#10HLOOP_DELAY1:MOV R5,#100LOOP_DELAY2:DJNZ R5,LOOP_DELAY2DJNZ R4,LOOP_DELAY1RETIT0P:CJNE R3,#0H,LOOP_DEAD //启动开关MOV 49H,R0MOV 48H,R1MOV 47H,AMOV 46H,DPH //DPTR_H MOV 45H,DPL //DPTR_LMOV 44H,R7 //入栈操作MOV 43H,R6MOV 42H,R5MOV 41H,R4CALL UPDATELOOP_DEAD:RETIUPDATE:MOV R1,#7FH //8MOV DPTR,#NUMTAB //载入NUMTAB MOV A,60HINC AMOV 60H,ACJNE A,#0AH,ADD8MOV 60H,#0//7MOV R1,#7eHMOV A,61HINC AMOV 61H,ACJNE A,#0AH,ADD7MOV 61H,#0//6 MOV R1,#7DHMOV A,62HINC AMOV 62H,ACJNE A,#0AH,ADD6MOV 62H,#0//5 MOV R1,#7CHMOV A,63HINC AMOV 63H,ACJNE A,#0AH,ADD5MOV 63H,#0//4 MOV R1,#7BHMOV A,64HINC AMOV 64H,ACJNE A,#0AH,ADD4MOV 64H,#0//3 MOV R1,#7AHMOV A,65HINC AMOV 65H,ACJNE A,#0AH,ADD3MOV 65H,#0//2 MOV R1,#79HMOV A,66HINC AMOV 66H,ACJNE A,#0AH,ADD2MOV 66H,#0MOV R1,#78H //1MOV A,67HINC AMOV 67H,AMOVC A,@A+DPTRMOV @R1,AADD2: //2 MOV A,66HMOV R1,#79HMOVC A,@A+DPTRMOV @R1,AADD3: //3 MOV A,65HMOV R1,#7AHMOVC A,@A+DPTRMOV @R1,AADD4: //4 MOV A,64HMOV R1,#7BHMOVC A,@A+DPTRMOV @R1,AADD5: //5 MOV A,63HMOV R1,#7CHMOVC A,@A+DPTRMOV @R1,AADD6: //6 MOV A,62HMOV R1,#7DHMOVC A,@A+DPTRMOV @R1,AADD7: //7 MOV A,61HMOV R1,#7EHMOVC A,@A+DPTRMOV @R1,AADD8: //8 MOV A,60HMOV R1,#7FHMOVC A,@A+DPTRMOV @R1,ALOOP_RST:MOV R0,49HMOV R1,48HMOV A,47HMOV DPH,46H //DPTR_HMOV DPL,45H //DPTR_LMOV R7,44HMOV R6,43HMOV R5,42HMOV R4,41HMOV TH0,#0FCHMOV TL0,#18H //重置定时器的值 SETB TR0 //开启定时器RETIT1P:MOV 68H,A;MOV 69H,R1;MOV A,R3;XRL A,#01H; //改变开关MOV R3,A;MOV R1,69H;MOV A,68H;RETI;END电路图:五、实验数据与结果分析成功,详见录像六、讨论、建议参考了上次的代码思路,举一反三。

大连理工大学《单片机原理及应用》大作业题目及要求2

大连理工大学《单片机原理及应用》大作业题目及要求2

网络教育学院
《单片机原理及应用》
题目:基于单片机的简易音乐播放器的设计
本文是基于单片机控制的音乐播放器的设计, 它可以实现音乐的播放,可以通过功能键来选择乐曲,播放或暂停。

共有K1到K4四个功能键,K1-K3分别播放三首不同音乐,K4为暂停键。

主控芯片采用AT89C52,辅以必要的电路,采用C语言进行编程,编程后利用KEIL C51来进行编译,再将生成的HEX文件装入芯片中,采用proteus软件来仿真,检验功能得以正常实现。

通过烧写不同的程序,可以实现多首不同音乐的更换。

本文将围绕基于单片机的自动音乐播放器,介绍一些关于单片机的基础知识、模块电路设计、音乐播放器的原理(其中包括了音乐编程原理)、以及仿真软件的使用。

关键词:单片机AT89C52,音乐播放,proteus。

大工19秋《单片机原理及应用》大作业题目及要求

大工19秋《单片机原理及应用》大作业题目及要求

网络教育学院《单片机原理及应用》大作业题目:学习中心:层次:专业:年级:年春/秋季学号:学生姓名:大工19秋《单片机原理及应用》大作业具体要求:1 作业内容从以下五个题目中任选其一作答。

2 正文格式作业正文内容统一采用宋体,字号为小四,字数在2000字以上。

3. 作业提交学生需要以附件形式上交离线作业(附件的大小限制在10M以内),选择已完成的作业,点“上交”即可。

如下图所示。

4.注意事项请同学独立完成作业,不准抄袭其他人或者请人代做,如有雷同作业,成绩以零分计!题目一:单片机电子时钟设计准则:设计一个基于51单片机或STM单片机的电子时钟,并且能够实现时分秒的显示和调节撰写要求:(1)首先介绍课题背景,并进行需求分析及可行性分析,包括软硬件功能分配、核心器件的选型等;(2)对系统硬件进行设计,包括硬件功能模块划分、电路原理图设计等;(3)对系统软件进行设计,选用汇编语言或C语言编写程序,给出软件开发流程;(4)总结:需要说明的问题以及设计的心得体会。

题目二:基于单片机的音频播放器设计准则:设计一个基于51单片机或STM单片机的音频播放器。

撰写要求:(1)首先介绍课题背景,并进行需求分析及可行性分析,包括软硬件功能分配、核心器件的选型等;(2)对系统硬件进行设计,包括硬件功能模块划分、电路原理图设计等;(3)对系统软件进行设计,选用汇编语言或C语言编写程序,给出软件开发流程;(4)总结:需要说明的问题以及设计的心得体会。

题目三:基于单片机的温度采集系统设计准则:设计一个基于51单片机或STM单片机的温度采集系统,测量的温度分辨率为0.5℃。

撰写要求:(1)首先介绍课题背景,包括温度采集系统的发展、应用情况等,并进行需求分析及可行性分析,包括软硬件功能分配、核心器件的选型等;(2)对系统硬件进行设计,包括硬件功能模块划分、电路原理图设计等;(3)对系统软件进行设计,选用汇编语言或C语言编写程序,给出软件开发流程;(4)总结:需要说明的问题以及设计的心得体会。

2021年大工秋单片机原理及应用大作业单片机电子时钟设计杨建军

2021年大工秋单片机原理及应用大作业单片机电子时钟设计杨建军

网络教育学院《单片机原理及应用》大作业单片机电子时钟设计题目:学习中心: 大连学习中心层次: 高中起点专科专业: 电气工程及其自动化年级: 12 春/秋季学号:学生姓名: 杨建军单片机电子时钟设计一、摘要1957年,Ventura发明了世界上第一个电子表, 从而奠定了电子时钟基础, 电子时钟开始快速发展起来。

现代电子时钟是基于单片机一个计时工具, 采取延时程序产生一定时间中止, 用于一秒定义, 经过计数方法进行满六十秒分钟进一, 满六十分小时进一, 满二十四小时小时清零。

从而达成计时功效, 是人民日常生活补课缺乏工具。

现在高精度计时工具大多数都使用了石英晶体振荡器, 因为电子钟、石英钟、石英表都采取了石英技术, 所以走时精度高, 稳定性好, 使用方便, 不需要常常调试, 数字式电子钟用集成电路计时时, 译码替换机械式传动, 用LED显示器替换指针显示进而显示时间, 减小了计时误差, 这种表含有时、分、秒显示时间功效, 还能够进行时和分校对, 片选灵活性好。

二、时钟基础原理电子时钟由89C51, BUTTON, 六段数码管等组成, 采取晶振电路作为驱动电路, 由延时程序和循环程序产生一秒定时, 达成时分秒计时, 六十秒为一分钟, 六十分钟为一小时, 满二十四小时为一天。

而电路中唯一一个控制键却拥有多个不一样功效, 按下又松开, 能够实现屏蔽数码管显示功效, 达成省电目; 直接按下不松开, 则能够经过按键实现分钟累加, 每按一次分钟加一; 而连续两次按下按键不放松, 则可实现小时调整, 一样每按一次小时加一并经过一个控制键用来实现时间调整和是否进入省电模式转换。

应用ProteusISIS软件实现了单片机电子时钟系统设计与仿真。

该方法仿真效果真实、正确, 节省了硬件资源。

三、设计方案和论证此次设计时钟电路, 使用了ATC89C51单片机芯片控制电路, 单片机控制电路简单且省去了很多复杂线路, 使得电路简明易懂, 使用键盘键上按键来调整时钟时、 分、 秒, 用一扬声器来进行定时提醒, 同时使用汇编语言程序来控制整个时钟显示, 使得编程变得更轻易, 这么经过四个模块: 键盘、 芯片、 扬声器、 LED 显示即可满足设计要求。

大连理工《单片机原理及应用》

大连理工《单片机原理及应用》

网络教育学院《单片机原理及应用》大作业题目:题目一:单片机电子时钟设计学习中心:层次:专升本专业:电气工程及其自动化年级:学号:学生:单片机电子时钟设计1数字电子钟简介1.1数字电子钟的背景20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。

时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时间。

忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。

但是,一旦重要事情,一时的耽误可能酿成大祸。

目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着CMOS 化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。

下面是单片机的主要发展趋势。

单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。

从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。

这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。

单片机模块中最常见的是数字钟,数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。

1.2数字电子钟的意义数字钟是采用数字电路实现对.时,分,秒.数字显示的计时装置,广泛用于个人家庭,车站, 码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表, 钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。

诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。

大连理工大《单片机原理及应用》作业

大连理工大《单片机原理及应用》作业

网络教育学院《单片机原理及应用》大作业题目:直流电机控制系统研究学习中心:甘肃农垦河西分校奥鹏学习中心层次:专升本专业:电气工程及其自动化年级: 2013年春季学号: ************学生姓名:***1.绪论1.1 课题研究背景目前,直流电动机调速系统数字化已经走向实用化,伴随着电子技术的高度发展,促使直流电机调速逐步从模拟化向数字化转变,特别是单片机技术的应用,使直流电机调速技术又进入到一个新的阶段,智能化、高可靠性已成为它发展的趋势。

随着我国经济和文化事业的发展,在很多场合,都要求有直流电机PWM调速系统来进行调速,诸如汽车行业中的各种风扇、刮水器、喷水泵、熄火器、反视镜、宾馆中的自动门、自动门锁、自动窗帘、自动给水系统、柔巾机、导弹、火炮、人造卫星、宇宙飞船、舰艇、飞机、坦克、火箭、雷达、战车等场合。

1.2 51单片机简介(1)89C51的基本结构89C51单片机的基本结构如下:图1 80C51单片机基本结构由图1可见,80C51单片机主要由以下几部分组成:①CPU系统:8位CPU,含布尔处理器时钟电路总线控制逻辑②存储器系统:4K字节的程序存储器(ROM / EPROM / Flash,可外扩至64KB)128字节的数据存储器(RAM,可再外扩64KB)特殊功能寄存器SFR③I/O和其他功能单元:4个并行I/O口2个16位定时/计数器1个全双工异步串行口中断系统(5个中断源、2个优先级)(2)80C51的应用模式①总线型单片机应用模式总线型应用的“三总线”模式非总线型应用的“多I/O”模式图2 总线型应用的“三总线”模式图3 非总线型应用的“多I/O”模式②非总线型单片机应用模式非总线型单片机已经将用于外部总线扩展用的I/O口线和控制功能线去掉,从而使单片机的引脚数减少、体积减小。

对于不需进行并行外围扩展,装置的体积要求苛刻且程序量不大的系统极其适合。

非总线型单片机典型产品如AT89C2051/AT89C4051。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

网络教育学院《单片机原理及应用》大作业
题目:单片机电子时钟设计
学习中心:
层次:
专业:
年级:
学号:
学生姓名:
题目一:单片机电子时钟设计
一、引言
单片机技术在计算机中作为独立的分支,有着性价比高、集成度高、体积少、可靠性高、控制功能强大、低功耗、低电压、便于生产、便于携带等特点,越来越广泛的被应用于实际生活中。

单片机全称,单片机微型计算机,从应用领域来看,单片机主要用来控制系统运行,所以又称微控制器或嵌入式控制器,单片机是将计算机的基本部件微型化并集成在一块芯片上的微型计算机。

二、时钟的基本原理分析
利用单片机定时器完成计时功能,定时器0计时中断程序每隔0.01s中断一次并当作一个计数,设定定时1秒的中断计数初值为100,每中断一次中断计数初值减1,当减到0时,则表示1s到了,秒变量加1,同理再判断是否1min钟到了,再判断是否1h到了。

为了将时间在LED数码管上显示,可采用静态显示法和动态显示法,由于静态显示法需要译码器,数据锁存器等较多硬件,可采用动态显示法实现LED显示,通过对每位数码管的依次扫描,使对应数码管亮,同时向该数码管送对应的字码,使其显示数字。

由于数码管扫描周期很短,由于人眼的视觉暂留效应,使数码管看起来总是亮的,从而实现了各种显示。

三、时钟设计分析
针对要实现的功能,采用AT89S51单片机进行设计,AT89S51 单片机是一款低功耗,高性能CMOS8位单片机,片内含4KB在线可编程(ISP)的可反复擦写1000次的Flash只读程序存储器,器件采用高密度、非易失性存储技术制造,兼容标准MCS- 51指令系统及80C51引脚结构。

这样,既能做到经济合理又能实现预期的功能。

在程序方面,采用分块设计的方法,这样既减小了编程难度、使程序易于理解,又能便于添加各项功能。

程序可分为闹钟的声音程序、时间显示程序、日期显示程序,秒表显示程序,时间调整程序、闹钟调整程序、定时调整程序,延时程序等。

运用这种方法,关键在于各模块的兼容和配合,若各模块不匹配会出现意想不到的错误。

首先,在编程之前必须了解硬件结构尤其是各引脚的用法,以及内部寄存器、
存储单元的用法,否则,编程无从下手,电路也无法设计。

这是前期准备工作。

第二部分是硬件部分:依据想要的功能分块设计设计,比如输入需要开关电路,输出需要显示驱动电路和数码管电路等。

第三部分是软件部分:先学习理解汇编语言的编程方法再根据设计的硬件电路进行分块的编程调试,最终完成程序设计。

第四部分是软件画图部分:设计好电路后进行画图,包括电路图和仿真图的绘制。

第五部分是软件仿真部分:软硬件设计好后将软件载入芯片中进行仿真,仿真无法完成时检查软件程序和硬件电路并进行修改直到仿真成功。

第六部分是硬件实现部分:连接电路并导入程序检查电路,若与设计的完全一样一般能实现想要的功能。

最后进行功能扩展,在已经正确的设计基础上,添加额外的功能!
四、时钟的实现
A.电路设计
1. 整体设计
此次设计主要是应用单片机来设计电子时钟,硬件部分主要分以下电路模块:显示电路用8个共阴数码管分别显示,星期(年份),小时、分钟(月份)和秒(日),通过动态扫描进行显示,从而避免了译码器的使用,同时节约了I/0端口,使电路更加简单。

单片机采用AT89S51系列,这种单片机应用简单,适合电子钟设计。

电路的总体设计框架如下:
2.
模块电路主要分为:输入部分、输出部分、复位和晶振电路。

2.1 输入部分
输入信号主要是各种模式选择和调整信号,由按键开关提供。

以下为输入部分样例:
在本实验中主要用用P3口输入按键信号,还用到了特殊的P0口。

对于P0口,由于其存在高阻状态,为了实现开关功能,给其添加上拉电阻,具体如下图所示:
2.2 输出部分
本电路的输出信号为7段数码管的位选和段选信号,闹铃脉冲信号,提示灯信号。

本实验的数码管是共阴的,为了防止段选信号不能驱动数码管,故在P1口连接上拉电阻后,再送段选信号,以提高驱动,位选信号直接从P2口接入,如下图:
闹铃由P2.6端输出,模块如下:
2.3 晶振与复位电路
本实验单片机时钟用内部时钟,模块如下:
复位电路为手动复位构成,模块如下:
各模块拼接组合,电路总体设计图如下
B.程序设计
1 程序总体设计
本实验用汇编程序完成,程序总的流程图如下:
2 程序主要模块
2.1 延时模块
数码管显示动态扫描时,用到延时程序,这里使用延迟1ms的程序,此程序需反复调,除数码管动态扫描外,数码管的闪烁提示,以及音乐模块也用到了延时,只是延时的长短不同罢了,在此不再赘述。

2.2中断服务程序
本实验中,计数器T0,T1中断都有运用,其中T0中断为时钟定时所用,T1中断用于音乐播放。

T0的定时长度为0.01s,工作于方式1,计数1次,时长1us,故计数器计数10000次,进入中断,计数初值为65536-10000=55536=#0D8F0,装满定时器需要0.01s的时间,从而100次中断为一秒,一秒之后,判断是否到60秒,若不到则秒加一,然后返回,若到,则秒赋值为0,分加一,依次类推。

包括日期显示的功能也是如此。

另外,由于要实现倒计时功能,因此在中断程序中还要加入减一的寄存器,需要时将其进行显示。

基于以上考虑,以R3为倒计时中的秒,R4为倒计时的分,当秒加1时R3减一,减到0之后,秒赋值为59,分减一,直到分为0。

计数器T1工作于方式1,当调用响铃程序时,其计数功能开启,为音乐音调不同频率的方波的形成,提供延时。

其中断服务程序就是根据音调改变音乐方波输出口电平的高低,用语句 CPL实现。

中断服务程序中日历的实现较为复杂,要考虑平年,闰年,特殊的2月,每月的天数的不尽相同。

具体的逻辑判断方法为:首先,要考虑年份是不是闰年,闰年的判断方法是:将年份除以100,若能整除,则将年份除以400,若还能整除,则为闰年,若不能,则为平年;若不能被100整除,则判断是否能被4整除,若能,则为闰年,若不能则为平年。

只有2月与平、闰年相关,因此在闰年和平年的子程序中,要判断是不是2月,若是则在相应的年中进行日期的增加,若不是则转入平时的月份。

其中1、3、5、7、8、10、12月是每月31天,4、6、9、11月为每月30天。

日历进位判断流程图如下:
本实验用8个数码管,刚好能显示年,月,日,扫描显示与时间的扫描显示类似。

年比较特殊,由两个寄存器存储,个位,十位为0时,表明年数能被100整除,若此时千位,百位
组成两位数能被4整除,则年数被400整除,为闰年。

若十位,个位组成两位数能被4整除,则年数能被4整除,为闰年。

2.3主程序
主程序主要对按键进行扫描,以及判断定时和闹铃时间是否已到,若到则调用相关程序。

2.4 显示子程序
8个数码管轮流进行显示,分别显示1ms,依赖人的视觉暂留效应,给人以数码管持续高亮的错觉。

日期的显示,秒表的显示,倒计时的显示,调闹铃,调定时的显示,闪烁的显示程序与以上的的扫描相似,有的以子程序的方式出现,通过子程序调用语句ACALL调用;有点直接嵌套在相应的程序里面,顺序执行,或者用调转语句AJMP 调用。

C 程序调试及仿真
本程序通过Keil单片机开发平台实现程序的编译,链接,生成HEX文件。

通过Keil和硬件仿真平台Proteus的联合,可以将设计效果仿真出来,根据效果,有目的的改变设计,优化程序。

利用Proteus仿真实验过程截图:
普通时间显示模式仿真图,表示:星期一 9点10分38秒
五,总结
本文先从整体论述了设计电子钟的大致思路,然后再采用划分模块的方法,将硬件电路划分为开关电路,显示驱动电路,以及数码管电路等,而软件部分,则依据要实现的功能,划分为:闹钟的声音程序,时间显示程序,日期显示程序,秒表显示程序,时间调整程序、闹钟调整程序、定时调整程序,延时程序等。

最后将各模块集成为一个整体,合成一个多功能的电子钟。

相关文档
最新文档