毕业设计(论文)-基于AT89C52单片机的电子钟设计_第1页
毕业设计(论文)-基于AT89C52单片机的电子钟设计_第2页
毕业设计(论文)-基于AT89C52单片机的电子钟设计_第3页
毕业设计(论文)-基于AT89C52单片机的电子钟设计_第4页
毕业设计(论文)-基于AT89C52单片机的电子钟设计_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

1、毕 业 论 文题 目学生姓名系部名称自动化系专业班级指导教师起止时间教 务 处 制毕业论文工程表填表日期年 月 日迄今已进行 周剩余 周学生姓名系部自动化系专业、班级指导教师姓名职称从事专业电子信息是否外聘是否题目名称指导教师意 见 指导教师签字: 年 月 日系 意 见系主任签字: 年 月 日毕业辩论成绩:年 月 日小组辩论委员会成员签字:年 月 日辩论委员会主任签字:年 月 日摘 要单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广、开展很快。而51单片机是各单片机中最为典型和最有代表性的一种。 本次设计以AT89C52芯片为核心,辅以必要的外围电路,设计

2、了一个简易的电子时钟,它由220V交流电源供电。在硬件方面,除了CPU外,使用6个七段LED数码管来进行显示,LED采用的是静态显示。通过LED能够比拟准确显示时、分、秒。两个简单的按键实现对时间的调整。软件方面采用汇编语言编程。整个电子钟装置能完成时间的显示、调时、定时闹钟、秒表、复位等功能。 通过这次设计让我更深入了解单片机根本电路、如何控制和定时器和中断编程的根本方法,从而锻炼了我学习、设计和开发软、硬件的能力。关键词:单片机应用,电子时钟目 录 TOC o 1-3 h z u 摘 要 I第1章 绪 论 11.1 引 言 11.2 单片机技术的开展特点 11.3 单片机的应用领域 2第2

3、章 方案的要求与设计42.1 方案要求 4 HYPERLINK l _Toc263759594 方案设计 4 HYPERLINK l _Toc263759595 第3章 系统设计5 HYPERLINK l _Toc263759596 AT89C52 管脚说明53.2 T0和 T1的设置7 HYPERLINK l _Toc263759598 T2 的设置10 HYPERLINK l _Toc263759599 模块的设置13 HYPERLINK l _Toc263759600 电源局部13 HYPERLINK l _Toc263759601 复位局部133.4.3 振荡器局部143.4.4 发声

4、局部143.4.5 显示局部15 HYPERLINK l _Toc263759606 第4章 软件设计17 HYPERLINK l _Toc263759607 主程序流程图17 HYPERLINK l _Toc263759608 中断程序流程图18 HYPERLINK l _Toc263759609 源程序20 HYPERLINK l _Toc263759610 结 论 PAGEREF _Toc263759610 h 21参考文献 22致 谢 23附 录 24第1章 绪 论 1.1 引 言在现代化的工业生产中,电流、电压、温度、压力、流量、流速和开关量都是常用的主要被控参数。例如:在冶金工业、

5、化工生产、电力工程、造纸行业、机械制造和食品加工等诸多领域中,人们都需要对各类加热炉、热处理炉、反响炉和锅炉中的温度进行检测和控制。采用MCS-51单片机来对温度进行控制,不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大提高产品的质量和数量。中小规模的电站很多,大局部采用手动测温,十分不便4。在农业生产中,尤其是在大棚种植中,棚中温度的采集与控制成为一个制约其开展的因素。大棚初具规模后,棚中温度不均会导致作物生长状况不理想。因此,单片机对温度的控制问题是一个工业生产中经常会遇到的问题。利用单片机采集和控制温度可以到达小型化、轻便化。本文以它为例进行

6、介绍,希望能收到举一反三和触类旁通的效果。1.2 单片机技术的开展特点自单片机出现至今,单片机技术已走过了近20年的开展路程。纵观20年来单片机发 展历程可以看出,单片机技术的开展以微处理器(MPU)技术及超大规模集成电路技术的发 展为先导,以广泛的应用领域拉动,表现出较微处理器更具个性的开展趋势。 1、单片机长寿命 这里所说的长寿命,一方面指用单片机开发的产品可以稳定可靠地工作 十年、二十年,另一方面是指与微处理器相比的长寿命。随着半导体技术的飞速开展, MPU更新换代的速度越来越快,以386、486、586为代表的MPU,很短的时间内就被淘汰出 局,而传统的单片机如68HC05、8051等

7、年龄已有15岁,产量仍是上升的。这一方面是由 于其对相应应用领域的适应性,另一方面是由于以该类CPU为核心,集成以更多I/O功能 模块的新单片机系列层出不穷。可以预见,一些成功上市的相对年轻的CPU核心,也会随 着I/O功能模块的不断丰富,有着相当长的生存周期。新的CPU类型的加盟,使单片机队伍 不断壮大,给用户带来了更多的选择余地。 2、8位、16位、32位单片机共同开展 这是当前单片机技术开展的另一动向。长期以来,单 片机技术的开展是以8位机为主的。随着移动通讯、网络技术、多媒体技术等高科技产品 进入家庭,32位单片机应用得到了长足开展。以Motorola 68K为CPU的32位单片机97

8、年的 销售量达8千万枚。过去认为由于8位单片机功能越来越强,32位机越来越廉价,使16位 ,而16位单片机的开展无论从品种和产量方面,近年来都有较大幅 度的增长。 3、单片机速度越来越快 MPU开展中表现出来的速度越来越快是以时钟频率越来越高为标志 的。而单片机那么有所不同,为提高单片机抗干扰能力,降低噪声,降低时钟频率而不牺 牲运算速度是单片机技术开展之追求。一些8051单片机兼容厂商改善了单片机的内部时序,在不提高时钟频率的条件下,使运算速度提高了很多,Motorola单片机那么使用了琐环技术或内部倍频技术使内部总线速度大大高于时钟产生器的频率。68HC08单片机使 用4.9M外部振荡器而

9、内部时钟达32M,而M68K系列32位单片机使用32K的外部振荡器频率 内部时钟可达16MHz以上。 4、低电压与低功耗 自80年代中期以来,NMOS工艺单片机逐渐被CMOS工艺代替,功耗得以大幅度下降,随着超大规模集成电路技术由3m工艺,全静态设计使时钟频率从直流到数十兆任选,都使功耗不断下降 。Motorola 最近推出任选的M.CORE 可在1.8V电压下以50M/48MIPS全速工作,功率约为 20mW。几乎所有的单片机都有Wait、Stop等省电运行方式。允许使用的电源电压范围也越来越宽。一般单片机都能在3到6V范围内工作,对电池供电的单片机不再需要对电源采 取稳压措施。低电压供电的

10、单片机电源下限已由2.7V降至2.2V、1.8V。0.9V供电的单片机已经问世。 5、低噪声与高可靠性技术 为提高单片机系统的抗电磁干扰能力,使产品能适应恶劣的工作环境,满足电磁兼容性方面更高标准的要求,各单片机商家在单片机内部电路中采取了一些新的技术措施。如美国国家半导体NS的COP8单片机内部增加了抗EMI电路,增强了 “看门狗的性能。Motorola也推出了低噪声的LN系列单片机。 1.3 单片机的应用领域 目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使

11、用的各种智能IC卡,民用豪华轿车的平安保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。 单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴: 1、在 HYPERLINK :/baike.baidu /view/1540405.htm t _blank 智能仪器仪表上的应用单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器

12、仪表中,结合不同类型的 HYPERLINK :/baike.baidu /view/16431.htm t _blank 传感器,可实现诸如电压、 HYPERLINK :/baike.baidu /view/44147.htm t _blank 功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或 HYPERLINK :/baike.baidu /view/635019.htm t _blank 数字电路更加强大。例如精密的测量设备 HYPERLINK :/baike.baidu /view

13、/1608633.htm t _blank 功率计, HYPERLINK :/baike.baidu /view/130973.htm t _blank 示波器,各种分析仪。2、在工业控制中的应用用单片机可以构成形式多样的控制系统、数据采集系统。例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等。3、在家用电器中的应用可以这样说,现在的家用电器根本上都采用了单片机控制,从电饭褒、洗衣机、电冰箱、空调机、彩电、其他音响视频器材、再到 HYPERLINK :/baike.baidu /view/287613.htm t _blank 电子秤量设备,五花八门,无

14、所不在。4、在计算机网络和通信领域中的应用现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件,现在的通信设备根本上都实现了单片机智能控制,从 , 机、小型 HYPERLINK :/baike.baidu /view/84642.htm t _blank 程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动 ,集群移动通信,对讲机等。5、单片机在医用设备领域中的应用单片机在医用设备中的用途亦相当广泛,例如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等等。6、在各种大型电器中的模块化应用某些专用

15、单片机设计用于实现特定功能,从而在各种电路中进行模块化应用,而不要求使用人员了解其内部结构。如音乐集成单片机,看似简单的功能,微缩在纯电子芯片中有别于磁带机的原理,就需要复杂的类似于计算机的原理。如:音乐信号以数字的形式存于存储器中类似于ROM,由微控制器读出,转化为模拟音乐电信号类似于声卡。在大型电路中,这种模块化应用极大地缩小了体积,简化了电路,降低了损坏、错误率,也方便于更换。7、单片机在汽车设备领域中的应用单片机在汽车电子中的应用非常广泛,例如汽车中的发动机控制器,基于CAN总线的汽车发动机智能电子控制器,GPS导航系统,abs防抱死系统,制动系统等等。此外,单片机在工商,科研、教育,

16、国防航空航天等领域都有着十分广泛的用途。第2章 方案的要求与设计第2.1节 方案要求1主要的任务及目标:用单片机设置一个时钟装置1时钟功能;2闹钟功能;3秒表功能。2设计的主要内容为:1时钟范围:24h,60m,60s;2按键调整时间设定;3按键设定闹钟,精度为分钟;4按键控制秒表,精度为0.01秒;5供电220VAC。第2.2节 方案设计数字时钟方案: 数字时钟是本设计的最主要的局部。根据需要,可利用两种方案实现。方案一:本方案采用Dallas公司的专用时钟芯片DS12887A。该芯片内部采用石英晶体振荡器,其芯片精度不大于10ms/年,且具有完备的时钟闹钟功能,因此,可直接对其以用于显示或

17、设置,使得软件编程相对简单。为保证时钟在电网电压缺乏或突然掉电等突发情况下仍能正常工作,芯片内部包含锂电池。当电网电压缺乏或突然掉电时,系统自动转换到内部锂电池供电系统。而且即使系统不上电,程序不执行时,锂电池也能保证芯片的正常运行,以备随时提供正确的时间。方案二:本方案完全用软件实现数字时钟。原理为:在单片机内部存储器设三个字节分别存放时钟的时、分、秒信息。利用定时器与软件结合实现1秒定时中断,每产生一次中断,存储器内相应的秒值加1;假设秒值到达60,那么将其清零,并将相应的分字节值加1;假设分值到达60,那么清零分字节,并将时字节值加1;假设时值到达24,那么将时字节清零。该方案具有硬件电

18、路简单的特点。但由于每次执行程序时,定时器都要重新赋初值,所以该时钟精度不高。而且由于是软件实现,当单片机不上电,程序不执行时,时钟将不工作。基于硬件电路的考虑,本设计采用方案二完成数字时钟的功能。第3章 系统设计第3.1节 AT89C52的管脚说明 AT89C52是本设计最核心的部件,它是美国ATMEL公司生产的低电压,高性能CMOS 8位单片机,片内含8K bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器RAM,器件采用ATMEL公司的高密度、非易失性存储技术生产,与标准MCS-51指令系统及8052产品引脚兼容,片内置通用8位中央处理器CPU和Fl

19、ash存储单元,功能强大。AT89C52单片机适用于许多较为复杂的控制应用场合。图3.1是AT89C52最常见的一种封装。 图3.1 AT89C52如上图所示,AT89C52共有40个管脚,其各个功能如下:VCC 运行时加5VVSS 接地XTAL1 振荡器反相放大器及内部时钟发生器的输入端XTAL2 振荡器反相放大器的输出端RST 复位输入,高电平有效,在晶振工作时,在RST引脚上作用2个机器周期以上的高电平,将使单片机复位。/VPP 片外程序存储器访问允许信号。欲使CPU仅访问外部程序存储器地址为0000H-FFFFH,端必须保持低电平接地,如果端为高电平接Vcc端,CPU那么执行内部程序中

20、的指令。LAE/ 当访问外部程序存储器或数据存储器时,ALE地址允许锁存输出脉冲用于锁存地址的低8位位数字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对Flash存储器编程期间,该引脚还用于输入编程脉冲第二功能。:程序储存允许输出是外部程序存储器的读选通信号,当AT89C52由外部存储器取指令或数据时,每个机器周期两次有效,即输出两个脉冲。在此期间,当访问外部数据存储器,将跳过两次信号。P0口 是一组8位漏极开路双向I/O口,也即地址/数据总线复用口。作为输出口用时,每位能吸收电

21、流的方式驱动8个TTL逻辑门电路,对端口P0写“1时,可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址低8位和数据总线服用,在访问期间激活内部上拉电阻。在本设计中P0口的高4位P0.7P0.4输出秒十位,低4位P0.3P0.0输出秒个位。P1口 是一个内部带上拉电阻的8位准双向I/O口。在对EPROM型单片机编程和验证程序时,它接收低8位地址。P1能驱动吸收或输出电流4个LSTTL电路。在时钟系统中,P1口的高4位P1.7P1.4用来输出时十位,低4位P1.3P1.0用来输出时个位。P1.0还被用作定时器/计数器2的外部计数输入端,即专用功能T2。P1.1被用作专

22、用功能端T2EX,即定时器T2的外部控制端。参见表3.1。引脚号功能特性T2定时/计数器2外部计数脉冲输入,时钟输出T2XE定时/计数器2捕获/重装载触发和方向控制P2口 是一个带有内部上拉电阻的8位准双向I/O口,P2的输出缓冲级可驱动吸收或输出电流4个TTL逻辑门电路。对端口写“1,通过内部的上拉电阻,某个引脚外部信号拉低是会输出一个电流。在时钟系统中,P2口的高4位P2.7P2.4用来输出分十位,低4位P2.3P2.0用来输出分个位。P3口 是一组带有内部上拉电阻的8位准双向I/O口。P3口输出缓冲级可驱动吸收或输出电流4个TTL逻辑门电路。对P3口写入“1时,它们被内部上拉电阻拉高并可

23、作为输入端口。此时,被外部拉低的P3口将用上拉电阻输出电流。P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能,如下表所示: 表3.2 P3口各位的第二功能 端口引脚 第二功能RXD 串行输入口TXD 串行输出口 外部中断0 外部中断1T0 定时/计数器0T1 定时/计数器1 外部数据存储器写选通 外部数据存储器读选通第3.2节 T0和T1的设置定时器/计数器0和定时器/计数器1有两个外部输入端T0、和T1、两个8位的二进制加法计数器TH0、TL0和TH1、TL1。由两个内部特殊功能存放器TMOD、TCON控制定时器/计数器的工作,其中TMODTimer/Counter Mode C

24、ontrol是定时器/计数器模式控制存放器,其格式如下表3.3所示存放器各位不可位寻址。表3.3 TMOD存放器名:TMOD位名称GATEC/M1M0GATEC/M1M 0地址:89H位地址TMOD被分为两个局部,每局部4位,高4位用于定时器/计数器1,低4位用于定时器/计数器0。其中GATE和C/用于控制计数信号的输入,M1、M0用于定义计数器的工作方式。TCON是定时器/计数器存放器,其格式如下表所示存放器各位可位寻址:表3.4 TCON存放器名:TCON位名称TF1TR1TF0TR0IE1IT1IE0IT0地址:88H位地址8FH8EH 8DH8CH8BH8AH89H88HTCON也被分

25、为两局部,高4位用于定时器/计数器。其中TR1、TR0用于控制计数信号的输入,TF1、TF0位计数器的溢出位。TMOD中的GATE和TCON中的TR0用于控制计数脉冲的接通,通常有两种使用方法:GATE=0时,仅仅由程序设置TR0=1来接通计数脉冲,由程序设置TR=0来停止计数。此时与外部中断无关。GATE=1时,先由程序设置TR=1,然后由外部中断来控制计数的接通与关闭。 两个8位计数器均为加法计数器,它们的级联和技术范围是有TMOD中的M1和M0来控制的。M1、M0可设置4种内部计数的工作方式,如表3.5所示。 表3.5 计数器工作方式工作方式M1M0 功 能 计 数 范 围00013位二

26、进制加法计数器10116位二进制加法计数器210可重置初值的8位二进制加法计数器 续表工作方式M1M0 功 能 计 数 范 围3112个独立的8位二进制加法计数器仅对T0工作方式0主要为兼容早期的MCS-48单片机所保存,一般可用工作方式1代替。工作方式1的特点是:计数范围宽,但每次的初值均要由程序来设置。工作方式2的特点是:初值只需要设置一次,每次溢出后,初值自动会从TH0加载到TL0或从TH1加载到TL1,但计数范围较工作方式1小。工作方式3的特点是:增加了一个独立的计数器,但只能适用于定时器/计数器0而且占用了定时器/计数器1的TR1和TF1,所以此时的定时器/计数器1只能用于不需要中断

27、的应用,如作为串行口的波特率发生器。4种工作方式对溢出处理均相同,加法计数超出范围后,溢出信号将使TCON中的TF0或TF1置位,计数值回到0或初值,重新开始计数。TF0或TF1置位后,可向CPU提出中断请求。TF0和TF1在CPU响应中断后会自动复位,而禁止中断响应时,也可由软件来复位。以工作方式1为例,定时时间T为计数范围乘上计数周期,即1由表3.5和公式1可知,当初值等于0时,4种工作方式有中最大定时时间的为工作方式1。又外接晶振频率为12Mhz,那么最大定时时间为65536,即65.36ms。时钟要求显示时间精度为妙,而定时器最大定时时间为65.36ms ,小于1s,很显然直接用一个定

28、时器来定时是行不通的。为此,把T0设为定时器模式,T1设为计数器模式,它们都以工作方式1工作,即把TMOD赋值01010001B,又由软件来启动或停止中断,那么把00000000B赋予TCON。T0定时时间为0.05s,T1计数次数为20,这样可得1s的定时时间。由公式1可导出计算初值的公式: 2 由公式2可分别计算出T0和T1的初值:T0初值=65536-50000=15536=3CB0H;T1初值=65536-20=65516=FFECH。第3.3节 T2的设置AT89C52除了MCS-51中51子系列所有的定时器/计数器0、定时器/计数器1外,还有一个定时器/计数器2。定时器/计数器2有

29、两个外部输入端T2和T2EX,两个8位的二进制计数器TH2和TL2,两个重载或捕获存放器RCAP2L和RCAP2H和两个内部特殊功能存放器T2CON和T2MOD。定时器/计数器2的两个外部输入端T2和T2EX分别借用了P1.0和P1.1。T2CON、T2MOD、RCAP2L、RCAP2H、TL2和TH2这六个存放器或计数器的内部地址分别为0C8H0CDH,复位后,除了T2MOD中未定义的各位值不确定外,其余均为0。T2CON中的各位可进行位寻址,其他存放器或计数器的各位不能按位寻址。T2CONTimer/Counter2 Control的格式和其各位的功能分别如表3.6和表3.7所示。表3.6

30、 T2CON存放器名:T2CON位名称EXF2RCLKTCJKEXEN2TR2C/CP/ 地址:0C8H位地址0CFH0CEH 0CDH0CCH0CBH0CAH0C9H 0C8H表3.7 T2CON的各位功能符号 功能TF2定时器2溢出标志。定时器2溢出是,又由硬件置位,必须由软件清0。当RCLK=1时,定时器2溢出,不对TF2置位。EXF2定时器2外部标志。当EXEN2=1,且当T2EX引脚上出现负跳变而出现捕获或重装载时,EXF2置位,申请中断。此时如果允许定时器2中断,CPU将响应中断,执行定时器2中断效劳程序,EXF2必须由软件去除。当定时器2工作在向上或向下计数工作方式时DECN=1

31、,EXF2不能激活中断。RCLK接收时钟允许。RCLK=1时,用定时器2溢出脉冲作为串行口工作于工作方式1或3时的接收时钟,RCLK=0,用定时器1的溢出脉冲作为接收时钟。 续表符号 功能TCLK发送时钟允许。TCLK=1时,用定时器2溢出脉冲作为串行口工作于工作方式1或3时的发送时钟,TCLK=0,用定时器1的溢出脉冲作为发送脉冲。EXEN2定时器2外部允许标志。当EXEN2=1时,如果定时器2未用于作串行口的波特率发生器,在T2EX端出现负跳变脉冲时,激活定时器2捕获或重装载。EXEN2=0时,T2EX端的外部信号无效。TR2定时器2启动/停止控制位。TR2=1时,启动定时器2C/定时器2

32、定时方式或计数方式控制位。假设为0,选择定时方式。假设为1,选择对外部事件计数方式下降沿触发。CP/捕获/重装载选择。CP/=1时,如EXEN2=1,且T2EX端出现负跳变脉冲时发生捕获操作。CP/=0时,假设定时器2溢出或EXEN2=1的条件下,T2EX端出现负跳变脉冲,都会出现自动重载操作。当RCLK=1或TCLK=1时,该位无效,在定时器2溢出是强制其自动重装载。T2MODTimer 2 Mode Control虽然是定时器/计数器2模式控制器的缩写,但定时器/计数器2的工作模式与T2CON更为亲密,T2MOD只用了2位,其格式如表3.8所示存放器各位不可位寻址。表3.8 T2MOD存放

33、器名:T2MOD位名称T2OEDCEN 地址:0C9H位地址T2OE是定时器2的输出允许位,置位后,允许T2引脚输出可编程的方波。DCEN是定时器2的计数方向控制允许位,置位可允许定时器2进行加/减计数方式。表3.9 定时器2工作方式RCLK+TCLKCP/TR 2 MODE 0 0 116-bit Auto-reload 0 1 116-bit Capture 续表 RCLK+TCLK CP/ TR 2 MODE 1 x 1Baud Rate Generator x x 0(Off)捕获Capture方式:在捕获方式下,利用外部引脚T2EXP1.1上的下降沿,可捕获当前TH2和TL2的16位

34、计数值。TH2和TL2的计数信号可来自内部基准时钟,此时捕获方式可测得引脚T2EX上两个下降沿之间的时间;TH2和TL2计数信号也可来自引脚T2P1.0上的脉冲信号,此时的捕获方式可测得T2EX上两个下降边沿周期,T2上所出现的脉冲数。自动重载Auto-reload方式:自动重载方式可通过T2MOD中的DCEN位来设置自动重载时的计数方式,DCEN=0为加法计数的自动重载方式,DCEN=1为可控加/减法计数的自动重载方式。当DCEN=0,假设EXEN2=0,定时器2为向上计数至0FFFFH溢出,置位TF2激活中断,同时把16位计数存放器RCAP2H和RCAP2L重装载,RCAP2H和RCAP2

35、L的值可由软件设置;假设EXEN2=1,定时器2的16位重载由溢出或外部输入端T2EX从1至0的下降沿触发。这个脉冲使EXF2置位,如果中断允许,同样产生中断。波特率发生器Baud Rate Generator方式:置位T2CON中的TCLK或RCLK位可将定时器2设置为波特率发生器方式,此时,串行口的发送和接收波特率可以不同,如定时器2作为发送或接收波特率发生器方式,而定时器1作为接收或发送波特率发生器方式。定时器2是用来产生秒表定时中断的,采用自动重装载Auto-reload方式工作,即把00000000B赋予T2CON。令T2MOD中DCEN=0, EXEN2=0,定时器2为向上计数至0

36、FFFFH溢出,置位TF2激活中断,同时把16位计数存放器RCAP2H和RCAP2L重装载,RCAP2H和RCAP2L的值可由软件设置。由于秒表要求精度为0.01s,定时器2的定时时间也要为0.01秒。由公式2可知:T2初值=65536-10000=55536=D8F0H,即TH2=D8H,TL2=F0H;RCAP2H=D8H,RCAP2L=F0H。第3.4节 模块设计3.4.1 电源局部如图3.2所示,LM7805CT是一个三端集成稳压器,输出端电压+5V,其自身压降为23V,这里取2.5V,那么1端电压为7.5V。整流滤波系数为1.26,那么变压器二次侧的电压为6V,因此变压器的砸数比为3

37、:110。图3.2 电源电路3.4.2 复位局部如图3.3所示,上电时电容充电,1端低压经非门输出2端为高压,启动复位。当电容充满电后,1端高压经非门输出2端为低压,复位停止。假设按下S0,电容开始放电,1端低压经非门输出2端为高压,那么启动复位。 图3.3 按键复位电路3.4.3 振荡器局部MCS-51单片机内部有一个用于构成振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。这个放大器与作为反响元件的片外石英晶体及电容一起构成一个自激振荡器,如图3.4所示。 图3.4 振荡器 图中石英晶体为12MHz,两个电容为20pF。单片机一个机器周期包含12个振荡周期

38、,那么每个机器周期恰为1。3.4.4 发声局部“1那么蜂鸣器发声,写“0那么蜂鸣器停止发声,如图3.5所示。 图3.5 发声电路3.4.5 显示局部为了使数码管能显示十进制数,必须先由软件将二进制数转换为十进制的BCD码,然后再将十进制数的BCD码经过译码器的译出,经驱动器点亮对应的的段,如图3.6所示。 图3.6 数码管显示电路图中所用的译码器是7447集成显示译码器,输出系为驱动器设计,其逻辑0吸入电流高达40mA,故必须使用电阻加以限流,以免电流过大烧毁显示器。输入端、输出端和数码管显示数字之间的关系如表3.10所示。表3.10 7447功能表输入端:D C B A 输出端:a b c

39、d e f g 数码管显示数字 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 1 0 1 1 0 0 0 0 1 0 0 1 0 1 1 0 1 1 0 1 2 0 0 1 1 1 1 1 1 0 0 1 3 0 1 0 0 0 1 1 0 0 1 1 4 0 1 0 1 1 0 1 1 0 1 1 5 0 1 1 0 0 0 1 1 1 1 1 6 0 1 1 1 1 1 1 0 0 0 0 7 1 0 0 0 1 1 1 1 1 1 1 8 1 0 0 1 1 1 1 1 0 1 1 9第4章 软件设计第4.1节 主程序流程图电子时钟的主程序流程图如图4.1所示。 图4.1

40、主程序流程图S1和S4用来选择进入调时模式、调整闹钟模式还是秒表模式。S1按下,S4也按下,那么进入调时模式。假设此时按下S6键,那么时钟小时加一,按下S7分钟加一,然后显示当前时分秒;假设S6,S7都不按,那么直接显示当前时间。S1按下,S4不按下,那么进入闹钟调整模式。假设此时按下S6,闹钟小时加一,按下S7,闹钟分加一;假设S6,S7都不按,直接按下S4键,那么退出闹钟调整模式。S1不按,S4不按,直接按下S7键,开始秒表计时,假设没有超过1小时,显示分秒百分秒,假设超过1小时,那么显示时分秒,再按下S7秒表停止。假设按下S6那么秒表停止并且时间归0当时钟走到刚好为闹钟设定的时间时,蜂鸣

41、器开始发声鸣叫,按下S1,那么蜂鸣器停止鸣叫。第4.2节 中断程序流程图1T2中断程序流程图T2是用来产生秒表中断的,如图4.2所示。百分秒加1百分秒归0秒加1秒归0分加1分归0时加1时归01秒60秒60分24时返回清T2溢出标志T2定时中断NYNYNYNY图4.2 T2中断流程图 2T1中断程序流程图重装T1初值秒加1秒归0分加1时归0分归0时加160秒60分返回24时T1计数中断YNNYNY 图4.3 T1中断流程图3T0中断程序流程图T0定时器每次到定时时间就中断一次,产生一个脉冲,如图4.4所示。T0定时中断重装T0初值在T1入口形成计数脉冲返回 图4.4 T0中断流程图 T0定时时间

42、为0.05s,每0.05s就在T1入口P3.5口形成一个脉冲。T1计数器计数次数为20,接收到20个脉冲1秒启动中断。先秒加一,假设秒超过59,那么秒归0并且分加一;假设分超过59,那么分归0并且时加一;假设时超过23,那么时归0。T2为定时器,定时时间为0.01s,也即秒表计时精度为0.01s。先百分秒加一,假设到达一秒,那么秒加一,百分秒归0;假设秒超过59,那么秒归0并且分加一;假设分超过59,那么分归0并且时加一;假设时超过23,那么时也归0。T2中断优先于T0、T1,即给IP存放器赋值00100000B。 第4.3节 源程序电子时钟系统的源程序请参见附录。结 论1功能介绍1时间显示:

43、按S1键,电子时钟蜂鸣器关闭,这时如按下S4键,那么进入调整时分阶段,按下S6键小时加一,按下S7键那么分钟加一。如S6、S7都没按,那么显示当前时间。2闹钟功能:按下S1键,蜂鸣器关闭,此时假设没有按下S4键,那么进入闹钟调整阶段,按下S6键闹钟小时加一,按下S7键那么闹钟分钟加一。假设S6、S7都没按,此时程序不停询问是否要改变闹钟时分,只要按下S4键,就可以退出闹钟调整阶段,直接显示当前时间。假设当前显示时间正好为设定的闹钟值时,蜂鸣器开启,此时按下S1键就可以关闭蜂鸣器。3 秒表功能:按下S7键启动秒表,LED显示当前的秒表值,假设再按下S7那么秒表停止,再按下S7那么又继续跑动。按下

44、S6键,当前秒表值归0且秒表停止。2设计心得 在这次的毕业设计过程中,我遇到了许多问题。电路原理图的设计是我的弱处,开始时对一些电路不是很了解,经过查找资料与同学探讨,逐渐明白了其中的关键。对程序的理解,一开始没有按照程序流程图来,总觉得模模糊糊,似是而非,后来按照程序流程图一步一步的搞明白了。由于时间和能力问题,本次设计没有进行试验,很是遗憾。但在查找资料的过程中学到很多,同时在协作的过程中增进了同学间的友谊。参考文献1 谢自美电子线路设计实验测试M武汉:华中理工大学出版社,1992.2 何立民单片机应用系统设计M北京:北京航空航天大学出版社,1993.3 楼然笛单片机开发M北京:人民邮电出

45、版社,1994.4 付家才单片机控制工程实践技术M北京:化学工业出版社,2004.3.5 李光才单片机课程设计实例指导M 北京:北京航空航天大学出版社,2004.6 朱定华单片机原理及接口技术实验M北京:北方交通大学出版社,2002.11.7 刘湘涛江世明单片机原理与应用M. 北京:电子工业出版社,2006.8 李群芳. 张士军. 单片微型计算机M. 北京:电子工业出版社 ,2021致 谢首先感谢我的论文指导老师 老师,我的论文是在他的悉心指导下完成的。师严谨细致、一丝不苟的作风一直是我工作、学习中的典范,他循循善诱的教导和不拘一格的思路给予我无尽的启迪。其次我要感谢我的所有任课老师,在我求学

46、的三年期间,是他们用辛勤的汗水教导了我,是他们用宽容、认真的态度一直感染着我。他们不仅仅教给我知识,还有生活的态度,做人的道理,指引了我人生的道路。再次我要感谢一直陪同我走完大学三年求学之路的同寝室的兄弟们,谢谢他们平时对我无微不至的照顾和关心。我很快乐能生活在一个互助友爱和充满活力的集体中,从他们的身上我学到了很多,同时他们给我的大学生活留下了许多美好的回忆。最后,我要特别感谢我的父母。在我求学的过程中他们付出的不仅仅是辛勤的劳动和汗水,而是世界上最崇高、最伟大的爱。他们所做的一切是我这一生都无法回报的。真诚感谢给予我热情帮助和关注的所有人。附 录电子时钟源程序THHEQU31H;时钟小时T

47、MMEQU32H;时钟分钟TSS EQU33H;时钟秒WHHEQU34H;秒表小时WMMEQU35H;秒表分钟WSSEQU36H;秒表秒WXXEQU37H;秒表百分秒CHHEQU38H;闹钟小时CMMEQU39H;闹钟分钟C0HEQU21H;C0定时数据高字节C0LEQU22H;C0定时数据低字节C1HEQU23H;C1计数数据高字节C1LEQU24H;C1计数数据低字节C2HEQU25H;C2定时数据高字节C2LEQU26H;C2定时数据低字节FZ EQU27H;秒表开/停标志1为开,2为停;ORG00HAJMPRST;复位程序;ORG0BHAJMPST ;T0定时中断;ORG1BHAJMP

48、CN ;T1计数中断;ORG2BHAJMPCT ;T2定时中断;ORG30H;复位程序RST:NOPACALL DELAYMOVSP,#50H;堆栈指针MOVTCON,#00000000BMOVTMOD,#01010001B;T1计数,T0定时,方式1MOVT2CON,#00000000B;MOVIE,#10000000BMOVIP,#00100000B;T2优先于T0,T1 ;设定初值MOVTHH,#12;12点MOVTMM,#00MOVTSS,#00MOVWHH,#00;0MOVWMM,#00MOVWSS,#00MOVWXX,#00MOVCHH,#07;7点MOVCMM,#00MOVFZ,

49、#02 ;秒表停;时钟定时1秒MOVC0H,#3CHMOVC0L,#0B0H;C0=15536=3CB0HMOVC1H,#0FFH;65536-C1=201SMOVC1L,#0ECH;C1=65516=FFECHMOVTH0,C0HMOVTL0,C0LMOVTH1,C1HMOVTL1,C1LMOVC2H,#0D8HMOVC2L,#0F0H;C2=55536=D8F0HMOVTH2,C2HMOVTL2,C2LMOVRCAP2H,C2H;自动重装 T2 值MOVRCAP2L,C2L;MOVP1,#00MOVP2,#00MOVP0,#00CLRCLR;SETBTR0 ;启动T0SETBET0 ;开中

50、断T0SETBTR1 ;启动T1SETBET1 ;开中断T1;START:MOVC,JNCWC ;P3.1=0 GOTO WCCLRCON:MOVC,JNCADJC ;P3.4=0 GOTO ADJCCON0:MOVC,JCCON1 ;P3.6=1 GOTO CON1ACALLDELAY;延迟10msINCTHH;CON1:MOVC,JCCON2 ;P3.7=1 GOTO CON2ACALLDELAY;延迟10msINCTMMCON2:MOVA,THHACALLHBCDMOVP1,A ;显示小时MOVA,TMMACALLHBCDMOVP2,A ;显示分钟MOVA,TSSACALL HBCDMOVP0,

温馨提示

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

评论

0/150

提交评论