论文1最好毕业设计.docx
- 文档编号:3322306
- 上传时间:2022-11-21
- 格式:DOCX
- 页数:23
- 大小:100.59KB
论文1最好毕业设计.docx
《论文1最好毕业设计.docx》由会员分享,可在线阅读,更多相关《论文1最好毕业设计.docx(23页珍藏版)》请在冰豆网上搜索。
论文1最好毕业设计
摘要
时钟,自从它发明的那天起,就成为人类的朋友,但随着时间的推移,科学技术的不断发展,人们对时间计量的精度要求越来越高,应用越来越广。
怎样让时钟更好的为人民服务,这就要求人们不断设计出新型时钟。
现今,高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟,石英表,石英钟都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调校,数字式电子钟用集成电路计时时,译码代替机械式传动,用LED显示器代替显示器代替指针显示进而显示时间,减小了计时误差,这种表具有时,分,秒显示时间的功能,还可以进行时和分的校对,片选的灵活性好。
时钟电路在计算机系统中起着非常重要的作用,是保证系统正常工作的基础。
在一个单片机应用系统中,时钟有两方面的含义:
一是指为保障系统正常工作的基准振荡定时信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢;二是指系统的标准定时时钟,即定时时间,它通常有两种实现方法:
一是用软件实现,即用单片机内部的可编程定时/计数器来实现,但误差很大,主要用在对时间精度要求不高的场合;二是用专门的时钟芯片实现,在对时间精度要求很高的情况下,通常采用这种方法。
关键词:
单片机,电子钟,位码,段码,显示。
第一章总体方案设计
1.1电路原理
电路的核心是AT89C51单片机,设计中有6位LED显示和4个按键接口,采用P0接口外接8路反相三态缓冲器74LS244作LED动态扫描的段码控制驱动信号,用P1接口的P1.0-P1.3外接一片集电极开路反相门电路74LS07做为6位LED的位选信号驱动口,LED共阴极端与74LS07的输出端相连;按键接口,由P2.1,P2.2,P2.3,P2.4来完成。
将电子钟的显示情况和数码管的计时情况,分别以代码的形式送LED数码管,LED显示器是由发光二极管显示字段的AT89C51单片机输出设备。
单片机应用系统常采用七段LED数码管作为显示器,启动定时器,同时调用显示程序,和查询按键。
利用软件计数器的方法计时一秒,利用中断的方法使计时时间循环。
当按下按键P2.3时开始启动定时功能。
1.2设计的系统
电子钟的总体设计图,如图1-1所示。
图1-1电路总体设计图
1.3时控制方案计
利用AT89C51内部的定时器/计数器进行定时,配合软件延时实现计时。
该方案节省硬件成本,且能够使我在定时器/计数器的使用、中断及程序设计方面得到锻炼与提高。
1.4显示控制方案
显示分为静态显示和动态显示,静态显示由于占用较多的接口,在单片机设计中常采用串行扩展来完成。
该方案占用接口资源多,显示亮度由保证,但硬件开销大,电路复杂,信息刷新速度慢,实用于并行接口资源较少以及对显示没有要求的场合。
LED动态显示硬件连接简单,但动态扫描的显示方式需占用CPU较多的时间,在该系统中由于单片机除了扫描AT89C51芯片外没有太多的实时测控任务,故选用动态扫描方式在6个数码管上显示当前时间。
1.5键盘控制方案
键盘分为独立式键盘和行列式键盘,独立式键盘接口电路配置灵活,硬件结构简单,工作可靠但每个按键必须占用一根I/O接口线,I/O接口线浪费较大,在单片机应用系统中,有时只需要几个简单的按键向系统输入信息,可将按键直接在一根I/O接口线上,故只在按键数量不多时采用。
而行列式键盘每条行线与列线在交接处不直接相通,而是通过一个按键用以连接,当按键较多时可采用行列式键盘以节省I/O接口。
本设计采用四个按键,所以这里选用独立式键盘。
第二章硬件设计
2.1AT89C51单片机的简介
2.1.1AT89C51的结构组成
AT89C51是单片机中的典型产品,AT89C51单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,如图2-1所示。
图2-1单片机内部结构示意图
现分别加以说明:
1.中央处理器
中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。
2.数据存储器(RAM)
AT89C51内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。
3.程序存储器(ROM)
AT89C51共有4KB掩膜ROM,最大可扩展64K字节,用于存放用户程序,原始数据或表格。
4.定时/计数器
AT89C51有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。
5.并行输入输出(I/O)口
AT89C51共有4组8位I/O口(P0、P1、P2或P3),用于对外部数据的传输。
6.中断系统
AT89C51具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有2级的优先级别选择。
2.1.2AT89C51的引脚介绍
AT89C51单片机内部总线是单总线结构,即数据总线和地址总线是公用的.AT89C51有40条引脚,这40条引脚可分为I/O接口线、电源线、控制线、外接晶体线4部分。
AT89C51单片机为双列直插式封装结构,如图2-2所示。
图2-2AT89C51引脚分配图
AT89C51单片机的电源线有以下两种:
(1)VCC:
+5V电源线。
(2)GND:
接地线。
AT89C51单片机的外接晶体引脚有以下两种:
(1)XTAL1:
片内振荡器反相放大器的输入端和内部时钟工作的输入端。
采用内部振荡器时,它接外部石英晶体和微调电容的一个引脚。
(2)XTAL2:
片内振荡器反相放大器的输出端,接外部石英晶体和微调电容的另一端。
采用外部振荡器时,该引脚悬空。
外接晶体引脚。
控制线AT89C51单片机的控制线有以下几种:
(1)RST:
复位输入端,高电平有效。
(2)ALE/PROG:
地址锁存允许/编程线。
(3)PSEN:
外部程序存储器的读选通线。
(4)EA/Vpp:
片外ROM允许访问端/编程电源端。
2.2AT89C51单片机复位方式
单片机在开机时或在工作中因干扰而使程序失控,或工作中程序处于某种死循环状态,在这种情况下都需要复位。
复位的作用是使中央处理器CPU以及其他功能部件都恢复到一个确定的初始状态,并从这个状态重新开始工作。
AT89C51单片机的复位靠外部电路实现,信号由RESET(RST)引脚输入,高电平有效,在振荡器工作时,只要保持RST引脚高电平两个机器周期,单片机即复位。
复位后,PC程序计数器的内容为0000H,片内RAM中内容不变。
复位电路一般有上电复位、手动开关复位和自动复位电路3种,在本设计中用手动复位方式,如图2-3所示。
图2-3单片机的手动复位电路
2.3单片机发展
2.3.1单片机发展史
计算机的最小系统只用了一片集成电路,即可进行简单运算和控制。
因为它体积小,通常都藏在被控机械的“肚子”里。
它在整个装置中,起着有如人类头脑的作用,它出了毛病,整个装置就瘫痪了。
单片机是靠程序的,并且可以修改。
通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,这是别的器件需要费很大力气才能做到的,有些则是花大力气也很难做到的。
一个不是很复杂的功能要是用美国50年代开发的74系列,或者60年代的CD4000系列这些纯硬件来搞定的话,电路一定是一块大PCB板!
但是如果要是用美国70年代成功投放市场的系列单片机,结果就会有天壤之别!
只因为单片机的通过你编写的程序可以实现高智能,高效率,以及高可靠性!
由于单片机对成本是敏感的,所以目前占统治地位的软件还是最低级汇编语言,它是除了二进制机器码以上最低级的语言了,既然这么低级为什么还要用呢?
很多高级的语言已经达到了可视化编程的水平为什么不用呢?
原因很简单,就是单片机没有家用计算机那样的CPU,也没有像硬盘那样的海量存储设备。
一个可视化高级语言编写的小程序里面即使只有一个按钮,也会达到几十K的尺寸!
对于家用PC的硬盘来讲没什么,可是对于单片机来讲是不能接受的。
单片机在硬件资源方面的利用率必须很高才行,所以汇编虽然原始却还是在大量使用。
一样的道理,如果把巨型计算机上的操作系统和应用软件拿到家用PC上来运行,家用PC的也是承受不了的。
单片机的使用领域广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。
各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词——“智能微电脑型”,如智能型热水器等。
2.3.2单片机的应用领域
目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。
导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录象机、摄象机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。
更不用说自动控制领域的机器人、智能仪表、医疗器械了。
因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。
单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴:
1.在智能仪器仪表上的应用
单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。
采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大。
例如精密的测量设备(功率计,示波器,各种分析仪)。
2.在工业控制中的应用
用单片机可以构成形式多样的控制系统、数据采集系统。
例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等。
3.在家用电器中的应用
可以这样说,现在的家用电器基本上都采用了单片机控制,从电饭褒、洗衣机、电冰箱、空调机、彩电、其他音响视频器材、再到电子秤量设备,五花八门,无所不在。
4.在计算机网络和通信领域中的应用
现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件,现在的通信设备基本上都实现了单片机智能控制,从手机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。
5.单片机在医用设备领域中的应用
单片机在医用设备中的用途亦相当广泛,例如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等等。
此外,单片机在工商,金融,科研、教育,国防航空航天等领域都有着十分广泛的用途。
2.3.3单片机的主要分类
(1)按应用领域可分为:
家电类,工控类,通信类,个人信息终端类等等。
通用型单片机的主要特点是:
内部资源比较丰富,性能全面,而且通用性强,可履盖多种应用要求。
所谓资源丰富就是指功能强。
性能全面通用性强就是指可以应用在非常广泛的领域。
通用型单片机的用途很广泛,使用不同的接口电路及编制不同的应用程序就可完成不同的功能。
小到家用电器仪器仪表,大到机器设备和整套生产线都可用单片机来实现自动化控制。
(2)按通用性可分为:
通用型和专用型
专用型单片机的主要特点是:
针对某一种产品或某一种控制应用而专门设计的,设计时已使结构最简,软硬件应用最优,可靠性及应用成本最佳。
专用型单片机用途比较专一,出厂时程序已经一次性固化好,不能再修该的单片机。
例如电子表里的单片机就是其中的一种。
其生产成本很低。
在我们的这个网上课堂中,介绍的是MCS-51系列单片机,MCS-51单片机也是一种通用单片机,其结构及原理对所有的单片机都适用。
(3)按总线结构可分为总线型和非总线型。
2.474LS07的功能
74LS07在设计中是位码中的驱动器件,在电路中起驱动位码的功能。
74LS244的具体功能如下:
74LS07是六缓冲的数码驱动器,它是有6个集电极开路的非门所组成,管脚分布如图2-5所示,其工作原理如下,当使能端为低电平时,输入为高电平时输出也为高电平,当输入为低电平时输出也为低电平,其逻辑表达式为:
Y=A。
图2-574LS07管脚图
2.5键盘接口工作原理
在单片机应用系统中,常用键盘作为输入设备,通过它将数据、内存地址、命令及指令等输入到系统中,来实现简单的人机通信。
在设计中运用了4个按键接口,按键运用时要注意它自身的抖动情况,和键盘的连接方法。
2.5.1开关的去除抖动功能
目前,AT89C51单片机应用系统上的按键常采用机械触点式按键,它在断开、闭合时输入电压波形如图2-6所示.可以看出机械触点在闭合及断开瞬间均有抖动过程,时间长短与开关的机械特性有关,一般为5~10ms。
由于抖动,会造成被查询的开关状态无法准确读出。
例如,一次按键产生的正确开关状态,由于键的抖动,CPU多次采集到底电平信号,会被误认为按键被多次按下,就会多次进行键输入操作,这是不允许的。
为了保证CPU对键的一次闭合仅在按键稳定时作一次键输入处理,必须消除产生的前沿(后沿)抖动影响。
图2-6按键过程
2.5.2键盘的接口电路
独立式键盘的接口电路:
在单片机应用系统中,有时只需要几个简单的按键向系统输入信息。
这时,可将每个按键直接接在一根I/O接口线上,这种连接方式的键盘称为独立式键盘。
如图2-7所示,每个独立按键单独占有一根I/O接口线,每根I/O接口线的工作状态不会影响到其他I/O接口线。
这种按键接口电路配置灵活,硬件结构简单,但每个按键必须占用一根I/O线,I/O接口线浪费较大。
故只在按键数量不多时采用这种按键电路。
在此电路中,按键输入都采用低电平有效。
上拉电阻保证了按键断开时,I/O接口线有确定的高电平。
当I/O接口内部有上拉电阻时,外电路可以不配置上拉电阻。
本设计中采用独立式按键接口电路。
根据设计要求需要进行时间调整,所以设计中采用4个按键。
P2.1用做时间的待调整按键,P2.2用做时间的依次加一,P2.3用做时间的依次减一,P2.4用做启动定时按键。
图2-7独立式键盘电路
2.6显示电路的工作原理
LED显示器是由发光二极管显示字段的AT89C51单片机输出设备。
单片机应用系统常采用七段LED数码管作为显示器,这重显示器具有耗电低、配置灵活、线路简单、安装方便、耐转动、价格低廉且寿命长等优点。
因此应用比较广泛。
1.LED数码管显示器的分类
LED数码管显示器可以分为共阴极和共阳极两种结构。
(1)共阴极结构:
如果所有的发光二极管的阴极接在一起,称为共阴极结构,则数码显示段输入高电平有效,当某段输入高电平该段便发光,如图2-8所示。
(2)共阳极结构:
如果所有的发光二极管的阳极接在一起,称为共阳极结构,则数码显示段输入低平有效,当某段输入低电平该段便发光,
图2-8共阴极七段LED显示器
2.LED显示接口
显示电路中分动态显示和静态显示:
(1)静态显示方式:
LED的静态显示是指当数码管显示某一字符时,相应段的发光二极管处于恒定的导通或截止状态,直到需要显示另一字符为止。
(2)LED动态显示就是利用单片机依次输出每一位数码管的段选码和对应于该位数码管的位选控制信号,一位一位轮流点亮各七段数码管。
对每位数码管来说,每隔一段时间点亮一次,如此循环。
利用人眼的“视觉暂留”效应,只要每位显示间隔足够短就可以给人以同时显示的感觉。
在动态显示方式中,同一时刻,只有一位LED数码管在显示,其他各位是关闭的。
在段选码和位选码每送出一次后,应保持1ms左右,这个时间应根据实际情况而定。
不能太小,因而发光二极管从导通到发光有一定的延时,导通时间太小,发光太弱人眼无法看清。
但也不能太大,因为毕竟要受限于临界闪烁频率,而且此时间越长,占用CPU时间也越多。
采用动态显示方式比较节省I/O接口,硬件电路也较静态显示方式简单,但其亮度不如静态显示方式,而且在显示位数较多时,CPU要依次扫描,占用CPU较多的时间。
通过静态显示方式和动态显示方式的比较,我们会选择一种比较适用的显示方式,所以根据我们的设计要求我们需要显示六位数码管。
因此在实际应用中常采用动态显示方式。
用AT89C51单片机构建七段数码管动态显示系统时,6位数码管均采用共阴极LED,P0接口作为段选码输出口,8路驱动采用74LS244总线驱动器作为字形驱动芯片,经过8路驱动电路后接至数码管的各段,字形驱动输出0时发光。
P2接口作为位选码输出口,6路驱动采用74LS07(OC门驱动器),当C接口线输出1时,选通相应位的数码管工作。
如图2-9所示。
图2-9扫描式显示电路
2.774LS244的功能
74LS244在设计中是段码显示中的驱动器件,在电路中起驱动段码的功能。
74LS244的具体功能如下:
74LS244是原码三态输出的8缓冲数码驱动器,其管脚分布图如图2-4所示,G为控制端,又称为使能端其工作原理如下:
当G=0时,A输入为低电平时,Y输出也为低电平。
当G=0时,A输入为高电平时,Y输出为高电平。
当G=1时,A不论输入高电平还是低电平Y为高阻状态
功能表如表2-1所示:
表2-174LS244的功能表
图2-474LS244管脚图
第三章软件设计
3.1设计思路
本设计中设有一个中断程序,按键子程序,显示子程序,和主程序四部分。
主程序中根据设计要求进行显示初始化,然后对定时器赋值,开启定时器后就要调用显示和按键子程序。
在中断程序中主要实现24小时的计时功能。
根据设计的要求需要60秒向分进一位,60分到时向时进位,24小时到就清零,重装初值。
重新计数。
按键子程序中用4个按键来实现设计中的调整功能,在设计中用P2.2实现时间的依次加一,用P2.3实现时间的依次减一。
用P2.1来用做时间的待调整按键,用P2.4来实现定时功能。
本设计中选用动态显示,在显示中用6个数码管显示器。
并且要做一个段码表,用查表的方法完成送段码的功能,然后送给P0口,位码送给P1口。
3.2定时1秒的实现
定时方法我们采用软硬件结合的方法,在主程序中设定一个初值为20的软件计数器使定时器T0工作于方式1定时50毫秒,这样每当T0到50毫秒时CPU就响应它的溢出中断请求︌进入他的中断服务子程序。
定时器的最大定时时间为50ms,因此如果想得到1s的定时,需要计20次50ms才能实现。
在中断服务子程序中,CPU先使软件计数器减1,然后判断它是否为零。
为零表示1秒已到。
定时器T0和T1有4种工作方式,即方式0、方式1、方式2、方式3。
T0和T1这两个定时器在方式0、方式1、方式2下工作时,其用法完全一致,仅在方式3时有所区别。
各种方式的选择是通过对TMOD的M1、M0两位进行编码来实现的。
在本设计中由于只设计有一个中断程序,所以也只选用了一个定时器T0,根据设计的要求选择TMOD的工作方式为方式1。
定时器工作时必须给计数器送初值,将这个值送到TH0和TL0中。
它是以加法计数的,并能从全1到全0时自动产生溢出中断请求。
因此工作于方式1,定时器为16位计数器其定时时间由下式计算:
定时时间=(216-X)×振荡周期×12(或)
X=216-定时时间/振荡周期×12
式中X为T0的初始值,该值和计数器工作方式有关。
如单片机的主脉冲频率为12MHZ,经过12分频。
定时器的初值为:
X=216-定时时间/振荡周期×12
=216-50×10-3×12×106/12
=65536-定时时间
=65536-50000
=15536
=3CB0H
所以初值TH0=3CH、TL0=0B0H
方式0:
定时时间=213×1微秒=8.192毫秒
方式1:
定时时间=216×1微秒=65.536毫秒
秒钟已经超过了计数器的最大定时间,所以我们只有采用定时器和软件相结合的办法才能解决这个问题,定时器需定时50毫秒,故T0工作于方式1,定时20次,就可定时一秒。
3.3主程序
主程序初始化和按键控制,首先将时间、中断、次数、和显示分别进行初始化,然后启动定时器对时间进行判断,将时间送数据缓冲区,调用显示程序,同时扫描按键程序,用无条件跳转指令返回,再调用显示程序,如此周而复始的循环,如图3-1所示。
图3-1主程序框图
主程序:
ORG0000H
LJMPSTART
ORG000BH
LJMPCTCO
ORG0030H
START:
MOV30H,#09H
MOV31H,#05H
MOV32H,#09H
MOV33H,#05H
MOV34H,#01H
MOV35H,#01H
MOV50H,#02H
MOV51H,#01H
MOV52H,#00H
MOV53H,#00H
MOVTMOD,#01H
MOVTH0,#3CH
MOVTL0,#0B0H
MOVR3,#20
SETBEA
SETBET0
SETBTR0
3.4中断服务程序
进入中断程序后,先保护现场,判断一秒钟到了吗?
如果没有到将定时器重装初值恢复现场,如果一秒钟到了,秒单元个位加一。
然后再判断秒单元个位加到十了吗?
如果没有到将定时器重装初值恢复现场,如果到十了,秒单元十位加一,个位清零。
再判断秒单元十位到六了吗?
如果没有到将定时器重装初值恢复现场,如果到六就把秒单元清零,分单元个位加一。
然后再判断分单元个位加到十了吗?
如果没有到将定时器重装初值恢复现场,如果到十了,分单元十位加一,个位清零。
再判断分单元十位到六了吗?
如果没有到将定时器重装初值恢复现场,如果到六就把分单元清零,时单元个位加一。
然后判断时单元十位到二了吗?
如果没有到,判断时单元个位到十了吗?
如果没有到将定时器重装初值恢复现场,如果到了就向时单元十位加一,个位清零。
如果时单元十位到二,就让个位加一,再判断个位加到四了吗?
如果没有到将定时器重装初值恢复现场,如果到时单元清零。
重装初值恢复现场,关定时器。
如此周而复始的循环。
如图3-2所示。
图3-2中断程序框图
中断程序:
CTCO:
PUSHACC
PUSHPSW
DJNZR3,INC10
MOVR3,#05
INC30H
MOVA,30H
CJNEA,#0AH,INC10
MOV30H,#00H
INC31H
MOVA,31H
CJNEA,#06H,INC10
MOV30H,#00H
MOV31H,#00H
INC32H
MOVA,32H
CJNEA,#0AH,INC10
MOV32H,#00H
INC33H
MOVA,33H
CJNEA,#06H,INC10
MOV32H,#00H
MOV33H,#00H
INC34H
MOVA,35H
CJNEA,#02H,IN2
INC34H
MOVA,34H
CJNEA,#04H,INC10
MOV34H,#00H
MOV35H,#00H
LJMPINC10
IN2:
MOVA,34H
CJNEA,#0AH,INC10
MOV34H,#00H
INC35H
INC10:
MOVTH1,#3CH
MOVTL1,#0B0H
POPPSW
POPACC
RETI
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 论文 最好 毕业设计