数字电压表课程设计说明书.doc_第1页
数字电压表课程设计说明书.doc_第2页
数字电压表课程设计说明书.doc_第3页
数字电压表课程设计说明书.doc_第4页
数字电压表课程设计说明书.doc_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

单片机技术课程设计说明书 数字电压表 院 、 部: 电气与信息工程学院 学生姓名: 指导教师: 伍麟珺 职称 讲师 专 业: 电子信息工程 班 级: 完成时间: 2015-1-6 湖南工学院课程设计任务书 课 程:单片机技术 课程设计题目:数字电压表 适 用 班 级 :电子1203班 时 间:20142015学年第一学期 指 导 老 师 :伍麟珺单片机技术课程设计任务书1、 设计目的与任务学生通过理论设计和实物制作解决相应的实际问题,巩固和运用在单片机技术中所学的理论知识和实验技能,掌握单片机应用系统的一般设计方法,提高设计能力和实践动手能力,为以后从事电子电路设计、研发电子产品打下良好的基础。二、设计内容与要求1、设计内容设计一个能够测量直流电压的数字电压表。测量电压范围05V,测量精度小数点后两位。该电压表上电或按键复位后能自动显示系统提示符“P.”, 进入测量准备状态,按测量开始键则开始测量,并将测量值显示在显示器上,按测量结束键则自动返回“P.”状态。2、设计要求(1)以上课题可以任选其一或多选,学生也可以自拟课题;(2)编程语言:汇编或C51;(3)计算机打印单片机技术课程设计说明书一份;(4)设计时间:一周;(5)实物制作;(6)人员分组:一人一组一实物。三、单片机技术课程设计说明书正文主要内容参照“单片机技术课程设计说明书正文主要内容”文件。四、单片机技术课程设计说明书书写规范格式 参照“单片机技术课程设计说明书书写规范格式”文件。五、参考资料1、马忠梅,单片机的C语言Windows环境编程宝典M, 北京:北京航空航天大学出版社,2003.6; 2、李光飞,单片机C程序设计指导M,北京:北京航空航天大学出版社,2003.01 ;3、李光飞,单片机课程设计实例指导M,北京:北京航空航天大学出版社,2004.9。摘 要本文介绍了一种基于单片机的简易数字电压表的设计。该设计主要由三个模块组成:A/D转换模块,数据处理模块及显示模块。A/D转换主要由芯片ADC0809来完成,它负责把采集到的模拟量转换为相应的数字量在传送到数据处理模块。数据处理则由芯片AT89S52来完成,其负责把ADC0809传送来的数字量经过一定的数据处理,产生相应的显示码送到显示模块进行显示;此外,它还控制着ADC0809芯片工作。此数字电压表可以测量0-5V的模拟直流输入电压值,并通过一个四位一体的共阳数码管显示出来,误差不超过0.02V。并且由于该数字电压表系统构造简单、抗干扰能力较强,因此具有一定的实用价值。 关键词 : 电压表;A/D转换;分频电路ABSTRACTThis paper introduces a design of simple digital voltmeter based on SCM. This design is mainly composed of three modules: A/D conversion module, data processing module and display module. A/D conversion is mainly done by chip ADC0809, it is responsible for the collection of analog converted to the corresponding digital quantity in transmitted to data processing module. Data processing is done by chip AT89S52, its responsible for sends the ADC0809 to digital quantity through certain data processing, a corresponding display code to display module; In addition, it also controls the ADC0809 chip. The digital voltage meter can measure of 0 to 5 v 1 road analog dc input voltage value, and through a four one of the seven segment digital tube display.Error is less than 0.02 V.And because the digital voltmeter system structure is simple, strong anti-jamming capability, thus has a certain practical value.Keywords : Voltmeter; A/D conversion; Frequency division circuit目 录1设计总体方案71.1设计要求81.2 设计思路82 硬件电路设计82.1 A/D转换介绍92.1.1 逐次逼近型A/D转换器原理92.1.2 ADC0809芯片92.2 单片机系统112.2.1 AT89S52简单功能介绍112.2.2 ATS9S52芯片112.3 其他逻辑电路122.3.1 74LS74电路122.3.2 或非门,非门电路122.4 数码管显示电路132.4.1 LED简介132.4.2 LED显示原理142.5 时钟电路和复位电路142.5.1时钟电路142.5.2 复位电路152.6 锁存电路152.7 硬件电路的最终确立163 程序设计163.1程序设计方案163.2 程序介绍173.2.1 初始化程序173.2.2 A/D转换程序173.2.3 延时法程序173.2.4 查询法程序183.2.5 中断法程序184 仿真及误差分析194.1 proteus仿真原理图194.1.1原理图说明194.2 误差分析204.2.1设计结果显示204.2.2误差分析21结束语22致 谢23参考文献24附 录A25附 录B27附 录C28附 录D29附 录E31附 录F331设计总体方案1.1设计要求(1) 设计一个能够测量直流电压的数字电压表。(2) 测量电压范围05V,测量精度小数点后两位。(3) 该电压表上电或按键复位后能自动显示系统提示符“P.”, 进入状态。(4) 按测量开始键则开始测量,并将测量值显示在显示器上,按测量结束键则自动返回“P.”状态 1.2 设计思路 根据设计要求,选择AT89S52单片机为核心控制器件。A/D转换采用ADC0809实现,与单片机的接口为P0口和P2口的P2.0引脚。电压显示采用4位一体的共阳LED数码管。LED数码的段码输入,由P1产生,位码输入,用端口P2.1,P2.2,P2.3,P2.4四位产生。1.3 设计方案 硬件电路设计由6个部分组成; A/D转换电路,AT89S52单片机系统,LED显示电路、振荡电路、复位电路以及测量电压输入电路。硬件电路设计框图如图1所示。 图1 数字电压表硬件系统框图2 硬件电路设计2.1 A/D转换介绍 现实世界的物理量都是模拟量,能把模拟量转化成数字量的器件称为模/数转换器(A/D转换器),A/D转换器是单片机数据采集系统的关键接口电路,按照各种A/D芯片的转化原理可分为逐次逼近型,双重积分型等等。双积分式A/D转换器具有抗干扰能力强、转换精度高、价格便宜等优点。与双积分相比,逐次逼近式A/D转换的转换速度更快,而且精度更高,比如ADC0809、ADC0808等,它们通常具有8路模拟选通开关及地址译码、锁存电路等,它们可以与单片机系统连接,将数字量送到单片机进行分析和显示。一个n位的逐次逼近型A/D转换器只需要比较n次,转换时间只取决于位数和时钟周期,逐次逼近型A/D转换器转换速度快,因而在实际中广泛使用。本次设计采用ADC0809芯片。2.1.1 逐次逼近型A/D转换器原理逐次逼近型A/D转换器是由一个比较器、A/D转换器、存储器及控制电路组成。它利用内部的寄存器从高位到低位一次开始逐位试探比较。转换过程如下:开始时,寄存器各位清零,转换时,先将最高位置1,把数据送入A/D转换器转换,转换结果与输入的模拟量比较,如果转换的模拟量比输入的模拟量小,则1保留,如果转换的模拟量比输入的模拟量大,则1不保留,然后从第二位依次重复上述过程直至最低位,最后寄存器中的内容就是输入模拟量对应的二进制数字量。2.1.2 ADC0809芯片 ADC08089是采用逐次逼近式A/D转换原理,可实现8路模拟信号的分时采集,芯片内有8路模拟选通开关,以及相应的通道地址锁存与译码电路,转换时间为100us左右。ADC0809的引脚图及连线图如图2所示。 图2 ADC0809芯片引脚图及连线图IN0-IN7:8路模拟量输入通道,用于输入和控制被转换的模拟电压。ALE:地址锁存允许信号。对应ALE上跳沿,A,B,C地址状态送入地址锁存器中。START:转换启动信号。上跳沿时内部寄存器清零;下跳沿时,开启A/D转换;在A/D转换期间,START保持低电平。EOC: EOC为转换结束信号。EOC=0,正在进行转换;EOC=1,转换结束。使用中既作为查询的状态标志,又可以作中断请求信号使用。D7-D0:数字量输出端。为三态缓冲输出形式,可以与单片机直接相连。D0为低位,D7为高位。 A,B,C:地址线,模拟通道的选择信号。A为低位地址,C为高位地址,用于选择8路模拟输入中的一路,其对应关系如表1所示:CBA选择的通道000IN0001IN1010IN2011IN3100IN4101IN5110IN6111IN7表一 通道选择表OE:OE为输出允许端,高电平能使D0-D7引脚上输出转换后的数字量。VREF+、VREF-:参考电压。参考电压用来与输入的模拟信号进行比较,作为逐次逼近式的基准,(典型的VREF+为+5V、VREF-为0V)。Vcc、GND: Vcc为主电源输入端,GND为接地端,一般REF+与Vcc连接在一起,REF-与GND连接在一起. CLK:时钟输入端。2.2 单片机系统2.2.1 AT89S52简单功能介绍 AT89S52的主要功能如下:(1) 晶片内部具有时钟振荡器;(2) 有8位CPU和系统可编程Flash;(3) 内部程序存储器即ROM为8KB;(4) 内部数据存储器即RAM为256字节;(5) 32个可编程的I/O口线;(6) 8个中断向量源;(7) 三个定时器/计数器; 2.2.2 ATS9S52芯片 AT89S52芯片引脚图及连线图如图3 图3 AT89S52芯片引脚图及连接图本次设计中所用到的引脚有:P0,P1,P2,P3:四个8位并行口,实现数据的并行输入/输出;ALE:地址锁存信号,此外ALE以1/6晶振频率输出,可作为外部脉冲使用;RST:复位信号;XTAL1,XTAL2:内部时钟时,外接电容和石英晶体;外部时钟时,接外部时钟脉冲信号;INT1:外部中断申请引脚;/EA:访问程序存储器控制信号,为高电平时由内而外访问程序存储器;2.3 其他逻辑电路2.3.1 74LS74电路 74LS74引脚图及连线图如图4 图4 74LS74引脚图 本次设计所用脉冲为500KHZ,硬件电路中晶振的频率为12MHZ,经ALE分频得2MHZ,因此用74LS74产生一个四分频电路,即产生500KHZ的脉冲信号,分频电路连线图如图5图5 74LS74分频电路2.3.2 或非门,非门电路(1)74LS02或非门 74LS02引脚图及连线图如图6 图6 74LS02功能引脚图及连线图(2)74LS04非门 74LS04引脚图及连线图如图7 图7 74LS04功能引脚图及连线图两种电路输出幅度大,带负载能力强,抗干扰能力强,本次设计采用这两个电路进行ADC0809与单片机的连接,ADC0809的EOC引脚通过非门与单片机的外部中断P3.3连接,以提供外部中断请求信号;单片机的写信号/WR和P2.0口通过或非门与ADC0809的ALE引脚相连,读信号/RD和P2.0通过或非门与ADC0809的OE端相连。2.4 数码管显示电路2.4.1 LED简介 LED是Light Emiting Diode(发光二极管)的缩写,发光二极管能将电信号转换为光信号的电致发光器件。由条形发光二极管组成的“8”字形的LED显示器。也称数码管。本次设计所用的为四位一体共阳数码管,其引脚图及连线图如图8 图8 四位一体数码管引脚图及连线图2.4.2 LED显示原理(1) 段码 段码就是为数码管显示提供的各段状态组合,即字形代码。7段数码管的段码为7位,用一个字节显示即可。段码的值与数码管公共引脚的接法有关,共阳如表二显示表二 十六进制段码表数字共阳极段码0C0H1F9H2A4H3B0H499H592H682H7F8H880H990HA88HB83HCC6HDA1HE86HF8EH灭FFH(2) 段控位控接法 本次硬件电路图中,将数码管的段控端与P1口线相连,而位控段选择了P2口的P2.1,P2.2,P2.3,P2.4口线相连,其中P2.2口线通过一个非门电路与小数点位dp相连。2.5 时钟电路和复位电路2.5.1时钟电路 本设计系统采用内部时钟方式,利用单片机内部的高增益反相放大器,外部电路简,只需要一个晶振和 2个电容即可,如图9所示 图9 晶振电路及连线图电路中的器件选择可以通过计算和实验确定,也可以参考一些典型电路的参数,电路中,电容器C1和C2对震荡频率有微调作用,通常的取值范围是3010pF,在这个系统中选择了33pF;石英晶振选择范围最高可选24MHz,它决定了单片机电路产生的时钟信号震荡频率,在本系统中选择的是12MHz,因而时钟信号的震荡频率为12MHz。2.5.2 复位电路 单片机在启动运行时都需要复位,使CPU和系统中的其他部件都处于一个确定的初始状态,并从这个状态开始工作。其复位电路图如图10所示。 图10 复位电路图及连线图2.6 锁存电路 锁存器是一种对脉冲电平敏感的存储单元电路,它们可以在特定输入脉冲电平作用下改变状态。锁存,就是把信号暂存以维持某种电平状态。锁存器的最主要作用是缓存,其次完成高速的控制其与慢速的外设的不同步问题,再其次是解决驱动的问题,最后是解决一个I/O口既能输出也能输入的问题。本次设计采用的锁存器为74HC573,实现锁存功能。其引脚图及连线图如图11所示。 图11 74HC573引脚图及连线图2.7 硬件电路的最终确立1.硬件电路原理图见附录A2.实物图见附录B3.元件清单见附录C3 程序设计3.1程序设计方案 此次程序设计采用三种方法,分别是延时法,查询法和中断法。主程序设计的总方案见图12设计框图。图12方案设计框图3.2 程序介绍3.2.1 初始化程序如上文介绍本次设计选择通道IN0,8路模拟选择通道A,B,C分别接3位低位地址Q0,Q1,Q2即P0.0,P0.1,P0.2,而地址锁存允许信号ALE由P2.0控制,则8路模拟通道的地址为FEF8H-FEFFH。3.2.2 A/D转换程序转换框图如图13所示图13转换框图3.2.3 延时法程序 软件延时法是指用软件延时等待一次A/D转换结束。延时时间取决于计算和调试而获得的ADC完成一次转换所需要的时间。延时法程序设计流程框图如图14所示延时法程序清单见附录D 图14延时法程序流程框图 图15查询法程序流程框图3.2.4 查询法程序查询法将EOC接至80C52的某端口I/O口线。启动A/D转换后,利用查询该I/O口线引脚电平是否为0的方法读取转换结果。查询法程序设计流程框图如图15所示查询法程序清单见附录E3.2.5 中断法程序中断法利用EOC作为向80C51申请中断信号。在主程序中启动A/D转换,在继续执行主程序。在中断服务程序中读取转换结果。中断法程序设计流程框图如图16所示中断法程序清单见附录F图16中断程序流程框图4 仿真及误差分析4.1 proteus仿真原理图 原理图见图17 图17proteus仿真原理图4.1.1原理图说明 此电路的工作原理是:+5V模拟电压信号通过变阻器RV1分压后由ADC08008的IN0通道进入,经过模/数转换后,产生相应的数字量经过其输出通道D0-D7传送给AT89C52芯片的P1口,AT89C52负责把接收到的数字量经过数据处理,产生正确的7段数码管的显示段码传送给四位LED,同时它还通过其四位I/O口P2.1、P2.2、P2.3、P2.4产生位选信号控制数码管的亮灭。此外,AT89C52还控制ADC0808的工作。接到ADC0808的CLOCK,P2.0发正脉冲启动A/D转换。补充说明:proteus里面没有ADC0809的封装模式,因此选用ADC0808代替,两者没有本质区别,ADC0808是ADC0809的简化版,主要的不同点是0808的转换输出D0-D7与常用的输出端高低位是相反的,即0809的最低位是D0,0808的最低位为out7。类似的,软件里面没有AT89S52的封装,则选用的C52实现其功能。4.2 误差分析4.2.1设计结果显示仿真结果如图18所示 所测电压0.00显示电压0.00V 所测电压2.25V显示电压2.23V 所测电压4.45V显示电压4.43V 所测电压5.00V显示电压5.00V 图18仿真数码管显示电压硬件实物结果如图19所示系统复位后显示“P”图19实物数码管显示电压4.2.2误差分析数码管显示与电压表电压对比如表三表三 数码管显示电压与实测电压对比数码管显示电压电压表所测电压误差0.000.000.002.232.250.024.434.450.025.005.000.00由于单片机AT89C52为8位处理器,当输入电压为5.00V时,ADC0808输出数据值为255(FFH),因此单片机最高的数值分辨率为0.0196V(5/255)。这就决定了电压表的最高分辨率只能到0.0196V,从上表可看到,测试电压一般以0.02V的幅度变化。结束语不知不觉一学期将要结束了,我们的单片机理论课已经结课两个星期了,在这次课程设计中我发现我的动手能力还是很差,从画AD原理图,封装,PCB到转印,腐蚀,打孔,焊接,这每一个过程都需要仔细检查,细心和对。例如说,在画封装时,如果把引脚间的距离搞错了的话,做出来的板子便不好焊接,也许有其他补救的方法,但是也不会那么完美。而我这次所做的硬件,不知是哪个环节出了问题,导致结果一直模模糊糊,最终也没有达到我想要的那个效果。 本次课程设计的程序相比较而言比较简短,因为有A/D转换实验的一定基础,两者有着很大的相似点,这为我省去了不少麻烦,但是中间还是有不少曲折。经过这次课程设计,我学会了如何用单片机制作数字电压表,另外也懂得了如何设计一个用单片机控制的硬件电路。同时,本次设计用到了proteus和keil软件使我对这些软件的使用更加的熟练。本次课程设计的硬件方面任有很多欠缺,程序方面也有很大的漏洞,希望老师能够网开一面。 致 谢通过这次比较完整的课程设计,使我们摆脱了单纯的理论知识学习状态,同时使我们学习了用理论与实践的结合的方法,进一步锻炼了我的综合运用所学的专业基础知识,提高实际设计问题的能力,同时,也提高了我们查阅文献资料、设计手册、设计规范以及电脑制图等能力,而且通过整体的掌握对布局的取舍以及对细节的斟酌处理,都使我们能力得到了锻炼、经验得到了丰富,耐力在不同程度上得到了提高,这是我们都想看到的也是我们进行这次课程设计的目的所在。虽然这次毕业设计内容不多、过程繁琐但我们收获很多,在这次设计过程中我们不仅对A/D转换芯片ADC0809有了进一步熟悉,随着设计的不断深入对它的工作原理、启动设置、转换结束判断及输出等都基本掌握,在和老师的沟通交流的过程中我们对设计有了新的认识,并且对实物的连接与布局有了新的看法,对我们以后将要进行的设计奠定了初步的基础。在这次设计过程中,由于我们知识匮乏,经验不足,出现了很多问题,但在同学和老师的帮助下得到些微的改善。在上课时中,老师严谨的治学态度、丰富渊博的知识、敏锐的学术思维、精益求精的工作态度以及诲人不倦的师者风范深深的感染和激励着我,是我在以后的生活和学习过程中不断学习的楷模,在此我衷心的感谢老师,同时也要感谢我的合作伙伴。最后我要向在百忙之中抽出时间对我的的论文进行审阅的伍老师表示感谢。参考文献1李广弟,朱月秀.单片机基础M,北京:北京航空航天大学出版社,2007.6 Li Guangdi Zhu Yuexiu. Single chip microcomputer based M, Beijing: Beijing university of aeronautics and astronautics press, 2007.62李全利.单片机原理及应用(C51编程)M,北京:高等教育出版社,2012.12 quan-li li. Single chip microcomputer principle and application (C51 programming) M, Beijing: higher education press, 2012.123阎石.数字电子技术基础M,北京:高等教育出版社,1998 Yan Shi. Digital electronic technology foundation M, Beijing: higher education press, 19984曹才开,罗雪莲.电路与电子技术实验M,湖南:中南大学出版社,2009.11 Cao Cai open, xue-lian luo. Circuit and electronic technique experiment M, hunan province, central south university press, 2009.115李光飞,单片机课程设计实例指导M,北京:北京航空航天大学出版社 guang-fei li, MCU course design example guidance M, Beijing: Beijing university of aeronautics and astronautics press6马忠梅,单片机的C语言windows环境编程宝典M,北京:北京航空航天大学出版社,2003.6 Ma Zhongmei, MCU C language programming Windows environment treasure dian M, Beijing: Beijing university of aeronautics and astronautics press, 2003.67李光飞,单片机C程序设计指导M,北京:北京航空航天大学出版社,2003.01 guang-fei li, microcontroller C programming guide M, Beijing: Beijing university of aeronautics and astronautics press, 2003.018何毅,赵龙,王海峰.基于51单片机的数字电压表仿真设计J,山西:电子技术,2011.02 sunmoonstar, neal, hai-feng wang. Based on 51 single chip microcomputer digital voltmeter simulation J, shanxi: electronic technology, 2011.029田淑青,周海燕.C语言程序设计M,北京:高等教育出版社,2011.10 Tian Shuqing, thijissen CD em. C language program design M, Beijing: higher education press, 2011.10附 录A附 录B序号元件型号数量1AT89S52芯片及底座1个2ADC0809芯片及底座1个374LS74芯片1个474LS02芯片1个574LS04芯片1个674HC573芯片1个7四位一体共阳数码管1个8六角开关,四角开关各1个922uF电解电容1个1033pF电容2个1112M晶振1个121K电阻2个131K滑动变阻器1个14发光二极管1个15排针2排16双面板1块附 录C附 录D ORG0000H LJMPMAINP ORG0100HMAINP: MOV P2 ,#00H SETB P2.4 MOV P1 ,#0CHLCALLDELAY2MAIN: MOVDPTR, #0FEF8HMOVXDPTR, ALCALLDELAYMOVXA, DPTRMOVB, #51DIVABMOVR0, AMOVA, BMOVB, #5DIVABMOVR1, AMOVA, BMOVR2, AMOVDPTR, #TABMOVA, R0MOVCA, A+DPTRMOV P2, #04HMOVP1, ALCALLDELAYMOVA, R1MOVCA, A+DPTRMOVP2, #08HMOVP1, ALCALLDELAYMOVA, R2MOVCA, A+DPTRMOVP2, #10HMOVP1, ALCALLDELAYLJMPMAINDELAY:;100US: ;误差 0us MOV R6, #01HDL0: MOV R5, #2FH DJNZ R5, $ DJNZ R6, DL0 RETDELAY2: ;误差 0us MOV R7, #7FHDL5: MOV R6, #0EBHDL6: MOV R5, #20H DJNZ R5, $ DJNZ R6, DL6 DJNZ R7, DL5 NOP RETTAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H END 附 录E ORG0000H LJMPMAINP ORG0100HMAINP: MOV P2, #00H SETB P2.4 MOV P1, #0CHLCALLDELAY2MAIN: MOV DPTR, #0FEF8HCLR EALOOP0: MOVX

温馨提示

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

评论

0/150

提交评论