可控数字时钟设计_第1页
可控数字时钟设计_第2页
可控数字时钟设计_第3页
可控数字时钟设计_第4页
可控数字时钟设计_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、智能仪表综合课程设计摘 要近些年来,随着微处理器和单片机的发和广泛应用,出现了一种新型的专用仪器智能仪器。这种仪器以微处理器或单片机为核心,具有信息采集、显示、处理、传输以及优化检测与控制等多种功能。有些甚至还具有专家推断、逻辑分析与决策的能力。智能仪器的出现,极大地扩充了常规仪器的应用范围。本文主要介绍了一个基于89C51单片机的可控数字钟系统,详细描述了利用89C51开发可控数字钟系统的过程,本次做的数字钟是以单片机(AT89C51)为核心,结合相关的元器件(LED数码显示器时钟芯片、等功能模块),再配以相应的软件,其硬件电路设计主要包括中央处理单元电路、时钟电路、信号处理电路等几部分组成

2、,该系统可以方便的实现时间显示和控制,并可根据需要任意设定时,它使用起来相当方便,具有精度高、灵敏度高、体积小、功耗低等优点,适合于我们日常生活和工、农业生产中的时间显示,也可以当作时钟显示模块嵌入其它系统中现场,有广泛的应用前景。关键词:可控数字时钟;AT89C51目录1 智能仪器仪表的简介11.1智能仪器仪表简介11.2智能仪器仪表的作用1 1.3本课题的背景和意义1 2 系统设计简介32.1 数字钟简介32.2 设计要求32.3 设计方案论证32.4 硬件设计电路43 系统硬件设计63.1 主控制器选择63.2 显示电路6 3.3时间控制电路7 3.4数字钟与单片机的接口电路8 3.5时

3、钟电路8 3.6复位电路9 3.7系统总体电路图94 设计语言及软件介绍104.1 汇编语言介绍104.2 wave6000软件介绍115 系统软件设计13 5.1软件算法设计135.2控制源程序155.3程序清单20 5.4调试及仿真21结 论23参考文献231 智能仪器仪表的简介1.1智能仪器仪表简介 随着微电子技术的不断发展,集成了CPU、存储器、定时器/计数器、并行和串行接口、看门狗、前置放大器甚至A/D、D/A转换器等电路在一块芯片上的超大规模集成电路芯片(即单片机)出现了。以单片机为主体,将计算机技术与测量控制技术结合在一起,又组成了所谓的“智能化测量控制系统”,也就是智能仪器。与

4、传统仪器仪表相比,智能仪器具有以下功能特点: 操作自动化。仪器的整个测量过程如键盘扫描、量程选择、开关启动闭合、数据的采集、传输与处理以及显示打印等都用单片机或微控制器来控制操作,实现测量过程的全部自动化。 具有自测功能,包括自动调零、自动故障与状态检验、自动校准、自诊断及量程自动转换等。智能仪表能自动检测出故障的部位甚至故障的原因。这种自测试可以在仪器启动时运行,同时也可在仪器工作中运行,极大地方便了仪器的维护。 具有数据处理功能,这是智能仪器的主要优点之一。智能仪器由于采用了单片机或微控制器,使得许多原来用硬件逻辑难以解决或根本无法解决的问题,现在可以用软件非常灵活地加以解决。例如,传统的

5、数字万用表只能测量电阻、交直流电压、电流等,而智能型的数字万用表不仅能进行上述测量,而且还具有对测量结果进行诸如零点平移、取平均值、求极值、统计分析等复杂的数据处理功能,不仅使用户从繁重的数据处理中解放出来,也有效地提高了仪器的测量精度。 具有友好的人机对话能力。智能仪器使用键盘代替传统仪器中的切换开关,操作人员只需通过键盘输入命令,就能实现某种测量功能。与此同时,智能仪器还通过显示屏将仪器的运行情况、工作状态以及对测量数据的处理结果及时告诉操作人员,使仪器的操作更加方便直观。1.2智能仪器仪表的作用随着科技的不断发展,现代社会对各种信息参数的准确度和精确度的要求都有了几何级的增长,而如何准确

6、而又迅速的获得这些参数就需要受制于现代信息基础的发展水平。在三大信息信息采集(即传感器技术)、信息传输(通信技术)和信息处理(计算机技术)中,传感器属于信息技术的前沿尖端产品,尤其是温度传感器技术,在我国各领域已经引用的非常广泛,可以说是渗透到社会的每一个领域,人民的生活与环境的温度息息相关,在工业生产过程中需要实时测量温度,在农业生产中也离不开温度的测量,因此研究温度的测量方法和装置具有重要的意义。1.3本课题的背景和意义 在日常生活和工作中,我们常常用到定时控制,如扩印过程中的曝光定时等。早期常用的一些时间控制单元都使用模拟电路设计制作的,其定时准确性和重复精度都不是很理想,现在基本上都是

7、基于数字技术的新一代产品,随着数字集成电路性能价格比的不断提高,新一代产品的应用也越来越广泛,大可构成复杂的工业过程控制系统,完成复杂的控制功能。小则可以用于家电控制,甚至可以用于儿童电子玩具。它功能强大,体积小,质量轻,灵活好用,配以适当的接口芯片,可以构造各种各样、功能各异的微电子产品。 随着电子技术的飞速发展,家用电器和办公电子设备逐渐增多,不同的设备都有自己的控制器,使用起来很不方便。根据这种实际情况,设计了一个单片机多功能定时系统,它可以避免多种控制器的混淆,利用一个控制器对多路电器进行控制,同时又可以进行时钟校准和定点打铃。它可以执行不同的时间表(考试时间和日常作息时间)

8、的打铃,可以任意设置时间。这种具有人们所需要的智能化特性的产品减轻了人的劳动,扩大了数字化的范围,为家庭数字化提供了可能。2 系统设计简介2.1 数字时钟简介 数字电子钟具有走时准确,一钟多用等特点,在生活中已经得到广泛的应用。虽然现在市场上已有现成的电子钟集成电路芯片出售,价格便宜、使用也方便,但是人们对电子产品的应用要求越来越高,数字钟不但可以显示当前的时间,而且可以显示日期、农历 、以及星期等,给人们的生活带来了方便。另外数字钟还具备秒表和闹钟的功能,且闹钟铃声可自选,使一款电子钟具备了多媒体的色彩。  时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前

9、的时间。忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。但是,一旦重要事情,一时的耽误可能酿成大祸。电子钟已成为人们日常生活中必不可少的必需品,广泛用于个人家庭以及车站、码头、剧院、办公室等公共场所,给人们的生活、学习、工作、娱乐带来极大的方便。由于数字集成电路技术的发展和采用了先进的石英技术,使电子钟具有走时准确、性能稳定、携带方便等优点,它还用于计时、自动报时及自动控制等各个领域。2.2 设计要求1       开机时,显示12:00:00的时间开始计时;2     &

10、#160; P0.0/AD0控制“秒”的调整,每按一次加1秒; 3       P0.1/AD1控制“分”的调整,每按一次加1分; 4       P0.2/AD2控制“时”的调整,每按一次加1个小时2.3 设计方案论证 方案一:本方案采用Dallas公司的专用时钟芯片DS12887A。该芯片内部采用石英晶体振荡器,其芯片精度不大于10ms/年,且具有完备的时钟闹钟功能,因此,可直接对其以用于显示或设置,使得软件编程相对简单。为保证时钟在电网电压不足或突然掉电等突发情况下仍能

11、正常工作,芯片内部包含锂电池。当电网电压不足或突然掉电时,系统自动转换到内部锂电池供电系统。而且即使系统不上电,程序不执行时,锂电池也能保证芯片的正常运行,以备随时提供正确的时间。  方案二:本方案完全用软件实现数字时钟。原理为:在单片机内部存储器设三个字节分别存放时钟的时、分、秒信息。利用定时器与软件结合实现1秒定时中断,每产生一次中断,存储器内相应的秒值加1;若秒值达到60,则将其清零,并将相应的分字节值加1;若分值达到60,则清零分字节,并将时字节值加1;若时值达到24,则将十字节清零。该方案具有硬件电路简单的特点。但由于每次执行程序时,定时器都要重新赋初值,所以该时钟精度不高

12、。而且,由于是软件实现,当单片机不上电,程序不执行时,时钟将不工作。 基于硬件电路的考虑,本设计采用方案二完成数字时钟的功能。 数字温度计总体电路结构框图如图2.1所示。 AT89C51主控制器时钟电路显示电路时钟控制电路 图2-1 数字时钟总体电路结构框图 2.4 硬件设计电路数字时钟设计电路图如图2.4所示,控制器使用单片机AT89C51,用LED实现时间显示。图2-2 数字时钟总体电路图3.系统硬件设计3.1主控制器选择 主控器选择AT89C51单片机。AT89C51是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器

13、和256 bytes的随机存取数据存储器(RAM),片内置通用8位中央处理器,AT89C51单片机在电子行业中有着广泛的应用。图3-1AT89C51引脚图3.2显示电路图3.2为数码管的引脚图,每位的段码线(a,b,c,d,e,f,g,dp)分别与1个8位的锁存器输出相连,由AT89C51控制组合09十个数据,如令其显示1则b,c引脚(即2,3引脚)送高电平,此时数码管显示1。由于各位的段码线并联,8位I/O口输出段码对各个显示位来说都是相同的。数码管的连接电路:图3-2 数码管内部连接电路图3-3 数码管的外部引脚图3.3时间控制电路 图3-4为时间控制电路,图中按下“秒”“分”“时”按键可

14、分别调节时间,实现时间显示的可调节性能。 图3-4 时钟控制电路图 3.4 数字钟与单片机的接口电路 整体电路由AT89C51为主体元件构成,由时钟信号控制系统计数,定时及输出引脚P0.1,P0.2,P0.3。为时间调节端口,通过引脚外部的接入按钮可以控制时间的显示输出。 图3-5 数字钟与单片机的接口电路图3.5时钟电路 时钟电路是通过晶振产生时间信号来提供单片机各种微操作的时间基准。 图3-6时钟电路3.6复位电路 复位电路是单片机的片内电路初始化,使单片机从一种确定的状态开始运行。复位操作通常有两种基本形式:上电复位、开关复位。此处选择上电复位,该操作要求接通电源后自动实现复位操作。电容

15、上电后使RST持续一段高电平时间,此处电解电容C设定参数为10uf,如图所示: 图3-7复位电路3.7系统总体电路图图3-8数字时钟电路图4 设计语言及软件介绍4.1 汇编语言介绍 汇编语言(Assembly Language)是面向机器的程序设计语言。在汇编语言中,用助记符(Memoni)代替机器指令的操作码,用地址符号(Symbol)或标号(Label)代替指令或操作数的地址,如此就增强了程序的可读性并且降低了编写难度,象这样符号化的程序设计语言就是汇编语言,因此亦称为符号语言。使用汇编语言编写的程序,机器不能直接识别,还要由汇编程序或者叫汇编语言编译器转换成机器指令。汇编程序将符号化的操

16、作代码组装成处理器可以识别的机器指令,这个组装的过程称为组合或者汇编。因此,有时候人们也把汇编语言称为组合语言。汇编语言是直接面向处理器(Processor)的程序设计语言。处理器是在指令的控制下工作的,处理器可以识别的每一条指令称为机器指令。每一种处理器都有自己可以识别的一整套指令,称为指令集。处理器执行指令时,根据不同的指令采取不同的动作,完成不同的功能,既可以改变自己内部的工作状态,也能控制其它外围电路的工作状态人类最容易接受自己每天都使用的自然语言。为了使机器指令的书写和理解变得容易,需要借鉴自然语言的优点,为此就引入了汇编语言。汇编语言使用符号来代表不同的机器指令,而这些符号非常接近

17、于自然语言的要素。基本上,汇编语言里的每一条指令,都对应着处理器的一条机器指令。汇编语言包括两个部分:语法部分和编译器。语法部分提供与机器指令相对应的助记符,方便指令的书写和阅读。当然,汇编语言的符号可以被人类接受,但不能被处理器识别,为此,还要由汇编语言编译器将这些助记符转换成机器指令。根据应用领域的不同,处理器的种类繁多,比如用于工业控制和嵌入式计算的Z80、MC68000和MCS-51、广泛应用于个人计算机的INTELx86系列,以及基于ARM体系结构的处理器,包括苹果公司在内的大企业都是ARM的客户。事实上,今天的ARM是最受欢迎的32位嵌入式处理器,而且,今天的ARM处理器比INTE

18、L奔腾系列卖得还多,基本上是3:1的比例。不同的处理器有不同的指令集。正是因为这个原因,每一种处理器都会有自己专属的汇编语言语法规则和编译器。即使是同一种类型的处理器,也可能拥有不同的汇编语言编译器。4.2 wave6000软件介绍WAVE6000编译软件,采用中文界面。用户源程序大小不受限制,有丰富的窗口显示方式,能够多方位、动态地展示程序的执行过程。其项目管理功能强大,可使单片机程序化大为小,化繁为简,便于管理。另外,其书签、断点管理功能以及外设管理功能等为51单片机的仿真带来极大的便利。1.数据存储器n8051单片机数据存储器用于暂存程序执行过程中产生的数据和运算结果等。n8051单片机

19、数据存储器也可以分为片内数据存储器和片外数据存储器。当片内数据存储器不够用时,可扩展片外数据存储器。一般情况下,片外数据存储器的容量不超过64KB。与内、外部的程序存储器不同,内部和外部数据存储器空间存在重叠(内部RAM的地址范围为00H07FH, 外部RAM的地址范围为0000H0FFFFH,如图3-1所示),通过不同指令来区别。当访问内部RAM时,用MOV类指令;当访问外部RAM时,则用MOVX类指令,所以地址重叠不会造成操作混乱。n8051单片机的内部数据存储器空间共计128字节,占用00H7FH地址范围。特殊功能寄存器区也是128字节,占用80H0FFH这段空间。n片内数据存储器分成三

20、大部分:工作寄存器区、可位寻址区、通用RAM区。2.特殊功能寄存器n特殊功能寄存器(SFR)也称为专用寄存器,特殊功能寄存器反映了51单片机的运行状态。很多功能也通过特殊功能寄存器来定义和控制程序的执行。n在8051单片机中设置了21个特殊功能寄存器,它们不连续地分布在地址为80H-FFH的128个字节的存储空间中。n在这21个SFR中,凡是字节地址能被8整除(即16进制的地址码尾数为0或8)的11个单元均具有位寻址能力,有效的位地址共有82个。表3-3是特殊功能寄存器分布一览表。n82个有效位地址可用位地址、位符号、单元地址.位序和寄存器名.位序四种方法来表示,但一般是用位符号或寄存器名.位

21、序来表示的。n1.51单片机指令系统3.指令、指令系统的概念 n指令是使计算机内部执行的一种操作,提供给用户编程使用的一种命令。由构成计算机的电子器件特性所决定,计算机只能识别二进制代码。以二进制代码来描述指令功能的语言,称之为机器语言。由于机器语言不便被人们识别、记忆、理解和使用,因此给每条机器语言指令赋予助记符号来表示,这就形成了汇编语言。也就是说,汇编语言是便于人们识别、记忆、理解和使用的一种指令形式,它和机器语言指令一一对应,也是由计算机的硬件特性所决定的。n指令的描述形式有两种:机器语言形式和汇编语言形式。现在描述计算机指令系统及实际应用中主要采用汇编语言形式。采用机器语言编写的程序

22、称之为目标程序。采用汇编语言编写的程序称之为源程序。计算机能够直接识别并执行的只有机器语言。汇编语言程序不能被计算机直接识别并执行,必须经过一个中间环节把它翻译成机器语言程序,这个中间过程叫做汇编。汇编有两种方式:机器汇编和手工汇编。机器汇编是用专门的汇编程序,在计算机上进行翻译;手工汇编是编程员把汇编语言指令逐条翻译成机器语言指令。现在主要使用机器汇编,但有时也用到手工汇编。5 系统软件设计5.1 软件算法设计系统程序主要包括主程序,系统初始化模块,“秒”子程序,“分”子程序“时”子程序等。系统框图:开始系统初始化模块 读取时间值检测INT0是否有中断? 秒<60? Y 分<60

23、? N YN Y Y N YNYN 时<24?0?N Y Y N YNYN YN Y Y N YNYNN Y Y N YNYN N系统初始化模块:设置时间初始变量,秒:00,分:00,时:12,START: MOV SECOND,#00H MOV MINITE,#00H MOV HOUR,#12 MOV DISPBIT,#00H MOV T2SCNTA,#00H MOV T2SCNTB,#00H MOV TEMP,#0FEH LCALL DISP ;2KB范围内长调用 MOV TMOD,#01H MOV TH0,#(65536-2000) / 256 ;2ms MOV TL0,#(655

24、36-2000) MOD 256 SETB TR0 SETB ET0 SETB EA 时间进位显示:判断“秒”,“分”和“时”显示数值,秒和分是否显示为60,时是否显示为24,若不是则程序继续运行,否则程序跳转到初始化模块从新进行计数显示KNA: INC T2SCNTA MOV A,T2SCNTA CJNE A,#100,DONE MOV T2SCNTA,#00H INC T2SCNTB MOV A,T2SCNTB CJNE A,#05H,DONE MOV T2SCNTB,#00H INC SECOND MOV A,SECOND CJNE A,#60,NEXT MOV SECOND,#00H

25、INC MINITE MOV A,MINITE CJNE A,#60,NEXT MOV MINITE,#00H INC HOUR MOV A,HOUR CJNE A,#24,NEXT MOV HOUR,#00H 结束N Y Y N YNYN5.2 控制源程序汇编程序:TIMELEQU 0E0H ;20ms,定时器0时间常数SECOND EQU 30H MINITE EQU 31H HOUR EQU 32H HOURK BIT P0.2MINITEK BIT P0.1 SECONDK BIT P0.0 DISPBUF EQU 40H DISPBIT EQU

26、 48H T2SCNTA EQU 49H T2SCNTB EQU 4AH TEMP EQU 4BH   ORG 00H LJMP START ORG 0BH LJMP INT_T0 START: MOV SECOND,#00H MOV MINITE,#00H MOV HOUR,#12 MOV DISPBIT,#00H MOV T2SCNTA,#00H MOV T2SCNTB,#00H MOV TEMP,#0FEH LCALL DISP ;2KB范围内长调用 MOV TMOD,#01H MOV TH0,#(65536-2000) / 256 ;2ms MOV TL0

27、,#(65536-2000) MOD 256 SETB TR0 SETB ET0 SETB EA WT: JB SECONDK,NK1 ;SECONDK是1转NK1,即按键SP1按下时转. LCALL DELY10MS JB SECONDK,NK1 INC SECOND MOV A,SECOND CJNE A,#60,NS60 MOV SECOND,#00H NS60: LCALL DISP JNB SECONDK,$ NK1: JB MINITEK,NK2 LCALL DELY10MS JB MINITEK,NK2 INC MINITE MOV A,MINITE CJNE A,#60,NM6

28、0 MOV MINITE,#00H NM60: LCALL DISP JNB MINITEK,$ NK2: JB HOURK,NK3 LCALL DELY10MS JB HOURK,NK3 INC HOUR MOV A,HOUR CJNE A,#24,NH24 MOV HOUR,#00H NH24: LCALL DISP JNB HOURK,$ NK3: LJMP WT DELY10MS: MOV R6,#10 D1: MOV R7,#248 DJNZ R7,$ DJNZ R6,D1 RET DISP: ;将得出的时间存入40H (DISPBUF)之后的地址 MOV A,#DISPBUF AD

29、D A,#8 DEC A MOV R1,A MOV A,HOUR MOV B,#10 DIV AB MOV R1,A ;累加器送内部RAM单元 R1与R1区分?:R1R1为地址,R1指向其内容。R1 R1为变量, DEC R1 MOV A,B MOV R1,A DEC R1 MOV A,#10 ;输出符号“” MOVR1,A DEC R1 MOV A,MINITE MOV B,#10 DIV AB MOV R1,A DEC R1 MOV A,B MOV R1,A DEC R1 MOV A,#10 MOVR1,A DEC R1 MOV A,SECOND MOV B,#10 DIV AB MOV

30、R1,A DEC R1 MOV A,B MOV R1,A DEC R1 RET INT_T0: MOV TH0,#(65536-2000) / 256 MOV TL0,#(65536-2000) MOD 256 MOV A, #0FFH MOV P3,A MOV A,#DISPBUF ADD A,DISPBIT ;地址加,并将时间的各位送到P1。 MOV R0,A MOV A,R0 MOV DPTR,#TABLE MOVC A,A+DPTR MOV P1,A MOV A,DISPBIT MOV DPTR,#TAB MOVC A,A+DPTR MOV P3,A INC DISPBIT MOV A,DISPBIT CJNE A,#08H,KNA MOV DISPBIT,#00H KNA: INC T2SCNTA ;*时间的增加与进位* MOV A,T2SCNTA CJNE A,#100,DONE MOV T2SCNTA,#00H INC T2SCNTB MOV A,T2SCNTB CJNE A,#05H,DONE MOV T2SCNTB,#00H INC SECOND MOV A,SECOND CJNE A,#60,NEXT MOV SECOND,#00H INC MINITE

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论