已阅读5页,还剩32页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单片机原理及应用A课程设计学 院: 电气工程学院 题 目: 基于51系列单片机的数字电压表设计 起止时间: 2016年8月22日至2016年9月9日 学 生 姓 名: 专 业 班 级: 本13通信工程03班 指 导 教 师: 教研室主 任: 院 长: 2016年9月9日课程设计任务书学 院: 电气工程学院 题 目: 基于51系列单片机的数字电压表设计 起止时间: 2016年8月22日至2016年9月9日 学 生 姓 名: 专 业 班 级: 本13通信工程03 班 指 导 教 师: 教研室主 任: 院 长: 2016年8月20日一. 课程设计内容 题目:基于51系列单片机的数字电压表设计课程设计内容如下:数字电压表的设计:1. 设计要求2. 选择方案3. 硬件电路的设计 3.2 STC89C52 3.3 A/D转换电路 3.4 显示单元电路 3.5 电源模块4.软件程序设计 4.1 ADC初始化 4.2 按键程序 4.3 数据读取 4.4 数据处理 4.5 显示程序 5.电路图及系统调试 5.1 系统总电路图 5.2 数字电压表PCB图 5.3 数字电压表仿真图 5.4 系统调试6.收获与体会7.参考文献8.附录:源程序清单 8.1 附录1:原程序清单 8.2 附录2:制作实物照片二. 课程设计要求 1. 课程设计报告写作请参考“课程设计报告写作的内容、要求与应注意的一些问题”。所有的文档和表格必须采用Word形式,格式按照“课程设计报告写作的内容、要求与应注意的一些问题”要求。2. 设计报告中的电原理图,PCB图、元器件布局图必须采用自己画的图。不能够抄袭别人的应用电路、程序、PCB图,必须自己完成,抄袭者和被抄袭者都不及格。3. 设计资料中的有关的公式可以直接采用。设计资料中有关的曲线图可以直接采用,成文时根据需要选用(可放大300倍后裁剪到Word文档中),以图文清晰为标准。4. 英文资料中的图可以直接采用(可放大300倍后裁剪到Word文档中),图中的英文可以采用英文(中文)方式翻译在图下或者文章中。5. 英文资料中的一些词,如果翻译拿不准,可以采用英文(中文)方式标注。6. 课程设计报告需要写自己的收获和体会。不能够抄袭别人的收获和体会,雷同者不及格。7. 每个人需要交文字稿和电子稿,采用2003Word(或者更高版本)文档形式。三. 课程设计进度(时间)安排课程设计进度(时间)安排如下: 1. 2016年8月22日2016年8月24日 理解课程设计题目的设计要求,查阅相关资料;2. 2016年8月25日2016年9月4日 完成各部分电路设计及系统调试;3. 2016年9月5日2016年9月6日 完成课程设计初稿;4. 2016年9月7日2016年9月8日完成完整的课程设计报告;5. 2016年9月9日 上交课程设计作品并答辩。四. 参考文献(1) 黄智伟. 凌阳单片机课程设计指导M北京:北京航空航天大学出版社,2007(2) 周航慈.单片机程序设计基础M北京:北京航空航天大学出版社,1997(3) 求实科技.单片机典型模块设计实例导航M北京:人民邮电出版社,2004(4) 余永权.89系列(MCS-51)Flash单片机原理及应用M北京:电子工业出版社,2003(5) 王幸之.单片机应用系统电磁干扰与抗干扰技术M北京:北京航空航天大学出版社,2006(6) 黄智伟全国大学生电子设计竞赛技能训练M北京:北京航空航天大学出版社,2007(7) 黄智伟印制电路板(PCB)设计技术与实践(第二版)M北京:电子工业出版社,2012(8) 郭天祥.新概念51单片机C语言教程:入门 提高 开发 拓展全攻略M北京:电子工业出版社,2009(9) 陈洪中.数字电压表M.北京:水利电力出版社,1999.3340(10) 周立功.单片机实验与实践M.北京:北京航空航天大学出版社,2008.125150(11) 吴国经.单片机应用技术M.北京:中国电力出版社,2003.7698(12) 阎石.数字电子技术基础M.北京:高等教育出版社,2006.92104(13) 谭浩强.C程序设计M.北京:清华大学出版社,2005.2588(14) 侯振鹏.嵌入式C语言程序设计M.北京:人民邮电出版社,2006.3045(15) 李光飞 李良儿.单片机C程序设计M.北京:北京航空航天大学出版社, 2005.105122(16) 王港元.电工电子实践指导M.江西:江西科学技术出版社,2005.8496(17) 杨欣电子设计从零开始M.北京:清华大学出版社,2005.3552 指导老师:黄智伟 2016年8月20日 南华大学电气工程学院课程设计 摘要:单片机是一种集成电路芯片,采用超大规模技术把具有数据处理能力(如算术运算、逻辑运算、数据传送、中断处理)集为一体的微处理器,随着单片机技术的飞速发展,各种单片机蜂拥而至,单片机技术成为一个国家现代化科技水平的重要标志。这次课程设计的目的就是完成基于51系列单片机的数字电压表设计。实现本设计的方法是硬件电路和软件程序的结合,而硬件电路又大体可分为单片机小系统电路、量程转换电路电路、A/D转换电路、数码管显示电路,其中主要用到了89C52单片机和ADC0804A/D转换芯片,各部分电路的设计及原理将会在硬件电路设计部分详细介绍;程序的设计使用C语言编程,利用Keil 软件对其编译和仿真。最终完成数字电压表的设计,能够实现测量0V20V的电压,并且收获颇丰。关键词:单片机 A/D转换 ADC0804 iv南华大学电气工程学院课程设计 ABSTRACT:SCM is a kind of integrated circuit chips, the use of the vlsi technology with data processing capabilities, such as arithmetic and logic operations, data transfer, interrupt handling) sets the integration of the microprocessor, with the rapid development of microcomputer technology, all kinds of single chip microcomputer, single-chip computer technology become an important symbol of a national modernization of science and technology. The purpose of this course design is completed based on 51 series microcontroller design of digital voltmeter. Realization of this design method is A combination of hardware circuit and software program, and the hardware circuit can be divided into singlechip processor system, range conversion circuit, A/D conversion circuit, digital tube display circuit, which mainly use 89 c52 and ADC0804A/D conversion chips, circuit design and principle of each part will be in the hardware circuit design in detail; The design of the program using C language programming, using Keil software for its compilation and simulation. Finally completed the design of the digital voltmeter, can realize measurement of 0 v 20 v voltage, and fruitful.Key words: Single Chip Microcomputer A/D conversion ADC0804 南华大学电气工程学院课程设计目 录 1.设计要求7 2.方案选择7 3.硬件电路设计83.1 STC89C52相关电路8 3.1.1 单片机STC89C52的介绍8 3.1.2单片机最小系统9 3.1.3 C52单片机模块电路原理图153.2 A/D转换电路15 3.2.1 TL431的介绍15 3.2.2 ADC0804的介绍16 3.2.3 A/D转换电路原理173.3显示单元电路183.4电源模块19 4.软件程序设计204.1 ADC初始化214.2 按键程序214.3数据读取214.4 数据处理224.5 显示程序22 5.电路图及系统调试235.1 系统总电路图235.2 数字电压表PCB图235.3 数字电压表仿真图245.4 系统调试25 5.4.1 硬件调试25 5.4.2 软件调试25 5.4.3 软硬件结合调试25 6.收获与体会26 7. 参考文献27 8.附录288.1 附录1:源程序清单288.2 附录2:制作实物照片3229南华大学电气工程学院课程设计1.设计要求本次需要完成的是基于单片机的数字电压表的设计,其具体设计内容及要求如下:(1)测量的电压准确无误,量程为020V;(2)精度误差小于 0.1V ;(3)数码管直读电压值。2.方案选择设计数字电压表有多种的设计方法,方案是多种多样的。由于大规模集成电路数字芯片的高速发展,各种数字芯片品种多样,导致对模拟数据的采集部分的不一致。又由于在现实的工作生活中,电压表的测量测程范围是比较大的,所以必须要对输入电压作分压处理,各个数据处理芯片的处理电压范围不同,则各种方案的分段也不同。本次设计中是利用单片机系统、A/D转换芯片以及各单元电路,结合软件程序的设计,实现数字电压表的功能。由于单片机的发展已经成熟,利用单片机系统的软硬件结合,可以组装出许多的应用电路来。此方案的原理是模数(A/D)转换芯片的基准电压端,被测量电压输入端分别输入基准电压和被测电压。模数(A/D)转换芯片将被测量电压输入端所采集到的模拟电压信号转换成相应的数字信号,然后通过对单片机系统进行软件编程,使单片机系统能按规定的时序来采集这些数字信号,通过一定的算法计算出被测量电压的值。最后单片机系统将计算好了的被测电压值按一定的时序送入显示电路模块加以显示。STC89C52A/D转换器ADC0804电压显示器模拟电压输入量程控制电路图2.1.1 原理方框图3.硬件电路设计3.1 STC89C52相关电路3.1.1 单片机STC89C52的介绍STC89C52为主要的中央处理系统,单片机是在集成电路芯片上集成了各种元件的微型计算机,这些元件包括中央处理器CPU、数据存储器RAM、程序存储器ROM、定时/计数器、中断系统、时钟部件的集成和I/O接口电路。由于单片机具有体积小、价格低、可靠性高、开发应用方便等特点,因此在现代电子技术和工业领域应用较为广泛,在智能仪表中单片机是应用最多、最活跃的领域之一。在控制领域中,现如今人们更注意计算机的底成本、小体积、运行的可靠性和控制的灵活性。在各类仪器、仪表中引入单片机,使仪器仪表智能化,提高测试的自动化程度和精度,提高计算机的运算速度,简化仪器仪表的硬件结构,提高其性能价格比。STC89C52RC单片机是宏晶科技推出的新一代高速/低功耗/超强抗干扰的单片机,指令代码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期可以任意选择。主要特性如下:(1)增强型8051单片机,6时钟/机器周期和12时钟/机器周期可以任意选择,指令代码完全兼容传统8051.(2)工作电压:5.5V3.3V(5V单片机)/3.8V2.0V(3V单片机)(3)工作频率范围:040MHz,相当于普通8051的080MHz,实际工作频率可达48MHz(4)用户应用程序空间为8K字节(5)片上集成512字节RAM(6)通用I/O口(32个),复位后为:P1/P2/P3/P4是准双向口/弱上拉,P0口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需加上拉电阻。(7)ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器,可通过串口(RxD/P3.0,TxD/P3.1)直接下载用户程序,数秒即可完成一片(8)具有EEPROM功能(9)具有看门狗功能(10)共3个16位定时器/计数器。即定时器T0、T1、T2(11)外部中断4路,下降沿中断或低电平触发电路,Power Down模式可由外部中断低电平触发中断方式唤醒(12)通用异步串行口(UART),还可用定时器软件实现多个UART(13)工作温度范围:-40+85(工业级)/075(商业级)(14)PDIP封装,引脚封装图如下:图3.1.1 STC89C52RC引脚图3.1.2单片机最小系统 单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统。对51系列单片机来说,最小系统一般应该包括:单片机、晶振电路、复位电路。当在STC89C52单片机的RST引脚引入高电平并保持2个机器周期时,单片机内部就执行复位操作,按键手动复位有电平方式和脉冲方式两种。其中电平复位是通过RST端经过电阻与电源VCC接通而实现的。下面给出一个51单片机的最小系统电路图:图3.1.2 单片机的最小系统电路图P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 表3.1.1 P1.0和P1.1引脚复用功能引脚号功能特性P1.0T2(定时器/计数器2外部计数输入),时钟输出P1.1T2EX(定时器/计数器2捕获/重装触发和方向控制)P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为STC89C52的一些特殊功能口,如下表所示:表3.1.2 P3口功能复用管脚备选功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。STC89C52RC增加了一个定时器/计数器2的控制,具体如表3.1.3和表3.1.4.表3.1.3 定时/计数器2控制寄存器各位功能说明符号功能TF2定时器2溢出标志。定时器2溢出时,又由硬件置位,必须由软件请0.当RCLK=1或TCLK=1时,定时器2溢出,不对TF2置位。EXF2定时器2外部标志。当EXEN2=1,且当T2EX引脚上出现负跳变而出现捕获或重装载时,EXF2置位,申请中断。此时如果允许定时器2中断,CPU将响应中断,执行定时器2 中断服务程序,EXF2必须由软件清除。当定时器2工作在向上或向下计数方式时(DCEN=1),EXF2不能激活中断。RCLK接收时钟允许。RCLK=1时,用定时器2溢出脉冲作为串口(工作于工作方式1或3时)的接收时钟,RCLK=0,用定时器1的溢出脉冲作为接收脉冲TCLK发送时钟允许。TCLK=1时,用定时器2溢出脉冲作为串口(工作于工作方式1或3时)的发送时钟,TCLK=0,用定时器1的溢出脉冲作为发送脉冲EXEN2定时器2外部允许标志。当EXEN2=1时,如果定时器2未用于作串行口的波特率发生器,在T2EX端口出现负跳变脉冲时,激活定时器2捕获或者重装载。EXEN2=0时,T2EX端的外部信号无效。TR2定时器2启动/停止控制位。TR2=1时,启动定时器2.C/定时器2定时方式或计数方式控制位。C/=0时,选择定时方式,C/=1时,选择对外部事件技术方式(下降沿触发)。CP/捕获/重装载选择。CP/=1时,如EXEN2=1,且T2EX端出现负跳变脉冲时发生捕获操作。CP/=1时,若定时器2溢出或EXEN2=1条件下,T2EX端出现负跳变脉冲,都会出现自动重装载操作。当RCLK=1或TCLK=1时,该位无效,在定时器2溢出时强制其自动重装载。表3.1.4 定时器2工作方式RCLK+TCLKCP/TR2模式00116位自动重装01116位捕获1X1波特率发生器XX0(关闭)(1)复位电路:在电路图中,电容的的大小是10uF,电阻的大小是10k。所以根据公式,可以算出电容充电到电源电压的0.7倍(单片机的电源是5V,所以充电到0.7倍即为3.5V),需要的时间是10K*10UF=0.1S。也就是说在单片机启动的0.1S内,电容两端的电压时在03.5V增加。这个时候10K电阻两端的电压为从51.5V减少(串联电路各处电压之和为总电压)。所以在0.1S内,RST引脚所接收到的电压是5V1.5V。在5V正常工作的51单片机中小于1.5V的电压信号为低电平信号,而大于1.5V的电压信号为高电平信号。所以在开机0.1S内,单片机系统自动复位(RST引脚接收到的高电平信号时间为0.1S左右)。在单片机启动0.1S后,电容C两端的电压持续充电为5V,这是时候10K电阻两端的电压接近于0V,RST处于低电平所以系统正常工作。当按键按下的时候,开关导通,这个时候电容两端形成了一个回路,电容被短路,所以在按键按下的这个过程中,电容开始释放之前充的电量。随着时间的推移,电容的电压在0.1S内,从5V释放到变为了1.5V,甚至更小。根据串联电路电压为各处之和,这个时候10K电阻两端的电压为3.5V,甚至更大,所以RST引脚又接收到高电平。单片机系统自动复位。图3.1.3 单片机上的复位电路图(2)晶振电路:一般的晶振的负载电容为15pF或12.5pF,如果再考虑元件引脚的等效输入电容 则两个22pF的电容构成晶振的振荡电路就是比较好的选择。如上图:晶振是给单片机提供工作信号脉冲的,这个脉冲就是单片机的工作速度 比如:12M晶振,单片机工作速度就是每秒12M。当然,单片机的工作频率是有范围的,不能太大,一般24M就不上去了,不然不稳定。晶振与单片机的脚XTAL0和脚XTAL1构成的振荡电路中会产生偕波(也就是不希望存在的其他频率的波),这个波对电路的影响不大,但会降低电路的时钟振荡器的稳定性。为了电路的稳定性起见,ATMEL公司只是建议在晶振的两引脚处接入两个10pf-50pf的瓷片电容接地来削减偕波对电路的稳定性的影响,所以晶振所配的电容在10pf-50pf之间都可以的。图3.1.4 单片机上的晶振电路(3)上拉电阻: 其实排阻就是由8个电阻组成的,其中一端全部接在一起,103为8个10K电阻,102为8个1K电阻,他们在电路中起到“上拉”的作用,又称上拉电阻。上拉就是将不确定的信号通过一个电阻嵌位在高电平,电阻同时起限流作用,下拉同理。 上拉是对器件注入电流,下拉是输出电流,弱强只是上拉电阻的阻值不同,没有什么严格区分,对于非集电极(或漏极)开路输出型电路(如普通门电路)提升电流和电压的能力是有限的,上拉电阻的功能主要是为集电极开路输出型电路输出电流通道。 上拉,就是把电位拉高,比如拉到VCC 下拉,就是把电压拉低,拉到GND 一般就是刚上电的时候,端口电压不稳定,为了让他稳定为高或低,就会用到上拉或下拉电阻。 有些芯片内部集成了上拉电阻(如单片机的P1、2、3口),所以外部就不用上拉电阻了。但是有一些开漏的(如单片机的P0口),外部必须加上拉电阻。3.1.3 C52单片机模块电路原理图 在此次课程设计中,单片机模块结合了复位电路、晶振电路以及上来的那组的原理图如下所示:图3.1.5 STC89C52单片机模块电路原理图3.2 A/D转换电路3.2.1 TL431的介绍在本次设计中,需要用TL431给A/D芯片提供恒定且稳定的电压。TL431是可控精密稳压源。它的输出电压用两个电阻就可以任意的设置到从Verf(2.5V)到36V范围内的任何值。该器件的典型动态阻抗为0.2,在很多应用中用它代替稳压二极管,例如,数字电压表,运放电路,可调压电源,开关电源等。如下为TL431的引脚封装图:图3.2.1 TL431引脚封装3.2.2 ADC0804的介绍 ADC0804主要技术指标如下:(1)高阻抗状态输出(2)分辨率:8位(0255)(3)存取时间:135ms(4)转换时间:100ms(5)总误差:-1+1LSB(6)工作温度:ADC0804C为0度70度;ADC0804L为-40度到80度(7)模拟输入电压范围:0V5V(8)参考电压:2.5V(9)工作电压:5V(10)输出为三态结构ADC0804引脚功能:1. PIN1 (CS ):Chip Select,与RD、WR 接脚的输入电压高低一起判断读取或写入与否,当其为低位准(low) 时会active。2. PIN2 ( RD ):Read。当CS 、RD 皆为低位准(low) 时,ADC0804 会将转换后的数字讯号经由DB7 DB0 输出至其它处理单元。3. PIN3 (WR ):启动转换的控制讯号。当CS 、WR 皆为低位准(low) 时ADC0804 做清除的动作,系统重置。当WR 由01且CS 0 时,ADC0804会开始转换信号,此时INTR 设定为高位准(high)。4. PIN4、PIN19 (CLK IN、CLKR):频率输入/输出。频率输入可连接处理单元的讯号频率范围为100 kHz 至800 kHz。而频率输出频率最大值无法大于640KHz,一般可选用外部或内部来提供频率。若在CLK R 及CLK IN 加上电阻及电容,则可产生ADC 工作所需的时序,其频率约为:5. PIN5 ( INTR ):中断请求。转换期间为高位准(high),等到转换完毕时INTR 会变为低位准(low)告知其它的处理单元已转换完成,可读取数字数据。6. PIN6、PIN7 (VIN(+)、VIN(-):差动模拟讯号的输入端。输入电压VINVIN(+) VIN(-),通常使用单端输入,而将VIN(-)接地。7. PIN8 (A GND):模拟电压的接地端。8. PIN9 (VREF)ADC0804的引脚封装如下图所示:图3.2.2 ADC0804的引脚封装图3.2.3 A/D转换电路原理 (1)由图6可知,需要给ADC0804的9脚提供一个稳定的2.5V电压,这里我们用到了三极管TL431。 (2)ADC0804的6脚是读模拟电压的入口。但是,由ADC0804的电气特性可知,它只能采集0V5V的电压,而本次设计的任务要求采集量程为0V到20V。所以,再6脚读取模拟电压的时候,我们利用串联电阻来增压。这里我用了502可调电阻和1K电阻来实现增压功能。所以,可以画出该模块的原理图如下:图3.2.3 A/D转换模块原理图3.3显示单元电路本电路的显示模块主要由一个4位一体的7段LED数码管构成,用于显示测量到的电压值。它是一个共阳极的数码管,每一位数码管的a,b,c,d,e,f,g和dp端都各自连接在一起,用于接收单片机的P1口产生的显示段码。S1,S2,S3,S4引脚端为其位选端,用于接收单片机的P2口产生的位选码。本系统采用动态扫描方式。扫描方式是用其接口电路把所有数码管的8个比划段ag和dp同名端连在一起,而每一个数码管的公共极COM各自独立地受I/O线控制。CUP从字段输出口送出字型码时,所有数码管接收到相同的字型码,但究竟是哪个数码管亮,则取决于COM端。COM端与单片机的I/O接口相连接,由单片机输出位位选码到I/O接口,控制何时哪一位数码管被点亮。在轮流点亮数码管的位扫描过程中,每位数码管的点亮时间极为短暂。但由于人的视觉暂留现象,给人的印象就是一组稳定显示的数码。动态方式的优点是十分明显的,即耗电省,在动态扫描过程中,任何时刻只有一个数码管是处于工作状态的。该4位数码管的引脚图如下:图3.3.1 显示数码管引脚图在显示模块的电路设计中,以C52单片机的P20至P23口,并结合的PNP型三极管9012的开关作用来控制显示。当P20P23给低电平的时候,通过限流电阻连接三极管,三极管9012导通,电源则接入数码管。具体的显示模块电路原理图如下所示:图3.3.2 显示电路的原理图3.4电源模块在这次的电压表设计中,用了DC电源插口、自锁开关以及一个指示电源的LED灯。具体的设计如下原理图所示:图3.4.1 电源模块原理图4.软件程序设计在本次设计中,需要软硬件结合,其中程序控制的流程图如下:开始定义变量进入while循环AD0804初始化读取电压值并计算得到现在量程循环扫描显示函数20次结束图4.1 程序流程图由程序流程图可以写出如下的主程序:图4.2 电压表主程序 可以从上图中看出,主程序中调用了多个子函数,其中包括ADC的初始化、按键部分、显示部分、和数据的读取与处理。最后的显示函数循环20次,是防止电压值跳动。接下来,将分模块对程序进行解析。4.1 ADC初始化 芯片ADC0804初始化程序如下图:图4.1.1 ADC初始化程序4.2 按键程序如图12所示,按键子程序中,按下按键后,控制输出,直到按键释放。图4.2.1 按键函数程序4.3数据读取图4.3.1 数据读取程序该程序是读AD转换值,首先是P0口复位,然后由adc_rd的高低电平决定读数据,定义为adc_rd=P37,也就是读数据的接口,当为低电平的时候读P0数据,为高电平的时候,返回读到的数据。4.4 数据处理在数据处理程序中,i=dat*7.84表示i=dat*0.0196*100*4,其含义为:数据最低位代表0.0196V,量程设定为20V,采用分压方式,将读到的电压值乘以4,然后再乘以100将小数位移到整数位即5*4=20.0V。在这里Disbuf是连接数据显示的数组,分别为百位、十位、个位。图4.4.1 数据处理程序4.5 显示程序在显示函数中,P1为连接数码管的显示。第一位是显示单位“V”,然后是显示电压值的个位和十位,若最高位等于0,则不显示,最高位不等于0的时候,则打开显示。由于此次设计中,电压表的量程上限是20V,所以最高一位不显示。Disbuf是提前定义的显示暂存空数组。图4.5.1 显示函数程序5.电路图及系统调试5.1 系统总电路图本次课程设计中主要分为单片机模块、A/D转换模块和数码管显示模块。原理是由A/D采集模拟电压信号后,转为数字信号传给单片机,单片机读取数据后进行处理,然后输出到显示模块,根据程序控制显示相应的电压数值。数字电压表系统的总电路原理图如下图所示:图5.1.1 数字电压表原理图5.2 数字电压表PCB图在这次的课程设计中,我采用的是焊盘和跳线焊接板子来做的最后实物,对焊接的手艺要求比较高。除此以外,还可以选择画PCB板,这种方法就显得非常高效,且最后的实物板子更美观。虽然我最后没有选择做PCB板,但是有根据原理图画出PCB图,即如下所示:图5.2.1 数字电压表PCB图5.3 数字电压表仿真图 Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。 此次仿真就是运用了软件Proteus,仿真图如下:图5.3.1 数字电压表Proteus仿真5.4 系统调试完成了系统的硬件设计,制作和软件编程之后,要使系统能够按设计意图正常运行,必须进行系件和软件调统调试。5.4.1 硬件调试硬件调试的主要任务是排除硬件故障,其中包括设计的错误和工艺性故障等。(1)检查所设计的硬件电路板所有的器件和引脚是否正确,尤其是电源的连接是否正确;检查各总线是否有短路的故障。检查开关/按键是否正常,是否连接正确,为了保护芯片,应先对各IC座电位进行检查,确认无误后再插入芯片。(2)将40芯片的仿真插头插入单片机插座进行调试,检查各接口是否满足设计的要求,有正常的程序测试硬件电路的好坏。5.4.2 软件调试软件调试的任务是利用开发工具进行在线仿真调试,发现和纠正程序的错误,同时也能发现硬件的故障。软件调试是一个模块一个模块进行的。首先单独调试各子程序是否能够按照预期的功能,接口电路的控制是否正常。最后调试整个程序。尤其注意的是各模块间能否正确的传递参数。(1)检查LED显示模块程序。观察在LED上是否能够显示相应的字符。(2)检查按键模块程序。(3)检查A/D转换模块程序。可以在硬件电路的输入端输入已知的几个电压,分别观察LED上是否显示相应的电压值。(4)检查数据的转换模块程序。5.4.3 软硬件结合调试 该系统存在软件和硬件的紧密联系。软硬件都调试通过后,整个系统连接仍会存在很多麻烦。首先检查 A/D 部分,然后是单片机,最后是数码管,依次排除障碍。总调试:当相应的各模块环节都正确后,可程序下载到单片机。接上电源运行。再检查所有功能,观察是否能预期的一样。如果一样,说明设计成功完成。经调试,该课程设计满足数字电压表的设计要求,能实现电压表的功能。6.收获与体会 经过近段时间的努力,基于AT89C52单片机的数字电压表设计基本完成。但设计中仍然存在许多不足之处。基于单片机的数字电压表使用性强、结构简单、成本低、外接元件少。在实际应用工作应能好,测量电压准确,精度高。系统功能、指标达到了论文的预期要求,本文设计主要实现了简易数字电压表测量一路电压的功能,详细说明了从原理图的设计、电路图的仿真再到软件的调试。这次设计用Proteus实现了仿真。在这过程中,我对电路设计,单片机的使用等都有了新的认识。通过这次设计学会了Proteus、Keil以及DXP软件的使用方法,掌握了从系统的需要、方案的设计、功能模块的划分、原理图电路图的仿真的设计流程,积累了不少经验。 通过本次设计,我对单片机这门课有了进一步的了解。无论是在硬件连接方面还是在软件编程方面。 本次设计采用了AT89C52单片机芯片,设计中还用到了模/数转换芯片ADC0804,以前在学单片机课程时只是对其理论知识有了初步的理解。通过这次设计,对它的工作原理有了更深的理解。在调试过程中遇到很多问题,硬件上的理论知识学得不够扎实,对电路的仿真方面也不够熟练。总之这次电路的设计和仿真,基本上达到了设计的功能要求。在以后的实践工作中,我将继续努力学习电路设计方面的理论知识,并理论联系实际,争取在电路设计方面能有所提升。7. 参考文献(1)黄智伟. 凌阳单片机课程设计指导M北京:北京航空航天大学出版社,2007(2)周航慈.单片机程序设计基础M北京:北京航空航天大学出版社,1997(3)求实科技.单片机典型模块设计实例导航M 北京:人民邮电出版社,2004(4)余永权.89系列(MCS-51)Flash单片机原理及应用M 北京:电子工业出版社,2003(5)王幸之.单片机应用系统电磁干扰与抗干扰技术M 北京:北京航空航天大学出版社,2006(6)黄智伟全国大学生电子设计竞赛技能训练M北京:北京航空航天大学出版社,2007(7)黄智伟印制电路板(PCB)设计技术与实践(第二版)M北京:电子工业出版社,2012(8)郭天祥.新概念51单片机C语言教程:入门 提高 开发 拓展全攻略M北京:电子工业出社,2009(9)陈洪中.数字电压表M.北京:水利电力出版社,1999.3340(10)周立功.单片机实验与实践M.北京:北京航空航天大学出版社,2008.125150(11)吴国经.单片机应用技术M.北京:中国电力出版社,2003.7698(12)阎石.数字电子技术基础M.北京:高等教育出版社,2006.92104(13)谭浩强.C程序设计M.北京:清华大学出版社,2005.2588(14)侯振鹏.嵌入式C语言程序设计M.北京:人民邮电出版社,2006.3045(15)李光飞 李良儿.单片机C程序设计M.北京:北京航空航天大学出版社,2005.105122(16)王港元.电工电子实践指导M.江西:江西科学技术出版社,2005.8496(17)杨欣电子设
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 苏教版三年级数学:两三位数除以一位数单元教学策略分享
- 学校食堂维修改造会议记录范文
- 学校初三年级分层教学实施方案
- 学籍信息管理制度
- 物业噪声污染防治监理细则
- 用眼卫生小常识视力保护大揭秘
- 投标报价测算摸底测评检测卷含完整答案
- 造口伤口实操仿真模拟摸底密卷含完整答案
- 家庭医生签约服务真题(附答案)
- 护理专升本英语词汇记忆法
- 建筑行业售后服务保障措施
- 英语四级单词表4500
- 《国际贸易学(第四版)》第八章-非关税壁垒措施
- 《承包商安全管理》课件
- JBT 10381-2013 柔性组合式悬挂起重机
- DL∕T 1946-2018 气体绝缘金属封闭开关设备X射线透视成像现场检测技术导则
- DL∕T 1724-2017 电能质量评估技术导则 电压波动和闪变
- 茶园土壤管理(茶园耕作)课件
- JJG 703-2003光电测距仪行业标准
- (高清版)TDT 1071-2022 园地分等定级规程
- 苏教版八年级上册数学全册教学课件
评论
0/150
提交评论