可控数字时钟设计.docx
- 文档编号:18588120
- 上传时间:2023-08-19
- 格式:DOCX
- 页数:30
- 大小:389.46KB
可控数字时钟设计.docx
《可控数字时钟设计.docx》由会员分享,可在线阅读,更多相关《可控数字时钟设计.docx(30页珍藏版)》请在冰点文库上搜索。
可控数字时钟设计
摘要
近些年来,随着微处理器和单片机的发和广泛应用,出现了一种新型的专用仪器—智能仪器。
这种仪器以微处理器或单片机为核心,具有信息采集、显示、处理、传输以及优化检测与控制等多种功能。
有些甚至还具有专家推断、逻辑分析与决策的能力。
智能仪器的出现,极大地扩充了常规仪器的应用范围。
本文主要介绍了一个基于89C51单片机的可控数字钟系统,详细描述了利用89C51开发可控数字钟系统的过程,本次做的数字钟是以单片机(AT89C51)为核心,结合相关的元器件(LED数码显示器时钟芯片、等功能模块),再配以相应的软件,其硬件电路设计主要包括中央处理单元电路、时钟电路、信号处理电路等几部分组成,该系统可以方便的实现时间显示和控制,并可根据需要任意设定时,它使用起来相当方便,具有精度高、灵敏度高、体积小、功耗低等优点,适合于我们日常生活和工、农业生产中的时间显示,也可以当作时钟显示模块嵌入其它系统中现场,有广泛的应用前景。
关键词:
可控数字时钟;AT89C51
2系统设计简介3
1智能仪器仪表的简介
1.1智能仪器仪表简介
随着微电子技术的不断发展,集成了CPU、存储器、定时器/计数器、并行和串行接口、看门狗、前置放大器甚至A/D、D/A转换器等电路在一块芯片上的超大规模集成电路芯片(即单片机)出现了。
以单片机为主体,将计算机技术与测量控制技术结合在一起,又组成了所谓的“智能化测量控制系统”,也就是智能仪器。
与传统仪器仪表相比,智能仪器具有以下功能特点:
①操作自动化。
仪器的整个测量过程如键盘扫描、量程选择、开关启动闭合、数据的采集、传输与处理以及显示打印等都用单片机或微控制器来控制操作,实现测量过程的全部自动化。
②具有自测功能,包括自动调零、自动故障与状态检验、自动校准、自诊断及量程自动转换等。
智能仪表能自动检测出故障的部位甚至故障的原因。
这种自测试可以在仪器启动时运行,同时也可在仪器工作中运行,极大地方便了仪器的维护。
③具有数据处理功能,这是智能仪器的主要优点之一。
智能仪器由于采用了单片机或微控制器,使得许多原来用硬件逻辑难以解决或根本无法解决的问题,现在可以用软件非常灵活地加以解决。
例如,传统的数字万用表只能测量电阻、交直流电压、电流等,而智能型的数字万用表不仅能进行上述测量,而且还具有对测量结果进行诸如零点平移、取平均值、求极值、统计分析等复杂的数据处理功能,不仅使用户从繁重的数据处理中解放出来,也有效地提高了仪器的测量精度。
④具有友好的人机对话能力。
智能仪器使用键盘代替传统仪器中的切换开关,操作人员只需通过键盘输入命令,就能实现某种测量功能。
与此同时,智能仪器还通过显示屏将仪器的运行情况、工作状态以及对测量数据的处理结果及时告诉操作人员,使仪器的操作更加方便直观。
1.2智能仪器仪表的作用
随着科技的不断发展,现代社会对各种信息参数的准确度和精确度的要求都有了几何级的增长,而如何准确而又迅速的获得这些参数就需要受制于现代信息基础的发展水平。
在三大信息信息采集(即传感器技术)、信息传输(通信技术)和信息处理(计算机技术)中,传感器属于信息技术的前沿尖端产品,尤其是温度传感器技术,在我国各领域已经引用的非常广泛,可以说是渗透到社会的每一个领域,人民的生活与环境的温度息息相关,在工业生产过程中需要实时测量温度,在农业生产中也离不开温度的测量,因此研究温度的测量方法和装置具有重要的意义。
1.3本课题的背景和意义
在日常生活和工作中,我们常常用到定时控制,如扩印过程中的曝光定时等。
早期常用的一些时间控制单元都使用模拟电路设计制作的,其定时准确性和重复精度都不是很理想,现在基本上都是基于数字技术的新一代产品,随着数字集成电路性能价格比的不断提高,新一代产品的应用也越来越广泛,大可构成复杂的工业过程控制系统,完成复杂的控制功能。
小则可以用于家电控制,甚至可以用于儿童电子玩具。
它功能强大,体积小,质量轻,灵活好用,配以适当的接口芯片,可以构造各种各样、功能各异的微电子产品。
随着电子技术的飞速发展,家用电器和办公电子设备逐渐增多,不同的设备都有自己的控制器,使用起来很不方便。
根据这种实际情况,设计了一个单片机多功能定时系统,它可以避免多种控制器的混淆,利用一个控制器对多路电器进行控制,同时又可以进行时钟校准和定点打铃。
它可以执行不同的时间表(考试时间和日常作息时间)的打铃,可以任意设置时间。
这种具有人们所需要的智能化特性的产品减轻了人的劳动,扩大了数字化的范围,为家庭数字化提供了可能。
2系统设计简介
2.1数字时钟简介
数字电子钟具有走时准确,一钟多用等特点,在生活中已经得到广泛的应用。
虽然现在市场上已有现成的电子钟集成电路芯片出售,价格便宜、使用也方便,但是人们对电子产品的应用要求越来越高,数字钟不但可以显示当前的时间,而且可以显示日期、农历 、以及星期等,给人们的生活带来了方便。
另外数字钟还具备秒表和闹钟的功能,且闹钟铃声可自选,使一款电子钟具备了多媒体的色彩。
时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时间。
忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。
但是,一旦重要事情,一时的耽误可能酿成大祸。
电子钟已成为人们日常生活中必不可少的必需品,广泛用于个人家庭以及车站、码头、剧院、办公室等公共场所,给人们的生活、学习、工作、娱乐带来极大的方便。
由于数字集成电路技术的发展和采用了先进的石英技术,使电子钟具有走时准确、性能稳定、携带方便等优点,它还用于计时、自动报时及自动控制等各个领域。
2.2设计要求
1. 开机时,显示12:
00:
00的时间开始计时;
2. P0.0/AD0控制“秒”的调整,每按一次加1秒;
3. P0.1/AD1控制“分”的调整,每按一次加1分;
4. P0.2/AD2控制“时”的调整,每按一次加1个小时
2.3设计方案论证
方案一:
本方案采用Dallas公司的专用时钟芯片DS12887A。
该芯片内部采用石英晶体振荡器,其芯片精度不大于10ms/年,且具有完备的时钟闹钟功能,因此,可直接对其以用于显示或设置,使得软件编程相对简单。
为保证时钟在电网电压不足或突然掉电等突发情况下仍能正常工作,芯片内部包含锂电池。
当电网电压不足或突然掉电时,系统自动转换到内部锂电池供电系统。
而且即使系统不上电,程序不执行时,锂电池也能保证芯片的正常运行,以备随时提供正确的时间。
方案二:
本方案完全用软件实现数字时钟。
原理为:
在单片机内部存储器设三个字节分别存放时钟的时、分、秒信息。
利用定时器与软件结合实现1秒定时中断,每产生一次中断,存储器内相应的秒值加1;若秒值达到60,则将其清零,并将相应的分字节值加1;若分值达到60,则清零分字节,并将时字节值加1;若时值达到24,则将十字节清零。
该方案具有硬件电路简单的特点。
但由于每次执行程序时,定时器都要重新赋初值,所以该时钟精度不高。
而且,由于是软件实现,当单片机不上电,程序不执行时,时钟将不工作。
基于硬件电路的考虑,本设计采用方案二完成数字时钟的功能。
数字温度计总体电路结构框图如图2.1所示。
图2-1数字时钟总体电路结构框图
2.4硬件设计电路
数字时钟设计电路图如图2.4所示,控制器使用单片机AT89C51,用LED实现时间显示。
图2-2数字时钟总体电路图
3.系统硬件设计
3.1主控制器选择
主控器选择AT89C51单片机。
AT89C51是一个低电压,高性能CMOS8位单片机,片内含8kbytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器(RAM),片内置通用8位中央处理器,AT89C51单片机在电子行业中有着广泛的应用。
图3-1AT89C51引脚图
3.2显示电路
图3.2为数码管的引脚图,每位的段码线(a,b,c,d,e,f,g,dp)分别与1个8位的锁存器输出相连,由AT89C51控制组合0-9十个数据,如令其显示1则b,c引脚(即2,3引脚)送高电平,此时数码管显示1。
由于各位的段码线并联,8位I/O口输出段码对各个显示位来说都是相同的。
数码管的连接电路:
图3-2数码管内部连接电路
图3-3数码管的外部引脚图
3.3时间控制电路
图3-4为时间控制电路,图中按下“秒”“分”“时”按键可分别调节时间,实现时间显示的可调节性能。
图3-4时钟控制电路图
3.4数字钟与单片机的接口电路
整体电路由AT89C51为主体元件构成,由时钟信号控制系统计数,定时及输出
引脚P0.1,P0.2,P0.3。
为时间调节端口,通过引脚外部的接入按钮可以控制时间的显示输出。
图3-5数字钟与单片机的接口电路图
3.5时钟电路
时钟电路是通过晶振产生时间信号来提供单片机各种微操作的时间基准。
图3-6时钟电路
3.6复位电路
复位电路是单片机的片内电路初始化,使单片机从一种确定的状态开始运行。
复位操作通常有两种基本形式:
上电复位、开关复位。
此处选择上电复位,该操作要求接通电源后自动实现复位操作。
电容上电后使RST持续一段高电平时间,此处电解电容C设定参数为10uf,如图所示:
图3-7复位电路
3.7系统总体电路图
图3-8数字时钟电路图
4设计语言及软件介绍
4.1汇编语言介绍
汇编语言(AssemblyLanguage)是面向机器的程序设计语言。
在汇编语言中,用助记符(Memoni)代替机器指令的操作码,用地址符号(Symbol)或标号(Label)代替指令或操作数的地址,如此就增强了程序的可读性并且降低了编写难度,象这样符号化的程序设计语言就是汇编语言,因此亦称为符号语言。
使用汇编语言编写的程序,机器不能直接识别,还要由汇编程序或者叫汇编语言编译器转换成机器指令。
汇编程序将符号化的操作代码组装成处理器可以识别的机器指令,这个组装的过程称为组合或者汇编。
因此,有时候人们也把汇编语言称为组合语言。
汇编语言是直接面向处理器(Processor)的程序设计语言。
处理器是在指令的控制下工作的,处理器可以识别的每一条指令称为机器指令。
每一种处理器都有自己可以识别的一整套指令,称为指令集。
处理器执行指令时,根据不同的指令采取不同的动作,完成不同的功能,既可以改变自己内部的工作状态,也能控制其它外围电路的工作状态人类最容易接受自己每天都使用的自然语言。
为了使机器指令的书写和理解变得容易,需要借鉴自然语言的优点,为此就引入了汇编语言。
汇编语言使用符号来代表不同的机器指令,而这些符号非常接近于自然语言的要素。
基本上,汇编语言里的每一条指令,都对应着处理器的一条机器指令。
汇编语言包括两个部分:
语法部分和编译器。
语法部分提供与机器指令相对应的助记符,方便指令的书写和阅读。
当然,汇编语言的符号可以被人类接受,但不能被处理器识别,为此,还要由汇编语言编译器将这些助记符转换成机器指令。
根据应用领域的不同,处理器的种类繁多,比如用于工业控制和嵌入式计算的Z80、MC68000和MCS-51、广泛应用于个人计算机的INTELx86系列,以及基于ARM体系结构的处理器,包括苹果公司在内的大企业都是ARM的客户。
事实上,今天的ARM是最受欢迎的32位嵌入式处理器,而且,今天的ARM处理器比INTEL奔腾系列卖得还多,基本上是3:
1的比例。
不同的处理器有不同的指令集。
正是因为这个原因,每一种处理器都会有自己专属的汇编语言语法规则和编译器。
即使是同一种类型的处理器,也可能拥有不同的汇编语言编译器。
4.2wave6000软件介绍
WAVE6000编译软件,采用中文界面。
用户源程序大小不受限制,有丰富的窗口显示方式,能够多方位、动态地展示程序的执行过程。
其项目管理功能强大,可使单片机程序化大为小,化繁为简,便于管理。
另外,其书签、断点管理功能以及外设管理功能等为51单片机的仿真带来极大的便利。
1.数据存储器
n8051单片机数据存储器用于暂存程序执行过程中产生的数据和运算结果等。
n8051单片机数据存储器也可以分为片内数据存储器和片外数据存储器。
当片内数据存储器不够用时,可扩展片外数据存储器。
一般情况下,片外数据存储器的容量不超过64KB。
与内、外部的程序存储器不同,内部和外部数据存储器空间存在重叠(内部RAM的地址范围为00H~07FH,外部RAM的地址范围为0000H~0FFFFH,如图3-1所示),通过不同指令来区别。
当访问内部RAM时,用MOV类指令;当访问外部RAM时,则用MOVX类指令,所以地址重叠不会造成操作混乱。
n8051单片机的内部数据存储器空间共计128字节,占用00H~7FH地址范围。
特殊功能寄存器区也是128字节,占用80H~0FFH这段空间。
n片内数据存储器分成三大部分:
工作寄存器区、可位寻址区、通用RAM区。
2.特殊功能寄存器
n特殊功能寄存器(SFR)也称为专用寄存器,特殊功能寄存器反映了51单片机的运行状态。
很多功能也通过特殊功能寄存器来定义和控制程序的执行。
n在8051单片机中设置了21个特殊功能寄存器,它们不连续地分布在地址为80H-FFH的128个字节的存储空间中。
n在这21个SFR中,凡是字节地址能被8整除(即16进制的地址码尾数为0或8)的11个单元均具有位寻址能力,有效的位地址共有82个。
表3-3是特殊功能寄存器分布一览表。
n82个有效位地址可用位地址、位符号、单元地址.位序和寄存器名.位序四种方法来表示,但一般是用位符号或寄存器名.位序来表示的。
n1.51单片机指令系统
3.指令、指令系统的概念
n指令是使计算机内部执行的一种操作,提供给用户编程使用的一种命令。
由构成计算机的电子器件特性所决定,计算机只能识别二进制代码。
以二进制代码来描述指令功能的语言,称之为机器语言。
由于机器语言不便被人们识别、记忆、理解和使用,因此给每条机器语言指令赋予助记符号来表示,这就形成了汇编语言。
也就是说,汇编语言是便于人们识别、记忆、理解和使用的一种指令形式,它和机器语言指令一一对应,也是由计算机的硬件特性所决定的。
n指令的描述形式有两种:
机器语言形式和汇编语言形式。
现在描述计算机指令系统及实际应用中主要采用汇编语言形式。
采用机器语言编写的程序称之为目标程序。
采用汇编语言编写的程序称之为源程序。
计算机能够直接识别并执行的只有机器语言。
汇编语言程序不能被计算机直接识别并执行,必须经过一个中间环节把它翻译成机器语言程序,这个中间过程叫做汇编。
汇编有两种方式:
机器汇编和手工汇编。
机器汇编是用专门的汇编程序,在计算机上进行翻译;手工汇编是编程员把汇编语言指令逐条翻译成机器语言指令。
现在主要使用机器汇编,但有时也用到手工汇编。
5系统软件设计
5.1软件算法设计
系统程序主要包括主程序,系统初始化模块,“秒”子程序,“分”子程序
“时”子程序等。
系统框图:
Y
NY
N
Y
Y
N
Y
N
Y
N
N
Y
Y
N
Y
N
Y
N
Y
N
Y
Y
N
Y
N
Y
N
N
Y
Y
N
Y
N
Y
N
N
系统初始化模块:
设置时间初始变量,秒:
00,分:
00,时:
12,
START:
MOVSECOND,#00H
MOVMINITE,#00H
MOVHOUR,#12
MOVDISPBIT,#00H
MOVT2SCNTA,#00H
MOVT2SCNTB,#00H
MOVTEMP,#0FEH
LCALLDISP;2KB范围内长调用
MOVTMOD,#01H
MOVTH0,#(65536-2000)/256;2ms
MOVTL0,#(65536-2000)MOD256
SETBTR0
SETBET0
SETBEA
时间进位显示:
判断“秒”,“分”和“时”显示数值,秒和分是否显示为60,时是否显示为24,若不是则程序继续运行,否则程序跳转到初始化模块从新进行计数显示
KNA:
INCT2SCNTA
MOVA,T2SCNTA
CJNEA,#100,DONE
MOVT2SCNTA,#00H
INCT2SCNTB
MOVA,T2SCNTB
CJNEA,#05H,DONE
MOVT2SCNTB,#00H
INCSECOND
MOVA,SECOND
CJNEA,#60,NEXT
MOVSECOND,#00H
INCMINITE
MOVA,MINITE
CJNEA,#60,NEXT
MOVMINITE,#00H
INCHOUR
MOVA,HOUR
CJNEA,#24,NEXT
MOVHOUR,#00H
N
Y
Y
N
Y
N
Y
N
5.2控制源程序
汇编程序:
TIMELEQU0E0H;20ms,定时器0时间常数
SECONDEQU30H
MINITEEQU31H
HOUREQU32H
HOURKBITP0.2
MINITEK BITP0.1
SECONDK BITP0.0
DISPBUF EQU40H
DISPBIT EQU48H
T2SCNTA EQU49H
T2SCNTB EQU4AH
TEMPEQU4BH
ORG00H
LJMPSTART
ORG0BH
LJMPINT_T0
START:
MOVSECOND,#00H
MOVMINITE,#00H
MOVHOUR,#12
MOVDISPBIT,#00H
MOVT2SCNTA,#00H
MOVT2SCNTB,#00H
MOVTEMP,#0FEH
LCALLDISP;2KB范围内长调用
MOVTMOD,#01H
MOVTH0,#(65536-2000)/256;2ms
MOVTL0,#(65536-2000)MOD256
SETBTR0
SETBET0
SETBEA
WT:
JBSECONDK,NK1;SECONDK是1转NK1,即按键SP1按下时转.
LCALLDELY10MS
JBSECONDK,NK1
INCSECOND
MOVA,SECOND
CJNEA,#60,NS60
MOVSECOND,#00H
NS60:
LCALLDISP
JNBSECONDK,$
NK1:
JBMINITEK,NK2
LCALLDELY10MS
JBMINITEK,NK2
INCMINITE
MOVA,MINITE
CJNEA,#60,NM60
MOVMINITE,#00H
NM60:
LCALLDISP
JNBMINITEK,$
NK2:
JBHOURK,NK3
LCALLDELY10MS
JBHOURK,NK3
INCHOUR
MOVA,HOUR
CJNEA,#24,NH24
MOVHOUR,#00H
NH24:
LCALLDISP
JNBHOURK,$
NK3:
LJMPWT
DELY10MS:
MOVR6,#10
D1:
MOVR7,#248
DJNZR7,$
DJNZR6,D1
RET
DISP:
;将得出的时间存入40H(DISPBUF)之后的地址
MOVA,#DISPBUF
ADDA,#8
DECA
MOVR1,A
MOVA,HOUR
MOVB,#10
DIVAB
MOV@R1,A;累加器送内部RAM单元
@R1与R1区分?
:
@R1——R1为地址,@R1指向其内容。
R1——R1为变量,
DECR1
MOVA,B
MOV@R1,A
DECR1
MOVA,#10;输出符号“—”
MOV@R1,A
DECR1
MOVA,MINITE
MOVB,#10
DIVAB
MOV@R1,A
DECR1
MOVA,B
MOV@R1,A
DECR1
MOVA,#10
MOV@R1,A
DECR1
MOVA,SECOND
MOVB,#10
DIVAB
MOV@R1,A
DECR1
MOVA,B
MOV@R1,A
DECR1
RET
INT_T0:
MOVTH0,#(65536-2000)/256
MOVTL0,#(65536-2000)MOD256
MOVA,#0FFH
MOVP3,A
MOVA,#DISPBUF
ADDA,DISPBIT;地址加,并将时间的各位送到P1。
MOVR0,A
MOVA,@R0
MOVDPTR,#TABLE
MOVCA,@A+DPTR
MOVP1,A
MOVA,DISPBIT
MOVDPTR,#TAB
MOVCA,@A+DPTR
MOVP3,A
INCDISPBIT
MOVA,DISPBIT
CJNEA,#08H,KNA
MOVDISPBIT,#00H
KNA:
INCT2SCNTA;******时间的增加与进位******
MOVA,T2SCNTA
CJNEA,#100,DONE
MOVT2SCNTA,#00H
INCT2SCNTB
MOVA,T2SCNTB
CJNEA,#05H,DONE
MOVT2SCNTB,#00H
INCSECOND
MOVA,SECOND
CJNEA,#60,NEXT
MOVSECOND,#00H
INCMINITE
MOVA,MINITE
CJNEA,#60,NEXT
MOVMINITE,#00H
INCHOUR
MOVA,HOUR
CJNEA,#24,NEXT
MOVHOUR,#00H
NEXT:
LCALLDISP
DONE:
RETI
TABLE:
DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,40H;4
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 可控 数字 时钟 设计