版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 毕业设计(论文) 题 目 单片机多功能定时系统的设计与实现 学 院 信息科学与工程学院 年级专业 02级通信1班 学生姓名 杨甲沛 指导教师 王振裕 专业负责人 答辩日期 燕 山 大 学目 录第1章 绪 论11.1 课题背景11.2 课题来源21.3 本章小结2第2章 mcs-51单片机的结构32.1 控制器32.1.1 程序计数器pc(program counter)32.1.2 指令寄存器ir、指令译码器及控制逻辑电路42.2 存储器的结构42.3 并行i/o口62.4 时钟电路与时序72.5 单片机的工作方式72.6 单片机的性能特点102.7 单片机的应用领域102.8 本章小结11
2、第3章 电路的硬件设计123.1 复位电路123.2 时钟电路133.3 按键电路133.4 相关控制电路143.4.1 加热电路143.4.2 控制打铃电路153.4.3 时间表显示电路163.5 数码管显示电路163.6 电源电路设计173.7 本章小结17第4章 电路的软件设计184.1 软件程序内容184.2 软件流程图184.3 定时程序设计224.3.1实时时钟实现的基本方法224.3.2 实时时钟程序设计步骤234.4 mcs-51的中断234.5 程序说明264.6 本章小结27第5章 电路仿真285.1 仿真结果285.2 仿真中出现的问题及解决办法285.3 本章小结28第
3、6章 结论与展望296.1 结论296.2 单片机的发展趋势29参考文献31附 录32致 谢41第1章 绪 论1.1 课题背景单片机自1976年由intel公司推出mcs-48开始,迄今已有二十多年了。由于单片机集成度高、功能强、可靠性高、体积小、功耗地、使用方便、价格低廉等一系列优点,目前已经渗入到人们工作和生活的方方面面,几乎“无处不在,无所不为”。单片机的应用领域已从面向工业控制、通讯、交通、智能仪表等迅速发展到家用消费产品、办公自动化、汽车电子、pc机外围以及网络通讯等广大领域。按照内部数据通道的宽度,单片机可分为4位、8位、16位及32位等。单片机的中央处理器(cpu)和通用微处理器
4、基本相同,只是增设了“面向控制”的处理功能。例如:位处理、查表、多种地址访问方式、多种跳转、乘除法运算、状态监测、中断处理等,增强了实时性。单片机有两种基本结构形式:一种是在通用微型计算机中广泛采用的,将程序存储器和数据存储器合用一个存储器空间的结构,称为普林斯顿(princeton)结构。另一种是将程序存储器和数据存储器截然分开,分别寻址的结构,一般需要较大的程序存储器,目前的单片机以采用程序存储器和数据存储器截然分开的结构为多。单片微型计算机自从问世以来,作为微型计算机一个很重要的分支,应用广泛,发展迅速,尤其是美国intel公司生产的mcs-51系列单片机,由于其具有集成度高,处理功能强
5、,可靠性高,系统结构简单,价格低廉等优点,在智能仪器仪表、工业检测控制、机电一体化等方面取得了令人瞩目的成就。本文讨论的单片机多功能定时器的核心是目前应用极为广泛的51系列单片机,配置了外围设备,构成了一个可编程的计时定时系统,具有体积小,可靠性高,功能强等特点。不仅能满足所需要求而且还有很多功能可供开发,有着广泛的应用领域。20世纪80年代中期以后,intel公司以专利转让的形式把8051内核技术转让给许多半导体芯片生产厂家,如atmel、philips、analog、devices、dallas等。这些厂家生产的芯片是mcs-51系列的兼容产品,准确地说是与mcs-51指令系统兼容的单片机
6、。这些兼容机与8051的系统结构(主要是指令系统)相同,采用cmos工艺,因而,常用80c51系列来称呼所有具有8051指令系统的单片机,它们对8051单片机一般都作了一些扩充,更有特点。其功能和市场竞争力更强,不该把它们直接称呼为mcs-51系列单片机,因为mcs只是intel公司专用的单片机系列型号。mcs-51系列及80c51单片机有多种品种。它们的引脚及指令系统相互兼容,主要在内部结构上有些区别。目前使用的mcs-51系列单片机及其兼容产品通常分成以下几类:基本型、增强型、低功耗型、专用型、超8位型、片内闪烁存储器型。1.2 课题来源在日常生活和工作中,我们常常用到定时控制,如扩印过程
7、中的曝光定时等。早期常用的一些时间控制单元都使用模拟电路设计制作的,其定时准确性和重复精度都不是很理想,现在基本上都是基于数字技术的新一代产品,这种产品功能强,是前者的换代之物。随着单片机性能价格比的不断提高,新一代产品的应用也越来越广泛,大可构成复杂的工业过程控制系统,完成复杂的控制功能。小则可以用于家电控制,甚至可以用于儿童电子玩具。它功能强大,体积小,质量轻,灵活好用,配以适当的接口芯片,可以构造各种各样、功能各异的微电子产品。随着电子技术的飞速发展,家用电器和办公电子设备逐渐增多,不同的设备都有自己的控制器,使用起来很不方便。根据这种实际情况,设计了一个单片机多功能定时系统,它可以避免
8、多种控制器的混淆,利用一个控制器对多路电器进行控制,同时又可以进行时钟校准和定点打铃。它可以执行不同的时间表(考试时间和日常作息时间)的打铃,可以任意设置时间,可以控制加热器定时工作。这种具有人们所需要的智能化特性的产品减轻了人的劳动,扩大了数字化的范围,为家庭数字化提供了可能。本文介绍的单片机多功能定时系统,功能较多,操作简单,开机后,系统按默认值开始走时,按时间表切换键可以随意选择当前要执行的时间表是日常作息时间表还是考试时间表。可以按键校时,按功能移位键一次,表示要校小时的十位上的数字;再按功能移位键,表示要校小时的个位上的数字;按第三次,则当前校的是分十位;按第四次,表示当前校对分个位
9、上的数字。当时钟与时间表里存储的时间一致时,相应的i/o口控制电铃开始工作;到一定的时间,另外的i/o口控制加热器工作。本设计是针对教学的多功能定时器,定时精确,功能较多,可以完美的完成学校教学时间的控制。在本设计上按照个人的意图稍加扩展,就可以实现更多更强大的功能。1.3 本章小结 本文介绍的设计是针对教学所用的多功能定时器,可以完成教学所需的各种功能。该定时器操作简单,功能齐全,是单片机智能化的一种应用。第2章 mcs-51单片机的结构mcs-51单片机是把那些作为控制应用所必需的基本内容都集成在一个尺寸有限的集成电路芯片上。如果按功能划分,它由如下功能部件组成,即微处理器(cpu)、数据
10、存储器(ram)、程序存储器(rom/eprom)、并行i/o口、串行口、定时器/计数器、中断系统及特殊功能寄存器(sfr)。它们都是通过片内单一总线连接而成,其基本结构依旧是cpu加上外围芯片的传统结构模式。但对各种功能部件的控制是采用特殊功能寄存器(sfr)的集中控制方式。2.1 控制器控制器是单片机的指挥控制部件,控制器的主要任务是识别指令,并根据指令的性质控制单片机各功能部件,从而保证单片机各部分能自动而协调地工作。单片机执行指令是在控制器的控制下进行的。首先从程序存储器中读出指令,送指令寄存器保存,然后送至指令译码器进行译码,译码结果送定时控制逻辑电路,由定时控制逻辑产生各种定时信号
11、和控制信号,再送到单片机的各个部件去进行相应的操作。这就是执行一条指令的全过程,执行程序就是不断重复这一过程。控制器主要包括程序计数器、程序地址寄存器、指令寄存器ir、指令译码器、条件转移逻辑电路及时序控制逻辑电路。2.1.1 程序计数器pc(program counter)程序计数器pc是控制部件中最基本的寄存器,是一个独立的计数器,存放着下一条将要从程序存储器中取出的指令的地址。其基本的工作过程是:读指令时,程序计数器将其中的数作为所取指令的地址输出给程序存储器,然后程序存储器按此地址输出指令字节,同时程序计数器本身自动加1,读完本指令,pc指向下一条指令在程序存储器中的地址。程序计数器p
12、c中内容的变化决定程序的流程。程序计数器的宽度决定了单片机对程序存储器可以直接寻址的范围。在mcs-51单片机中,程序计数器pc是一个16位的计数器,故可对64kb(216=65536=64k)的程序存储器进行寻址。程序计数器的基本工作方式有以下几种:(1) 程序计数器自动加1,这是最基本的工作方式,这也是为何该寄存器被称为计数器的原因。(2) 执行有条件或无条件转移指令时,程序计数器将被置入新的数值,从而使程序的流向发生变化。(3) 在执行调用子程序指令或响应中断时,单片机自动完成如下的操作: 1. pc的现行值,即下一条将要执行的指令的地址,即断点值,自动送入堆栈。2. 将子程序的入口地址
13、或中断向量的地址送入pc,程序流向发生变化,执行子程序或中断子程序。子程序或中断子程序执行完毕,遇到返回指令ret或reti时,、将栈顶的断点值弹到程序计数器pc中,程序的流程又返回到原来的地方,继续执行。2.1.2 指令寄存器ir、指令译码器及控制逻辑电路 指令寄存器ir是用来存放指令操作码的专用寄存器。执行程序时,首先进行程序存储器的读指令操作,也就是根据pc给出的地址从程序存储器中取出指令,并送指令寄存器ir,ir的输出送指令译码器;然后由指令译码器对该指令进行译码,译码结果送定时控制逻辑电路。定时控制逻辑电路根据指令的性质发出一系列的定时控制信号,控制单片机的各组成部件进行相应的工作,
14、执行指令。条件转移逻辑电路主要用来控制程序的分支转移。综上所述,单片机整个程序的执行过程就是在控制部件的控制下,将指令从程序存储器中逐条去处,进行译码,然后由定时控制电路发出各种定时控制信号,控制指令的执行。对于运算指令,还要将运算的结果特征送入程序状态寄存器psw。以主振频率为基准(每个主振周期为振荡周期),控制器控制cpu的时序,对指令进行译码,然后发出各种控制信号,它将各个硬件环节的动作组织在一起.2.2 存储器的结构mcs-51单片机存储器采用的是哈佛(har-vard)结构,即程序存储器空间和数据存储器空间截然分开,程序存储器和数据存储器各有自己的寻址方式,寻址空间和控制系统.这种结
15、构对于单片机”面向控制”的实际应用极为方便,有利.在8051/8751弹片击中,不仅在片内集成了一定容量的程序存储器和数据存储器及众多的特殊功能寄存器,而且还具有极强的外存储器的扩展能力,寻址能力分别可达64kb,寻址和操作简单方便.mcs-51的存储器空间可划分为如如下几类:1. 程序存储器单片机系统之所以能够按照一定的次序进行工作,主要是程序存储器中存放了经调试正确的应用程序和表格之类的固定常数.程序实际上是一串二进制码,程序存储器可以分为片内和片外两部分.8031由于无内部存储器,所以只能外扩程序存储器来存放程序.mcs-51单片机复位后,程序存储器pc的内容为0000h,故系统必须从0
16、000h单元开始取指令,执行程序.程序存储器中的0000h地址是系统程序的启动地址.一般在该单元存放一条绝对跳转指令,跳向用户设计的主程序的起始地址.64k程序存储器中有5个单元具有特殊用途.5个特殊单元分别对应于5种中断源的中断服务程序的入口地址.通常在这些中断入口地址处都放一条绝对跳转指令.加跳转指令的目的是由于两个中断入口间隔仅有8个单元,存放中断服务程序往往是不够用的.在mcs-51单片机的指令系统中,同外部程序存储器打交道的指令仅有两条:(1) movc a a+dptr(2) movc a a+pc2. 内部数据存储器mcs-51单片机内部有128个字节的随机存取存储器ram,作为
17、用户的数据寄存器,它能满足大多数控制型应用场合的需要,用作处理问题的数据缓冲器.mcs-51单片机的片内存储器的字节地址为00h-7fh.mcs-51单片机对其内部ram的存储器有很丰富的操作指令,从而使得用户在设计程序时非常方便.地址为00h-1fh的32个单元是4组通用工作寄存器区,每个区含8个8位寄存器,编号为r7-r0.用户可以通过指令改变psw中的rs1,rs0这二位来切换当前的工作寄存器区,这种功能给软件设计带来极大的方便,特别是在中断嵌套时,为实现工作寄存器现场内容保护提供了极大的方便.地址为20h-2fh的16个单元可进行共128位的位寻址,这些单元构成了1位处理机的存储空间.
18、单元中的每一位都有自己的位地址,这16个单元也可以进行字节寻址.地址为30h-7fh的单元为用户ram区,只能进行字节寻址.3. 特殊功能寄存器(sfr-special function register)特殊功能寄存器反映了mcs-51单片机的状态,实际上是mcs-51单片机各功能部件的状态及控制寄存器.sfr综合的,实际的反应了整个单片机基本系统内部的工作状态及工作方式.sfr实质上是一些具有特殊功能的片内ram单元,字节地址范围为80h-ffh.特殊功能寄存器的总数为21个,离散的分布在该区域中,其中有些sfr还可以进行位寻址.128个字节的sfr块中仅有21个字节是由定义的.对于尚未定
19、义的字节地址单元,用户不能作寄存器使用,若访问没有定义的单元,则将得到一个不确定的随机数.4. 位寻址空间mcs-51单片机的一个很大优点在于它具有一个功能很强的位处理器.在mcs-51单片机的指令系统中,有一个位处理指令的子集,使用这些指令,所处理的数据仅为一位二进制数(0或1).在mcs-51单片机内共有211个可寻址位,它们存在于内部ram(共有128个)和特殊功能寄存器区(共有83个)中.5. 当mcs-51单片机的片内ram不够用时,可在片外扩充数据存储器.mcs-51单片机给用户提供了可寻址64k字节的外扩ram的能力,至于扩多少ram,则根据用户实际需要来定.2.3 并行i/o口
20、mcs-51单片机共有4个双向的8位并行i/o端口(port),分别记作p0-p3,共有32根口线,各口的每一位均由锁存器、输出驱动器和输入缓冲器所组成。实际上p0-p3已被归入特殊功能寄存器之列。这四个口除了按字节寻址以外,还可以按位寻址。由于它们在结构上有一些差异,故各口的性质和功能有一些差异。p0口是双向8位三态i/o口,此口为地址总线(低8位)及数据总线分时复用口,可驱动8个ls型ttl负载。p1口是8位准双向i/o口,可驱动4个ls 型负载。p2口是8位准双向i/o口,与地址总线(高8位)复用,可驱动4个ls型ttl负载。p3口是8位准双向i/o口,是双功能复用口,可驱动4个ls型t
21、tl负载。p1口、p2口、p3口各i/o口线片内均有固定的上拉电阻,当这3个准双向i/o口做输入口使用时,要向该口先写“1”,另外准双向i/o口无高阻的“浮空”状态,故称为双向三态i/o 口。p0-p3口都是并行i/o口,都可用于数据的输入和输出,但p0口和p2口出了可进行数据的输入/输出外,通常用来构建系统的数据总线和地址总线,所以在电路中有一个多路转换开关mux,以便进行两种用途的转换。而p1口和p3口没有构建系统的数据总线和地址总线的功能。因此,在电路中没有多路转接开关mux.由于p0口可作为地址/数据复用线试用,需传送系统的低8位地址和8位数据,因此,mux的一个输入端为”地址/数据”
22、信号.而p2口仅作为高位地址线试用,不涉及数据,所以mux的一个输入信号为”地址”在4个口中只有p0口是一个真正的双向口,p1-p3这三个口都是准双向口.原因是在应用系统中,p0口作为系统的数据总线使用时,为保证数据的正确传颂,需要解决芯片内外的隔离问题,即只有在数据传送时芯片内外才接通;不进行数据传递时,芯片内外处于隔离状态.为此,要求p0口的输出缓冲器是一个三态门.在p0口中输出三态门是由两只场效应管(fet)组成,所以说它是一个真正的双向口.而其他的三个口中,上拉电阻代替p0口中的场效应管,输出缓冲器不是三态的,因此不是真正的双向口,只能称其为准双向口.p3口的口线具有第二功能.为系统提
23、供一些控制信号.因此在p3口电路增加了第二功能控制逻辑.这是p3口与其他各口的不同之处.2.4 时钟电路与时序时钟电路用于产生mcs-51单片机工作时所必需的时钟信号。mcs-51单片机本身就是一个复杂的同步时序电路,为保证同步工作方式的实现,mcs-51单片机应在唯一的时钟信号控制下,严格地按时序执行进行工作,而时序所研究的是指令执行中各个信号的关系。在执行指令时,cpu首先要到程序存储器中取出需要执行的指令操作码,然后译码,并由时序电路产生一系列控制信号去完成指令所规定的操作。cpu发出的时序信号有两类,一类用于片内对各个功能部件的控制,这列信号很多。另一类用于片外存储器或i/o端口的控制
24、,这部分时序对于分析、设计硬件接口电路至关重要。这也是单片机应用系统设计者普遍关心的问题。2.5 单片机的工作方式单片机的工作方式包括:复位方式、程序执行方式、单步执行方式、低功耗操作方式以及eprom编程和校验方式。1. 复位方式rst引脚师复位信号的输入端。复位信号是高电平有效。高电平有效的持续时间应为24个振荡周期以上。若时钟频率为6mhz,则复位信号至少应持续4us以上,才可以使单片机复位。复位以后,07h写入栈指针sp,p0-p3口均置1(允许输入),程序计数器pc和其他特殊功能寄存器sfr全部清零。只要该脚保持高电平,mcs-51便循环复位。当rst端由高变低后,mcs-51由ro
25、m的0000h开始执行程序。mcs-51的复位操作不影响内部ram的内容。当vcc加电后,ram的内容是随机的。单片机的复位方式有上电自动复位和手工复位两种。2. 程序执行方式程序执行方式是单片机的基本工作方式。所执行的程序可以在内部rom、外部rom或者同时放在内外rom中。若程序放在外部rom中(如对8031),则应使=0,否则,可使=1。由于复位之后pc=0000h,所以程序的执行总是从地址0000h开始的。但真正的程序一般不可能从0000h开始存放,因此,需要在0000h单元开始存放一条转移指令,从而使程序跳转到真正的程序入口地址。3. 单步执行方式单步执行方式是使程序的执行处于外加脉
26、冲(通常用一个按键产生)的控制下,一条指令一条指令地执行,即按一次键,执行一条指令。单步执行方式可以利用mcs-51的中断控制来实现。其中断系统规定:从中断服务程序返回以后至少要执行一条指令后才能重新进入中断。将外加脉冲加到输入,平时为低电平。通过编程规定使信号低电平有效,因此不来脉冲时总是处于响应中断的状态。在中断服务中要安排这样的指令:jnb p3.2 $ ;不往下执行jb p3.2 $ ;不往下执行reti ;返回主程序执行一条指令因此,只有/int0上来一个正脉冲,才能通过第一、第二两条指令,返回主程序并执行一条指令,由于此时已回到0,故重新进入中断,在第一条指令处等待正脉冲的到来。从
27、而实现来一个脉冲执行一条指令的单步操作。4. 低功耗操作方式cmos型单片机有两种低功耗操作方式:节电操作方式和掉电操作方式。在节电方式时,cpu停止工作,而ram、定时器、串行口和中断系统继续工作。在掉电方式时,仅给片内ram供电,片内所有其他的电路均不工作。cmos型单片机用软件来选择操作方式,由电源控制寄存器pcon中的有关位控制。这些有关的位是:idl(pcon.0) ;节电方式位。idl=1时,激活节电方式pd(pcon.1) ;掉电方式位。pd=1时,激活掉电方式gf0(pcon.2) ;通用标志位gf1(pcon.3) ;通用标志位(1)节电方式一条将idl位置1的指令执行后,m
28、cs-51就进入节电方式。这时提供给cpu的时钟信号被切断,但时钟信号仍提供给ram、定时器、中断系统和串行口,同时cpu的状态被保留起来,也就是栈指针sp、程序计数器pc、程序状态字psw、累加器acc及通用寄存器的内容。在节电方式下, vcc仍为5v,但消耗电流由正常工作方式的24ma降为3.7ma。可以有两条途径退出节电方式恢复到正常方式。一条途径是有任一种中断被激活,此时idl位将被硬件清除,随之节电状态被结束。中断返回时将回到进入节电方式的指令后的一条指令,恢复到正常方式。pcon中的标志位gf0和gf1可以用作软件标志,若置idl=1的同时也置gf0=gf1=1,则节电方式中激活的
29、中断服务程序查询到此标志便可以确定服务的性质。推出节电方式的另一种方法是靠硬件复位,复位后pcon中各位均被清零。(2)掉电方式一条将pd位置1的指令执行后,80c51就进入掉电工作方式。掉电后,片内振荡器停止工作,时钟冻结,一切工作都停止,只有片内ram的内容被保持,sfr内容也被破坏。掉电方式下vcc可以降到2v,耗电仅50a。退出掉电方式恢复正常工作方式的唯一途径是硬件复位,应在vcc恢复到正常值后再进入复位,复位时间需10ms时间,以保证振荡器再启动并达到稳定,实际上复位本身只需24个振荡周期(2-4 us)。但在进入掉电方式前,vcc不能掉下来,因此要有掉电监测点路。5. eprom
30、编程和校验方式对于内部集成有eprom的mcs-51单片机,可以进入编程或校验方式。(1)内部eprom编程编程时,时钟频率应在4mhz-6mhz的范围内,其余有关引脚的接法和用法如下:1)p1口和p2口的p2.0-p2.3为eprom的4kb的高地址输入,p1口为低8位地址;2)p2.4-p2.6以及/psen应为低电平;3)p0口为编程数据输入;4)p2.7和rs应为高电平,rst的高电平可为2.5v,其余的都以ttl的高低电平为准;5)/vpp端加+12.5v的编程脉冲,此电压要求稳定,不能大于12.5v,否则会破坏eprom;在/vpp出现正脉冲期间,ale/prog端上加50ms的负
31、脉冲,完成一次写入。8751的eprom编程一般要用专门的单片机编程器来完成。(2)eprom程序校验在程序的保密位尚未设置,无论在写入的当时或写入之后,均可将片上程序存储器的内容读出进行校验。在读出时,除p2.7脚保持为ttl低电平之外,其他引脚与eprom的连接方式相同。要读出的程序存储器单元地址由p1口和p2口的p2.0-p2.3送入,p2口的其他引脚及/psen保持低电平,ale、/ea和rst接高电平,校验的单元内容由p0口送出。在校验操作时,需在p0口、p1口和p2口的p2.0-p2.3的状态随意。加上编程脉冲后就可使保密位写入。保密位一旦写入,内部程序存储器便不能再被写入和读出校
32、验,而且也不能执行外部程序存储器的程序。只有eprom全部擦除时,保密位才能一起擦除,也才可以再次写入。2.6 单片机的性能特点单片机把各功能部件集成在一块芯片上,因此它结构紧凑、超小型化、可靠性高、价格低廉、易于开发应用。它的的主要特点是:(1)集成度高。在单片机芯片中,除中央处理器 cpu之外,还有存储器rom/ram,i/o接口电路、定时器/计数器等部件,因此集成度高,在几至几十平方毫米的芯片上可制作上万个晶体管电路。(2)结构紧凑、可靠性高。单片机把各功能部件集成在一块芯片上,采用内部总线结构,减少了多片机中各芯片之间的连线,大大提高了单片机的抗干扰能力。另外,单片机超小型化、结构紧凑
33、、体积小,对于强磁场环境易于采取屏蔽措施,因而抗干扰能力强,可靠性高,适合在一些恶劣环境中工作。(3)数据处理能力强、速度快。单片机除具有一般微处理器的数据处理能力外,在一系列产品(如mcs-51)的指令系统中,增加了乘除法指令及布尔(二进制)处理机功能,提高了数据处理能力。同时,由于中央处理器与存储器在同一芯片上,因而减少了多片之间数据传递所需时间,提高了数据处理速度。例如mcs-51的cpu,采用12mhz时钟时,单字节乘除法仅需要6.5us。(4)功耗小、成本低。单片机结构紧凑,数据传送路径短,所需要功耗小;内部采用准静态ram类似,但不需要刷新,可使功耗下降。单片机内部电路虽然比相应微
34、处理器芯片复杂,但是一旦设计好后,进入批量生产,成本不会提高。单片机内部设置一定容量的只读存储器rom/eprom,用于存储用户的专用程序,这些程序称之为内部程序。内部程序可由厂方在制作芯片时代为烧制,也可由用户自己写入,这样可使单片机成为具有不同特殊功能的专用机,易于形成产品。2.7 单片机的应用领域单片机应用领域可以归纳为以下几个方面。1智能仪表用单片机系统取代老式的测量、控制仪表,实现从模拟仪表向数字化、智能化仪表的转化,如各种温度仪表、压力仪表、流量仪表、电能计量仪表等。 2. 测控系统 用单片机取代原有的复杂的模拟数字电路,完成各种工业控制、数据采集系统等工作。 3电能变换 应用单片
35、机设计变频调速控制电路。 4通信 用单片机开发通信模块、通信器材等。 5机电产品 应用单片机检测、控制传统的机械产品,使传统的机械产品结构简化,控制智能化,提高了机电产品的可靠性,增强了产品的功能 6智能接口在数据传输中,用单片机实现外部设备与微机通信。2.8 本章小结 本章介绍了单片机的一些基本硬件结构。单片机是微计算机的一个分支,在原理和结构上,单片机与微型机之间没有根本性的差别,而且微计算机的许多技术都被单片机继承下来。单片机的基本结构依然是cpu加上外围芯片的传统结构模式,但对各种功能部件的控制是采用特殊功能寄存器的集中控制方式。第3章 电路的硬件设计3.1 复位电路 mcs-51单片
36、机的复位是由外部的复位电路来实现的。复位引脚rst通过一个斯密特触发器与复位电路相连,斯密特触发器用来抑制噪声,在每个机器周期的s5p2,斯密特触发器的输出电平由复位电路采样一次,然后才能得到内部复位操作所需要的信号。复位电路通常采用上电自动复位和按钮复位两种方式。 上电复位:上电复位电路是种简单的复位电路,只要在rst复位引脚接一个电容到vcc,接一个电阻到地就可以了。上电复位是指在给系统上电时,复位电路通过电容加到rst复位引脚一个短暂的高电平信号,这个复位信号随着vcc对电容的充电过程而回落,所以rst引脚复位的高电平维持时间取决于电容的充电时间。为了保证系统安全可靠的复位,rst引脚的
37、高电平信号必须维持足够长的时间。 手动复位:手动复位需要人为在复位输入端加高电平让系统复位。一般采用的方法是在rst端和正电源vcc之间接一个按键,当按下按键后,vcc和rst端接通,rst引脚处有高电平,而且按键动作一般是数十毫秒、大于两个机器周期的时间,能够安全的让系统复位。本电路采用的是上电复位方式。电路图如下:上电自动复位是通过外部复位电路的电容充电来实现的。只要vcc的上升时间不超过1ms,就可以实现自动上电复位。除了上电复位外,有时还需要按键手动复位。按键手动复位有电平方式和脉冲方式两种。3.2 时钟电路时钟是单片机的心脏,单片机各功能部件的运行都是以时钟频率为基准,有条不紊的一拍
38、一拍地工作。因此,时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。常用的时钟电路有两种方式:一种是内部时钟方式,另一种为外部时钟方式。本文用的是内部时钟方式。电路图如下:mcs-51单片机内部有一个用于构成振荡器的高增益反相放大器,该高增益反向放大器的输入端为芯片引脚xtal1,输出端为引脚xtal2。这两个引脚跨接石英晶体振荡器和微调电容,就构成一个稳定的自激振荡器。3.3 按键电路 按键是一组常开的按键开关,每个按键都被赋予一个代码,称为键码.按键的开关状态通过一定的电路转换为高、低电平状态。按键闭合过程在相应的i/o端口形成一个负脉冲。闭合和释放过程都要经过一定
39、的过程才能达到稳定,这一过程是处于高、低电平之间的一种不稳定状态,称为抖动。抖动持续时间的常长短与开关的机械特性有关,一般在5-10ms之间。为了避免cpu多次处理按键的一次闭合,应采用措施消除抖动。本文在软件中采用了相应的软件程序来消除抖动。当发现有键按下时,延时10-20ms再查询是否有键按下,若没有键按下,说明上次查询结果为干扰或抖动;若仍有键按下。则说明闭合键已稳定。 本文采用的是独立式按键,直接用i/o口线构成单个按键电路,每个按键占用一条i/o口线,每个按键的工作状态不会产生互相影响。 电路图如下: p1.0口表示功能移位键,按键选择要调整的时十位、时个位、分十位或分个位。 p1.
40、1口表示数字“+“键,按一下则对应的数字加1。 p1.2口表示数字“-”键,按一下则对应的数字减1。 p1.3口表示时间表的切换,程序默认为日常时间表,当按下该开关,使输入为低电平时,表示当前执行的是考试时间表,并有绿发光二极管显示。再按键,使键抬起,输入维高电平时,表示当前执行的是日常作息时间表,用红发光二级管显示。3.4 相关控制电路3.4.1 加热电路p1.4口控制继电器进而控制加热器的工作。主程序查询控制加热的标志位,当该标志位为1,p1.4输出高电平,控制继电器闭合,从而合上开关,启动加热器进行工作。当加热一定时间时,标志位置0,p1.4改变状态,输出低电平,控制继电器断开,从而打开
41、开关,加热器停止加热。电路图如下:3.4.2 控制打铃电路p1.5口控制继电器进而控制电铃工作。当时钟当前的时间和当前所执行的时间表的时间一致时,相应得标志位为1,p1.5口输出高电平,控制继电器闭合,从而合上开关,启动电铃进行打铃。打铃一定时间,标志位置0,p1.5输出低电平,继电器打开,电铃停止工作。电路图如下:3.4.3 时间表显示电路因为该电路可以执行两个时间表,即正常作息时间表和考试时间表。为了能够从外观上看出当前正在执行的是那种时间表,为此,在电路中加上了红、绿两个不同的发光二极管,当红发光二极管接通时,表示当前正在执行日常作息时间表;当绿发光二极管接通时则表示当前正在执行的是考试
42、时间表。有了红绿两发光二极管表示,就可以明显看出当前执行的是何种时间表,不会混淆。电路图如下: 3.5 数码管显示电路 数码管显示器成本低,配置灵活,与单片机接口简单,在单片机应用系统中广泛应用。1.数码管的工作原理数码管是由8个发光二极管构成的显示器件。在数码管中,若将二极管的阳极连在一起,称为共阳极数码管;若将二极管的阴极连在一起,称为共阴极数码管。本文用到的6个数码管均是共阴极的。当发光二极管导通时,它就会发光。每个二极管就是一个笔划,若干个二极管发光时,就构成了一个显示字符。将单片机的i/o口控制相应的芯片与数码管的a-g相连,高电平的位对应的发光二极管亮,这样,由i/o口输出不同的代
43、码,就可以控制数码管显示不同的字符。例如:当i/o口控制芯片输出的代码是00111111时,数码管显示的字符为0。这样形成的显示字符的代码称为显示代码或段选码。2.数码管显示器与单片机的接口电路 数码管显示器有两种工作方式,即静态显示方式和动态显示方式。在静态显示方式下,每位数码管的a-g和h端与一个8位的i/o相连。要在某一位数码管上显示字符时,只要从对应的i/o口输出并锁存其显示代码即可。其特点是:数码管中的发光二极管恒定地导通或截止,直到显示字符改变为止。动态显示方式的每位数码管都需要一个数据锁存器,因此,其硬件电路比较复杂。但它的显示程序法常简单。选择动态显示方式,可以使耗电量更小。在
44、动态显示方式中,各位数码管的a-h并联在一起,与单片机系统的一个i/o口相连,从该i/o口输出显示代码。每只数码管的共阴极则与另一i/o口相连,控制被点亮的位。动态显示方式的特点是:每一时刻只能有1位数码管被点亮,各位依次轮流被点亮;对于每一位来讲,每隔一段时间点亮一次。为了每位数码管能够充分被点亮,二极管应持续发光一段时间。利用发光二极管的余辉和人眼的驻留效应,通过适当地调整每位数码管被点亮的时间间隔,可以观察到稳定的显示输出。本文的6个数码管均采用动态显示方式,显示当前的时间。整个显示电路应用了2个164芯片,1个244芯片。第一个164芯片把从单片机传出的串行数据转换成并行数据。164只
45、能存储8位数据,因此,当单片机输出第9-14位数据的时候,第一个164芯片中的8位数据就被传到第二个164芯片中,这8位数据就是段选信号,控制数码管将要显示的字符。第9-14位数据输出后,控制244芯片的单片机的p1.7口置为高电平,244芯片选通。这六位数据经过244芯片以后是片选信号,即控制动态显示的是哪一位数码管。在片选信号和段选信号的控制下,数码管就正确的动态显示当前的时间。由于选用的是7段译码器,因此没有用到数码管的h段,不能在数码管中显示小数点。在时、分、秒的间隔处用了两个红发光二极管表示小数点。3.6 电源电路设计电源电路包括变压器、桥式整流器、电容和稳压器。通过变压器变压,使得
46、220v电压变为6 v,在通过桥式整流,电容的滤波作用,稳压器的稳压作用,可输出6v的稳定电压。由于单片机的工作电压是5v,二极管上的电压降一般为0.7v。因此,在电源的输出端,再串联一个二极管降压,就可得到所需的5v电压。3.7 本章小结本章介绍的是本设计的硬件结构,单片机的相关i/o口输入输出就可以实现相应的控制功能。还介绍了单片机的复位电路和时钟电路。 第4章 电路的软件设计4.1 软件程序内容本设计的软件程序包括主程序、中断子程序、打铃子程序、加热子程序、时钟显示子程序、查询时间表切换程序和延时子程序等等。另外由于电路中有四个按键,还另外设计了防抖动程序来防止干扰。4.2 软件流程图软
47、件程序整个流程图如下:查询“-”键时十位减1查询功能移位键2次开始初始化时钟运行查询功能移位键1次切换到时十位查询“+”键查询是否按时间表切换键切换时间表时十位加1 是否是 否 是 否 是 否 否是查询“+”键切换到分十位分十位加1查询“-”键分十位减1切换到时个位查询“+”键查询“-”键时个位加1时个位减1查询功能移位键3次 是 否 是 否 否 是 是 否 是 否查询是否加热调用加热子程序当前时间与时间表时间是否匹配调用打铃子程序查询功能移位健4次查询“+”键分个位加1查询“-”键分个位减1查询功能移位键 否 是 是 否 是 否 是 否 是 否 是 否4.3 定时程序设计 在工业检测、控制中
48、,许多场合都要用到计数或定时功能。例如,对外部脉冲进行计数、产生精确的定时时间等。mcs-51单片机内有两个可编程的定时器/计数器t1、t0,已满足这方面的需要。两个定时器/计数器都具有定时器和计数器两种工作模式。单片机的定时功能也是通过计数器的计数来实现的,此时的计数脉冲来自单片机的内部,即每个机器周期产生一个计数脉冲,也就是每经过1个机器周期的时间,计数器加1。如果mcs-51采用的12mhz晶体,则计数频率为1mhz,即每过1us的时间计数器加1。这样可以根据计数值计算出定时时间,也可以根据定时时间的要求计算出计数器的初值。mcs-51单片机的定时器/计数器具有4种工作方式(方式0、方式
49、1、方式2和方式3),其控制字均在相应的特殊功能寄存器中,通过对特殊功能寄存器的编程,可以方便的选择定时器/计数器两种工作模式和4种工作方式。定时器/计数器工作在方式0时,为13位的计数器,由tlx(x=0、1)的低5位和thx的高8位所构成。tlx低5位溢出则向thx进位,thx计数溢出则置位tcon中的溢出标志位tfx.当定时器/计数器工作于方式1,为16位的计数器。本设计师单片机多功能定时器,所以mcs-51内部的定时器/计数器被选定为定时器工作模式,计数输入信号是内部时钟脉冲,每个机器周期产生一个脉冲使计数器增1。4.3.1实时时钟实现的基本方法时钟的最小计时单位是秒,但使用定时器的方
50、式1,最大的定时时间也只能达到131ms。我们可把定时器的定时时间定为50ms。这样,计数溢出20次即可得到时钟的最小计时单位:秒。而计数20次可以用软件实现。(1)计数初值得计算:由于使用定时器的方式1,进行50ms定时。单片机的晶振频率是12mhz,为得到50ms的定时,设计数初值为x,则:(216- x)*1*10-6=5*10-2因而:x=15536=0011110010110000b=3cb0h(2)秒、分、时计时的实现秒计时是采用中断方式进行溢出次数的累积,计满20次,即得到秒计时。从秒到分,从分到时是通过软件累加并进行比较的方法来实现的。要求每满1秒,则“秒”单元中的内容加1;“秒”单元满60,则“分”单元中的内容加1;“分”单元满60,则“时”单元中的内容加1;“时”单元满24,则将时、分、秒的内容全部清零。4.3.2 实时时钟程序设计步骤(1)选择工作方式,计算初值;(2)采用中断方式进行溢出次数累计;(3)从秒分时的计时是通过累加和数值比较实现的;(4)时钟显示缓冲区:时钟时间在方位数码管上进行显示,为此在内部ram中要设置显示缓冲区,共6个地址单元。显示缓冲区从左到右依次存放时、分、秒数值;(5)主程序:主要进行定时器/计数器的初始化编程,然后反复调用显示子程序的方法等待
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《蔡和森民生思想研究》
- 《ANQ公司股权激励案例研究》
- 2024年南京客运上岗考试都考什么题
- 2024年河北小型客运从业资格证理论考题
- 2024年合肥客运考试答案
- 2024年台州赤峰客运从业资格证模拟考试
- 2023届新高考化学选考一轮总复习训练-第22讲 化学反应速率
- 2024年客运资格证实操题库
- 可恢复功能防震结构研究综述
- 五年制高职信息技术“课证融通”课程体系构建探析
- 消毒供应中心技能考核操作评分标准
- 莲藕的贮藏保鲜技术
- 油气地质储量计算及评价
- 【2023高血压患者服药依从性研究(论文)2800字】
- 宽带接入合同
- 阴阳五行学说 PowerPoint 演示文稿 全面版【PPT课件】
- 测定总糖原始记录
- 混凝土强度自动评定表格
- 大学生心理稿范文800字(优选9篇)-1
- 北京科技大学EMC-VNX5300实施文档
- 氨分解制氢安全技术要求3
评论
0/150
提交评论