您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 中北大学单片机课设数字电压表课程设计
单片机原理及接口技术课程设计第-1-页共15页1绪论数字电压表(DigitalVoltmeter)简称DVM,它是采用数字化测量技术,把连续的模拟量(直流输入电抓)转换成不连续、离散的数字形式并加以显小的仪表。传统的指针式电压表表功能单一、精度低,不能满足数字化时代的需求,采用单片机的数字!电压,由精度高、抗十扰能力强,可扩展性强、集成方便,还可与PC进行实时通信。本系统用单片机AT89C51构成数字电压表控制系统,具有精度高、速度快、性能稳定和电路简且工作可靠等特点,具有很好的使用价值。数字电压表是诸多数字化仪表的核心与基础。以数字电压表为基础,可扩展成各种数字仪表及非.巨量的数字化仪表,其应用覆盖电子电工测量、工业测量、自动化仪表等领域。与指针式电坏表相比,数字电压表具有很多优点:读数直观、准确,以数字形式显示电压,避免读数视差和视觉疲劳;显示范围宽、分辨力高,指针电压表准确度由0.1~5.0分为7个等级,数字电压表由0.0005~1.0分为11个等级,数字电压表分辨力日前可做到从2到10;转入阻抗(转入电阻)高(l~104Mft),吸收被测信号电流极小,测量误差小,几可忽略;集成度高,功耗小;可扩展能力张。如今,微型化是计算机发展的重要方向,把计算机的运算器、控制器、存贮器输入/输出接口四个组成部分集成在一个硅片内,于是就出现了以一个大规模集成电路为主组成的微型计算机——单片微型计算机,简称单片机,由于单片机的重要应用领域为智能化电子产品,一般需要嵌入仪器设备内,故又称为嵌入式微控制器。本课程设计要求采用单片机来设计一个数字电压表,输入为0~5V线性模拟信号,输出通过LED显示。这里就涉及到模数转换,LED显示器与单片机的连接,单片机时钟电路与复位电路和驱动的接法。需了解各设计要求,并清楚各芯片的引脚及其功能和各芯片之间的连接方法,重点为所选单片机89C51各引脚的选取及其分配。对于此次课程设计要求,采用了51系列单片机、ADC0808、7段LED数码管、可变电阻等器件,从局部到整体的设计,成功实现其功能要求。单片机原理及接口技术课程设计第-2-页共15页2整体系统框图2.1整体系统框图和系统原理2.1.1系统方案描述通过电压输入,将其放大(或可省这一步),再将其进行A/D转换,得到数字信号,通过51单片机及其程序控制将其用LED显示出来,51系列单片机需连复位电路和晶振电路。图1系统原理框图2.1.2A/D转换器接口在单片机的实时控制和智能仪器仪表等应用系统中,被控制或被测量对象的有关参量往往是一些连续变化的模拟量,如温度、压力、流量、速度等物理量,这些模拟量必须转换成数字量后才能输入到计算机进行处理。计算机处理的结果,也常常需要转换为模拟信号,驱动相应有招待机构,实现对被控对象的控制。若输入是非电的模拟信号,还必须通过传感器转换成电信号并加以适当的放大。实现模拟量转换成数字量的器件称为A/D转换器。实现数字量转换成模拟量的器件称为D/A转换器。图2为具有模拟量输入和模拟量或数字量输出的MCS-51应用系统结构框图。51系列单片机数据显示A/D电压放大电压输入复位电路晶振电路等单片机原理及接口技术课程设计第-3-页共15页图2、具有模拟量输入和模拟量或数字量输出的MCS-51应用系统框图本设计中是具有模拟量输入和数字量输出的设计,其中模拟信号是电信号,所以如框图中采用相应的结构图。2.1.3LED显示器及接口在单片机应用系统中,使用的显示器主要有LED(发光二极管显示器)和LCD(液晶显示器)。这两种显示器成本低廉、配置灵活,与单片机接口方便。这里主要讲LED显示器的结构。LED显示器是由发光二极管来显示字段的器件。在单片机应用系统中常用七段显示器。发光二极管的阳极连在一起的称为共阳极显示器,阴极连在一起的称为共阴极显示器。图三为七段发光显示器的结构图。一个显示器由八个发光二极管组成,其中七个发光二极管控制a~g七个段的亮或暗,另一个发光二极管控制一个小数点的亮或暗。这种七段显示器能显示的字符较少,字符的开头有些失真,但与单片机的控制接口非常简单,使用方便。模拟信号(非电量)A/D转换器MCS-51数字量输出D/A转换器模拟量输出模拟信号(电信号)单片机原理及接口技术课程设计第-4-页共15页表一、七段LED显示器的段选取码显示字符共阴极段选码共阳极段选码显示字符共阴极段选码共阳极段选码03FHC0HC39HC6H106HF9HD5EHA1H25BHA4HE79H86H34FHB0HF71H8EH466H99HP73H8CH56DH92HU3EHC1H67DH82H31HCEH707HF8HY6EH91H87FH80H8.FFH00H96FH90H“灭”00HFFHA77H88HB7CH83H2.2系统原理如图3所示,A/D转换由集成电路0808完成,0808具有8路模拟输入端口,地址线(23~25脚)可决定对哪一路模拟输入作A/D转换。22脚为地址锁存控制,当输入为高电平时,对地址信号进行锁存。6脚为测试控制,当输入一个2μS宽高电平脉冲时,就开始A/D转换。7脚为A/D转换结束标志,当A/D转换结束时,7脚输出高电平。9脚为A/D转换数据输出允许控制,当OE脚为高电平时,A/D转换数据从端口输出10脚为0808的时钟输入端,利用单片机30脚的六分频晶振频率再通过14024二分频得到1MHz时钟。单片机的P1、P3.0~P3.3端口作为四位LED数码管显示控制控制。P3.5端口用作单路显示/循环显示转换按钮,P3.6端口用作单路显示时选择通道。P0端口作A/D转换数据读入用,P2端口用作0808的A/D转换控制。单片机原理及接口技术课程设计第-5-页共15页图3系统原理图3系统硬件设计3.1内部时钟电路单片机工作的时间基准是由时钟电路提供的,在单片机的XTAL1和XYAL2两个管脚接一只晶振及两只电容就构成了单片机的时钟电路,电路中电容器和对振荡频率有微调作用,通常取(30±10)pF石英晶体选择6MHz或12MHz都可以。时钟电路如图4所示。图4内部时钟电路单片机原理及接口技术课程设计第-6-页共15页最常用的内部时钟方式是采用外接晶体(陶瓷谐振器的频率稳定性不高)和电容组成的并联谐振回路,否认是HMOS还是CHMOS型单片机,其并联谐和振回路及参数相同,MCS-51单片机允许的振荡晶体可在1.2MHz~24MHz之间选择,一般取11.0592MHz。我们取12MHz。电容的取值对振荡频率输出的稳定性、大小及振荡电路起振速度有少许影响。C1、C2可在20pF~100pF之间选择,一般当外接晶体时典型取值为30pF,外接陶瓷谐和振器时典型取值为47pF,取60pF~70pF时振荡器有较高的频率稳定性。3.2上电复位电路图5上电复位电路图单片机的RST管脚为主机提供了一个外部复位信号输入口。复位信号是高电平有效,高电平有效的持续时间为2个机器周期以上。单片机的复位方式可由手动复位方式完成。3.3A/D转换模块设计3.3.1ADC0808简介A/D转换器ADC0808由八路模拟开关、地址锁存与译码器、比较器、D/A转换器、寄存器、控制电路和三态输出锁存器等组成。图6ADC0808引脚图N0~IN7:8路模拟量输入。A、B、C:3位地址输入,2个地址输入端的不同组合选择单片机原理及接口技术课程设计第-7-页共15页八路模拟量输入。ALE:地址锁存启动信号,在ALE的上升沿,将A、B、C上的通道地址锁存到内部的地址锁存器。D0~D7:八位数据输出线,A/D转换结果由这8根线传送给单片机。OE:允许输出信号。当OE=1时,即为高电平,允许输出锁存器输出数据。START:启动信号输入端,START为正脉冲,其上升沿清除ADC0808的内部的各寄存器,其下降沿启动A/D开始转换。EOC:转换完成信号,当EOC上升为高电平时,表明内部A/D转换已完成。3.3.2ADC0808内部结构图图7ADC0808内部结构图3.3.3A/D转换电路设计单片机原理及接口技术课程设计第-8-页共15页图8ADC0808与单片机的连接4系统软件设计4.1主程序设计1.初始化程序系统上电时,初始化程序将70H~77H内存单元清0,P2口置0。2.显示子程序显示子程序采用动态扫描法实现四位数码管的数值显示。测量所得的A/D转换数据放在70H~77H内存单元中,测量数据在显示时需转换成为十进制BCD码放在78H~7BH内存单元中,其中7BH存放通道标志数。寄存器R3用作8路循环控制,R0用作显示数据地址指针。3.主程序在刚上电时,系统默认为循环显示8个通道的电压值状态。当进行一次测量后,将显示每一通道的A/D转换值,每个通道的数据显示时间为1s左右。主程序在调用显示子程序和测试子程序之间循环,主程序流程图见图9.单片机原理及接口技术课程设计第-9-页共15页图9主程序流程图4.模/数转换测量子程序模/数转换测量子程序用来控制对0808八路模拟输入电压的A/D转换,并将对应的数值移入70H~77H内存单元。4.2系统源程序编写清单LED_0EQU30HLED_1EQU31HLED_2EQU32H;存放段码ADCEQU35HCLOCKBITP2.4;定义ADC0808时钟位STBITP2.5EOCBITP2.6OEBITP2.7ORG00HSJMPSTARTORG0BHLJMPINT_T0START:MOVLED_0,#00HMOVLED_1,#00HMOVLED_2,#00HMOVDPTR,#TABLE;段码表首地址MOVTMOD,#02H单片机原理及接口技术课程设计第-10-页共15页MOVTH0,#245MOVTL0,#00HMOVIE,#82HSETBTR0WAIT:CLRSTSETBSTCLRST;启动AD转换JNBEOC,$;等待转换结束SETBOEMOVADC,P1;读取AD转换结果CLROEMOVA,ADCMOVB,#100;AD转换结果转换成BCD码DIVABMOVLED_2,AMOVA,BMOVB,#10DIVABMOVLED_1,AMOVLED_0,BLCALLDISPSJMPWAITINT_T0:CPLCLOCK;提供ADC0808时钟信号RETIDISP:movdptr,#tableMOVA,LED_0;数码显示子程序MOVCA,@A+DPTRCLRP2.3MOVP0,ALCALLDELAYSETBP2.3movdptr,#tableMOVA,LED_1MOVCA,@A+DPTRCLRP2.2MOVP0,ALCALLDELAYSETBP2.2movdptr,#tableMOVA,LED_2MOVCA,@A+DPTRsetbacc.7CLRP2.1单片机原理及接口技术课程设计第-11-页共15页MOVP0,ALCALLDELAYSETBP2.1RETDELAY:MOVR6,#10;延时5毫秒D1:MOVR7,#250DJNZR7,$DJNZR6,D1ntov:movdptr,#tabmova,adcmovca,@a+dptrmovb,#2divabmovr1,bmovr1,bmovb,#10divabmovled_2,amovled_1,bcjner1,#01,kk1movled_0,#05back:retkk1:movled_0,#00ajmpbackRETTABLE:DB3FH,06H,5BH,4FH,66HDB6DH,7DH,07H,7FH,6FHtab:db0,0,0,1,0,2,0,0,3,0db4,0,0,5,0,6,0,0,7,0db8,0,0,9,0,0,10,0,11,0db0,12,0,13,0,0,14,0,15,0db0,16,0,17,0,0,18,0,19,0db0,20,0,0,21,0,22,0,0,23db0,24,0,0,25,0,26,0,0,27db0,28,0,0,29,0,0,30,0,31db0,0,32,0,33,0,0,34,0,35db0,0,36,0,37,0,0
本文标题:中北大学单片机课设数字电压表课程设计
链接地址:https://www.777doc.com/doc-4398838 .html