《毕业设计论文基于单片机的数字电压表.doc》由会员分享,可在线阅读,更多相关《毕业设计论文基于单片机的数字电压表.doc(30页珍藏版)》请在三一办公上搜索。
1、郑州轻工业学院本科毕业设计(论文) 题 目 _基于单片机的数字电压表_ _学生姓名 李 琛 专业班级 自动化04-2 学 号 204401010217 院 (系) 电气信息工程学院 指导教师 赵 志 永 完成时间 2008 年 6 月 5 日 基于单片机的数字电压表摘要随着电子科学技术的发展,电子测量成为广大电子工作者必须掌握的手段,对测量的精度和功能的要求也越来越高,而电压的测量甚为突出,因为电压的测量最为普遍。本设计在参阅了大量前人设计的数字电压表的基础上,利用单片机技术结合A/D转换芯片构建了一个直流数字电压表。本文首先简要介绍了设计电压表的主要方式以及单片机系统的优势;然后详细介绍了直
2、流数字电压表的设计流程,以及硬件系统和软件系统的设计,并给出了硬件电路的设计细节,包括各部分电路的走向、芯片的选择以及方案的可行性分析等。近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,在多方面显示出了它的优势,值得进一步学习和研究。但是仅单片机方面的知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,加以完善。关键词 单片机(MCU) A/D转换 ADC0809 Digital Voltmeter Based on MicrocontrollerABSTRACTWith the development of electronic science and tech
3、nology, electronic measuring a vast number of electronic workers must have the means to measure the accuracy and function of increasingly high requirements, and voltage measurement is obvious, because the measured voltage is most common. The design see a lot of our predecessors in the design of digi
4、tal voltage meter on the basis of using SCM technology with A / D converter chip Construction of a DC voltage digital form. This paper briefly introduced the design voltage meter and the main form of the advantages of SCM system and then described in detail the number of DC voltage meter design proc
5、esses, systems and software and hardware system design, and gives details of the hardware circuit design, Including the direction of the circuit, chip and the choice of the feasibility analysis. In recent years, with the rapid development of science and technology, SCM applications are continually d
6、eepening, in many ways to display its advantages, it is worth further study and research. However, only the knowledge SCM is not enough, the structure should be based on specific hardware and application-specific characteristics of the target software combination, to be perfect. Key words Microcontr
7、oller (MCU),A / D converter,ADC0809目 录摘要IABSTRACTII1 引言12 系统原理及基本框图33 硬件电路设计43.1 输入电路43.2单片机芯片选择43.3 A/D转换器与单片机接口电路83.3.1 A/D转换器芯片选择83.3.2 A/D 转换电路93.3.3 ADC0809 A/D转换器93.4 LED数码管123.4.1 性能特点123.4.2 性能简易检测133.4.3 使用注意事项133.5 通讯模块143.6报警电路的设计144 软件设计及流程图154.1程序设计内容154.2程序流程框图154.3 C51程序(见附录3)164.4 通讯
8、模块程序设计16结束语18致 谢20参考文献21附 录 一22附 录 二251 引言在电量的测量中,电压、电流和频率是最基本的三个被测量,其中电压量的测量最为经常。而且随着电子技术的发展,更是经常需要测量高精度的电压,所以数字电压表就成为一种必不可少的测量仪器。数字电压表(Digital Voltmeter)简称DVM,它是采用数字化测量技术,把连续的模拟量(直流或交流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。由于数字式仪器具有读数准确方便、精度高、误差小、灵敏度高和分辨率高、测量速度快等特点而倍受青睐。本设计从各个角度分析了由单片机组成的数字电压表的设计过程及各部分电路的组成及
9、其原理,并且分析了程序如何驱动单片机进而使系统运行起来的原理及方法。本设计主要分为两部分:硬件电路及软件程序。而硬件电路又大体可分为单片机系统电路、分压电路、A/D转换电路、LED显示电路及语音报读电路,各部分电路的设计及原理将会在硬件电路设计部分详细介绍;程序的设计使用C语言编程,利用Keil 软件对其编译和仿真,其流程框图将会在软件设计部分给出。 以下将对数字电压表的发展及特点进行论述。数字电压表自从一九五二年问世以来,随着电子技术的飞跃发展,特别是目前,作为测量仪表、模拟指示仪表的数字化以及自动测量的系统,而得到了很大的发展。一、数字仪表的发展趋势采用新技术、新工艺,由LSI和VLSI构
10、成的新型数字仪表及高档智能仪器的大量问世,标志着电子仪器领域的一场革命,也开创了现代电子测量技术的先河。新型数字仪表的发展主要有四个方向: 1.广泛采用新技术,不断开发新产品 2.向模块化发展新一代数字仪表正朝着标准模块化的方向发展。预计在不久的将来,许多数字仪表将由标准化、通用化、系列化的模块所构成,给电路设计和安装调试、维修带来极大方便。表面安装技术(SMT)和表面安装元器件(SMD)将获得普遍应用。这项技术被誉为世界电子工艺技术的一项重要突破。所谓表面安装是将微型化的表面安装集成电路(SMIC)和表面安装元件,用粘贴工艺直接安装在印刷板上,再用波峰焊接机焊接,由此取代传统的打孔焊接工艺,
11、使印刷板安装密度大为增加,可靠性得到明显提高。 3.多重显示仪表为彻底解决数字仪表不便于观察连续变化量的技术难题,“数字/模拟条图”双显示仪表已成为国际流行款式,它兼有数字仪表准确度高、模拟式仪表便于观察被测量的变化过程及变化趋势的两大优点。模拟条图大致分成三类:液晶(LCD)条图,呈断续的条状,这种显示器的分辨力高、微功耗,体积小,低压驱动,适于电池供电的小型化仪表。等离子体(PDP)光柱显示器,其优点是自身发光,亮度高,显示清晰,观察距离远,分辨力较高,缺点是驱动电压高,耗电较大。LED光柱,它是又多只发光二极管排列而成。这种显示器的亮度高,成本低,但象素尺寸较大,功耗高,驱动电路复杂。
12、4.操作简单化 二、数字电压表的特点 1.显示清晰直观,读数准确传统的模拟式仪表必须借助于指针和刻度盘进行读数,在读数过程中不可避免的会引入人为的测量误差。数字电压表则采用先进的数显技术,使测量结果一目了然,只要仪表不发生跳读现象,测量结果就是唯一的。新型数字电压表还增加了标志符显示功能,包括测量项目、符号单位和特殊符号、为解决DVM不能反映被测电压的连续变化过程以及变化趋势这一难题,一种“数字/模拟条图”仪表业已问世。“模拟图条”有双重含义:第一,被测量为模拟量;第二,利用条状图形来模拟被测量的大小及变化趋势。这类仪表将数字显示与高分辨率模拟条图显示集于一身,兼有DVM与模拟电压表之优点。智
13、能数字电压表均带微处理器和标准接口,可配合计算机和打印机进行数据处理或自动打印,构成完整的测试系统。准确度是测量结果中系统误差与随机误差的综合。 2.分辨率高,测量范围宽数字电压表在最低电压量程上末位1个字所代表的电压值,称为仪表的分辨力,它反映仪表灵敏度的高低。分辨力随显示位数的增加而提高。分辨率是指所能显示的最小数字(零除外)与最大数字的百分比。多量程DVM一般可测量01000V直流电压,配上高压探头还可测上万伏的高压。 3.扩展能力强在数字电压表的基础上,还可扩展成各种通用及专用数字仪表、数字多用表(DMM)和智能仪表,以满足不同的需要。 4.测量速度快数字电压表在每秒钟内对被测电压的测
14、量次数,叫测量速率,单位是“次/S”。它主要取决于A/D转换器的转换速率,其倒数是测量周期。 5.输入阻抗高 ,集成度高,微功耗数字电压表具有很高的输入阻抗,通常为10M10000M,最高可达1T。 并且新型数字电压表普遍采用CMOS大规模集成电路,整机功耗很低。 6.抗干扰能力强 5位以下的DVM大多采用双积分式A/D转换器,其串模抑制比、共模抑制比各别可达100dB、80120dB。高档DVM还采用数字滤波、浮地保护等先进技术,进一步提高了抗干扰能力,共模抑制比可达180dB。 2 系统原理及基本框图如图1所示,模拟电压经过档位切换到不同的分压电路衰减后,经隔离干扰送到A/D转换器进行A/
15、D转换,然后送到单片机中进行数据处理。处理后的数据送到LED中显示,同时通过串行通讯与上位机通信。AT89S52单片机A/D转换器4位LED显示器报警电路 模拟电压输入量程控制电路通讯模块MAX232图1 系统基本方框图3 硬件电路设计3.1 输入电路 图2 量程切换开关 图3 衰减输入电路输入电路的作用是把不同量程的被测的电压规范到A/D转换器所要求的电压值。智能化数字电压表所采用的单片逐次逼近式A/D转换器ADC0809,它要求输入电压0-5V。本仪表设计是0-500V电压,灵敏度高所以可以不加前置放大器,只需衰减器,如图3所示9M、900K、90K、和10K电阻构成1/10、1/100、
16、1/1000的衰减器。衰减输入电路可由开关来选择不同的衰减率,从而切换档位。为了能让CPU自动识别档位,还要有图2的硬件连接。3.2单片机芯片选择单片机采用MCS-51系列单片机。由ATMEL公司生产的AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。在单芯片上,拥有灵巧的8 位CPU 和在线系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、有效的解决方案。AT89S52具有以下标准功能: 8k字节Flash,256字节RAM,3
17、2 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。而且,它还具有一个看门狗(WDT)定时/计数器,如果程序没有正常工作,就会强制整个系统复位,还可以在程序陷入死循环的时候,让单片机复位而不用整个系统断电,从而保护你的硬件电路。AT89S52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,2个16位可编程定时计数
18、器,2个全双工串行通信口,片上Flash允许程序存储器在系统可编程,亦适于常规编程器。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。单片机选用的ATMEL公司的AT89S52,如图4所示。该芯片具有低功耗、高性能的特点,是采用CMOS工艺的8位单片机,与AT89C51完全兼容。AT89S52还有以下主要特点: 采用了ATMEL公司的高密度、非易失性存储器(NV-SRAM)技术; 其片内具有256字节RAM,8KB的可在线编程(ISP)FLASH存储器; 有2种低功耗节电工作方式:空闲模式和掉电模式 片内含有一个看门狗定时器(WDT),W
19、DT包含一个14位计数器和看门狗定时器复位寄存器(WDTRST),只要对WDTRST按顺序先写入01EH,后写入0E1H,WDT便启动,当CPU由于扰动而使程序陷入死循环或“跑飞”状态时,WDT即可有效地使系统复位,提高了系统的抗干扰性能。图 4 AT89S52引脚图单片机管脚说明:VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门流。当P0口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉
20、高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流。当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”
21、时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89S52的一些特殊功能口,如下表所示:管脚备选功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部
22、输入)P3.5 T1(记时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址
23、上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大
24、器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。AT89S52的引脚图如下图所示:图5 AT89S52的引脚图3.3 A/D转换器与单片机接口电路3.3.1 A/D转换器芯片选择A/D转换器是模拟量输入通道中的一个环节,单片机通过A/D转换器把输入模拟量变成数字量再处理。随着大规模集成电路的发展,目前不同厂家已经生产出了多种型号的A/D转换器,以满足不同应用场合的需要。如果按照转换原理划分,主要有3种类型,即双积分式A/D转换器、逐次逼近式A/D转换器和并行式A/D转换器。目前最常用的是双积分和逐次逼近式。双积分式A/D转换器具有抗干扰能力强、转换精度高、价格便宜等优点,比
25、如ICL71XX系列等,它们通常带有自动较零、七段码输出等功能。与双积分相比,逐次逼近式A/D转换器的转换速度更快,而且精度更高,比如ADC0808、ADC0809等,它们通常具有8路模拟选通开关及地址译码、锁存电路等,它们可以与单片机系统连接,将数字量送单片机进行分析和显示。本次设计采用ADC0809逐次逼近式A/D转换器。3.3.2 A/D 转换电路A/D 转换器的转换精度对测量电路极其重要,它的参数关系到测量电路性能。本设计采用逐次逼近式A/D转换器。3.3.3 ADC0809 A/D转换器ADC0809是带有8位A/D转换器、8路多路开关以及微处理机兼容的控制逻辑的CMOS组件。它是逐
26、次逼近式A/D转换器,可以和单片机直接接口。 (1)ADC0809的内部逻辑结构 图6 ADC0809的内部逻辑结构由上图可知,ADC0809由一个8路模拟开关、一个地址锁存与译码器、一个A/D转换器和一个三态输出锁存器组成。多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。三态输出锁器用于锁存A/D转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据。 (2)引脚结构 图7 ADC0809IN0IN7:8条模拟量输入通道。 ADC0809对输入模拟量要求:信号单极性,电压范围是05V,若信号太小,必须进行放大;输入的模拟量在转换过程中应该保持
27、不变,如若模拟量变化太快,则需在输入前增加采样保持电路。 地址输入和控制线:4条。 ALE为地址锁存允许输入线,高电平有效。当ALE线为高电平时,地址锁存与译码器将A,B,C三条地址线的地址信号进行锁存,经译码后被选中的通道的模拟量进转换器进行转换。A,B和C为地址输入线,用于选通IN0IN7上的一路模拟量输入。通道选择表如下表所示。CBA选择的通道000IN0001IN1010IN2011IN3100IN4101IN5110IN6111IN7数字量输出及控制线:11条。 ST为转换启动信号。当ST上跳沿时,所有内部寄存器清零;下跳沿时,开始进行A/D转换;在转换期间,ST应保持低电平。EOC
28、为转换结束信号。当EOC为高电平时,表明转换结束;否则,表明正在进行A/D转换。OE为输出允许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。OE1,输出转换得到的数据;OE0,输出数据线呈高阻状态。D7D0为数字量输出线。 CLK为时钟输入信号线。因ADC0809的内部没有时钟电路,所需时钟信号必须由外界提供,通常使用频率为500KHZ, VREF(),VREF()为参考电压输入。 2 ADC0809应用说明 (1) ADC0809内部带有输出锁存器,可以与AT89S51单片机直接相连。 (2) 初始化时,使ST和OE信号全为低电平。 (3) 送要转换的哪一通道的地址到A,B,C端口
29、上。 (4) 在ST端给出一个至少有100ns宽的正脉冲信号。 (5) 是否转换完毕,我们根据EOC信号来判断。 (6) 当EOC变为高电平时,这时给OE为高电平,转换的数据就输出给单片机了。 ADC0809 采用双列直插式封装,共有28 条引脚,各管脚的功能分四组简述如下:1、模拟信号输入IN0IN7: IN0-IN7 为八路模拟电压输入线,加在模拟开关上,工作时采用时分割的方式,轮流进行A/D 转换。2、地址输入和控制线 :地址输入和控制线共4 条,其中ADDA、ADDB 和ADDC 为地址输入线,用于选择IN0-IN7 上哪一路模拟电压送给比较器进行A/D 转换。ALE 为地址锁存允许输
30、入线,高电平有效。当ALE 线为高电平时,ADDA、ADDB和ADDC 三条地址线上地址信号得以锁存,经译码器控制八路模拟开关通路工作。3、数字量输出及控制线(11 条):START 为“启动脉冲”输入线,上升沿清零,下降沿启动ADC0809 工作。EOC 为转换结束输出线,该线高电平表示AD 转换已结束,数字量已锁入“三态输出锁存器”。D0-D7 为数字量输出线,D7 为最高位。ENABLE 为“输出允许”线,高电平时能使D0-D7 引脚上输出转换后的数字量。4、电源线及其他(5 条):CLOCK 为时钟输入线,用于为ADC0809 提供逐次比较所需,一般为640kHz 时钟脉冲。Vcc 为
31、+5V 电源输入线,GND 为地线。+VREF 和-VREF 为参考电压输入线,用于给电阻网络供给标准电压。+VREF 常和VDD 相连,-VREF 常接地。ADC0809 芯片性能特点: 是一个逐次逼近型的A/D 转换器,外部供给基准电压;单通道转换时间116us;分辨率为8 位,带有三态输出锁存器,转换结束时,可由CPU 打开三态门,读出8 位的转换结果;有8 个模拟量的输入端,可引入8 路待转换的模拟量。3.4 LED数码管3.4.1 性能特点LED数码管的主要特点如下:(1)能在低电压、小电流条件下驱动发光,能与CMOS、ITL电路兼容。(2)发光响应时间极短(01s),高频特性好,单
32、色性好,亮度高。(3)体积小,重量轻,抗冲击性能好。(4)寿命长,使用寿命在10万小时以上,甚至可达100万小时。成本低。因此它被广泛用作数字仪器仪表、数控装置、计算机的数显器件。3.4.2 性能简易检测LED数码管外观要求颜色均匀、无局部变色及无气泡等,在业余条件下可用干电池作进一步检查。现以共阴数码管为例介绍检查方法。将3伏干电池负极引出线固定接触在LED数码管的公共负极端上,电池正极引出线依次移动接触笔画的正极端。这一根引出线接触到某一笔画的正极端时,那一笔画就应显示出来。用这种简单的方法就可检查出数码管是否有断笔(某笔画不能显示),连笔(某些笔画连在一起),并且可相对比较出不同笔划发光
33、的强弱性能。若检查共阳极数码管,只需将电池正负极引出线对调一下,方法同上。利用数字万用表的hFE插口能够方便地检查LED数码管的发光情况。选择NPN挡时,C孔带正电,月孔带负电。例如检查LTS547R型共阴极LED数码管时,从E孔插入一根单股细导线,导线引出端接9极(第脚与第脚在内部连通,可任选一个作为);再从C孔引出一根导线依次接触各笔段电极,可分别显示所对应的笔段。3.4.3 使用注意事项(1)检查时若发光暗淡,说明器件已老化,发光效率太低。如果显示的笔段残缺不全,说明数码管已局部损坏。(2)对于型号不明、又无管脚排列图的LED数码管,用数字万用表的h距挡可完成下述测试工作:判定数码管的结
34、构形式(共阴或共阳);识别管脚;检查全亮笔段。预先可假定某个电极为公共极,然后根据笔段发光或不发光加以验证。当笔段电极接反或公共极判断错误时,该笔段就不能发光。本设计中的4位LED数码管采用动态显示。图8 4位数码管3.5 通讯模块89S52内部已集成通信接口URT,只需扩展一片MAX232芯片将输出信号转换成RS-232协议规定的电平标准, MAX232 是一种双组驱动器/接收器,每个接收器将EIA/TIA-232-E电平输入转换为5VTTL/CMOS电平。每个驱动器将TTL/CMOS输入电平转换 为 EIA/TIA-232-E电平。即EIA接口,就是把5V转换为-8V到-15V电位0V转换
35、为8V到15V再经RXD输出,接收时由RXD输入,把-8V到-15V电位转换为5V,8V到15V转换为0V。MAX232的工作电压只需5V,内部有振荡电路产生正负9V电位。MAX232引脚功能图如下图所示。图9 MAX232引脚功能图3.6报警电路的设计报警是指在被测量的电压超出了电压表所能测量的范围时,电压表发出的信号。图10 报警电路在这次的设计中,采用蜂鸣器报警。其电路如图10所示:由于电压表能够进行量程的自动切换,因此当单片机收到超量程信号时,单片机通过设置P3.5为“1”,蜂鸣器就开始报警,直到检测到超量程信号消失,单片机设置P3.5为“0”,蜂鸣器停止报警,在这里三极管起开关的作用
36、。4 软件设计及流程图4.1程序设计内容由于ADC0809在进行A/D转换时需要有CLK信号,而此时的ADC0809的CLK是接在AT89S51单片机的P3.3端口上,也就是要求从P3.3输出CLK信号供ADC0809使用。因此产生CLK信号的方法就得用软件来产生了。 由于ADC0809的参考电压VREFVCC,所以转换之后的数据要经过数据处理,在数码管上显示出电压值。实际显示的电压值(D/256*VREF)。开始启动一次转换A/D转换结束?EOC=1?取数据(OE=1)NY0809地址加1地址数小于8?NY返回4.2程序流程框图图11 A/D转换测量子函数流程图开始系统初始化启动A/D转换采
37、集A/D转换值是否采集了十次?对十次数据求平均值NY显示数值是否到12S?报读电压值YNEND图12 主函数流程图4.3 C51程序(见附录3)4.4 通讯模块程序设计89S52单片机内部有一个全双工的串行通信口,即串行接收和发送缓冲器(SBUF),这两个在物理上独立的接收发送器,既可以接收数据也可以发送数据。但接收缓冲器只能读出不能写入,而发送缓冲器则只能写入不能读出,它们的地址为99H。这个通信口既可以用于网络通信,亦可实现串行异步通信,还可以构成同步移位寄存器使用。如果在传行口的输入输出引脚上加上电平转换器,就可方便地构成标准的RS-232接口。89S52的串行口有4种工作方式,1种同步
38、方式,3种异步方式。本方式选方式1,一帧数据有10位,包括起始位0、8位数据位和1位停止位1。串行口电路在发送时能自动加入起始位和停止位。在接收时,停止位进入SCON中的RB8位。方式1的波特率是可变的,由定时器1的溢出率决定。由定时器1最好工作在方式2上(自动重装载模式),这样只需对TH1设置一次即可。数据通过TXD输出,在8个位输出完毕后,SCON寄存器的TI位被设为1,CPU只要判断TI是1,接着发送下一个字节。波特率的设定:定时器T1工作在方式2的初值为:(1.1)为了减小误差,时钟振荡频率采用11.0592MHz,选用定时器T1工作在方式2作波特率发生器,波特率为300,设SMOD为
39、0,依公式(1.1)得初值为:所以TH1 = TL1 = A0HMOV SCON ,#50H ;URAT工作在方式1上MOV TMOD ,#20H ;TIME1工作在方式2上MOV TH1 , #0A0H ;设置波特率为300本设计的中断十分重要,为了减少相互间的干扰,保证可靠性,采用查询方式判断是否发送完毕。 A6: JBC TI , A5 ;如果发送完毕跳,清标志位,跳到A5。 AJMP A6 ;否则跳到A6,等待 A5: INC R0 结束语通过这次毕业设计,我对专业知识有了更深刻的理解,对设计所需软件有了更熟练的操作。我们曾经做过数字电路的课程设计,那时就用到软件protel来画电路图
40、,但当时还不是很会用。而经过这次设计,我已经能越来越熟练的操作它了。还有对其进行软件编程,使我对单片机的软件编程更深入的了解了。我们的课程设计结束了,但是它留给我的印象是不可磨灭的。无论我以后会不会涉及到单片机程序编程的研究,我想,我至少掌握了一种系统的研究方法,我们学习的目的就在于运用,我们运用这种研究方法的时候会很多,我最后要感谢毕业设计,它的确教会我很多;同时也要感谢各位老师在课程设计期间对我的指导,使我才能更顺利地完成毕业设计。调试程序时,我遇到了很多困难,例如:参考文献错误的误导,调试环境的错误使用,硬件改装,程序本身不可预见的错误等。经历了,写程序,调试,仿真,如果成功写进硬件,不
41、成功继续改进;写进硬件后出问题了,就不知是硬件问题还是元件问题了。没有人能告诉你错在那里,没有人能告诉你该怎么做,自己的东西只有自己最清楚,别人只能给你提供一些建议或资料,真正的设计还要自己亲自去完成。设计做完之后我对数字电压表的应用有所心得,下面是一些提示:1.数字电压表(数字面板表)的具体应用电路是何止千万的,只要掌握了一些最基本的应用,就可以举一反三地越来越熟练,熟就能生巧,就能按照您的构思去得心应手地用好它!2.尽管数字电压表的输入阻抗可以达到 1000 兆欧姆,但是,这个阻抗仅仅是对输入信号而言的,与通常电力系统泛称的“绝缘电阻”有着天壤之别!因此,千万不能把高于芯片供电电压的任何电
42、压输入到电路中!以免造成损失或者危险!3.数字电压表(数字面板表)属于一种测量工具,其本身的好坏直接影响到测量结果,因此,上面所有例子中,其使用的电阻要求精度均不能低于 1% ,在分流、分压和标准电阻链中,最好能够使用 0.5% 或者 0.1% 精度的电阻。电路中使用的电容器也要求使用一种俗称为 CBB 的电容,除各别地方之外,一般是不能使用瓷介电容的。4.不要在电路本身没有送上工作电源的时候就加上信号,这很容易损坏芯片。断掉工作电源前也必须先把信号撤掉。5.数字电压表(数字面板表)的使用和扩展应用,还必须很好阅读产品供货商提供的说明书,千万不要急于送电使用它。致 谢在我写本论文的过程中,赵志
43、永老师给我提供了许多资料,并对实践中出现的问题给予耐心的解答,完稿之后在百忙之中仔细阅读,给出修改意见。时常向赵老师求助,他从不推辞,认真解答。赵老师爱岗敬业,治学严谨,思维严密,平易近人是我十分尊敬的老师,在此对他表示感谢。在本文录入的过程中,得到了李科豪、李芳同学的帮助,在硬件设计中得到了他们提供的很多有益的建议,使我能够进一步完善自己的毕业设计。在这里对他们也表示深深的感谢!参考文献1 张友德等. 单片微型机原理、应用和实验M.电子工业出版社.1999.2 吴经国等.单片机应用技术M. 中国电力出版社.2002.3 李群芳.单片机微型计算机与接口技术M.电子工业出版社.2003.4 阉石
44、.数字电子技术基础M.高等教育出版社.2001.5 周立功.单片机实验与实践M.北京航空航天大学出版社.2003.6 赵茂泰. 智能仪器原理及应用M. 电子工业出版社出版社.2004.7 周航慈. 单片机应用程序设计技术(修订版)M.北京航空航天大学出版社.2003.8N. Sriskanthan, P. Tan, A. Karande. Bluetoothbased home automation systemJ.Microprocessors and Microsystems,2002,(26)9MITEL.MT8888C Integrated DTMF Transceiver with
45、Intel Micro Interface M,1999:113-12010 张永瑞等.电子测量技术基础M. 西安电子科技大学出版社.1994.11 林占江.电子测量技术(第2版)M.电子工业出版社.2007.12 沙占友.新型数字电压表原理与应用M.机械工业出版社.2006.13李朝青.单片机原理及接口技术M.北京航空航天大学出版社,199914沈红卫.单片机应用系统设计实例与分析M.北京:北京航空航天大学出版社,2003.15黄亮.基于AT89C51单片机的数字电压表设计J.电子制作,2006. 16赵文忠,程启明等.微机控制技术M.北京:机械工业出版社,1993.附 录 一C51程序设计i nclude unsigned char code dispbitcode=0xfe,0xfd,0xfb,0xf7,