数字钟。
目录。第一章、综述 1
1.1 at89系列单片机 1
1.2 课题研究背景及其意义 1
1.3 硬件环境 2
1.4 软件环境 2
第二章、课程设计说明 2
2.1课程设计目的 2
2.2课程设计要求 2
2.3课程设计内容 3
第三章、时钟显示的工作原理 3
3.1 单片机最小系统的硬件电路原理图 3
3.2数码管硬件电路原理图 4
3.3 复位电路原理图 5
3.4 开关电路原理图 5
3.5 晶振电路原理图 6
第四章、设计的部分内容说明 6
4.1计时功能的实现与中断服务程序 6
4.2设计中运用的指令说明 7
第五章、心得体会 7
第六章、参考文献 8
附录(源程序): 9
第一章、综述。
1.1 at89系列单片机。
该课程设计中我们选用的芯片是at89c51。at89c51是一种带4k字节闪烁可编程可擦除只读存储器(fperom—falsh programmable and erasable read only memory)的低电压,高性能cmos8位微处理器,俗称单片机。at89c2051是一种带2k字节闪烁可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除100次。该器件采用atmel高密度非易失存储器制造技术制造,与工业标准的mcs-51指令集和输出管脚相兼容。由于将多功能8位cpu和闪烁存储器组合在单个芯片中,atmel的at89c51是一种高效微控制器,at89c2051是它的一种精简版本。
at89c单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
at89c51是一个低电压,高性能cmos 8位单片机,片内含4k bytes的可反复擦写的flash只读程序存储器和128 bytes的随机存取数据存储器(ram),器件采用atmel公司的高密度、非易失性存储技术生产,兼容标准mcs-51指令系统,片内置通用8位**处理器和flash存储单元,内置功能强大的微型计算机的at89c51提供了高性价比的解决方案。
at89c51是一个低功耗高性能单片机,40个引脚,32个外部双向输入/输出(i/o)端口,同时内含2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口,at89c51可以按照常规方法进行编程,也可以**编程。其将通用的微处理器和flash存储器结合在一起,特别是可反复擦写的flash存储器可有效地降低开发成本。
1.2 课题研究背景及其意义。
数字钟是采用数字电路实现对。时,分,秒。数字显示的计时装置,广泛用于个人家庭,车站, 码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表, 钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。
诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。因此,研究数字钟及扩大其应用,有着非常现实的意义。
本作品采用atmel公司的at89c51单片机,以汇编语言为程序设计的基础,设计一个用四位数码管显示时、分的时钟。在实物图中,左边靠近电源的绿色发光二极管(长亮)是电源指示灯,表示的是5v稳定电源工作正常;单片机左下角红色发光二极管是秒灯,每闪烁一次表示时间走动一秒钟;按键正上方绿色发光二极管是设置灯,当时间正常走动时此时不亮,当第一次按下设置键(右键)时,此绿灯亮,同时秒时熄灭,且分钟的两位数码管出现闪烁,时间停止走动,进入校时状态,表示此时可以进行分钟的调整,当按一次加一键(左键)可实现分钟的加一功能,分钟以60分为极限,超出60分则返回数值0,从0再重新算起;如果再次按下设置键时,这时秒灯和设置灯仍旧保持熄灭和点亮状态,表示分钟的数码管停止闪烁,反过来表示小时的两位数码管则开始闪烁,此时可进行小时的调整,按加1键可实现小时的加1功能,小时调整以24为上限,同样超出24小时则从新回0;当第三次按下设置键时,数码管停止闪烁,设置灯熄灭,秒灯重新闪烁,时间以设定值计时。
1.3 硬件环境。
一台完整的电脑,包括键盘、鼠标,最小硬盘空间1ghz,386,486,586及兼容机。640k基本内存,1m以上扩充内存,10m以上的显示内存,时钟电路显示板,usb串行口接线。
1.4 软件环境。
采用的是windows操作系统,keilc51系统软件,用汇编语言进行开发。
第二章、课程设计说明。
2.1课程设计目的。
1.利用所学过的知识,初步分析单片计算机控制系统的能力;
2.综合运用本专业方向所学知识,构成以单片机为核心控制系统的能力;
3.单片计算机控制系统实时软件的设计、 编制与调试的能力;
4.单片计算机控制系统中模拟部件(包括电压及功率放大部件) 以及常规传感部件的使用、调试的能力;
5.单片计算机控制系统综合调整及性能测试的能力;
6.实验结果分析、总结及撰写技术报告的能力。
2.2课程设计要求。
1.掌握单片机最小系统的电路原理图;
2.熟知单片机的工作原理;
3.分小组共同编辑、编译软件;
4.调试要求: 1)数码管显示当前的时间值;
2)时间精度为0.5秒,由时、分、秒之间的分隔点闪烁体现;
3)四个按钮,p1.0用作“时”的设定、p1.1用作“分”的设定、p1.2用作“秒”的设定;p1.3用作复位的设定。
5.独立完成课程设计报告(必须有完整的源程序。
2.3课程设计内容。
利用单片机定时器制作数字时钟并可以实现时钟的控制。
1)制作数字时钟系统。
2)可以控制时钟电路,p1.0选择控制时,分,秒,p1.1对时,分,秒进行自加。
3)灯的亮灭显示控制端,p3.7口黄灯亮表示控制时,p3.3口红灯亮表示控制分,红灯、黄灯一起亮表示控制秒。
4)闪烁显示时钟。
5)调试数字时钟。
2)撰写课程设计报告。
第三章、时钟显示的工作原理。
3.1 单片机最小系统的硬件电路原理图。
图1 单片机电路原理图。
发光二极管导通时,产生一个正向的工作电流if,工作电流根据发光二极管的材料、功率等不同,额定电流一般在10~40ma左右,发光二极管导通时的正向压降vf比较大,一般为1.5~3v(普通硅二极管约为0.7v)。
因此在正常使用中,为了保证发光二极管在电源电压v的作用下管子的工作电流不超过额定值,必须给发光二极管串联一只限流电阻r,r的阻值可由下式算出:r=(v-vf)/if。其中v为工作电源电压,vf为发光二极管的正向压降,if为额定工作电流。
从上面原理图1可知,当单片机的p1.7输出低电平(0v)时,有正向工作电流流过发光二极管,发光二极管就亮;相反,当p1.7输出高电平(5v)时,发光二极管没有足够电压差产生工作电流,此时发光二极管不亮。
因此,程序中只需交替让单片机的p1.7输出低电平“0”和高电平“1”就可以让发光二极管闪烁发光。
3.2数码管硬件电路原理图。
图2 数码管及配件电路图。
数码管管脚图说明:
0.5寸单联共阴高亮红色数码管。
数字对应数码管显示控制转换字节(共阴编码)
显示--hgfe,dcba--编码。
0 --0011,1111--0x3f;
1 --0000,0110--0x06;
2 --0101,1011--0x5b;
3 --0100,1111--0x4f;
4 --0110,0110--0x66;
5 --0110,1101--0x6d;
6 --0111,1101--0x7d;
7 --0000,0111--0x07;
8 --0111,1111--0x7f;
9 --0110,1111--0x6f;
共阳为编码取反即可,接线为高低端口对应接法。
备注:第一脚的识别很简单,看管脚的底部,有一个方块型的就是第一脚。或者正面(就是显示那面)朝你,左下角第一个为第一脚。
3.3 复位电路原理图。
图3 复位电路原理图。
当8051的ale及/psen两引脚输出高电平,rst引脚高电平到时,单片机复位。rst/vpd端的高电平,若直接由启动瞬间产生,则为启动复位,若通过按动按钮产生高电平复位称手动复位。图中,上电时,接通电源,电容器c相当于瞬间短路,+5v加到了rst/vpd端,该高电平使8051全机复位。
若运行过程中,需要程序从头执行,只需按动按钮s,则直接把+5v加到了rst/vpd端,从而复位。显然,该电路即可以上电复位,也可以手动复位,是常用复位电路之一。
3.4 开关电路原理图。
图4 开关电路原理图。
图为一开关电路,按键sb1是系统开机键,当其按下,使v15导通,v14基极被拉低,v14导通,系统通电。单片机两个管脚与power_on、power_keep两处相连,当单片机上电后,power_keep上输出高电平,保持v15处于导通状态,整个系统供电正常。power_on管脚用于定时检测sb1按键按下的时间长度,1s、2s、3s对应不同的工作状态,此时sb1作为功能键。
sb2作为系统关机键,按下后v15截止,系统断电整个电路其实也挺简单的了,不过总觉得按键sb2有些浪费,作为一个产品结构空间有限时,不允许这样的设计浪费,所以想把sb2解放出来另作功能键,而用sb1作为开关机键。在目前的电路上,如果直接去掉sb2,用sb1定时按下使单片机。
在power_keep处输出一个低电平,让系统断电。但有人说这样系统关机不可靠,大家分析一下是否真的不可靠?我觉得这个关机电平是低电平,所以单片机断电后管脚上电平不会突变,低电平关机应该是可靠的吧。
3.5晶振电路原理图。
图5 晶振电路原理图。
第四章、设计的部分内容说明。
4.1计时功能的实现与中断服务程序。
时间的运行依靠定时中断子程序对时钟单元数值进位调整来实现的。计数器t0打开后,进入计时,满100毫秒后,重装定时。中断一次,满一秒后秒进位,满60秒后即为1分钟,分钟单元进位,60分到了后,时单元进位,24小时满后,天单元进位。
这样然后根据进率,得到时、分、秒存储单元的值,并经译码后,通过扫描程序送led中显示出来,实现时钟计时功能。
累加是用指令inc来实现的。进入中断服务程序以后,执行push psw和push a将程序状态寄存器psw的内容和累加器a中的数据保存起来,这便是所谓的保护现场? .
以保护现场和恢复现场时存取关键数据的存储区叫做堆栈。在软件的控制之下,堆栈可在片内ram中的任一区间设定,而堆栈的数据存取与一般的ram存取又有区别,对它的操作,要遵循“后进先出”的原则。
单片机课程设计
可变程序控制器是集微机技术 自动化技术 通讯技术于一体的通用工业控制装置。它可靠性强 性能 比高 使用方便,已在工业控制的各个领域里得到了极为广泛的应用,成为实现工业自动化的一种强有力的工具 1 plc的定义有许多种。国际电工委员会 iec 对plc的定义是 可编程控制器是一种数字运算操作的电子系统...
单片机课程设计
目录。内容提要2 关键词2引言3 一 硬件电路设计3 一 电路板原理3 二 电路元器件3 二 软件设计3 一 秒钟设计方案3 二 时钟设计方案4 结语7单片机时钟设计。内容摘要 一 在实验板上用动态扫描显示00 59秒钟,具体要求如下 一 6m晶振 二 l9 l10显示00 59十进制数并循环,间隔...
单片机课程设计
1 选题背景。1.1 家庭智能防盗报警系统设计的背景及目的。随着经济的发展,人们对防盗 防劫 防火保安设备的需求量大大增加。针对偷盗 抢劫 火灾 煤气泄漏等事故进行检测和报警的系统,其需求也越来越高。家居智能是以家为平台,兼备建筑 自动化,智能化于一体的高效 舒适 安全 便利的家居环境。自动化的家居...