单片机原理及接口技术课程设计数字电压表设计.doc
单片机原理及接口技术 课程设计(论文)题目: 数字电压表设计 院(系): 专业班级: 学 号: 学生姓名: 指导教师: (签字)起止时间:课程设计(论文)任务及评语院(系): 教研室: 学 号学生姓名专业班级课程设计(论文)题目数字电压表设计课程设计(论文)任务电压测量范围:0500 V;测量精度:05;量程自动切换;采用LED显示;可用现场提供的220 V交流电源。主要设计内容:硬件电路设计:1. CPU最小系统设计(包括CPU选择,晶振电路,复位电路)2. 电压检测电路设计3. 显示电路及电源电路设计软件设计:1.编程程序流程图2.程序清编写进度计划第1天 查阅收集资料第2天 总体设计方案的确定第4天 CPU最小系统设计第5天 电压检测电路设计第6天显示电路及电源电路设计第7天 程序流程图设计第8天 软件编写与调试第9天 设计说明书完成第10天 答辩指导教师评语及成绩 平时: 论文质量: 答辩: 总成绩: 指导教师签字: 年 月 日注:成绩:平时20% 论文质量60% 答辩20% 以百分制计算摘 要电压表是一种在实验室、教学和日常测量场合中使用广泛的一种仪器。传统的指针式电压表功能单一、精度低,不能满足现代测量的要求,而数字电压表却有着显著的优势。数字电压表又简称DVM,它是采用数字化测量技术,把连续的模拟量转换成不连续、离散的数字形式加以显示的仪表。本文给出了具体的硬件设计和软件结构,详细描述了系统硬件设计线路的要点和结构以及软件设计要点,同时给出了各部分硬件电路原理图和子程序流程图,完成A/D转换功能并且用LED数码管显示结果,达到了任务书的要求。关键词:电压表;数字化测量技术; LED数码管; A/D转换目 录第1章 绪论11.1 数字电压表概况11.2 本文研究内容1第2章 数字电压表总体设计方案32.1 CPU的选择32.2 8155芯片简介42.3 复位电路设计52.4 时钟电路设计52.5 CPU最小系统图6第3章 硬件设计73.1 量程选择电路73.2 LED显示电路设计73.3 A/D转换器选择8第4章 软件设计114.1 软件实现功能综述114.2 流程图设计114.2.1 主程序流程图设计114.2.2 A/D转换流程图设计12第5章 系统设计与分析135.1 系统原理图135.2 系统原理综述145.3 单片机程序14第6章 课程设计总结17参考文献18第1章 绪论1.1 数字电压表概况智能仪器是仪器仪表的一种,近年来计算机技术及微电子器件在工程技术中应用十分广泛,在此基础上发展起来的智能仪表无论是在测量的准确性、灵敏度、可靠性、自动化程度、运用功能方面还是在解决测量技术与控制技术问题的深度及广度方面都有了很大的发展,以一种崭新的面貌展示在人们的面前。随着大规模集成电路及计算机技术的迅速发展,以及在人工智能向测量技术的移植或应用的过程中,智能仪表将会有更大的发展。测量仪表的智能化为先导,带动了各类仪表的智能化,是现代仪器仪表技术发展的主要趋势。数字电压表是在此基础上发展起来,并被广泛的应用。1.2 本文研究内容电子电压表主要用于测量各种高、低频信号电压,它是电子测量中使用最广泛的仪器之一。根据测量结果的显示方式及测量原理不同,电压测量仪器可分为两大类:模拟式电压表(AVM)和数字式电压表(DVM)。模拟式电压表是指针式的,多用磁电式电流表作为指示器,并在表盘上刻以电压刻度。数字式电压表首先将模拟量经模数(A/D)转换器变成数字量,然后用电子计数器计数,并以十进制数字显示被测电压值。众所周知,模拟电压表精度较高,曾经有很广阔的市场,现在依然有不少工程师依然在使用模拟电压表。的确模拟电压表在显示测量值方面精度校准,然而却也存在问题。模拟电压表采用用指针式,里面是磁电或电磁式结构,所以其响应速度较慢。然而在高速发展的当今社会,高速信号处理的需求越来越多,由于模拟电压表响应速度较慢已经不适用与高速信号领域,取而代之的将是数字电压表。但数字电压表由于存在采样误差,精度不是很高。不过目前可以通过技术手段来缩小误差。使其精度达到与模拟电压表一样精确甚至更高。可见将来数字电压表必将取代模拟电压表。现在有越来越多的数字测量仪器的出现但原理皆与数字电压表殊途同归,因此研究数字电压表有着很大现实意义。本设计总体以单片机8952为核心构成的单片机应用系统。该系统在8952外配程序存储器、数据存储器、A/D转换器0809、以及I/O口接口电路、显示电路等电路构成。交流电先经过单相滤波电路、信号放大电路输入A/D转换器0809,进一步送入8952后经显示电路显示电压值,实现电压测量的目的。第2章 数字电压表总体设计方案主电路框图时钟电路单片机机A/D转换测量电路输入电路LED显示电路复位电路图2.1 主电路原理框图框图说明:需要测量的信号通过测量电路输入,实现系统对模拟信号的检测,模拟信号经测量电路输入到A/D装换装置,经A/D转换将模拟信号转化为数字信号,输入单片机处理,AT89S52单片机内部有一个高增益反相放大器,当外接晶振后,构成了自激振荡器并产生振荡时钟脉冲。信号经单片机直接由单片机的P0,P2口驱动由LED显示器,完成检测过程,当单片机的复位引脚RST(全称RESET)出现2个机器周期以上的高电平时,单片机就执行复位操作。本方案主要是通过单片机中来实现档位的自动切换功能,在程序运行的过程中通过计算得出数据自动切换量程,主要通过I/O端口读取转换数据,经计算送LED显示数据,简易实现自动切换档位的功能,经过单片机处理后的数据来控制LED中显示出相应的数据。2.1 CPU的选择AT89S52是目前市场上比较常见的一种单片机,性价比比较高,而且适合于电子密码锁的设计,所以我们选择了这种单片机,主要有以以下几个端口。P0、P1、P2、P3:输入/输出端口。XTALl:振荡器反相放大器及内部时钟发生器的输入端。 XTAL2:振荡器反相放大器的输出端。Vcc:电源电压 。GND:地 。 RST:复位输入。 ALEPROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于 锁存地址的低8位字节。 PSEN:程序储存允许(PSEN)输出。 EAVPP:片外程序存储器访问允许信号,低电平有效.EA=1,选择片内程序存储器;EA=0,则程序存储器全部在片外而不管片内是否有程序存储器。对于片内无ROM的80C31/80C32单片机,应将EA引脚固定接低电平,以迫使系统全部执行片外程序存储器程序。由于本次设计需要储存空间比较小,内部ROM已经足够,所以接入的是VCC高电平,没有外部拓展,使用内部程序存储器。 单片机的引脚除了电源、复位、时钟接入和用户I/O口外,其余引脚都是为了实现系统扩展而设置的。这些引脚构成了三总线结构,分别是地址总线、数据总线和控制总线2.2 8155芯片简介256x8静态RAM,2个可编程位I/O口和一个可编程6位I/O口,可编程14位定时/计数器,与8088CPU兼容。多路传输地址和数据总线,内部地址锁存,单+5V电源,任一引脚对地电压=-0.5V-+7V,8155H、8156H为HCMOS产品,8155与8156的区别在于8155片选信号输入为CE,而8156为CE,8155的RAM存取时间约为400ns,8155-2存取时间为330ns,8155的功耗为1.5W。图2.2 芯片81552.3 复位电路设计复位操作可以使单片机初始化,也可以使死机状态下的单片机重新启动,因此非常重要。单片机的复位都是靠外部复位电路来实现的,在时钟电路工作后,只要在单片机的PESET引脚上出现24个时钟振荡脉冲(两个机器周期)以上的高电平,单片机就能实现复位。为了保证系统可靠复位,在设计复位电路时,一般使RESET引脚保持10ms以上的高电平,单片机便可以可靠的复位。当RESET从高电平变为低电平以后,单片机从0000H地址开始执行程序。在复位有效期间。ALE和引脚输出高电平。本设计采用按键式复位电路,它的上电复位利用电容器充电来实现,同时通过按键实现复位,按下键后,通过R1和R2形成回路,使RESET端产生高电平。按键的时间决定了复位时间。图2.3 复位电路2.4 时钟电路设计时钟电路用于产生单片机工作所需的时钟信号。时钟信号可以由两种方式产生:内部时钟方式和外部时钟方式。图2.4 时钟电路2.5 CPU最小系统图根据上述4节图,形成完整的CPU最小系统图图2.5 最小系统第3章 硬件设计根据设计要求与思路,确定该系统的设计方案。硬件电路由5个部分组成:量程选择电路,单片机时钟电路,复位电路,A/D转换电路,3位LED显示器电路。3.1 量程选择电路系统硬件电路设计,对待测模拟电压值按不同的范围,分为Ui, 0.1Ui, 0.01Ui, 0.001Ui, 0.0001Ui 五个档位,处理的信号送入单片机进行处理并显示,量程选择方式:手动。如图3.1所示。图3.1 量程设计量程选择电路原理:此量程选择电路是采用电阻分压的原理制成。设输入为Ui时,闭合1,电阻1K与其他电阻分压,实现档位为0.0001Ui,当闭合2时电阻1k与9K串联,共同分压,实现档位时0.001Ui,同理类推,当闭合5时,档位为Ui档。3.2 LED显示电路设计单片机应用系统中,通常都需要进行人机对话。这包括人对应用系统的状态干预与数据输入,以及应用系统向人们显示运行状态与运行结果。LED显示器的驱动是一个非常重要的问题,显示电路由LED显示器、段驱动电路和位驱动电路组成。此设计不采用段驱动芯片和位驱动芯片,直接由单片机的P0,P2口驱动,实验证明可行。在应用系统中,设计要求不同,使用的LED显示器的位数也不同,在设计中,选择3位LED显示器,采用动态显示方式。显示器接口原理图如图3.4所示。图3.2 显示电路采用P0口作为LED的段码输出信号,P2口的低3位作为LED位码的输出控制信号。该电路的工作原理:当P0口输出段码信号的BCD码后,输出具有一定驱动能力的七段字形码,由于3-LED的段码输入管脚是并联在一起的,所以每一位LED的段码输入管脚都能获得这个段码信号。若要控制在每一时刻只有一位LED被点亮,必须靠位码信号控制。P2口低3位输出位码信号后接到LED的位码控制端,因此P2口的低3位的位码信号在每一时刻只有一位是“1”,其他位全为“0”,然后按时间顺序改变输出“1”的位置,控制在每一时刻只有一位LED被点亮,达到动态显示的目的。说明:1位显示转换通道,2、3位显示电压表数值。3.3 A/D转换器选择ADC0808/0809简介图3.3 ADC0809引脚图ADC0808/0809引脚功能:IN0IN7:8路模拟量输入。A、B、C:3位地址输入,2个地址输入端的不同组合选择八路模拟量输入。ALE:地址锁存启动信号,在ALE的上升沿,将A、B、C上的通道地址锁存到内部的地址锁存器。D0D7:八位数据输出线,A/D转换结果由这8根线传送给单片机。OE:允许输出信号。当OE=1时,即为高电平,允许输出锁存器输出数据。START:启动信号输入端,START为正脉冲,其上升沿清除ADC0808的内部的各寄存器,其下降沿启动A/D开始转换。EOC:转换完成信号,当EOC上升为高电平时,表明内部A/D转换已完成。ADC0808内部结构图:图3.4 ADC0809内部结构A/D转换器0809的任务是将模拟量转换成数字量,它是模拟信号和数字仪器的接口。其内部原理图如下所示主要部件的功能: 256R电阻梯形网络。即R-2R电阻网络。 逐次逼近寄存器SAR。执行8次迭代后表示近似输入电压。 比较器。将输入模拟量与逐次逼近值进行比较。 多路开关。选择不同通道的模拟量。逐次逼近型A/D转换器ADC0808由八路模拟开关、地址锁存与译码器、比较器、D/A转换器、寄存器、控制电路和三态输出锁存器等组成。图3.5 量程电路设计第4章 软件设计4.1 软件实现功能综述通过对主程序的设计和A/D转换器子程序的设计,实现电压测量范围在0500 V;测量精度05;量程自动切换的数字电压表4.2 流程图设计4.2.1 主程序流程图设计程序的内容一般包括:主程序的起始地址、中断服务额程序的起始地址、有关内存单元及相关部件的初始化和一些子程序调用等。为了显示能够看清便于记录中间设置一个短暂的演示程序,根据设计要求,设计出如图4.1所示的主程序流程图。图4.1 主程序流程图开始初始化调用A/D转换子程序调用显示转化子程序延时4.2.2 A/D转换流程图设计A/D转换程序的功能是采集数据,在整个系统设计中占有很高的地位。当系统置好后,单片机扫描转换结束管脚P2.6的输入电平状态,当输入为高电平则转换完成,将转换的数值转换并显示输出。若输入为低电平,则继续扫描。程序流程图如图4.2所示。图4.2 A/D转换子程序流程图开始开始模数转化转化是否完成?取得模数转化结果显示模数转化结果结束否NY第5章 系统设计与分析5.1 系统原理图图5.1 总电路图5.2 系统原理综述本文采用程序控制放大器实现量程的自动转换。用AT89s52进行数据控制、处理,送到显示器显示,硬件结构简单,软件采用单片机语言实现,程序简单可读写性强,效率高。与传统的电路相比,具有方便操作、处理速度快、稳定性高、性价比高的优点,具有一定的使用价值。本设计在超量程时会显示特定的值,即超量程显示,如想更直观的显示,可加入声光报警电路,在超量程操作时可进行声光报警。5.3 单片机程序利用汇编软件进行调试汇编,并验证结果。LED_0 EQU 30HLED_1 EQU 31HLED_2 EQU 32HADC EQU 35HCLOCK BIT P2.4ST BIT P2.5EOC BIT P2.6OE BIT P2.7 ORG 0000H SJMP START ORG 0BH LJMP INT_TOSTART:MOV LED_0,#00H MOV LED_1,#00H MOV LED_2,#00H MOV DPTR,#TABLE MOV TMOD,#02H MOV TH0,#245 MOV TL0,#00H MOV IE,#82H SETB TR0WAIT: CLR ST SETB ST CLR ST JNB EOC,$ /JNB:当EOC=0时转移到本指令首地址 SETB OE MOV ADC,P1 /OE=1时将AD信号存入ADC中 CLR OE MOV A,ADC MOV B,#51 DIV AB MOV LED_2,A /A除以51,商在LED2,余数在B中 MOV A,B MOV B,#5 DIV AB MOV LED_1,A MOV LED_0,B/余数再除以5,商存入LED1,余数存入LED0 LCALL DISP SJMP WAITINT_TO:CPL CLOCK RETIDISP: CLR P2.0 MOV A,LED_0 MOVC A,A+DPTR SETB P2.3 MOV P3,A /显示第一个LED LCALL DELAY CLR P2.3 MOV A,LED_1 MOVC A,A+DPTR SETB P2.2 MOV P3,A /显示第二个LED LCALL DELAY CLR P2.2 MOV A,LED_2 MOVC A,A+DPTR SETB P2.1 ANL A,#7FH MOV P3,A /加上小数点,显示第三个LED LCALL DELAY CLR P2.1 RETDELAY:MOV R6,#10 D1:MOV R7,#250 DJNZ R7,$ DJNZ R6,D1 RETTABLE:DB 0C0H,0F9H,0A4H,0B0H,99H DB 92H,82H,0F8H,80H,90H END第6章 课程设计总结本次课程设计是采用单片机设计一个直流数字电压表,通过对模拟信号的采样经A/D转换器将模拟信号转化为数字信号,通过单片机处理最后在LED显示屏上显示数据。通过学习单片机课程及有关资料的查询我决定采用AT89S52系列单片机,而数模转换部分我采用ADC0809,此A/D转换器除了转换速度快(几十至几百us)、分辨率高外,还有价钱便宜的优点,其次单片机还需有简易的复位系统,所以我采用的是按键式的复位装置。其次是五档调节的电路装置,做了很多遍,主要目的达到了但连接还有小问题,改进后还有些许误差,需要进一步改进。数字显示使用的是LED显示器,LED显示器的驱动是一个非常重要的问题,显示电路由LED显示器、段驱动电路和位驱动电路组成。此设计不采用段驱动芯片和位驱动芯片,直接由单片机的P0,P2口驱动。原理很复杂最后经过老师指导达到了题目的要求。经过这一次的设计真的发现自己身上的不足,在知识的运用上还有很多欠缺,以后仍需要努力学习。参考文献1 梅丽凤等编著.单片机原理及接口技术.清华大学出版社,2009.72 赵晶主编.Prote199高级应用.人民邮电出版社,2000 3 于海生编著.微型计算机控制技术.清华大学出版社,2003.4