单片机的简易数字电压表研究与设计开发_第1页
单片机的简易数字电压表研究与设计开发_第2页
单片机的简易数字电压表研究与设计开发_第3页
单片机的简易数字电压表研究与设计开发_第4页
单片机的简易数字电压表研究与设计开发_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

1、SNL/QR7. 5. 4-3 基于单片机的简易数 字电压表设计 专业 10电气自动化 学生姓名 钱霞冬 班级 电气自动化2班 学号 201005100220 指导教师 许燕萍 完成FI期 2013 年 5 月 25 成绩评议 学号201005100220姓名 钱霞冬 题目基于单片机的简易数字电压表设计 指导教师建议成绩: 评阅教师建议成绩: 答辩小组建议成绩: 院答辩委员会评阅意见及评定成绩: 答辩委员会主任签字(盖章) 毕业设计(论文)任务书 IP 班 2 级 班 号 学 冬 霞 钱 目 题 役、论、产匸要内容 压信 号期信韶模 如将察艸SMT.L 电 字以不效盖乂个 蟲计冷口设 号 A

2、重点研究问题 3 sc 题 、子乍切討 果歩。舌殳式 决的调布件件 B12我 主要技术指标 RD加71加实 +、匕匕 1 打、nrOVIYIzY 幼淇具打立电M叽R 廿、V卅U莖甘晴+俞弓 皐驟奂奂个咲ARE分传 转单模12 3 4 5 67 其它要说明的问题 误 0 程才 别 讣 AT8IN0rw与劇 咏件对以狀器建 并野围求数射外 妻涮M的,进刎 要表二00必压的 N 8电应一 88宀了 相量CC数成测 DC个换农A转用 片讣万一设将用 1 2 3 4 指导老师意见 3 n。2生冃可字实列弋 卷am丰鸟寻2 扌D 2 指导教师意见 对论文的简短评价: 1指出论文存在的问题及错误 2对创造性

3、工作评价 3 建议成绩 优良中及格不及格 指导教师签字 年 月曰 评阅教师意见 对论文的简短评价: 1指出论文存在的问题及错误 2 对创造性工作评价 3 建议成绩 优良屮及格不及格 评阅教师签字 答辩小组评议意见 学号201005100220姓名钱霞冬 题目基于单片机的简易数字电压表设计 答辩小组意见: 1、对论文的评价 2. 建议成绩等级 优良中及格不及格 3需要说明的问题 答辩小组长签字 基于单片机的简易数字电压表设计 摘要:本文介绍了-种基于单片机的简易数字电压表的设计。该设计主要由三个模块组成:A/D转换模 块,数据处理模块及显示模块。A/D转换主要由芯片ADC0808来完成,它负责把

4、采集到的模拟量转换为相 应的数字量在传送到数据处理模块。数据处理则由芯片AT89C51来完成,其 负责把ADC0808传送来的数 字量经过一定的数据处理,产生相应的显示码送到显示模块进行显示;此外,它还控制着ADC0808芯片工 作。 该系统的数字电压表电路简单,所用的元件较少,成本低,且测量精度和可靠性较高。此数字电压表可 以测量0-5V的1路模拟直流输入电压值,并通过一个四位一体的7段数码管显示出来。 关键词 单片机;数字电压表;A/D转换;AT89C51;ADC0808 The Design of Simple Digital V oltmeter Based on Single-chi

5、p Microcontroller Abstract: This paper which introduces a kind of simple digital voltmeter is based on single-chip microcontroller design. The circuit of the voltage meter is mainly consisted of three mould pieces: A/D converting mould piece, A/D converting is mainly completed by the ADC0808, it con

6、verts the collected analog data into the digital data and transmits the outcome to the manifestation controlling mould piece. Data processing is mainly completed by the AT89C51 chip, it processes the data produced by the ADC0808 chip and generates the right manifestation codes, also transmits the co

7、des to the manifestation controlling mould piece. Also, the A T89C51 chip controls the ADC0808 chip to work. The voltmeter features in simple electrical circuit, lower use of elements, low cost, moreover, its measuring precision and reliability. The voltmeter is capable of measuring voltage inputs f

8、rom 1 route ranging from 0 to 5 volt, and displaying the measurements though a digit单个 +5V电源供电;模拟输入电压范围0- +5V,无需外部零点和满度调整;低功耗,约15mWo 3. 2. 3 ADC0808的外部引脚特征 ADC0808芯片有28条引脚,采用双列直插式封装,其引脚图如图3所示。 1X CLOCK START ”981547 ocTlT2T3T4T6T0nT0 ADADAD JE AL AD.coeoe 图3 ADC0808引脚图 F面说明各个引脚功能 IN0-IN7 ( 8条):8路模拟量

9、输入线,用于输入和控制被转换的模拟电压。 地址输入控制(4条): ALE:地址锁存允许输入线,高电平有效,当 ALE为高电平时,为地址输入线,用于选择 INO-IN7 上那一条模拟电压送给比较器进行A/D转换。 START: A/D转换启动脉冲输入端,输入一个正脉冲(至少100 ns宽)使其启动(脉冲上升沿使 0808复位,下降沿启动A/D转换)。 EOC : A/D转换结束信号,输出,当A/D转换结束时,此端输出一个高电平(转换期间一直为低 电平)。 D1-D8 :数字量输岀端,D1为高位。 0E:数据输出允许信号,输入高电平有效。当 A/D转换结束时,此端输入一个高电平,才能打开 输出三态

10、门,输出数字量。 REF+、REF-:参考电压输入量,给电阻阶梯网络供给标准电压。 Vcc、GND: Vcc为主电源输入端,GND为接地端,一般REF+与Vcc连接在一起,REF-与GND连接在一 起。 CLK :时钟输出端。要求时钟频率不高于640KHZo ADDA、ADDB、ADDC:3位地址输入线,用于选通8路模拟输入中的一路。 3. 2. 4 ADC0808的内部结构及工作流程 ADC0808由8路模拟通道选择开关,地址锁存与译码器,比较器,8位开关树型A/D转换器,逐 次逼近型寄存器,定时和控制电路和三态输出锁存器等组成,其内部结构如图4所示。 START CLOCK ADDA r

11、图4 ADC0808的内部结构 EOC 其中: (1)8路模拟通道选择开关实现从8路输入模拟量中选择一路送给后面的比较器进行比较。 (2)地址锁存与译码器用于当 ALE信号有效时,锁存从ADDA、ADDB、ADDC 3根地址线上 送来的3位地址,译码后产生通道选择信号,从 8路模拟通道屮选择当前模拟通道。 (3)比较器,8位开关树型A/D转换器,逐次逼近型寄存器,定时和控制电路组成8位A/D转换 器,当START信号有效时,就开始对当前通道的模拟信号进行转换,转换完成后,把转换得到的数字 量送到8位三态锁存器,同时通过引脚送出转换结朿信号。 (4)三态输出锁存器保存当前模拟通道转换得到的数字量

12、,当 0E信号有效时,把转换的结果送岀。 ADC0808的工作流程为: (1)输入3位地址,并使ALE=1,将地址存入地址锁存器中,经地址译码器从8路模拟通道屮选 通 1路模拟量送给比较器。 (2)送START 高脉冲,START的上升沿使逐次寄存器复位,下降沿启动A/D转换,并使 EOC信号为低电平。 (3)当转换结束时,转换的结果送入到输出三态锁存器屮,并使EOC信号回到高电平,通知 CPU已转换结朿。 (4)当CPU执行一读数据指令时,使0E为高电平,则从输出端D0-D7读出数据。 3.2.5 A/ D转换电路的接口设计 A / D转换器采用集成电路ADC0808。ADC0808具有8路

13、模拟量输入信号IN0-IN7 (1-5脚、26-28 脚),地址线C、B、A (23-25脚)决定哪一路模拟输入信号进行A/ D转换,本电路将地址线 C、B、A均接地,即选择0号通道输入模拟量电压信号。22脚ALE为地址锁存允许控制信号,当输 入为高电平时,对地址信号进行锁存。6脚START为启动控制信号,当输入为高电平时,A/D转换 开始。本电路将ALE脚与START脚接到一起,共同由单片机的P2. 0脚和WR脚通过或非门控制。7 脚EOC为A/D转换结束信号,当A/ D转换结束时,7脚输出一个正脉冲,此信号可作为A/D转 换是否结束的检测信号或向CPU申请屮断的信号,本电路通过一个非门连接

14、到单片机的P3. 2脚。9 脚0E为A / D转换数据输出允许控制信号,当 0E脚为高电平时,允许读取A/D转换的数字量。该 0E脚由单片机的P2. 0脚和RD脚通过或非门控制。10脚CLOCK为ADC0808的实时时钟输入端,利用单片机30 引脚ALE的六分频晶振频率得到时钟信号。数字量输出端8个接到单片机的P0 口。图 5如下: Fl 一也二 八1 M4 w t ie r 图5单片机与ADC0808的接口 33复位电路和时钟电路 331复位电路设计 单片机在启动运行时都需要复位,使CPU和系统中的其他部件都处于一个确定的初始状态,并从 这个状态开始工作。MCS-51单片机有一个复位引脚RS

15、T,采用施密特触发输入。当震荡器起振后,只 要该引脚上出现2个机器周期以上的高电平即可确保时器件复位1。复位完成后,如果RST端继续保 持高电平,MCS-51就一直处于复位状态,只要RST恢复低电平后,单片机才能进入其他工作状态。 单片机的复位方式有上电自动复位和手动复位两种,图6是51系列单片机统常用的上电复位和手动复 位组合电路,只要Vcc上升时间不超过Ims,它们都能很好的工作。 10k ALE EA 3. 3. 2时钟电路设计 单片机中CPU每执行一条指令,都必须在统一的时钟脉冲的控制下严格按时间节拍进行,而这个 时钟脉冲是单片机控制中的时序电路发出的。CPU执行一条指令的各个微操作所

16、对应时间顺序称为单 片机的时序。MCS-51单片机芯片内部有一个高增益反相放大器,用于构成震荡器,XTAL1为该放大 器的输入端,XTAL2为该放大器输出端,但形成时钟电路还需附加其他电路。 本设计系统采用内部时钟方式,利用单片机内部的高增益反相放大器,外部电路简,只需要一个 晶振和2个电容即可,如图 7所示。 C1 30qF X U1 C2 I X1 I 19 CRYST/M. Ik 18 30uF 图7时钟电路 电路中的器件选择可以通过计算和实验确定,也可以参考一些典型电路的参数,电路中,电容器 C1和C2对震荡频率有微调作用,通常的取值范围是30 0pF,在这个系统屮选择了33pF;石英

17、晶振 选择范围最高可选24MHz,它决定了单片机电路产生的时钟信号震荡频率,在本系统中选择的是12MHz,因而 时钟信号的震荡频率为12MHzo 3. 4 LED显示电路设计 3. 4. 1 LED基本结构 LED是发光二极管显示器的缩写。 LED由于结构简单、价格便宜、与单片机接口方便等优点而得 到广泛应用。LED显示器是由若干个发光二极管组成显示字段的显示器件。在单片机屮使用最多的是七段数码显 示器。LED七段数码显示器由8个发光二极管组成显示字段,其中7个长条形的发光二极 管排列成日”字形,另一个圆点形的发光二极管在显示器的右下角作为显示小数点用,其通过不同的 组合可用来显示各种数字。L

18、ED引脚排列如下图8所示: 图8 LED引脚排列 342 LED显示器的选择 在应用系统中,设计要求不同,使用的LED显示器的位数也不同,因此就生产了位数,尺寸,型 号不同的LED显示器供选择,在本设计屮,选择4位一体的数码型LED显示器,简称“-LEE”。本系 统中前一位显示电压的整数位,即个位,后两位显示电压的小数位。 4-LED显示器引脚如图9所示,是一个共阴极接法的4位LED数码显示管,其中a, b, c, e, f, g为4位LED各段的公共输出端,1、2、3、4分别是每一位的位数选端,dp是小数点引出端,4位 一体LED数码显示管的内部结构是由4个单独的LED组成,每个LED的段输

19、出引脚在内部都并联 后,弓I出到器件的外部。 图9 4位LED引脚 对于这种结构的LED显示器,它的体积和结构都符合设计要求,由于4位LED阴极的各段已经 在内部连接在一起,所以必须使用动态扫描方式(将所有数码管的段选线并联在一起,用一个I/O接 口控制)显不。 LED数码管显示器,通常的译码方 3. 4. 3 LED译码方式 译码方式是指由显示字符转换得到对应的字段码的方式,对于 式有硬件译码和软件译码方式两种。 硬件译码是指利用专门的硬件电路来实现显示字符码的转换。 软件译码就是编写软件译码程序,通过译码程序来得到要显示的字符的字段码,译码程序通常为查表程序。 本设计系统屮为了简化硬件线路

20、设计,LED译码采用软件编程来实现。由于本设计采用的是共阴 极LED,其对应的字符和字段码如下表343所示。 表3. 4. 3共阴极字段码表 显示字符 共阴极字段码 0 3FH 1 06H 2 5BH 3 4FH 4 66H 5 6DH 6 7DH 7 07H 8 7FH 9 6FH 3.4.4 LED显示器与单片机接口设计 由于单片机的并行口不能直接驱动LED显示器,所以,在一般情况下,必须采用专用的驱动电路 芯片,使之产生足够大的电流,显示器才能正常工作。如果驱动电路能力差,即负载能力不够时,显示器亮度就 低,而且驱动电路长期在超负荷下运行容易损坏,因此,LED显示器的驱动电路设计是一 个

21、非常重要的问题。 为了简化数字式直流电压表的电路设计,在LED驱动电路的设计上,可以利用单片机P0 口上外 接的上拉电阻来实现,即将 LED的A-G段显示引脚和DP小数点显示引脚并联到P0 口与上拉电阻之 间,这样,就可以加大 P0 口作为输出口的驱动能力,使得LED能按照正常的亮度显示出数字,如图 10所示。 XTAL1 W TAI 9 PO. 0M0 TO. 2MG: 36 3Z 35 RftT 33 32 J PSEhi 艸 P2. 2mCi P2.m 也ffl 12 ?1J3 F3O7RX& h-i P3.T/rD! P12 P13 P3. 3ST1 PL 4 P3.-AHD PIS

22、PSfiTTI Pl P3. &Sif i PHI P2. 7JT0 PO. B taJ7 PO 7M7 AT39CS1 21 22 L 414 2024-FlDnq qllpl314lllnl7 1K E切 图10 LED与单片机接口间的设计 3. 5总体电路设计 10所示。 经过以上的设计过程,可设计出基于单片机的简易数字直流电压表硬件电路原理图如图 工 J - 上 楝08 RVf OE cbnck SiARf OUTI OUT3 Cl UTS aura DLJT5 DU7B 图10简易数字电压表电路图 此电路的工作原理是:+5V模拟电压信号通过变阻器VR1分压后由ADC0808的IN0通

23、道进入(由于 使用的IN0通道,所以ADDA, ADDB, ADDC均接低电平),经过模/数转换后,产生相应的数字量经过其输出通道D0- D7传送给AT89C51芯片的P1 口,AT89C51负责把接收到的数字量经过数据处理,产生 正确的7段数码管的显示段 码传送给四位LED,同时它还通过其四位I/O 口 P2.0、P2.1、P2.2、P2. 3产 生位选信号控制数码管的亮灭。此外,AT89C51还控制ADC0808的工作。其屮,单片机AT89C51通过 定时器中断 从P2. 4输出方波,接到ADC0808的CLOCK, P2. 6发正脉冲启动A/D转换,P2. 5检测A/D转 换是否完成,转

24、换完成后,P2.7置高从P1 口读取转换结果送给LED显示出来。 简易数字直流电压表的硬件电路已经设计完成,就可以选取相应的芯片和元器件,利用Proteus软件 绘制岀硬件的原理,并仔细地检查修改,直至形成完善的硬件原理图。但要真正实现电路对电压的测量和显示的功 能,还需要有相应的软件配合,才能达到设计要求。 4系统软件设计 4. 1程序设计总方案 根据模块的划分原则,将该程序划分初始化模块,A/D转换子程序和显示子程序,这三个程序模 块构成了整个系统软件的主程序,如图11所示。 图11数字式直流电压表主程序框图 4.2系统子程序设计 4. 2. 1初始化程序 所谓初始化,是对将要用到的MCS

25、_51系列单片机内部部件或扩展芯片进行初始工作状态设定, 初始化子程序的主要工作是设置定时器的工作模式,初值预置,开中断和打开定时器等。程序如下 VoidO ST=0o 0E=0o ET1=1 o 定时/计数器1开中断 EA=1 o开中断 TM0D=0 xl0 ; TH1= (65536-5000)/256。/Tl 初值:5ms TL1=(65536-5000)%256 。 TR1=1 o /定时/计数器运行控制位 ST=1 o ST=O o 根据定时/计数器的运算模式和工作方式获取TM0D的值,并对TM0D赋值。设计初值,用赋值 语句将计数 初值赋予TH1 , TL1 o 4. 2. 2 A

26、/D转换子程序 A/D转换子程序用来控制对输入的模块电压信号的采集测量,并将对应的数值存入相应的内存单元,其转换 流程图如图12所示。 图12 A/D转换流程图 系统上电状态,初始化ADC0808的启动地址,数码管显示关闭,开始启动A / D转换。等待启 动结束后,将ADC0808的0号通道模拟量输入信号转换输出的数字量结果通过数码管动态显示的方式显示到三 位数码管上。程序如下: Sbit ST=P3A0o /启动A/D转换控制信号输入端 Sbit 0E=P3Alo 输出允许控制端 Sbit E0C=P3A2o /转换结束信号输出端 Sbit CLK=P3A3 。 Void main () P

27、2=0 xff o初始化各数码管 While (1) ST=0o /启动A/D转换 ST=1 o ST=0o While ( EOC二二0 )o等待转换结束 OE=1 o /输出允许 Getdata=PO; /得到转换后数据存放在getdata 0E=0 o关闭输出允许 4. 2. 3显示子程序 显示子程序采用动态扫描实现四位数码管的数值显示,在采用动态扫描显示方式时,要使得LED显示的比较均 匀,又有足够的亮度,需要设置适当的扫描频率,当扫描频率在70HZ左右时,能够产生比较好的显示效果,一般 可以采用间隔10ms对LED进行动态扫描一次,每一位LED的显示时间为 lmso测量所得的A/D转

28、换数据放在70H77H内存单元屮,测量数据在显示时需转换成为十进制 BCD码放在78H-77BH内存单元中,其中7BH存放通道标志数。寄存器R3用作8路循环控制,R0用作显示数据地 址指针。程序如下: Void sepr (unsigned char i) Uchar ch 。 ch=I o chh=ch/51 o /除以51得到高位 ch=ch%51 o /取余运算 chi二ch*10/51 o再除以51,并扩大10倍,得到低位 void disp () Uchar j 。 P2=ledchl 。显示低位 P0_6=l o P0_7=0 o for (j=0 o P2=ledchh j HE

29、 E RV1 J2 IIM0 CLOCKS IN1 START I M2 I M3 EOC IM4 IMS 0UT1 ihK 0UT2 IW7 UTS CMJT4 3 27 26 10 0 7 EQC 21 7 20 M 19 M ISDI 图14输入电压为1.50V时,LED的显示结果 2当INO 口输入电压值为3.50V时,显示结果如图15。测量误差为O.OlVo RV1 图15输入电压为3.50V时,LED的显示结果 5. 2. 2误差分析 通过以上仿真测量结果可得到简易数字电压表与标准”数字电压表对比测试表,如下表5. 2.2所 示: 表5. 2. 2简易数字电压表与 标准”数字电压表

30、对比测试表 标准电压 值/V 简易电压农 测量值/V 绝对误差/V 0. 00 0. 00 0.00 0. 50 0.51 0.01 1.00 1.00 0.00 1.50 1. 51 0.01 2. 00 2. 00 0.00 2. 50 2. 50 0. 00 3. 00 3. 00 0. 00 3. 50 3. 50 0.00 4. 00 4. 00 0.00 4. 99 5. 00 0.01 由于单片机AT89C51为8位处理器,当输入电压为5. 00V时,ADC0808输出数据值为255 (FFH),因此单 片机最高的数值分辨率为0. 0196V(5/255) o这就决定了电压表的最

31、高分辨率只能到 0. 0196V,从上表可看到,测试电压一般以0. 01V的幅度变化。 从上表可以看出,简易数字电压表测得的值基本上比标准电压值偏大0-0. 01V,这可以通过校正 ADC0808的基准电压来解决。因为该电压表设计时直接用5V的供电电源作为电压,所以电压可能有 偏差。当要测量大于 5V的电压时,可在输入口使用分压电阻,而程序中只要将计算程序的除数进行 调整就可以了。 结论 经过一段时间的努力,毕业论文-基于单片机的简易数字电压表基本完成。但设计中的不足之处仍 然存在。这次设计是我第一次设计电路,并用 Proteus实现了仿真。在这过程中,我对电路设计,单片 机的使用等都有了新的

32、认识。通过这次设计学会了Proteus和Ke订软件的使用方法,掌握了从系统的 需要、方案的设计、功能模块的划分、原理图的设计和电路图的仿真的设计流程,积累了不少经验。 基于单片机的数字电压表使用性强、结构简单、成本低、外接元件少。在实际应用工作应能好,测量电压准 确,精度高。系统功能、指标达到了课题的预期要求、系统在硬件设计上充分考虑了可扩展性,经过一定的改造, 可以增加功能。本文设计主要实现了简易数字电压表测量一路电压的功能,详细说明了从原理图的设计、电路图的 仿真再到软件的调试。 通过本次设计,我对单片机这门课有了进一步的了解。无论是在硬件连接方面还是在软件编程方 面。本次设 计采用了 AT89C51单片机芯片,与以往的单片机相比增加了许多新的功能,使其功能更为完善,应用领域也更为 广泛。设计中还用到了模/数转换芯片ADC0808 ,以前在学单片机课程时只是 对其理论知识有了初步的理解。通 过这次设计,对它的工作原理有了更深的理解。在调试过程中遇到很多问题,硬件上的理论知识学得不够扎实,对 电路的仿真方面也不够熟练。 总之这次电路的设计和仿真,基本上达到了

温馨提示

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

评论

0/150

提交评论