版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、-目 录一、设计要求2二、设计目的2三、设计的具体实现21. 系统概述22. 单元电路设计33. 软件程序设计14四、结论与展望22五、心得体会及建议23六、附录23七、参考文献24一设计要求设计一个由8051MCU组成的简易直流电压表系统。能够测量一定围的电压值,并以数字形式进展显示。通过这个过程熟悉A/D转换、键盘控制、串口通信和七段数码管的使用,掌握51系列单片机控制和测试方法。设计以AT89C51单片机为核心,对电压信号首先进展比例调节以满足A/D的需要;设置按键用于调节不同的电压档位;用LED显示测量得到的电压值;设计通信接口电路以实现测量数据的传送。完成根本要求,可以适当发挥进展扩
2、展设计。测量围0-200V10位模数转换采样结果通过LED数码管显示通过串行口与PC通信二、设计目的(1)利用所学单片机的理论知识进展软硬件整体设计,锻炼学生理论联系实际、提高我们的综合应用能力。 (2)我们这次的课程设计是以单片机为根底,设计并开发直流电压表。 (3)掌握各个接口芯片(如ADC0808等)的功能特性及接口方法,并能运用其实现一个简单的微机应用系统功能器件。三、设计的具体实现1.系统概述直流电压表是针对直流屏、太阳能光伏、蓄电池、电镀、通信电源、直流电开工具等应用场合设计的。该系列的直流电量仪表包含直流电流表、直流电压表、安培小时计、电压小时计、直流功率表、直流电能表等。数字电
3、压表Digital Voltmeter简称DVM,它是采用数字化测量技术,把连续的模拟量直流输入电压转换成不连续、离散的数字形式并加以显示的仪表.传统的指针式电压表功能单一、精度低,不能满足现代测量的需求,采用单片机的数字电压表,它的精度高、抗干扰能力强。可扩展性强、集成方便,还可与PC进展实时通信。目前,有各种单片A/D转换器构成的数字电压表,已被广泛用于电子及电工测量、工业自动化仪表、自动测试系统等智能测量领域,与此同时,也能把电量及非电量测量技术提高到崭新水平。该系列产品是一种高精度的安装式仪表.方案论证方案一:采用数字化测量技术,把连续的模拟量直流输入电压转换成不连续离散的数字形式并加
4、以显示的仪表。这种传统的指针式电压表功能单一精度低,不能满足数字化时代的要求。方案二:采用单片机与AD转换器设计一个数字电压表,测量直流电压值,四位数码显示。目前,由于各种单片A/D转换器构成的数字电压表,已被广泛用于电子及电工测量,工业自动化仪表等测量领域,显示出强大的生命力。从以上两种方案,很容易看出,按系统功能实现要求,两者相比拟方案二的设计既简单又实用,软件设计也比拟简单同时也实现了功能要求,故采用方案二。所以,本设计 A/D转换器局部采用普通元器件构成模拟局部,利用MCS-51单片机借助软件实现数字显示功能,自动校零、LED显示等功能时采用AT89C51单片机编程实现直流电压表量程的
5、自动转换。本系统主要包括三大模块:转换模块、数据处理模块及显示模块。其中,A/D转换采用ADC0808对输入的模拟信号进展转换,控制核心AT89C51再对转换的结果进展运算处理,最后驱动输出装置LED显示数字电压信号。总体构造框图如图1所示模拟电 压AT89C51 单片机ADC0808转换LED数字显 示图1 总体构造框图2.单元电路设计1)各局部概述 A/D转换器的设计 A/D转换器具有抗干扰能力强的特点,在采用零点校准的前提下,其转换精度也可以做得很高,但显著的缺乏是转换速度较慢,并且分辨率越高,其转换速度也就越慢,因此本设计采用了A/D转换器,可以较好的改善转换速度慢的缺点,它的转换速率
6、分辨率的乘积比传统的双积分式A/D转换器提高至少两个数量级。单片机计数、控制电路设计 通过对A/D转换器的方案分析,本设计采用的单片机编程实现A/D转换,脉冲的计数功能由单片机实现,所以对单片机的速度提出了较高的要求,根本要求分辨率为11位,转换速度不低于2次/S,发挥局部要求分辨率15位,采用MCS-51单片机实现控制和脉冲计数,采用16MHZ晶振,完全能满足分辨率15位和转换速度2次/S的要求。显示电路 显示是电路采用数码管显示器,可显示各种字体的数字、字母,还可以自定义容,增加了显示的美观性与直观性,是重要的是提供了友好的人机界面。同时LED 8段数码管有静态显示和动态显示两种方式。静态
7、显示方式的各位数码管相互独立,公共端恒定接地或接正电源。每一个字段都要独占一条I/O口只要有断码输出,显示器就可以显示出所要显示的字符,如果CPU不改写,则一直保持下去。动态显示方式下各位数码管的段选线相应并连在一起,由一个8位的I/O口控制;各位的为选线有另外的I/O口控制。2单元硬件电路本次设计是以单片机AT89C51芯片、A/D转换器为核心设计了一个简易的直流电压测量电路,在硬件方面,通过一个可变电阻调节输入电压的变化来反映所检测到的电压变化。此变化的电压通过ADC0808的一个通道INO送入并进展A/D转换后再送入单片机AT89C51中进展处理,再转换成相应的实际电压值,最后通过四位L
8、ED数码管显示,准确到十分位,LED采用的是动态扫描显示,使用74HC02P芯片进展驱动,软件方面采用汇编编程。使得整个系统完成一个简易的数字电压表的功能。输入电压电路输入电路的作用是把不同量程的被测的电压规到A/D转换器所要求的电压值。衰减输入电路如图2所示图2衰减输入电路 图3量程切换开关本仪表设计的是0-1000V电压,灵敏度高,所以只需衰减器,如图2所示9M 900K 90K 和10K电阻构成1/101/1001/1000的衰减器。衰减输入电路可由开关来选择不同的衰减率,从而切换档位。AT89C51单片机AT89C51是一种带4K字节闪存可编程可擦除只读存储器FPEROMFlash P
9、rogrammable and Erasable Read Only Memory是低电压、高性能CMOS 8位微处理器,俗称单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。外形及引脚排列如图4所示:单片机最小系统主要由电源、复位、振荡电路以及扩展局部等局部组成。最小系统原理图如图5所示
10、。图4 AT89C51引脚图 图5最小系统电路图接口分配电路设计如右图6所示:VCC:供电电压。GND:接地。 图6 单片机接口电路P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/ 地址的第八位。在这里P0口作为输入与输出分别与ADC0808的输出端和LCD显示的输入端相连,且P0外部被阻值为1K的电阻拉高。 P2口:P2口为一个部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被部上拉电阻拉高,且作为输入。并因此作为输入时
11、,P2口的管脚被外部拉低,将输出电流。这是由于部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进展存取时,P2口输出地址的高八位。在给出地址“1”时,它利用部上拉优势,当对外部八位地址数据存储器进展读写时,P2口输出其特殊功能存放器的容。这里只用到了P2.0P2.3四个端口,其中P2.1P2.3都是作为输出端口控制显示电路的存放器选择、读写信号和使能端口。P3口:P3口管脚是8个带部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流ILL这是由于上拉的缘故。 P3口也可作
12、为AT89C51的一些特殊功能口,在这里用到了P3.3 /INT1外部中断1、 P3.6 /WR外部数据存储器写选通、P3.7 /RD外部数据存储器读选通。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想制止ALE的输出可在SFR8EH地址上置0。此时,
13、ALE只有在执行MOV*,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE制止,置位无效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在外部数据存储器时,这两次有效的/PSEN信号将不出现。 /EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器0000H-FFFFH,不管是否有部程序存储器。注意加密方式1时,/EA将部锁定为RESET;当/EA端保持高电平时,此间部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源VPP。*TAL1:反向振荡放大器的输入及部时钟工作电路的输入
14、。*TAL2:来自反向振荡器的输出。A/D转换器概述 模数转换器即A/D转换器,或简称ADC,通常是指一个将模拟信号转变为数字信号的电子元件。 通常的模数转换器是将一个输入电压信号转换为一个输出的数字信号。由于数字信号本身不具有实际意义,仅仅表示一个相对大小。故任何一个模数转换器都需要一个参考模拟量作为转换的标准,比拟常见的参考标准为最大的可转换信号大小。而输出的数字量则表示输入信号相对于参考信号的大小。 模数转换器最重要的参数是转换的精度,通常用输出的数字信号的位数的多少表示。转换器能够准确输出的数字信号的位数越多,表示转换器能够分辨输入信号的能力越强,转换器的性能也就越好。 A/D转换一般
15、要经过采样、保持、量化及编码4个过程。在实际电路中,有些过程是合并进展的,如采样和保持,量化和编码在转换过程中是同时实现的。 一般来说,AD比DA贵,尤其是高速的AD,因为在*些特殊场合,如导弹的摄像头局部要求有高速的转换能力。一般那样AD要上千美元。还有通过AD的并联可以提高AD的转换效率,多个AD同时处理数据,能满足处理器的数字信号需求了。模数转换过程包括量化和编码。量化是将模拟信号量程分成许多离散量级,并确定输入信号所属的量级。编码是对每一量级分配唯一的数字码,并确定与输入信号相对应的代码。最普通的码制是二进制,它有2n个量级n为位数,可依次逐个编号。模数转换的方法很多,从转换原理来分可
16、分为直接法和间接法两大类。 直接法是直接将电压转换成数字量。它用数模网络输出的一套基准电压,从高位起逐位与被测电压反复比拟,直到二者到达或接近平衡。控制逻辑能实现对分搜索的控制,其比拟方法如同天平称重。先使二进位制数的最高位Dn-11,经数模转换后得到一个整个量程一半的模拟电压VS,与输入电压Vin相比拟,假设Vin>VS,则保存这一位;假设Vin<Vin,则Dn-10。然后使下一位Dn-21,与上一次的结果一起经数模转换后与Vin相比拟,重复这一过程,直到使D01,再与Vin相比拟,由Vin>VS还是Vin<V 来决定是否保存这一位。经过n次比拟后,n位存放器的状态即
17、为转换后的数据。这种直接逐位比拟型又称反应比拟型转换器是一种高速的数模转换电路,转换精度很高,但对干扰的抑制能力较差,常用提高数据放大器性能的方法来弥补。它在计算机接口电路中用得最普遍。 间接法不将电压直接转换成数字,而是首先转换成*一中间量,再由中间量转换成数字。常用的有电压-时间间隔(V/T)型和电压-频率(V/F)型两种,其中电压-时间间隔型中的双斜率法又称双积分法用得较为普遍。 模数转换器的选用具体取决于输入电平、输出形式、控制性质以及需要的速度、分辨率和精度。 用半导体分立元件制成的模数转换器常常采用单元构造,随着大规模集成电路技术的开展,模数转换器体积逐渐缩小为一块模板、一块集成电
18、路接口分配电路设计如图7所示:IN0IN7为8路模拟量输入端,这里只接一路电压信号,其输入信号是由直流电源及可调电阻提供。 OUT1OUT8为8位二进制数字量 图7 A/D转换电路输出端,其另一端连接到AT89C51单片机进展数值转换。ADDA、ADDB、ADDC为3位片选地址输入线,用于选通8路模拟输入中的一路。ALE为地址锁存允许信号,由单片机P3.6口写信号与P2.0口相或取反输入,高电平有效。 START为 AD转换启动脉冲输入端,由单片机P3.6口写信号与P2.0口相或取反输入一个正脉冲使其启动脉冲上升沿使0808复位,下降沿启动A/D转换。 EOC为 AD转换完毕信号,当AD转换完
19、毕时,此端输出一个高电平取反给P3.3口转换期间一直为低电平。 OE为数据输出允许信号,高电平有效。当AD转换完毕时,此端由单片机P3.7读信号与P2.0口相或后取反输入一个高电平,才能翻开输出三态门,输出数字量。 逐次逼近型A/D转换器原理逐次逼近型A/D转换器是由一个比拟器、A/D转换器、存储器及控制电路组成。它利用部的存放器从高位到低位一次开场逐位试探比拟。转换过程如下:开场时,存放器各位清零,转换时,先将最高位置1,把数据送入A/D转换器转换,转换结果与输入的模拟量比拟,如果转换的模拟量比输入的模拟量小,则1保存,如果转换的模拟量比输入的模拟量大,则1不保存,然后从第二位依次重复上述过
20、程直至最低位,最后存放器中的容就是输入模拟量对应的二进制数字量。其原理框图如图8所示:顺序脉冲发生器逐次逼近存放器ADC电压比拟器输入电压输入数字量图8 逐次逼近式A/D转换器原理图2.3.3 ADC0808 主要特性ADC0808是CMOS单片型逐次逼近式A/D转换器,带有使能控制端,与微机直接接口,片带有锁存功能的8路模拟多路开关,可以对8路0-5V输入模拟电压信号分时进展转换,由于ADC0808设计时考虑到假设干种模/数变换技术的长处,所以该芯片非常适应于过程控制,微控制器输入通道的接口电路,智能仪器和机床控制等领域5。ADC0808主要特性:8路8位A/D转换器,即分辨率8位;具有锁存
21、控制的8路模拟开关;易与各种微控制器接口;可锁存三态输出,输出与TTL兼容;转换时间:128s;转换精度:0.2%;单个+5V电源供电;模拟输入电压围0- +5V,无需外部零点和满度调整;低功耗,约15mW。2.3.4 ADC0808的外部引脚特征 ADC0808芯片有28条引脚,采用双列直插式封装,其引脚图如图9所示。图9 ADC0808引脚图下面说明各个引脚功能:IN0-IN78条:8路模拟量输入线,用于输入和控制被转换的模拟电压。地址输入控制4条:ALE:地址锁存允许输入线,高电平有效,当ALE为高电平时,为地址输入线,用于选择IN0-IN7上那一条模拟电压送给比拟器进展A/D转换。AD
22、DA,ADDB,ADDC:3位地址输入线,用于选择8路模拟输入中的一路,其对应关系如表1所示:表1 ADC0808通道选择表地址码 对应的输入通道 C B A 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 IN0 IN1 IN2 IN3 IN4 IN5 IN6 IN7 START:START为“启动脉冲输入法,该线上正脉冲由CPU送来,宽度应大于100ns,上升沿清零SAR,下降沿启动ADC工作。EOC: EOC为转换完毕输出线,该线上高电平表示A/D转换已完毕,数字量已锁入三态输出锁存器。D1-D8:数字量输出端,D1为高位。OE:OE为输出
23、允许端,高电平能使D1-D8引脚上输出转换后的数字量。REF+、REF-:参考电压输入量,给电阻阶梯网络供应标准电压。Vcc、GND: Vcc为主电源输入端,GND为接地端,一般REF+与Vcc连接在一起,REF-与GND连接在一起. CLK:时钟输入端。2.3.5 ADC0808的部构造及工作流程ADC0808由8路模拟通道选择开关,地址锁存与译码器,比拟器,8位开关树型A/D转换器,逐次逼近型存放器,定时和控制电路和三态输出锁存器等组成,其部构造如图10所示。图10 ADC0808的部构造其中:18路模拟通道选择开关实现从8路输入模拟量中选择一路送给后面的比拟器进展比拟。2地址锁存与译码器
24、用于当ALE信号有效时,锁存从ADDA、ADDB、ADDC 3根地址线上送来的3位地址,译码后产生通道选择信号,从8路模拟通道中选择当前模拟通道。3比拟器,8位开关树型A/D转换器,逐次逼近型存放器,定时和控制电路组成8位A/D转换器,当START信号有效时,就开场对当前通道的模拟信号进展转换,转换完成后,把转换得到的数字量送到8位三态锁存器,同时通过引脚送出转换完毕信号。4三态输出锁存器保存当前模拟通道转换得到的数字量,当OE信号有效时,把转换的结果送出。ADC0808的工作流程为:1输入3位地址,并使ALE=1,将地址存入地址锁存器中,经地址译码器从8路模拟通道中选通1路模拟量送给比拟器。
25、2送START一高脉冲,START的上升沿使逐次存放器复位,下降沿启动A/D转换,并使EOC信号为低电平。3当转换完毕时,转换的结果送入到输出三态锁存器中,并使EOC信号回到高电平,通知CPU已转换完毕。4当CPU执行一读数据指令时,使OE为高电平,则从输出端D0-D7读出数据。 LED显示电路 LED根本构造LED是发光二极管显示器的缩写。LED由于构造简单、价格廉价、与单片机接口方便等优点而得到广泛应用。LED显示器是由假设干个发光二极管组成显示字段的显示器件6。在单片机中使用最多的是七段数码显示器。LED七段数码显示器由8个发光二极管组成显示字段,其中7个长条形的发光二极管排列成“日字形
26、,另一个圆点形的发光二极管在显示器的右下角作为显示小数点用,其通过不同的组合可用来显示各种数字。LED引脚排列如下列图11所示:图11 LED引脚排列 LED显示器的选择在应用系统中,设计要求不同,使用的LED显示器的位数也不同,因此就生产了位数,尺寸,型号不同的LED显示器供选择,在本设计中,选择4位一体的数码型LED显示器,简称“4-LED。本系统中前一位显示电压的整数位,即个位,后两位显示电压的小数位。4-LED显示器引脚如图12所示,是一个共阴极接法的4位LED数码显示管,其中a,b,c,e,f,g为4位LED各段的公共输出端,1、2、3、4分别是每一位的位数选端,dp是小数点引出端,
27、4位一体LED数码显示管的部构造是由4个单独的LED组成,每个LED的段输出引脚在部都并联后,引出到器件的外部。图12 4位LED引脚对于这种构造的LED显示器,它的体积和构造都符合设计要求,由于4位LED阴极的各段已经在部连接在一起,所以必须使用动态扫描方式将所有数码管的段选线并联在一起,用一个I/O接口控制显示。 LED译码方式译码方式是指由显示字符转换得到对应的字段码的方式,对于LED数码管显示器,通常的译码方式有硬件译码和软件译码方式两种。硬件译码是指利用专门的硬件电路来实现显示字符码的转换。软件译码就是编写软件译码程序,通过译码程序来得到要显示的字符的字段码,译码程序通常为查表程序。
28、本设计系统中为了简化硬件线路设计,LED译码采用软件编程来实现。由于本设计采用的是共阴极LED,其对应的字符和字段码如下表2所示。表2 共阴极字段码表显示字符共阴极字段码03FH106H25BH34FH466H56DH67DH707H87FH96FH LED显示器与单片机接口设计由于单片机的并行口不能直接驱动LED显示器,所以,在一般情况下,必须采用专用的驱动电路芯片,使之产生足够大的电流,显示器才能正常工作。如果驱动电路能力差,即负载能力不够时,显示器亮度就低,而且驱动电路长期在超负荷下运行容易损坏,因此,LED显示器的驱动电路设计是一个非常重要的问题。为了简化数字式直流电压表的电路设计,在
29、LED驱动电路的设计上,可以利用单片机P0口上外接的上拉电阻来实现,即将LED的A-G段显示引脚和DP小数点显示引脚并联到P0口与上拉电阻之间,这样,就可以加大P0口作为输出口德驱动能力,使得LED能按照正常的亮度显示出数字,如图13所示。图13 LED与单片机接口间的设计3软件程序设计1系统软件设计进展的整体操作流程方案,总体流程图和A/D转化流程图最大的不同就在:总体流程图是将总体控制电路的运行步骤,而A/D转化流程图是局部中断运行方式,两种控制功能融合在一起,是考虑到可以实现全部功能的原因,且原理简单。如此设计,其优点在于:设计思想比拟简单,较容易组装电路。或者是,连线方便、一清二楚,不
30、容易出错。要显示电路的优势,则势必形成各门电路使用。引导显示电路的稳定性,抗干扰能力增强。主程序的容包括:起始地址、中断效劳程序的起始地址、有关存单元及相关部件的初始化和一些子程序的调用等。根据设计要求,设计出如下图的主程序流程图。A/D转换子程序设计: A/D转换程序的功能是采集数据,在整个系统设计中占有很高的地位。当系统置好后,单片机扫描转换完毕管脚P3.7的输入电平状态,当输入为高电平则转换完成,将转换的数值显示输出。假设输入为低电平,则继续扫描。程序流程图如下列图所示。2程序 EQU 50H ; 指令存放器DAT EQU 51H ; 数据存放器RS EQU P2.1 ; LCD存放器选
31、择信号RW EQU P2.2 ; LCD读/写选择信号E EQU P2.3 ; LCD使能信号 ORG 0000H LJMP MAIN ;主程序入口 ORG 000BH LJMP BT0 ;T0中断入口 ORG 0030H ;主程序,初始化MAIN: MOV SP,*60H LCALL INT MOV 30H,*30H MOV 31H,*30H MOV 32H,*0A5H MOV 33H,*30H MOV 34H,*30H MOV R7,*30H LCALL N1 ;显示 Voltage = 00.00MOV TMOD,*00H ;定时器T0设为方式0MOV TH0,*00h ;装入定时常数M
32、OV TL0,*00hSETB TR0 ;启动T0MOV 24h, *03h ;装入T0中断次数MOV IE,*82H ;开中断LP: MOV R7,*30H ;显示缓冲区首地址LCALL DISPLYSJMP LP ;循环显示DISPLY: MOV ,*0CAH ;设置数据起始地址第而行第10位 LCALL PR1 MOV R1,*05H MOV R0,*30Hl: MOV DAT,r0 LCALL PR2 INC R0 DJNZ R1,l RET;1. 逐字依次输入方式演示程序段N1:MOV ,*01H ;清屏 LCALL PR1 MOV ,*06H ;设置输入方式 LCALL PR1 M
33、OV ,*081H ;设置数据起始地址第一行地二位 LCALL PR1 MOV DPTR,*TAB1 MOV R2,*0EH MOV R3,*00HWRIN1: MOV A,R3 MOVC A,A+DPTR MOV DAT,A LCALL PR2 INC R3 DJNZ R2,WRIN1 MOV ,*0C1H ;设置数据起始地址第二行地二位 LCALL PR1 MOV DPTR,*TAB2 MOV R2,*9 MOV R3,*00HWRIN2: MOV A,R3 MOVC A,A+DPTR MOV DAT,A LCALL PR2 INC R3 DJNZ R2,WRIN2 RETTAB1: DB
34、 "VOLTAGE= " LCD间接控制方式下的初始化子程序INT:LCALL DELAY ; 调延时子程序MOV ,*38H ; 设置工作方式2行,8位数据LCALL PR1MOV ,*01H ; 清屏LCALL PR1MOV ,*06H ; 设置输入方式LCALL PR1MOV ,*0CH ; 设置显示方式LCALL PR1RETDELAY:MOV R6,*0FH ; 延时子程序MOV R7,*00HDELAY1: NOP NOPDJNZ R7,DELAY1DJNZ R6,DELAY1RET;LCD间接控制方式的驱动子程序如下;1 读BF和AC值PR0: PUSH AC
35、C MOV P0,*0FFH ; P0置位, 准备读 CLR RS ; RS=0 SETB RW; R/W=1 SETB E ; E=1 LCALL DELAY MOV ,P0 ; 读BF和AC6-4值 CLR E ; E=0 POP ACC RET;2 写指令代码子程序PR1: PUSH ACC CLR RS ; RS=0 SETB RW ; R/W=1PR11:MOV P0,*0FFH; P0置位, 准备读 SETB E ; E=1 LCALL DELAY NOP MOV A,P0 CLR E ACC.7,PR11;BF=1? CLR RW; R/W=0 MOV P0, SETB E ;
36、E=1 CLR E ; E=0; E=0 POP ACC RET;3 写显示数据子程序PR2:PUSH ACC CLR RS ; RS=0 SETB RW; R/W=1PR21:MOV P0,*0FFH SETB E ; E=1 LCALL DELAY MOV A,P0 ; 读BF和AC6-4值 CLR E ; E=0 ACC.7,PR21 SETB RS CLR RW MOV P0,DAT; 写入数据 SETB E CLR E POP ACC RET;4 读显示数据子程序PR3:PUSH ACC CLR RS ; RS=0 SETB RW; R/W=1PR31:MOV P0,*0FFH ;
37、P0置位, 准备读 SETB E ; E=1 LCALL DELAY MOV A,P0 ; 读BF和AC6-4值 CLR E ; E=0 ACC.7,PR31 SETB RS SETB RW; R/W=1 MOV P0,*0FFH ; 读数据 SETB E ; E=1 MOV DAT,P0 CLR E ; E=0 POP ACC RET; 定时器T0中断效劳程序,读取ADC0809第0通道的A/D转换结果并化为显示值BT0: PUSH ACC ;保护现场PUSH PSWMOV PSW,*08HCLR TR0 ;停顿T0MOV TH0,*00h ;重装定时常数MOV TL0,*00hMOV DP
38、TR,*0F6FFH ;0809端口地址MOV A,*0 ;0通道MOV* DPTR,A ;启动0809MOV R7,*0FFH ;等待A/D转换完DJNZ R7,$MOV* A,DPTR ;读0809转换结果 MOV B,*03H ;将转换的值除以3再累加,存入40H中 DIV AB ADD A,40H MOV 40H,A MOV A,B ;将除以3后的余数累加放入41H中 ADD A,41H MOV 41H,A DEC 24h ;3次中断未到则返回MOV A,24HJNZ RNT1 MOV 24h,*03h ;重装中断次数 MOV A,41H ;将累加的余数再除3后相加 DIV AB AD
39、D A,40H MOV 40H,*0 ;清零累加数 MOV 41H,*0RTN: MOV B,*0fh ;A/D转换结果化为显示值 MUL AB ;(AD*5)/256 MOV R0,A MOV A,B MOV B,R0 MOV R0,A ADD A,*246 MOV A,R0 MOV 30H,*00H JNC LOOP ADD A,*06H MOV 30H,*01HLOOP: MOV 31H,A ;AD*5的高字节为整数局部 MOV A,B MOV B,*0AH MUL AB ;AD*5的低字节为/256的结果,为小数局部 MOV 33H,B ;二进制小数换为10进制数 MOV B,*0AH
40、 MUL AB MOV 34H,B LJMP RTN1RTN1: SETB TR0 ORL 30H,*30H ORL 31H,*30H MOV 32H,*0A5H ;小数点 ORL 33H,*30H ORL 34H,*30H POP PSWPOP ACCRETI END3仿真1.翻开WAVE 6000 软件,菜单栏选择“文件中的“新建文件,在弹出的窗口中编写程序,然后保存后缀为“*.asm的程序。2.菜单栏选择“工程中的“编译,如果程序无误即编译成功,否则修改程序直至编译成功。3.翻开Proteus软件,新建文件FileNew Design,同样在弹出的原理图编辑窗口中绘制原理图,然后保存。4
41、.加载程序,选择SourceAdd/Remove Source Files,在弹出的对话框中点击“New选择在WAVE 6000软件中编写保存的程序如“*.asm,点击“OK即加载成功。5.在Proteus软件中的左下方点击图标仿真调试开场,即可看到仿真调试的结果。四、结论与展望基于单片机的直流数字电压表使用性能好、构造简单、本钱低、外接元件少。在实际应用工作中适应性强,测量电压准确,精度高。系统功能、指标到达了课题的预期要求、系统在硬件设计上充分考虑了可扩展性,经过一定的改造,可以增加功能。本文设计主要实现了简易数字直流电压表测量电压的功能,详细说明了从原理图的设计、电路图的仿真再到软件的调试。通过本次设计,我对单片机这门课有了进一步的了解。无论是在硬件连接方面还是在软件编程方
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 17737.124-2026同轴通信电缆第1-124部分:电气试验方法漏泄电缆的耦合损耗试验
- T/ZGM 008-2025绿色产品评价 201×7凝胶型强碱性苯乙烯系阴离子交换树脂
- T/HNCAA 069-2025公路桥梁结构健康监测技术应用规程
- T/CIQA 67-2023“三同”产品 家用和类似用途电动洗衣机技术要求
- T/CAPSA 11202-2024生产安全事故应急响应标准文献元数据导则
- T/CSBME 090-2025车载医用X射线计算机体层摄影设备临床放射防护要求
- 2025~2026学年广东省河源市东源县人教版五年级上册数册中作业题【附答案】
- 2026学年湖南省醴陵市五年级语文期末提升竞赛挑战题(详细参考解析)详细答案和解析
- 2026学年云南省楚雄市五年级语文期末高分难点突破题(详细参考解析)详细答案和解析
- PHP初级面试题及详细答案(真实企业版)
- 2026国考行测真题及参考答案
- 智造未来-2026年智能建造技术与施工机器人应用全景
- 2026中国放射性废水处理用陶瓷超滤膜辐照稳定性加速测试报告
- 配送生鲜公司管理制度
- 主轴维修合同范例
- 统编版语文五年级下册第一单元任务群整体公开课一等奖创新教学设计
- SHT+3413-2019+石油化工石油气管道阻火器选用检验及验收标准
- 《电力建设施工技术规范 第2部分:锅炉机组》DLT 5190.2
- 内燃机车柴油机进排气系统-直流传动内燃机车柴油机进排气系统
- 软件过程文档模板(完整版)
- GB/T 33588.2-2020雷电防护系统部件(LPSC)第2部分:接闪器、引下线和接地极的要求
评论
0/150
提交评论