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

下载本文档

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

文档简介

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

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

3、2.1 方案要求 .42.2 方案设计 .4第3章 系统设计.53.1 at89c52 管脚说明.53.2 t0和 t1的设置.73.3 t2 的设置.103.4 模块的设置.133.4.1 电源部分.133.4.2 复位部分.133.4.3 振荡器部分.143.4.4 发声部分.143.4.5 显示部分.15第4章 软件设计.174.1 主程序流程图.174.2 中断程序流程图.184.3 源程序.20结 论 .21参考文献 .22致 谢 .23附 录 .24第1章 绪 论 1.1 引 言在现代化的工业生产中,电流、电压、温度、压力、流量、流速和开关量都是常用的主要被控参数。例如:在冶金工业

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

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

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

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

8、部时钟达32m,而m68k系列32位单片机使用32k的外部振荡器频率 内部时钟可达16mhz以上。 4、低电压与低功耗 自80年代中期以来,nmos工艺单片机逐渐被cmos工艺代替,功耗得以大幅度下降,随着超大规模集成电路技术由3m工艺发展到1.5、1.2、0.8、0.5、0.35 近而实现0.2m工艺,全静态设计使时钟频率从直流到数十兆任选,都使功耗不断下降 。motorola 最近推出任选的m.core 可在1.8v电压下以50m/48mips全速工作,功率约为 20mw。几乎所有的单片机都有wait、stop等省电运行方式。允许使用的电源电压范围也越来越宽。一般单片机都能在3到6v范围内

9、工作,对电池供电的单片机不再需要对电源采 取稳压措施。低电压供电的单片机电源下限已由2.7v降至2.2v、1.8v。0.9v供电的单片机已经问世。 5、低噪声与高可靠性技术 为提高单片机系统的抗电磁干扰能力,使产品能适应恶劣的工作环境,满足电磁兼容性方面更高标准的要求,各单片机商家在单片机内部电路中采取了一些新的技术措施。如美国国家半导体ns的cop8单片机内部增加了抗emi电路,增强了 “看门狗”的性能。motorola也推出了低噪声的ln系列单片机。 1.3 单片机的应用领域 目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计

10、算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能ic卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。 单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴: 1、在智能仪器仪表上的应用单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现

11、诸如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大。例如精密的测量设备(功率计,示波器,各种分析仪)。2、在工业控制中的应用用单片机可以构成形式多样的控制系统、数据采集系统。例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等。3、在家用电器中的应用可以这样说,现在的家用电器基本上都采用了单片机控制,从电饭褒、洗衣机、电冰箱、空调机、彩电、其他音响视频器材、再到电子秤量设备,五花八门,无所不在。4、在计算机网络和通信领域中的应用

12、现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件,现在的通信设备基本上都实现了单片机智能控制,从手机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,对讲机等。5、单片机在医用设备领域中的应用单片机在医用设备中的用途亦相当广泛,例如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等等。6、在各种大型电器中的模块化应用某些专用单片机设计用于实现特定功能,从而在各种电路中进行模块化应用,而不要求使用人员了解其内部结构。如音乐集成单片机,看似简单的功能,微缩在纯电

13、子芯片中(有别于磁带机的原理),就需要复杂的类似于计算机的原理。如:音乐信号以数字的形式存于存储器中(类似于rom),由微控制器读出,转化为模拟音乐电信号(类似于声卡)。在大型电路中,这种模块化应用极大地缩小了体积,简化了电路,降低了损坏、错误率,也方便于更换。7、单片机在汽车设备领域中的应用单片机在汽车电子中的应用非常广泛,例如汽车中的发动机控制器,基于can总线的汽车发动机智能电子控制器,gps导航系统,abs防抱死系统,制动系统等等。此外,单片机在工商,科研、教育,国防航空航天等领域都有着十分广泛的用途。第2章 方案的要求与设计第2.1节 方案要求1主要的任务及目标:用单片机设置一个时钟

14、装置(1)时钟功能;(2)闹钟功能;(3)秒表功能。2设计的主要内容为:(1)时钟范围:24h,60m,60s;(2)按键调整时间设定;(3)按键设定闹钟,精度为分钟;(4)按键控制秒表,精度为0.01秒;(5)供电220vac。第2.2节 方案设计数字时钟方案: 数字时钟是本设计的最主要的部分。根据需要,可利用两种方案实现。方案一:本方案采用dallas公司的专用时钟芯片ds12887a。该芯片内部采用石英晶体振荡器,其芯片精度不大于10ms/年,且具有完备的时钟闹钟功能,因此,可直接对其以用于显示或设置,使得软件编程相对简单。为保证时钟在电网电压不足或突然掉电等突发情况下仍能正常工作,芯片

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

16、机不上电,程序不执行时,时钟将不工作。基于硬件电路的考虑,本设计采用方案二完成数字时钟的功能。第3章 系统设计第3.1节 at89c52的管脚说明 at89c52是本设计最核心的部件,它是美国atmel公司生产的低电压,高性能cmos 8位单片机,片内含8k bytes的可反复擦写的flash只读程序存储器和256 bytes的随机存取数据存储器(ram),器件采用atmel公司的高密度、非易失性存储技术生产,与标准mcs-51指令系统及8052产品引脚兼容,片内置通用8位中央处理器(cpu)和flash存储单元,功能强大。at89c52单片机适用于许多较为复杂的控制应用场合。图3.1是at8

17、9c52最常见的一种封装。 图3.1 at89c52如上图所示,at89c52共有40个管脚,其各个功能如下:vcc 运行时加5vvss 接地xtal1 振荡器反相放大器及内部时钟发生器的输入端xtal2 振荡器反相放大器的输出端rst 复位输入,高电平有效,在晶振工作时,在rst引脚上作用2个机器周期以上的高电平,将使单片机复位。/vpp 片外程序存储器访问允许信号。欲使cpu仅访问外部程序存储器(地址为0000h-ffffh),端必须保持低电平(接地),如果端为高电平(接vcc端),cpu则执行内部程序中的指令。lae/ 当访问外部程序存储器或数据存储器时,ale(地址允许锁存)输出脉冲用

18、于锁存地址的低8位位数字节。一般情况下,ale仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ale脉冲。对flash存储器编程期间,该引脚还用于输入编程脉冲(第二功能)。:程序储存允许()输出是外部程序存储器的读选通信号,当at89c52由外部存储器取指令(或数据)时,每个机器周期两次有效,即输出两个脉冲。在此期间,当访问外部数据存储器,将跳过两次信号。p0口 是一组8位漏极开路双向i/o口,也即地址/数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8个ttl逻辑门电路,对端口p0写“1”时,可作为高阻抗输

19、入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低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被用作专用功能端t2ex,即定时器t2的外部控制端。

20、参见表3.1。表3.1 p1.1和p1.1的第二功能引脚号功能特性p1.0t2(定时/计数器2外部计数脉冲输入),时钟输出p1.1t2xe(定时/计数器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口写

21、入“1”时,它们被内部上拉电阻拉高并可作为输入端口。此时,被外部拉低的p3口将用上拉电阻输出电流。p3口除了作为一般的i/o口线外,更重要的用途是它的第二功能,如下表所示: 表3.2 p3口各位的第二功能 端口引脚 第二功能 p3.0rxd (串行输入口)p3.1txd (串行输出口)p3.2 (外部中断0) p3.3 (外部中断1)p3.4t0 (定时/计数器0) p3.5t1 (定时/计数器1)p3.6 (外部数据存储器写选通)p3.7 (外部数据存储器读选通)第3.2节 t0和t1的设置定时器/计数器0和定时器/计数器1有两个外部输入端(t0、和t1、)、两个8位的二进制加法计数器(th

22、0、tl0和th1、tl1)。由两个内部特殊功能寄存器(tmod、tcon)控制定时器/计数器的工作,其中tmod(timer/counter mode control)是定时器/计数器模式控制寄存器,其格式如下表3.3所示(寄存器各位不可位寻址)。表3.3 tmod寄存器名:tmod位名称gatec/m1m0gatec/m1m 0地址:89h位地址tmod被分为两个部分,每部分4位,高4位用于定时器/计数器1,低4位用于定时器/计数器0。其中gate和c/用于控制计数信号的输入,m1、m0用于定义计数器的工作方式。tcon是定时器/计数器寄存器,其格式如下表所示(寄存器各位可位寻址):表3.

23、4 tcon寄存器名:tcon位名称tf1tr1tf0tr0ie1it1ie0it0地址:88h位地址8fh8eh 8dh8ch8bh8ah89h88htcon也被分为两部分,高4位用于定时器/计数器。其中tr1、tr0用于控制计数信号的输入,tf1、tf0位计数器的溢出位。tmod中的gate和tcon中的tr0用于控制计数脉冲的接通,通常有两种使用方法:gate=0时,仅仅由程序设置tr0=1来接通计数脉冲,由程序设置tr=0来停止计数。此时与外部中断无关。gate=1时,先由程序设置tr=1,然后由外部中断来控制计数的接通与关闭。 两个8位计数器均为加法计数器,它们的级联和技术范围是有t

24、mod中的m1和m0来控制的。m1、m0可设置4种内部计数的工作方式,如表3.5所示。 表3.5 计数器工作方式工作方式m1m0 功 能 计 数 范 围00013位二进制加法计数器10116位二进制加法计数器210可重置初值的8位二进制加法计数器 续表工作方式m1m0 功 能 计 数 范 围3112个独立的8位二进制加法计数器(仅对t0)工作方式0主要为兼容早期的mcs-48单片机所保留,一般可用工作方式1代替。工作方式1的特点是:计数范围宽,但每次的初值均要由程序来设置。工作方式2的特点是:初值只需要设置一次,每次溢出后,初值自动会从th0加载到tl0或从th1加载到tl1,但计数范围较工作

25、方式1小。工作方式3的特点是:增加了一个独立的计数器,但只能适用于定时器/计数器0而且占用了定时器/计数器1的tr1和tf1,所以此时的定时器/计数器1只能用于不需要中断的应用,如作为串行口的波特率发生器。4种工作方式对溢出处理均相同,加法计数超出范围后,溢出信号将使tcon中的tf0或tf1置位,计数值回到0或初值,重新开始计数。tf0或tf1置位后,可向cpu提出中断请求。tf0和tf1在cpu响应中断后会自动复位,而禁止中断响应时,也可由软件来复位。以工作方式1为例,定时时间t为计数范围乘上计数周期,即(1)由表3.5和公式(1)可知,当初值等于0时,4种工作方式有中最大定时时间的为工作

26、方式1。又外接晶振频率为12mhz,则最大定时时间为65536,即65.36ms。时钟要求显示时间精度为妙,而定时器最大定时时间为65.36ms ,小于1s,很显然直接用一个定时器来定时是行不通的。为此,把t0设为定时器模式,t1设为计数器模式,它们都以工作方式1工作,即把tmod赋值01010001b,又由软件来启动或停止中断,则把00000000b赋予tcon。t0定时时间为0.05s,t1计数次数为20,这样可得1s的定时时间。由公式(1)可导出计算初值的公式: (2) 由公式(2)可分别计算出t0和t1的初值:t0初值=65536-50000=15536=3cb0h;t1初值=6553

27、6-20=65516=ffech。第3.3节 t2的设置at89c52除了mcs-51中51子系列所有的定时器/计数器0、定时器/计数器1外,还有一个定时器/计数器2。定时器/计数器2有两个外部输入端(t2和t2ex),两个8位的二进制计数器(th2和tl2),两个重载或捕获寄存器(rcap2l和rcap2h)和两个内部特殊功能寄存器t2con和t2mod。定时器/计数器2的两个外部输入端t2和t2ex分别借用了p1.0和p1.1。t2con、t2mod、rcap2l、rcap2h、tl2和th2这六个寄存器或计数器的内部地址分别为0c8h0cdh,复位后,除了t2mod中未定义的各位值不确定

28、外,其余均为0。t2con中的各位可进行位寻址,其他寄存器或计数器的各位不能按位寻址。t2con(timer/counter2 control)的格式和其各位的功能分别如表3.6和表3.7所示。表3.6 t2con寄存器名:t2con位名称exf2rclktcjkexen2tr2c/cp/ 地址:0c8h位地址0cfh0ceh 0cdh0cch0cbh0cah0c9h 0c8h表3.7 t2con的各位功能符号 功能tf2定时器2溢出标志。定时器2溢出是,又由硬件置位,必须由软件清0。当rclk=1时,定时器2溢出,不对tf2置位。exf2定时器2外部标志。当exen2=1,且当t2ex引脚上

29、出现负跳变而出现捕获或重装载时,exf2置位,申请中断。此时如果允许定时器2中断,cpu将响应中断,执行定时器2中断服务程序,exf2必须由软件清除。当定时器2工作在向上或向下计数工作方式时(decn=1),exf2不能激活中断。rclk接收时钟允许。rclk=1时,用定时器2溢出脉冲作为串行口(工作于工作方式1或3时)的接收时钟,rclk=0,用定时器1的溢出脉冲作为接收时钟。 续表符号 功能tclk发送时钟允许。tclk=1时,用定时器2溢出脉冲作为串行口(工作于工作方式1或3时)的发送时钟,tclk=0,用定时器1的溢出脉冲作为发送脉冲。exen2定时器2外部允许标志。当exen2=1时

30、,如果定时器2未用于作串行口的波特率发生器,在t2ex端出现负跳变脉冲时,激活定时器2捕获或重装载。exen2=0时,t2ex端的外部信号无效。tr2定时器2启动/停止控制位。tr2=1时,启动定时器2c/定时器2定时方式或计数方式控制位。若为0,选择定时方式。若为1,选择对外部事件计数方式(下降沿触发)。cp/捕获/重装载选择。cp/=1时,如exen2=1,且t2ex端出现负跳变脉冲时发生捕获操作。cp/=0时,若定时器2溢出或exen2=1的条件下,t2ex端出现负跳变脉冲,都会出现自动重载操作。当rclk=1或tclk=1时,该位无效,在定时器2溢出是强制其自动重装载。t2mod(ti

31、mer 2 mode control)虽然是定时器/计数器2模式控制器的缩写,但定时器/计数器2的工作模式与t2con更为亲密,t2mod只用了2位,其格式如表3.8所示(寄存器各位不可位寻址)。表3.8 t2mod寄存器名:t2mod位名称t2oedcen 地址:0c9h位地址t2oe是定时器2的输出允许位,置位后,允许t2引脚输出可编程的方波。dcen是定时器2的计数方向控制允许位,置位可允许定时器2进行加/减计数方式。定时器2有三种工作方式:捕获方式,自动重装载(向上或向下计数)方式和波特率发生器,工作方式有t2con的控制位来选择,如表3.9所示表3.9 定时器2工作方式rclk+tc

32、lkcp/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)方式:在捕获方式下,利用外部引脚t2ex(p1.1)上的下降沿,可捕获当前th2和tl2的16位计数值。th2和tl2的计数信号可来自内部基准时钟,此时捕获方式可测得引脚t2ex上两个下降沿之间的时间;th2和tl2计数信号也可来自引脚t2(p1.0)上的脉冲信号,此时的捕获方式可测得t2ex上两个下降边沿周期,t2上所出现的脉冲数。

33、自动重载(auto-reload)方式:自动重载方式可通过t2mod中的dcen位来设置自动重载时的计数方式,dcen=0为加法计数的自动重载方式,dcen=1为可控加/减法计数的自动重载方式。当dcen=0,若exen2=0,定时器2为向上计数至0ffffh溢出,置位tf2激活中断,同时把16位计数寄存器rcap2h和rcap2l重装载,rcap2h和rcap2l的值可由软件设置;若exen2=1,定时器2的16位重载由溢出或外部输入端t2ex从1至0的下降沿触发。这个脉冲使exf2置位,如果中断允许,同样产生中断。波特率发生器(baud rate generator)方式:置位t2con中

34、的tclk或rclk位可将定时器2设置为波特率发生器方式,此时,串行口的发送和接收波特率可以不同,如定时器2作为发送(或接收)波特率发生器方式,而定时器1作为接收(或发送)波特率发生器方式。定时器2是用来产生秒表定时中断的,采用自动重装载(auto-reload)方式工作,即把00000000b赋予t2con。令t2mod中dcen=0, exen2=0,定时器2为向上计数至0ffffh溢出,置位tf2激活中断,同时把16位计数寄存器rcap2h和rcap2l重装载,rcap2h和rcap2l的值可由软件设置。由于秒表要求精度为0.01s,定时器2的定时时间也要为0.01秒。由公式(2)可知:

35、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:110。图3.2 电源电路3.4.2 复位部分如图3.3所示,上电时电容充电,1端低压经非门输出2端为高压,启动复位。当电容充满电后,1端高压经非门输出2端为低压,复位停止。若按下s0,电容开始放电,1端低压经非门输出

36、2端为高压,则启动复位。 图3.3 按键复位电路3.4.3 振荡器部分mcs-51单片机内部有一个用于构成振荡器的高增益反相放大器,引脚xtal1和xtal2分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体及电容一起构成一个自激振荡器,如图3.4所示。 图3.4 振荡器 图中石英晶体为12mhz,两个电容为20pf。单片机一个机器周期包含12个振荡周期,则每个机器周期恰为1。3.4.4 发声部分蜂鸣器与三极管相连,给p3.0口写“1”则蜂鸣器发声,写“0”则蜂鸣器停止发声,如图3.5所示。 图3.5 发声电路3.4.5 显示部分为了使数码管能显示十进制数,必须先由软件将二

37、进制数转换为十进制的bcd码,然后再将十进制数的bcd码经过译码器的译出,经驱动器点亮对应的的段,如图3.6所示。 图3.6 数码管显示电路图中所用的译码器是7447集成显示译码器,输出系为驱动器设计,其逻辑0吸入电流高达40ma,故必须使用电阻加以限流,以免电流过大烧毁显示器。输入端、输出端和数码管显示数字之间的关系如表3.10所示。表3.10 7447功能表输入端:d c b a 输出端:a b c 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

38、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 主程序流程图s1和s4用来选择进入调时模式、调整闹钟模式还是秒表模式。s1按下,s4也按下,则进入调时模式。若此时按下s6键,则时钟小时加一,按下s7分钟加一,然后显示当前时分秒;若s6,s7

39、都不按,则直接显示当前时间。s1按下,s4不按下,则进入闹钟调整模式。若此时按下s6,闹钟小时加一,按下s7,闹钟分加一;若s6,s7都不按,直接按下s4键,则退出闹钟调整模式。s1不按,s4不按,直接按下s7键,开始秒表计时,若没有超过1小时,显示分秒百分秒,若超过1小时,则显示时分秒,再按下s7秒表停止。若按下s6则秒表停止并且时间归0当时钟走到刚好为闹钟设定的时间时,蜂鸣器开始发声鸣叫,按下s1,则蜂鸣器停止鸣叫。第4.2节 中断程序流程图1t2中断程序流程图t2是用来产生秒表中断的,如图4.2所示。百分秒加1百分秒归0秒加1秒归0分加1分归0时加1时归01秒60秒60分24时返回清t2

40、溢出标志t2定时中断nynynyny图4.2 t2中断流程图 2t1中断程序流程图 t1接收到预定的脉冲数后,中断开始,如图4.3所示重装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定时时间为0.05s,每0.05s就在t1入口(p3.5口)形成一个脉冲。t1计数器计数次数为20,接收到20个脉冲(1秒)启动中断。先秒加一,若秒超过59,则秒归0并且分加一;

41、若分超过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)时间显示:按s1键,电子时钟蜂鸣器关闭,这时如按下s4键,则进入调整时分阶段,按下s6键小时加一,按下s7键则分钟加一。如s6、s7都没按,则显示当前时间。(2)闹钟功能:按下s1键,蜂鸣器关闭,

42、此时若没有按下s4键,则进入闹钟调整阶段,按下s6键闹钟小时加一,按下s7键则闹钟分钟加一。若s6、s7都没按,此时程序不停询问是否要改变闹钟时分,只要按下s4键,就可以退出闹钟调整阶段,直接显示当前时间。若当前显示时间正好为设定的闹钟值时,蜂鸣器开启,此时按下s1键就可以关闭蜂鸣器。(3 秒表功能:按下s7键启动秒表,led显示当前的秒表值,若再按下s7则秒表停止,再按下s7则又继续跑动。按下s6键,当前秒表值归0且秒表停止。2设计心得 在这次的毕业设计过程中,我遇到了许多问题。电路原理图的设计是我的弱处,开始时对一些电路不是很了解,经过查找资料与同学探讨,逐渐明白了其中的关键。对程序的理解

43、,一开始没有按照程序流程图来,总觉得模模糊糊,似是而非,后来按照程序流程图一步一步的搞明白了。由于时间和能力问题,本次设计没有进行试验,很是遗憾。但在查找资料的过程中学到很多,同时在协作的过程中增进了同学间的友谊。参考文献1 谢自美电子线路设计实验测试m武汉:华中理工大学出版社,1992.2 何立民单片机应用系统设计m北京:北京航空航天大学出版社,1993.3 楼然笛单片机开发m北京:人民邮电出版社,1994.4 付家才单片机控制工程实践技术m北京:化学工业出版社,2004.3.5 李光才单片机课程设计实例指导m 北京:北京航空航天大学出版社,2004.6 朱定华单片机原理及接口技术实验m北京

44、:北方交通大学出版社,2002.11.7 刘湘涛江世明单片机原理与应用m. 北京:电子工业出版社,2006.8 李群芳. 张士军. 单片微型计算机m. 北京:电子工业出版社 ,2008致 谢首先感谢我的论文指导老师 老师,我的论文是在他的悉心指导下完成的。师严谨细致、一丝不苟的作风一直是我工作、学习中的榜样,他循循善诱的教导和不拘一格的思路给予我无尽的启迪。其次我要感谢我的所有任课老师,在我求学的三年期间,是他们用辛勤的汗水教导了我,是他们用宽容、认真的态度一直感染着我。他们不仅仅教给我知识,还有生活的态度,做人的道理,指引了我人生的道路。再次我要感谢一直陪同我走完大学三年求学之路的同寝室的兄弟们,谢谢他们平时对我无微不至的照顾和关心。我很高兴能生活在一个互助友爱和充满活力的集体中,从他们的身上我学到了很多,同时他们给我的大学生活留下了许多美好的回忆。最后,我要特别感谢我的父母。在我求学的过程中他们付出的不仅仅是辛勤的劳动和汗水,而是世界上最崇高、最伟大的爱。他们所做的一切是我这一生都无法回报的。真诚感谢给予我热情帮助和关注的所有人。附 录电子时钟源程序thhequ31h;时钟小时tmmequ32h;时钟分钟tss equ33h;时钟秒whhe

温馨提示

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

评论

0/150

提交评论