ImageVerifierCode 换一换
格式:DOCX , 页数:21 ,大小:521.66KB ,
资源ID:12109001      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-12109001.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于51单片机的简易数字电压表的设计要点.docx)为本站会员(HR专家)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

基于51单片机的简易数字电压表的设计要点.docx

1、五邑大学单片机课程设计报告基于 51 单片机的简易数字电压表的设计学院:信息工程学院专业:交通工程(交通控制与管理)班姓名学号指导老师:完成日期: 2015 年 01 月 05 日目录1引言 12设计方案 13元器件 34实际电路 85单片机程序 106电路板制作 157总结 168附录 169参考文献 173数字电压表设计1 引言在电量的测量中, 电压、 电流和频率是最基本的三个被测量, 其中电压量的测量最为经常。 而且随着电子技术的发展, 更是经常需要测量高精度的电压, 所以数字电压表就成为一种必不可少的测量仪器。数字电压表简称DVM它是采用数字化测量技术, 把连续的模拟量转换成不连续、

2、离散的数字形式并加以显示的仪表。由于数字式仪器具有读数准确方便、精度高、误差小、测量速度快等特而得到广泛应用。传统的指针式刻度电压表功能单一, 进度低, 容易引起视差和视觉疲劳, 因而不能满足数字化时代的需要。 采用单片机的数字电压表, 将连续的模拟量如直流电压转换成不连续的离散的数字形式并加以显示, 从而精度高、 抗干扰能力强,可扩展性强、集成方便,还可与PC实时通信。数字电压表是诸多数字化仪表的核心与基础。 以数字电压表为核心, 可以扩展成各种通用数字仪表、 专用数字仪表及各种非电量的数字化仪表。 目前, 由各种单片机和 A/D 转换器构成的数字电压表作全面深入的了解是很有必要的。目前,

3、数字电压表的内部核心部件是A/D 转换器, 转换的精度很大程度上影响着数字电压表的准确度, 因而, 以后数字电压表的发展就着眼在高精度和低成本这两个方面。本文是以简易数字直流电压表的设计为研究内容,本系统主要包括三大模块:转换模块、数据处理模块及显示模块。其中, A/D转换采用ADC0808寸输入 的模拟信号进行转换,控制核心AT89C51再对转换的结果进行运算处理,最后驱 动输出装置LED显示数字电压信号2 设计方案2.1 设计要求以单片机为核心,设计一个数字电压表。采用中断方式,对 2路05V的 模拟电压进行循环采集,采集的数据送LED显示,并存入内存。超过界限时指示 灯闪烁。为了稍微增加

4、一点难度,我加入测量温度的功能。2.2 设计思路根据设计要求,选择AT89C51单片机为核心控制器件。A/D转换采用ADC080跟现,与单片机的接口为P1 口和P2 口的高四位引脚。电压显示采用4位一体的LED数码管。LED数码的段码输入,由并行端口 P0产生:位码输入,用并行端口 P2低四 位产生。2.3 设计方案将被测电压输入ADC0808勺电压输入端口,进行采集。接着,将采集到的模 拟信号转换为数字信号。然后,通过控制单片机的内部程序,让单片机系统按照 规定的时序来采集ADC0808俞入的数字信号,并通过算法计算出被测电压的值。 最后,单片机再将计算好的电压值,按照一定的时序送入LED数

5、码管中,让其显 示。同时,设置监测电路,当电压达到预定值时,进行报警提示。2.4 流程图图1:设计方案流程图3元器件3.1 A/D转换模块一个n位的逐次逼近型A/D转换器只需要比较n次,转换时间只取决于位数 和时钟周期,逐次逼近型 A/D转换器转换速度快,因而在实际中广泛使用。3.1.1 逐次逼近型A/D转换器原理逐次逼近型A/D转换器是由一个比较器、A/D转换器、存储器及控制电路组 成。它利用内部的寄存器从高位到低位一次开始逐位试探比较。转换过程如下:开始时,寄存器各位清零,转换时,先将最高位置 1,把数据送入A/D转换 器转换,转换结果与输入的模拟量比较,如果转换的模拟量比输入的模拟量小,

6、 则1保留,如果转换的模拟量比输入的模拟量大,则1不保留,然后从第二位依次重复上述过程直至最低位,最后寄存器中的内容就是输入模拟量对应的二进制 数字量5。其原理框图如图2所示:图2逐次逼近式A/D转换器原理图3.1.2 ADC0808ADC08081 CMOSt片型逐次逼近式 A/D转换器,带有使能控制端,与微机 直接接口,片内带有锁存功能的8路模拟多路开关,可以对8路0-5V输入模拟 电压信号分时进行转换,由于 ADC080的计时考虑到若干种模/数变换技术的长 处,所以该芯片非常适应于过程控制, 微控制器输入通道的接口电路,智能仪器 和机床控制等领域5。ADC0808fc要特性:8路8位A/

7、D转换器,即分辨率8位;具有锁存控制的8 路模拟开关;易与各种微控制器接口;可锁存三态输出,输出与 TTL兼容;转换 时间:128 pS;转换精度:0.2%;单个+5V电源供电;模拟输入电压范围0- +5V, 无需外部零点和满度调整;低功耗,约 15mWL3.1.3 ADC0808的外部引脚特征ADC0808芯片有28条引脚,采用双列直插式封装,具引脚图如图 3所示下面说明各个引脚功能:IN0-IN7 (8条):8路模拟量输入线,用于输入和控制被转换的模拟电压。地址输入控制(4条):ALE:地址锁存允许输入线,高电平有效,当ALE为高电平时,为地址输入线, 用于选择IN0-IN7上那一条模拟电

8、压送给比较器进行 A/D转换。ADDA,ADDB,ADDC位地址输入线,用于选择 8路模拟输入中的一路,其对 应关系如表1所小:表1 ADC0808通道选择表地址码对应的输入通 道CBA00r 0r ino 001IN1010IN2011IN3100IN4101IN5110IN6111IN7START STAR功“启动脉冲”输入法,该线上正脉冲由CPU送来,宽度应大于100ns,上升沿清零SAR下降沿启动ADCT作。EOC: EOE转换结束输出线,ig线上高电平表示 A/D转换已结束,数字量 已锁入三态输出锁存器。D1-D8:数字量/出端,D1为高位。OE OE为输出允许端,高电平能使 D1-

9、D8引脚上输出转换后的数字量。REF+ REF-:参考电压输入量,给电阻阶梯网络供给标准电压。Vcc、GND:Vcc为主电源输入端,GN时接地端,一般 REF+f Vcc连接在一 起,REFT GN皿接在一起.CLK:时钟输入端。3.1.4 ADC0808的内部结构及工作流程ADC0808i 8路模拟通道选择开关,地址锁存与译码器,比较器,8位开关树型A/D转换器,逐次逼近型寄存器,定时和控制电路和三态输出锁存器等组成, 其内部结构如图4所示。START 7LOCK图4 ADC0808的内部结构5其中:(1) 8路模拟通道选择开关实现从 8路输入模拟量中选择一路送给后面的比较 器进行比较。(2

10、)地址锁存与译码器用于当 ALE信号有效时,锁存从 ADDAADDBADDC 3 根地址线上送来的3位地址,译码后产生通道选择信号,从8路模拟通道中选择 当前模拟通道。(3)比较器,8位开关树型A/D转换器,逐次逼近型寄存器,定时和控制电路 组成8位A/D转换器,当STARTS号有效时,就开始对当前通道的模拟信号进行 转换,转换完成后,把转换得到的数字量送到8位三态锁存器,同时通过引脚送 出转换结束信号。(4)三态输出锁存器保存当前模拟通道转换得到的数字量,当OE信号有效时,把转换的结果送出。ADC0808勺工作流程为:(1)输入3位地址,并使ALE=1,将地址存入地址锁存器中,经地址译码器从

11、 8 路模拟通道中选通1路模拟量送给比较器。(2)送START-高脉冲,START勺上升沿使逐次寄存器复位,下降沿启动 A/D 转换,并使EOCJ号为低电平。(3)当转换结束时,转换的结果送入到输出三态锁存器中,并使EOCW号回到高电平,通知CPU已转换结束。(4)当CPIB行一读数据指令时,使OE为高电平,则从输出端D0-D7读出数据。3.2. LED数码管3.2.1 LED基本结构LED发光二极管显示器的缩写。LED由于结构简单、价格便宜、与单片机 接口方便等优点而得到广泛应用。LED显示器是由若干个发光二极管组成显示字 段的显示器件。在单片机中使用最多的是七段数码显示器。LED七段数码显

12、示器由8个发光 二极管组成显示字段,其中7个长条形的发光二极管排列成“日”字形,另一个 圆点形的发光二极管在显示器的右下角作为显示小数点用,其通过不同的组合可 用来显示各种数字。LED引脚排列如下图5所示:Al a F A2 A3 b1 1 11 I I图5 LED数码管引脚排列为了简化数字式直流电压表的电路设计,在 LED驱动电路的设计上,可以利用单片机P0 口上外接的上拉电阻来实现,即将LED的A-G段显示引脚和DP 小数点显示引脚并联到 P0 口与上拉电阻之间,这样,就可以加大 P0 口作为输 出口德驱动能力,使得 LED能按照正常的亮度显示出数字,如图 6所示PO.O/ADO PO.1

13、/AD1 PG.2AD2 PO.3/AJD3 PO.4/AD4 PO.5/AD5 PO.SZAD6 PQ.7/AD7F2 口小曰 P2 1PL? P2.3XA11I图6LED与单片机接口间的设计3.3. MCS-51 系列单片机 AT89C51量经过数据处理,产生正确的 LED显示段码,同时, 它还通过其四位I/O 口,产生位选信号控制数码管 的亮灭。3.3.1总线型DIP40引脚封装电源引脚(2个)VCC:接+5V电源。GND:接地端。外接晶体引脚(2个)Pl I 匚 239 PQ.0PL3 匚 3PI3 匚 4P1.4 C 5PI.5 匚 Pl.t 匚 Pl.7 CCRXD.T O C T

14、XD/T3.1 亡 INT0/P3,2 H nm7Pmi 匚TO/P3,4 匚T1/P3.S 匚WR/P3.6 ERD/P3.7 匚XTAL2 CXTAL1 匚73 gn12131415!6171S1920S9C513S Z) P0.137 n P0,233 323130 29 27 26 2524 EA/Vpj, ALE/PROGPSENn P2.7 P2,6 P2.5HF2.4ZJ 户2.3 P2.2 口 P2A P2,0这是本次设计的核心器件,主要负责把接收到的数字XTAL1 :外接晶振输入端(采用外部振荡器时,此引脚接地)。XTAL2 :外接晶振输入端(采用外部振荡器时,此引脚作为外部

15、振荡信号输 入端)。并行输入/输出引脚(32个)P0.0P0.7通用I/O引脚。P1.0P1.7通用I/O引脚。P2.0P2.7:通用I/O引脚或数据低8位地址总线复用引脚。P3.0P3.7 通用 I/O 引脚或第二功能引脚(RXD、TXD、INTO、INT1、T0、T1、WR、RD)0控制引脚(4个)RST/Vpd:复位信号输入引脚/备用电源输入引脚。ALE/PROG :地址锁存允许信号输出引脚/编程脉冲输入引脚。EA/Vpp:内、外存储器选择引脚/片内EPROM(或Flatiron)编程电压输入引PSEN:片外程序存储器读选通信号输出引脚4.1电路设计经过以上的设计过程, 原理图如下图所示

16、。4实际电路可设计出基于单片机的简易数字直流电压表硬件电路bL:本汨s0序pt !nixii ks-r2 1T-J 1-W12TAJJT2 - F? 4 J judKd 2. KJ 4中 jUK.: .41721K 1 n aUT n CiHXD M STOi R ;= h i miHirn. 的。 n 15 xzm XXALIwoeea 二 皿:Ml aZXJHAEKK:此电路的工作原理是:+5V模拟电压信号通过变阻器 VR1分压后由ADC0808 的IN0通道进入(由于使用的IN0通道,所以ADDA,ADDB,ADDC接低电平),经 过模/数转换后,产生相应的数字量经过其输出通道 D0-D

17、7传送给AT89C51芯片的 P1 口,AT89C51负责把接收到的数字量经过数据处理,产生正确的 7段数码管的 显示段码传送给四位 LER同时它还通过其四位I/O 口 P2.0、P2.1、P2.2、P2.3 产生位选信号控制数码管的亮灭。止匕外,AT89C51还控制ADC0808勺工作,此外,我们还可以通过编程来实现对 温度的测量。简易数字直流电压表的硬件电路已经设计完成,就可以选取相应的 芯片和元器件,利用 Proteus软件绘制出硬件的原理,并仔细地检查修改,直至 形成完善的硬件原理图。但要真正实现电路对电压的测量和显示的功能,还需要 有相应的软件配合,才能达到设计要求。在protues

18、软件仿真后的电路图是MXrBMEWF?EFl:+)U1torzBUE1R1I3LIZ2ER曲rEKFbmTALI网式网)0也班卬iiTAL2pa.au到西甬也gST前.M/用MS F2.1W9曜她MOMEP24.iA.12EAR2EM13P1.0KEU.14 P27JW.15P3J0JTKP 降5种明.”P3 4TT 口P1.S1333nl例PI .7P3.7M?liRYSTife-常iDk1I2J一 一 一 一- ICLOCK h STARTEtCflUTI OUT? ojn OJT4 UTS OJTB flUT?4XJ他4.2电路分析我们开始的单片机课程设计就是一个数字电压表,而最后我们新

19、添加一个 测量温度的功能。按钮1是切换两个测量电压的通道,按钮 2是切换电压和温度 的通道。首先,+5V模拟电压信号通过变阻器 VR1分压后由ADC0809勺通道进入,经 过模/数转换后,产生相应的数字量经过其输出通道 D0-D7传送给单片机,单片机 控制ADC0809然后单片机负责把接收到的数字信号经过数据处理,产生正确的7段数码管的显示段码,并且传送给四位数码管,同时通过单片机四位I/O 口产生位选信号控制数码管的亮灭。止匕外,我们通过编写程序,利用 18b20温度传感器来实现对环境温度的检 测,将温度数据传送给单片机处理,由单片机处理数据并在LED数码管中显示温度数据。195 单片机程序

20、#include #include #define uint unsigned int #define uchar unsigned charuchar code LEDData=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f ,0x40;用于百位的显示/ADC 输出允许端口/ 通道选择端口/ ADC 启动端口/ LED 端口/扬声器端口/温度传感器信号线uchar code LEDData1=0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xef,0xef ;/ 带小数点的0,1,2,3,4,5,6,7,8

21、,9sbit OE = P2A6;sbit AT = P3A0;sbit ST = P2A5;sbit P35 =P3A6;sbit P36 =P3A7;sbit CLK=P2A7;sbit P20=P2A0;sbit P21=P2A1;sbit P22=P2A2;sbit P23=P2A3;sbit EOC=P2A4;sbit DQ=P3A1;unsigned char flag;unsigned char WD;void delay(uint t) /1ms 延时函数 uint i;while(t-)for (i=0;i0;i-) / 读取 8 位数据 DQ = 0;/数据线置低电平dat

22、=1;读出的数据最低位再最前面,这样刚好一个字节在dat里DQ = 1;/将数据线拉到高电平if(DQ) dat|=0x80; Tdelay(4);return(dat); /返回数据WriteOneChar(uchar dat) /写一个字节 uchar i=0;for (i=8; i0; i-) DQ = 0; DQ = dat&0x01;Tdelay(5); DQ = 1;dat=1;uint ReadTemperature(void)/读取温度 uchar a=0; uchar b=0;uint t=0; float tt=0;Init_DS18B20();WriteOneChar(0

23、xCC);WriteOneChar(0x44);Init_DS18B20();WriteOneChar(0xCC);WriteOneChar(0xBE);a=ReadOneChar();b=ReadOneChar();/*t=b;t255) b+;/如果低 8 位大于 255 ,向高 8 位进 1t=b;t=8; t=t|a;tt=t*0.0625;t= tt*10+0.5;delay(11) ;t=b;t=8; t=t|a;tt=t*0.0625;t= tt*10+0.5;delay(11) ;return(t*10); void display(uchar L1,uchar L2,ucha

24、r L3)/温度数据显示程序P21=0;P0=L1;delay(1); P21=1;P22=0;P0=L2;delay(1); P22=1;P23=0;P0=L3;delay(1);P23=1;if(flag=1)P20=0;P0=0x40;delay(1);P20=1; void Display_Result(uchar d)/电压显示部分uchar t;uchar s;uchar w; /采集的数值为 duchar y;t=d/51;/分出百位s=d%51;/余数存入s 中w=s/5;/分出十位y=s%5;/分出个位P23 = 0;P0 = LEDDatay;delay(1);P23=1;

25、P22 = 0;/显示个位十位百位数值,其中百位调用有小数点的代码P0 = LEDDataw;delay(1);P22 = 1;P21=0;P0 = LEDData1t;delay(1);P21=1;P20=0;P0 = LEDData0;delay(1);P20=1;void main()uchar i,d,temp,s;EA=1;EX0=1;IT0=1;/2 个中断开启,都采用跳沿触发EX1=1; IT1=1;AT=0;/初始选择通道INT0WD=0;/ 初始选择读取电压while(1)CLK=0;TMOD=0x10;TH1=(65536-100)/256;TL1=(65536-100)%

26、256;EA=1;ET1=1;TR1=1;ST = 0;ST = 1;/开启ADC 转换ST = 0;while(1)if(WD=0)do while(!EOC);OE = 1; /ADC 输出允许d=P1;for(i=0;i8;i+) temp=tempi;if(s&0x01)temp=temp|0x01; d=temp;Display_Result(d);/ 显示数值if(AT=0)/当选择通道INT0 时 if(d0x80)/ 电压超过2.5V P35=0;/ 扬声器响,LED 亮P36=0;delay(10); /延时后 LED 灭,实现 LED 闪烁P35=1;delay(10);

27、elseP35=1; / 电压未超过 1.25V 时,扬声器不响, LED 也不亮P36=1;else/若选择通道INT1if(d0xC0) / 电压超过 3.75V 时P35=0;/ 扬声器响, LED 亮P36=0;delay(10);P35=1; /延时后 LED 灭,实现 LED 闪烁delay(10); elseP35=1; /电压未超过 2.5V 时,扬声器不响, LED 也不亮 P36=1; OE = 0; / 输出允许关闭ST = 0;ST = 1; /开启ADC 转换ST = 0;else uint i; P35=1;/ 扬声器不响, LED 也不亮P36=1;i=ReadT

28、emperature();display(LEDDatai/1000,LEDData1i%1000/100,LEDDatai%100/10); void INTT0() interrupt 0WD=!WD;/功能选择的中断程序void INTT1() interrupt 2 AT=!A T;/通道选择的中断程序void T1ZD()interrupt 3 TH1=(65536-100)/256;TL1=(65536-100)%256;CLK=CLK;6硬件制造流程6.1 PCB 图钻孔7 总结通过这次比较完整的设计, 使我摆脱了单纯的理论知识学习状态, 达到了理论与实践的结合锻炼了我的综合运用

29、所学的专业基础知识, 解决实际设计问题的能力, 同时, 也提高了我们查阅文献资料、 设计手册、 设计规范以及电脑制图等专业能力水平, 而且通过整体的掌握对布局的取舍以及对细节的斟酌处理, 都使能力得到了锻炼、 经验得到了丰富, 抗压能力以及耐力在不同程度上得到了提高。虽然这次毕业设计内容繁多、过程繁琐但我收获很多,在这次设计过程中我不仅对A/D 转换芯片 ADC0809 有了进一步熟悉, 随着设计的不断深入对它的工作原理、 启动设置、 转换结束判断及输出等都基本掌握, 在和老师的沟通交流的过程中我对设计有了新的认识, 并且对实物的连接与布局有了新的看法, 对专业有了进一步的认识, 希望在以后的

30、实验中吸取更多地经验学会更多的实践知识。 同时, 在整个课程设计的过程中, 发生过很多错误。 通过不断纠正错误的过程, 我学会了很多东西, 不仅是专业知识,还有合理的时间安排, 同学之间的互相帮助等等。 我觉得自己开始对电子这方面有了基本的兴趣爱好,希望自己以后可以做的更好。8 附录元器件清单:4位 8段数码管共阴极1个排阻10K1个电阻1K1个电解电容30pf1个瓷片电容1uf1个单片机芯片AT89C521个数模转换ADC08081个温度传感DS18B201个插座(单片机)DIP-401个晶振12M1个蜂鸣器(有源)1个轻触开关( 4 脚)2个滑动变阻器1K2个铜板 10cm*8cm1块9 参考文献1 徐秀平 .单数字电路与逻辑设计. 电子工业出版社 ,20102 刘焕成 . 工程背景下的单片机原理及系统设计. 清华大学出版社 ,20083 曾卓斌 . 电子实习指导书. 五邑大学电子电工实验中心, 2014 版4 周润景 ,张丽娜 . 基于 PROTEUS 的电路及单片机系统设计与仿真 . 北京航空航天大学出版社 ,20065 赵淑范,王宏伟.电子技术实验与课程设计.北京清华大学出版社6 零点工作室 ,米昶 . protel DXP 电路设计基础教程. 机械工业出版社,2005.

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报