转速表计数器的设计制作.doc_第1页
转速表计数器的设计制作.doc_第2页
转速表计数器的设计制作.doc_第3页
转速表计数器的设计制作.doc_第4页
转速表计数器的设计制作.doc_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

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

文档简介

转速表计数器的设计制作摘要本文论述了基于单片机的计数器功能来实现对主轴所感应信号的记忆,利用单片机的定时功能通过转换输出转速,根据转速计算出喷油次数,利用MAX232串行接口来实现单片机与微机间的数据通信的设计思想,并给出了相应的实现方法。基于单片机的转速表计数器的设计制作主要是利用AT89C52单片机作为程序的载体,通过汇编语言来编制程序对所采集到的数据进行处理和存储,利用按键来实现对喷油次数的预置数功能,并选用24C02串行EEPROM芯片对喷油次数进行掉电存储,且串行EEPROM采用I2C总线形式,后又在此系统上附加了油温的测量功能,油温检测采用比较新型的DS18B20一线测温技术,通过数码管将转速、喷油次数和油温显示出来,操作简单,功能全面。有时候单片机组成的电子设备可能要和计算机联机传输数据,因为在许多需要大量计算的应用中,还必须借助计算机的强大数据处理能力。这样必须通过通信电路实现单片机与计算机之间可靠的数据传输,而最简单的自动化联机方式就是使用串行通信。本设计采用单片机的异步收发器完成单片机和计算机之间的串行通信,外围电路为通过MAX232和计算机接口的电路,从而可以借助计算机的强大数据处理能力。关键词:AT89C52,MAX232,单片机,通信,DS18B20IThe Design and Production ofTachometer CounterABSTRACTThis article discusses the counter based on MCU function to achieve the right axis sensor signal by the memory, Timing MCU function by converting the output speed, speed calculated according to the number of fuel injection, realized data communication between the MCU and the microcomputer design thought using the MAX232 serial interface, and has produced the corresponding realization method.Mainly is does based on the MCU of the design and production of tachometer counter using the AT89C52 for the procedure carrier, storage and handle to the gathers data through the compilation language, using the pressed key to realizes the pre-placed number function of the blow number of times, and selecting the 24C02 serial EEPROM chip to memory the blow number of times without electricity, also serial EEPROM uses the form of I2C main line, then the system imposed on the oil temperature measurement function, the examination of oil temperature uses DS18B20s 1-wire temperature measure technology, the rotational speed, injection frequency and the oil temperature demonstrated through the digital tube, operation is simple, the function is comprehensive.Sometimes electronic installation composed by the MCU transmission data possibly must on-line with the computer, because in many applications which needs massively to calculate, but also must with the help of the support from the computers formidable data-handling capacity. This must through the communication circuit realization between MCU and the computer the reliable data transmission, but the simple automated on-line way is the use serial communication. This design uses the MCUs asynchronous transceiver completes the serial communication between the computer, the periphery electric circuit for through MAX232 and electric circuit connection the computer, thus may draw support from the computer the formidable data-handling capacity.KEY WORDS:AT89C52,MAX232,MCU,communication,DS18B20,serial目录前言1第1章 问题的提出21.1 转速喷油次数及油温测量的重要意义21.2 喷油泵实验台系统的现状及发展趋势2第2章 设计方案与分析42.1 转速及喷油次数测量的方案与分析42.1.1 主芯片的选择42.1.2 实现方法简介42.1.3 方框流程图42.2 油温测量的方案与分析52.2.1 芯片的选择52.2.2 实现方法简介52.2.3 方框流程图52.3 数码显示模块方案与分析62.4 串口通信的方案与分析72.4.1 通信标准的选择与分析72.4.2 通信芯片的选择72.5 掉电存储模块的方案与分析82.5.1 芯片的选择82.5.2 实现方法简介82.6 信号整形模块的方案与分析9第3章 硬件电路分析103.1 主控电路模块原理图103.2 掉电存储模块原理图113.3 数码显示模块原理图113.4 串口通信模块原理图123.5 信号整形模块原理图133.6 测温模块原理图14第4章 软件编程154.1 主程序流程图154.2 程序分析164.2.1 掉电存储子程序164.2.2 数码显示子程序184.2.3 中断服务子程序204.2.4 测温子程序22第5章 主要芯片功能简介245.1 AT89C52的功能简介245.1.1 内部结构245.1.2 外部引脚说明255.1.3 编程方法285.2 DS18B20的功能简介285.2.1 DS18B20芯片简介285.2.2 内部结构305.2.3 典型接口设计315.3 串行EEPROM的功能简介325.3.1 24C02的功能简介325.3.2 I2C总线技术简介325.4 MAX232的功能简介335.4.1 内部结构335.4.2 通信标准分析345.5 LM339N的功能简介36结论38参考文献39致谢40附录4157前言石油是一种不可再生的宝贵能源,地球上的存储量是有限的,我国更是短缺,对此国家提出了可持续发展战略,即合理地利用现有的能源,而本设计正是基于这个大的方向而进行的。各种机动车辆是石油的最大消费者,而车内油泵的性能更是直接决定了石油的利用率的高低,我经常看到一些汽车或农机车辆在速度很低的情况下排出浓浓的黑烟,这不但增加了对环境的污染,更重要是浪费了宝贵的资源,其主要原因就是油泵性能的下降,这时就需要对油泵进行人为的校正,而在对油泵的校正过程中,转速、喷油次数和油温的测量是至关重要,是油泵性能的重要指标,所以本设计是非常有必要的,也是具有一定现实的意义的,特别是有重要的经济意义。早期的测量仪器基本都是用COMS、TTL等集成电路搭接而成,这种仪器使用电子元件很多,成本较高,其测量精度却不高。而本设计是用单片机测量转速、喷油次数和油温,则非常精确和方便,可以大大的提高油泵对石油的利用率,并且单片机与微机通信易于实现,更是加大了对结果的可视性和可操控性。在本设计中,利用AT89C52芯片内部T0、T1定时器/计数器产生中断,对接收到的信号脉冲进行检测,从而测出油泵主轴转速,进而算出喷油次数,且在增加的油温测量系统中采用比较新型的DS18B20一线测温技术,精确到小数点后一位,并用数码管直观显示;为满足校正人员操作的要求,另配置按键对喷油次数进行设定;为方便校正,利用I2C总线技术扩展一外部存储器对所设定的喷油次数进行掉电存储,避免了在同一要求下的重设定操作;另外,利用单片机串口通信技术实现单片机与微机的通信,便于对操作过程进行实时监控。鉴于以上优点,本次设计是有必要性和现实意义的。河南科技大学本科毕业设计(论文)第1章 问题的提出1.1 转速喷油次数及油温测量的重要意义随着我国汽车工业的迅猛发展,能源短缺问题变得越来越严重,2003年我国石油年进口量超过日本,成为全球第二大进口国,2004年,我国进口原油1.17亿吨,而且近年都在增加,因而车用发动机的节能降耗问题显得越来越重要。柴油机与汽油机相比具有较好的经济性与动力性,因而柴油机得到越来越广泛的应用,以前采用汽油机的轿车也开始向柴油机过渡。随着人们对环保意识的提高,对汽车尾气的排放要求也在逐渐提高,国产汽车的排放目前要求达到欧n标准。影响柴油机性能的主要因素之一是喷油系统,喷油泵是柴油机的心脏,喷油泵的各种技术参数对柴油机的各项性能指标:柴油机加速性能、油耗大小、尾气排放量、工作噪音的大小、动力性能等影响极大,因此喷油泵性能的好坏直接决定着柴油机的动力性、经济性及尾气排放量。准确测试喷油泵的各种技术参数对提高柴油机的经济性、动力性、可靠性、耐久性和降低排污量、噪声、烟度等具有十分重要的意义。1.2 喷油泵实验台系统的现状及发展趋势由于本论文的整体构思是以喷油泵试验台为基础的,本小节对喷油泵试验台做一下简单介绍。喷油泵试验台是各汽车、柴油机制造和修理厂研制、生产、检验、调整喷油泵不可缺少的设备。喷油泵试验台的主要用途是检测和调整喷油泵在各种工况时的喷油量及各缸喷油间隔角。衡量喷油泵试验台性能和质量的一个重要指标就是喷油量测量的精确性,它还需要对主轴转速、喷油次数进行精确测量。国内喷油泵试验台按动力调速分为:(1) J系列:机械式传动变速喷油泵试验台,如12PSJ55/75型。(2) Y系列:液压无级变速传动喷油泵试验台,如12PSY55/75型。(3) D系列:电子控制无级变速喷油泵试验台,如12PSD55/75型。(4) W系列:变频无级调速喷油泵试验台,如12PSW55/75型。J系列正在被淘汰,仅有很少的厂家生产,Y系列生产的数量比D系列和W系列少得多,目前颇具竞争力的主要是D系列和W系列。据统计,国内各厂家目前普遍生产的试验台,主要是滑差式离合器的传动变速和交流变频器调速两种类型的产品。W系列由于其关键部件变频器均为进口,且技术含量高,故价格偏高19。喷油泵测试时所需的条件参数均可由仪表测量数字显示。喷油泵调试参数主要是各缸油量,目前测试还是以玻璃筒计量为主,但这种测量方式的最大缺点是测量过程缓慢。国外现在能利用计算机测控技术及传感器对油泵的喷油量进行快速、连续的测量,这正是国产喷油泵试验台与国外先进产品之间真正差距所在。国内喷油泵实验台系统的发展要求试验台的自动化程度要高,如喷油量快速数字化测量等。今后喷油泵试验台的技术发展应主要集中在充分利用计算机测控技术,使油泵调试中的各项条件和技术参数的测量完全以数字化方式自动测量,以适应喷油泵产品技术不断提高的需要。国外在喷油泵试验台自动测试技术方面的研究走在前列,德国Moehwald公司研制成功的EP32000型、RPB2000型油泵试验台采用KMM测量系统可以连续地测量各缸喷油量,既能用屏幕显示喷油量,又能打出每行程或多次的喷油量,还能利用计算机半自动地检测喷油泵。美国的Bacharach公司研制的PDFM808型燃油喷射测量系统采用CRT显示喷油量、转速及测量误差。它可以测量单缸以及多至8缸的喷油量,还可以测定某一个缸的每行程喷油量;可以按顺序自动地显示各缸的总喷油量,平均喷油量,单缸喷油量,也可连续不断地测量。国外喷油泵试验台的发展趋势是采用先进的电子技术研制微机测量及数字显示系统,按国际标准改进结构提高测试精度,主要特点是数字显示压力、温度、转速与计数,过去喷油泵试验台采用的机械式转速表、弹簧压力表和压力式指示温度计,很难达到国际标准1。第2章 设计方案与分析2.1 转速及喷油次数测量的方案与分析2.1.1 主芯片的选择考虑到本设计需要比较精确的测量油泵主轴转速且需要与微机进行通信,对定时器和计数器的使用较多,所以采用AT89C52作为设计主体控制芯片。AT89C52具有三个定时器(计数器)可以利用定时器T2作为固定的波特率发生器,这样可以提高主程序的运行速度,并且提高转速及喷油次数测量的准确性。2.1.2 实现方法简介当主轴每转一圈时,感应器都会产生六十个不太规则的信号,每个信号经过硬件电路整形,形成规则的脉冲信号。用计数器来对整形后的脉冲进行计数,每来一个脉冲计数器便中断一次,在每一次中断子程序中对某一地址的固定寄存器进行加1操作。利用定时器定时,每隔一秒钟去读取寄存器的数据经过换算便是主轴目前的转速。其中计数功能由计数器T0来实现,通过设置初始值使其每计数一次便溢出标志位为1,并产生一次中断,每一次中断便对固定的寄存器加1。利用定时器T1来产生十毫秒一次的中断,每中断一百次(即1秒钟)便去读固定寄存器的数据,将数据通过一系列转换并通过数码管显示出来。此外还要对喷油次数进行计算,主轴每转一圈,喷油嘴便会喷一次油,当提取到转速的数据后调用一个双字节的除法子程序,用提取到的数据做除以六十的操作,便可以得出目前的喷油次数。2.1.3 方框流程图图2-1方框流程图2.2 油温测量的方案与分析2.2.1 芯片的选择本设计的测温系统采用芯片DS18B20,DS18B20是DALLAS公司的最新单线数字温度传感器,它的体积小、适用电压更宽、更经济,DS18B20是世界上第一片支持“一线总线”接口的温度传感器,一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念,它的测量温度范围为55125,在1085范围内,精度为0.5,现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性,适合恶劣环境的现场温度测量2。2.2.2 实现方法简介本设计中,DS18B20采用外接电源方式工作,一线测温的一线与AT89C52的P0.4脚连接并加上拉电阻使其工作,测出的数据存放在寄存器里,将数据经过一系列转换后由按键控制是否送LED显示。2.2.3 方框流程图图2-2 方框流程图2.3 数码显示模块方案与分析设计中使用八块八段共阴极数码管作为显示载体,通过八路并口传输,共使用了十六个I/O口,具体连接如表2-1:表2-1 数码管连接段名称I/O名称位名称I/O口名称AP1.0C0P2.0BP1.1C1P2.1CP1.2C2P2.2DP1.3C3P2.3EP1.4C4P2.4FP1.5C5P2.5GP1.6C6P2.6DPP1.7C7P2.7显示时采用循环移位法,即八位数码管依次循环点亮,利用人眼睛的视觉暂留效果达到连续显示,主程序每运行一遍便调用一次显示子程序,将数据显示出来。设计中用AT89C52芯片的P1管脚作为数码管的段选,用AT89C52芯片的P2管脚作为数码管的位选;为了设计的方便,采用了集成芯片ULN2803A作为位选的驱动(即三极管位选作用)。ULN2803A内部为八个高压大电流达林顿管阵列,1-8脚为输入,11-18脚为输出,9脚为接地端,10脚保护二极管公共阴极。其管脚结构如图2-3:图2-3 ULN2803A管脚图该方法的优点是编程简单,显示实时性比较强。2.4 串口通信的方案与分析2.4.1 通信标准的选择与分析RS232和RS485是美国电子工业协会(EIA)批准的连接串行通信设备的串行通信接口标准。多数PC机都用RS232与鼠标、调制解调器、打印机以及其他的外围设备连接进行通信联络。RS232和RS485也广泛用于AV行业中的设备控制。例如,在投影显示系统中,常由集中控制系统主机的RS232接口与投影机、矩阵切换器等RS232接口连接,实现对其控制3。RS232和RS485二种标准的主要区别在于使用平衡信号和非平衡信号。RS232采用非平衡信号,而RS485采用平衡信号。目前,在现代演示和通信系统中,平衡和非平衡串行通信都被应用。究竟采用哪一种,主要取决于传输距离和电器噪声二个因素。在传输距离小于30米,并且环境电器噪声较小情况下,最好采用非平衡RS232,在传输距离较长,但小于300米,或者环境电器噪声影响必需考虑时,最好采用平衡RS485。针对于本设计的传输距离短和环境电器噪声比较小的具体情况,因此采用了RS232标准。2.4.2 通信芯片的选择本设计使用的是由德州仪器公司(TI)推出的一款兼容RS232标准的芯片MAX232,常用连接见图2-4:图2-4MAX232原理图2.5 掉电存储模块的方案与分析2.5.1 芯片的选择在本设计中,为了方便进行实际操作的校对人员,减少对每次校对的重复操作,因此增加了掉电存储功能,此功能对设定的喷油次数进行存储,方便在下一次操作时直接使用,提高工作效率。因为所要存储的数据每次都被刷新,因而选择了24C02串行EEPROM芯片,AT24C02是美国ATMEL公司的低功耗串行EEPROM,它是内含256*8位存储空间,具有工作电压宽(2.55.5V),可擦写次数多(大于10000次),写入速度快等优点。2.5.2 实现方法简介在本设计中,采用了I2C总线技术,AT24C02的1、2、3脚是三条地址线,用于确定芯片的硬件地址。8脚和4脚分别为正、负电源,5脚SDA为串行数据输入/输出,数据通过这条双向I2C总线串行传送,本设计中与AT89C52芯片的P3.2管脚连接,6脚SCL为串行时钟输入线,与AT89C52芯片的P3.3管脚连接,7脚需要接地。2.6 信号整形模块的方案与分析由于本设计中采用信号采集的方法是:在喷油泵主轴一周刻上均匀的六十个齿轮,每个齿轮经过磁感应器时都会产生一个信号脉冲,在连续转动的时候就会产生连续的脉冲,所产生信号脉冲为弱正弦波,为使采集信号达到准确要求,需要对所产生信号进行整形,使其经过一系列的滤波、运放等方式,最后输出适合采集的方波信号。次方案中用到了电容、二极管、LM339等电子元件。其中LM339集成块内部装有四个独立的电压比较器,该电压比较器的特点是:(1) 失调电压小,典型值为2mV。(2) 电源电压范围宽,单电源为2-36V,双电源电压为1V-18V。(3) 共模范围很大,为0(Ucc-1.5V)Vo。(4) 差动输入电压范围较大,大到可以等于电源电压。(5) 输出端电位可灵活方便地选用。第3章 硬件电路分析3.1 主控电路模块原理图图3-1主控模块原理图AT89C52的40(VCC)管脚接高电平,20(GND)管脚接低电平;9(RESET) 管脚要接上复位电路,保证每次上电后单片机自动复位;31(EA/VP)管脚必须接高电平(VCC),此管脚是读取片外存储器的控制端,低电平有效,接高电平时,读取片内存储器。18(XTAL2)管脚和19(XTAL1)管脚接时钟发生电路。这样就构成了最小单片机应用系统4。P1.0、P1.1、P1.2、 P1.3、P1.4、P1.5 、P1.6、P1.7管脚分别与数码管的8段A、B、C、D、E、F、G、DP连接,作为数码显示的段选控制端;P2.0、P2.1、P2.2、P2.3、P2.4、P2.5、P2.6、P2.7管脚与驱动ULN2803A连接,作为数码显示的位选控制端;T0口为检测转速脉冲输入口;TXD和RXD为与微机串行通信接口;INT0和INT1为串行EEPROM接口;P3.6、P3.7、P0.4为按键连接口;P0.7为测温芯片DS18B20的DQ连接口,由于P0口没有上拉电阻,因此在使用次接口时要加外部上拉电阻。其中按键功能如表3-1所示:表3-1 按键功能按键名称实现功能S1控制喷油次数计数的开始与结束S2对喷油次数进行设定S3油温显示控制键3.2 掉电存储模块原理图图3-2掉电存储电路此模块中,24C02芯片的第1、2、3、4、7管脚接地,第5管脚与INT0(P3.2)连接,第6管脚与INT1(P3.3)连接,第8管脚接电源。3.3 数码显示模块原理图图3-3数码显示电路如图3-3中所示P1口为段选控制端,P2口为位选控制端,八位数码管均为共阴极的,其型号为SM120801K在本设计中实际使用为0.8寸。3.4 串口通信模块原理图图3-4中TXD和RXD分别与单片机对应的管脚相连,DIN和DOUT分别与PC机后面的串口COM1口的3和2管脚相连,MCU的晶振频率为11.0592M/HZ,与PC机通信的波特率为19200bps,每次传送8位数据,还有一个起始位和一个停止位。图3-4串行通信模块原理图3.5 信号整形模块原理图图3-5 信号整形模块原理图图中FIN点为磁感应信号脉冲输入端,经过滤波、运放后由LM339N的第2管脚输出到AT89C52芯片的T0口。3.6 测温模块原理图图3-6 测温模块原理图图中DS18B20测温芯片的VDD端接+5V电源,GND端接地,DQ端接AT89C52芯片的P0.7口,采用外部电源供电方式。从图中可以看到,DS18B20以串行通信的方式与微控制器进行数据通信,读出或者写入数据仅需要一根I/O接口线。DS18B20数字温度传感器主要包括:寄生电源、温度传感器、64位激光ROM和单总线接口、存放中间数据的高速暂存器RAM、用于存储用户设定温度上下限值的TH和TL触发器、存储和控制逻辑、8位循环冗余校验码(CRC)发生器等7部分,其详细内容介绍见第五章。第4章 软件编程4.1 主程序流程图开 始写控制字S3为0S1为0S2为0为键盘扫描预 置计 数送预置数温度测量数据处理送计数值送测温数据送转速数据数码显示返回图4-1 主程序流程图4.2 程序分析4.2.1 掉电存储子程序READ: LCALL BEGN ;开始信号 MOV A, #0A0H ;从地址 LCALL TB MOV A, #10H ;字地址 LCALL TB LCALL BEGN LCALL BEGN ;开始信号 MOV A,#0A1H ;从地址 LCALL TB LCALL RB ;读24C02的10H MOV STAKK, A ;存入89C52的STAKK CLR P3.3 ;主器件应答 SETB P3.2 NOP NOP SETB P3.3 NOP NOP LCALL RB ;读24C02的11H MOV STAKKK, A ;存入89C52的STAKKK CLR P3.3 ;主器件不应答 SETB P3.2 NOP NOP SETB P3.3 NOP NOP LCALL STOP ;结束信号 RETWRITE: LCALL BEGN ;数据写入24C02的10H,11H MOV A, #0A0H LCALL TB MOV A, #10H LCALL TB MOV A, STAKK LCALL TB MOV A, STAKKK LCALL TB LCALL STOP RET TB: MOV R6, #08H ;发送一字节子程序 TB1: CLR P3.3 NOP RLC A MOV P3.2, C SETB P3.3 NOP DJNZ R6, TB1 CLR P3.3 SETB P3.2 NOP NOP SETB P3.3 TB2: MOV A,P3 JB P3.2, TB2 RET RB: MOV R7, #08H ;接收一字节子程序 CLR P3.3 SETB P3.2 NOP NOP RB1: SETB P3.3 NOP MOV C, P3.2 RLC A CLR P3.3 NOP DJNZ R7, RB1 RET BEGN: SETB P3.3 ;开始信号子程序 SETB P3.2 CLR P3.2 NOP NOP CLR P3.3 RET STOP: CLR P3.3 ;结束信号子程序 CLR P3.2 NOP NOP SETB P3.3 SETB P3.2 RET4.2.2 数码显示子程序DISPLAY: MOV A,DISBUF0 MOV DPTR,#SEG MOVC A,A+DPTR MOV P1,A ;送段选控制码 MOV P2,#00000001B ;开显示即位选:数码管1 LCALL DELAY1 MOV P2,#00000000B ;关显示 MOV A,DISBUF6 MOV DPTR,#SEG MOVC A,A+DPTR MOV P1,A ;送段选控制码 MOV P2,#01000000B ;开显示即位选:数码管7 LCALL DELAY1 MOV P2,#00000000B MOV A,DISBUF0 MOV DPTR,#SEG MOVC A,A+DPTR MOV P1,A ;送段选控制码 MOV P2,#10000000B ;开显示即位选:数码管8 LCALL DELAY1 MOV P2,#00000000B RET ; (00) (01) (02) (03) (04) SEG: DB 03FH,006H,05BH,04FH,066H ; (05) (06) (07) (08) (09) DB 06DH,07DH,007H,07FH,06FH另外,在按键S3按下显示温度时,由于有小数的存在,所以在显示温度时,在送入DISBUF5的值且查表结束后需要以下操作,把小数点DP点亮: MOV A,#80H MOV P1,A MOV P2,#00100000B LCALL DELAY MOV P2,#00000000B LCALL DELAY NOP4.2.3 中断服务子程序1. 串行中断服务子程序当单片机检测到SUBF的内容为“74H”时,便向微机发送数据,这些位数据包括四位转速数据、四位喷油次数、四位油温数据、四位预置数,由键盘控制此时输出的数据,具体操作如下: JNB TI , $ CLR TI JNB RI , $ CLR RI部分源程序和程序流程如下:SSINT: NOP CLR ES PUSH ACC PUSH PSW JNB RI , SIN SJMP SIN1 SIN: AJMP SINT SIN1: MOV A, SBUF CLR RI CJNE A,#74H, SIN2 SJMP SIN3 SIN2: AJMP SINT SIN3: MOV SBUF, #74H JNB TI, $ CLR TI NOP MOV SBUF , DISBUF0 JNB TI , $ CLR TI NOP MOV SBUF ,DISBUF7 JNB TI, $ CLR TI NOP LJMP SINT SINT: NOP POP PSW POP ACC CLR TI CLR RI SETB ES RETI2. 定时中断服务子程序TIME1: PUSH Acc PUSH PSW MOV TH1, #0D8H MOV TL1, #0F0H DJNZ ZSCS, TIME1RET ;自减100次定时一秒 MOV ZSZH, JSZH MOV ZSZL, JSZL ;读取所转圈数 MOV JSZL, #00H MOV JSZH, #00H MOV ZSCS, #64TIME1RET: POP PSW POP ACC RETI程序中定时器T0产生十毫秒一次的中断,每中断一百次便去读固定寄存器的数值,将数值通过一系列转换并通过数码管显示出来。3. 计数中断服务子程序TIME0: PUSH ACC PUSH PSW MOV A, #01H CLR C ADD A, JSZL MOV JSZL, A CLR A ADDC A, JSZH MOV JSZH, A JNB BZW0.1, TIME01 MOV A, #01H CLR C ADD A, AAL00 MOV AAL00, A CLR A ADDC A, AAH00 MOV AAH00, A TIME01: POP PSW POP ACC RETI4.2.4 测温子程序主机控制DS18B20完成温度转换必须经过三个步骤:初始化、ROM操作指令、存储器操作指令。必须先启动DS18B20开始转换,再读出温度转换值。本设计一线仅挂接一个芯片,使用默认的12位转换精度,外接供电电源,可写出完成一次转换并读取温度值子程序RDTMP。RDTMP: CLR RS1 CLR RS0 LCALL RESET ;复位 MOV A,#0CCH LCALL WRITE00 ;发跳过ROM命令 MOV A,#44H LCALL WRITE00 ;发启动转换命令 LCALL RESET ;复位 MOV A,#0CCH LCALL WRITE00 ;发跳过ROM命令 MOV A,#0BEH ;发读存储器命令 LCALL WRITE00 LCALL READ00 MOV A,3DH MOV YWK9,A ;温度值低位字节送YWK9 LCALL READ00 MOV A,3DH MOV YWK10,A ;温度值高位字节送YWK10 RET然后按照温度值字节的表示格式及其符号位,经过简单的变换即可得到实际温度值,而后再经过计算便送至数码管显示。第5章 主要芯片功能简介5.1 AT89C52的功能简介5.1.1 内部结构AT89C52是美国ATMEL公司生产的低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的只读程序存储器(PEROM)和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,与标准MCS51指令系统及8052产品引脚兼容,片内通用8位中央处理器(CPU)和Flash存储单元,AT89C52单片机适合于许多较为复杂控制的应用场合。其管脚图见图5-1:图5-1AT89C52管脚图主要功能特性见表5-1:表5-1AT89C52主要特性参数表兼容MCS51指令系统8k可反复擦写(1000次)Flash ROM32个双向I/O口256x8bit内部RAM3个16位可编程定时/计数器中断时钟频率0-24MHz2个串行中断可编程UART串行通道2个外部中断源共6个中断源2个读写中断口线3级加密位低功耗空闲和掉电模式软件设置睡眠和唤醒功能从图5-2可以看出,AT89C52单片机组成结构中包括运算器、控制器、片内存储器、I/O口、串行口、定时器/计数器、中断系统、振荡器等功能部件。图5-2AT89C52内部结构框图5.1.2 外部引脚说明AT89C52单片机具有8K Flash程序存储器、256字节RAM、32个I/O口、3个16位定时/计数器、6矢量的两级中断结构、1个全双工的串行通信口、片内振荡器和时钟电路。此外,在工作频率为0Hz时具有静态逻辑功能,并且支持两种软件编程的电源存储模式。空闲模式时,CPU停止工作,但数据存储器RAM、定时/计数器、串行口和中断系统继续工作。节能模式时,会保存RAM内的数据,振荡器停振,片内所有功能失去作用。要等到有硬件复位到来时才会退出节能模式5。RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对Flash存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。在此期间,当访问外部数据存储器,将跳过两次PSEN信号。EA/VPP:外部访问允许。欲使CPU仅访问外部程序存储器(地址为0000HFFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接VCC端),CPU则执行内部程序存储器中的指令。Flash存储器编程时,该引脚加上+12V的编程允许电源VPP,当然这必须是该器件是使用12V编程电压VPP。XTAL1:振荡器反相放大器输入端。XTAL2:振荡器反相放大器的输出

温馨提示

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

评论

0/150

提交评论