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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

本文(单片机课程设计说明书 word文档+全.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

单片机课程设计说明书 word文档+全.docx

1、单片机课程设计说明书 word文档+全单片机课程设计说明书用ADC0832设计的两路电压表(用LCD1602显示)专业新能源科学与工程学生姓名班级学号指导教师完成日期2015年 1 月 28 日用ADC0832设计的两路电压表(用LCD1602显示)摘 要:本设计是简易两路数字电压表,数字电压表是采用数字化测量设计的电压仪表。随着电子科学技术的发展,电子测量成为广大电子工作者必须掌握的手段,对测量的精度和功能的要求也越来越高,而电压的测量甚为突出,因为电压的测量最为普遍。本设计利用单片机STC89C52借助软件实现数字显示功能、自动校准、LED显示,A/D转换器采用ADC0832构成数模转换电

2、路。该电压表测量范围在05V。由于采用高性能的单片机芯片为核心,同时利用LED数码管为显示设备,这样就使显示清晰直观、读数准确,减少了因为人为因素所造成的测量误差事件,同时提高了测量的准确度。根据电压表的主要功能,提出了设计方案并进行了论证。设计包括硬件设计和软件设计两大部分。硬件部分包括单片机最小系统、数模转换电路、显示模块四个部分。首先在Proteus中设计并绘制了电路图,并编写程序使仿真正确。然后便根据设计的电路在万能板上制作完成了实物并调试成功。接着在SD301学习板上完成了同样的功能。接着画了电路原理图,制作了小视频,完成了课程设计。关键词:单片机,ADC0832,LCD1602,A

3、/D转换,电压表 目 录1 概述 11.1 课程设计研究背景与意义 11.2 课程设计内容 22 设计方案论证与方案选择 22.1 方案论证 22.2 方案选择 23 系统硬件电路设计 33.1 单片机最小系统 33.2 模数转换电路 53.3 显示电路 74 系统软件设计 104.1 主程序 104.2 A/D转换程序 114.3液晶显示子程序 115 系统调试 136 结束语 15参考文献 16附 录 17附录1 ADC0832设计的两路电压表电路原理图 18附录2 ADC0832设计的两路电压表Proteus仿真电路图 19附录3 ADC0832设计的两路电压表元器件清单 20附录4 A

4、DC0832设计的两路电压表程序清单 21用ADC0832设计的两路电压表(用LCD1602显示)1 概述1.1 课程设计研究背景与意义近年来计算机技术及微电子器件在工程技术中应用十分广泛。在此基础上发展起来的智能仪表,无论是在测量的准确性、灵敏度、可靠性、自动化程度、运用功能方面还是在解决测量技术与控制技术问题的深度及广度方面都有了很大的发展,以一种崭新的面貌展现在人们的面前。数字电压表(Digital Voltmeter)简称DVM,它是智能仪器中最常见的,是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。这种电子测量的仪表之所以出现,一方面

5、是由于电子计算机的应用逐渐推广到系统的自动控制实验研究的领域,提出了将各种被观测量或被控制量转换为数码的要求,即为了实时控制及数据处理的需要;另一方面,也是电子计算机的发展,带动了脉冲数字电路技术的进步,为数字化仪表的出现提供了条件。所以,数字化测量仪表的产生与发展与电子计算机的发展是密切相关的;同时,为革新电子测量中的繁琐和陈旧方式也催促了它的飞速发展。如今,它又成为向智能化仪表发展的必要桥梁。数字电压表已绝大部分取代了传统的模拟指针式电压表。因为传统的指针式电压表功能单一、精度低,不能满足数字化时代的需求。数字电压迄今已有40多年的发展史。目前,由各种单片机、A/D转换器构成的数字电压表,

6、已被广泛应用于电子及电子测量、工业自动化仪表、自动测试的系统等领域,显示出强大的生命力。由于电子技术、大规模集成电路及计算机的发展,人们不久就研制出微处理器数字电压表,实现了DVM数据处理自动化和可编程序。因为带有存储器并使用软件支持,所以可以进行信息处理,可通过标准接口组成自动测试系统。除了完成原有DVM的各种功能外,还能够自校、自检,保证了自动测量的高标准确度,实现了仪器、仪表的智能化。当前,智能化仪表法十分速度,而微处理式DVM在智能仪表中占的比重最大,智能化的DVM为实现各种物理量的动态测量提供了可能。与此同时,由DVM扩展而成的各种通用及专用数字仪器仪表,也把电量及非电量测量技术提高

7、到崭新水平数字电压表的特点:显示清晰直观,读书准确。传统的模拟式仪表必须借助于指针和刻度盘进行读数,在读数过程中不可避免地会引入认为的测量误差,并且容易造成视觉疲劳。数字电压表则采用先进的数显技术,使测量结果一目了然,只要仪表不发生跳数现象,测量结果就是唯一的。不仅保证读数的客观性与准确性,还符合人们的读数习惯,能缩短读数和记录的时间。在电量的测量中,电压、电流和频率是最基本的三个被测量。其中,电压量的测量最为经常。随着电子技术的发展,更是经常需要测量高精度的电压,所以数字电压表就成为一种必不可少的测量仪器。另外,由于数字式仪器具有读数准确方便、精度高、误差小、灵敏度高、分辨率高、测量速度快等

8、特点而倍受用户青睐。数字电压表就是基于这种需求而发展起来的,是一种必不可少的电子仪器仪表。1.2 课程设计内容利用单片机STC89C52与ADC0832设计一个两路电压表,将模拟信号05V之间的电压值转换成数字量信号,并在LCD1602显示屏上显示,通过虚拟电压表观察ADC0832模拟量输入信号的电压值,LCD1602实时显示相应的数值量。设计两路电压表的硬件电路与软件程序,给出硬件系统的电路原理图与PCB图,对硬件电路与软件分别进行调试,得到调试成功的两路电压表。2 设计方案论证与方案选择2.1 方案论证1.由数字电路及芯片构建这种设计方案是由模拟电路与数字电路两大部分组成,模拟部分包括输入

9、放大器、A/D转换器和基准电压源;数字部分包括计数器、译码器、逻辑控制器、振荡器和显示器。其中,A/D转换器是它的核心器件,它将输入的模拟量转换成数字量。模拟电路和数字电路是相互联系的,由逻辑控制电路产生控制信号,按规定的时序将A/D转换器逐个组模拟开关接通或断开,保证A/D转换正常进行。A/D转换结果由计数译码电路变成段码,最后驱动显示器显示出相应的数值。此方案设计其优点是:设计成本低,能够满足一般的电压测量。但设计不灵活,都是采用纯硬件电路,很难将其在原有的基础上进行扩展。2.由单片机系统及A/D转换芯片构成这种方案是利用单片机系统与模数转换芯片、显示模块等的结合后,组成数字电压表。由于单

10、片机的发展已经成熟,利用单片机系统的软硬件结合,可以组装出应用电路来。此方案的原理是模数(A/D)转换芯片的基准电压端,被测量电压输入端分别输入基准电压和被测电压。模数(A/D)转换芯片将被测量电压输入端所采集到的模拟电压信号转换成相应的数字信号,然后通过对单片机系统进行软件编程,使单片机系统能按规定的时序来采集这些数字信号,通过一定的算法计算出被测量电压的值,最后单片机系统将计算好了的被测电压值按一定的时序送入显示电路模块加以显示。此方案不仅能够继承上一种方案的各种优点,还能改进上一种设计方案设计不灵活。2.2 方案选择方案2不仅能够继承方案1的各种优点,还能改进方案1设计方案设计不灵活,难

11、于在原基础上进行功能扩展等不足。经过以上方案设计,决定采用如图2-1所示方案。即利用单片机系统与模数转换芯片、显示模块等的结合后,组成数字电压表。电路流程图设计如图2-1所示。 图2-1 方案设计以单片机STC89C52芯片为核心的简单电压测量电路,它由5V直流电源供电。在硬件方面,通过可变电阻调节输入电压的变化来反映检测到的电压变化。通过A/D转换后数字量在单片机STC89C52处理在转换成相应的实际电压,通过LCD1602显示器进行显示。LCD显示电压实现零辐射、低功耗、散热小、体积小、图像还原精确、字符显示锐利等。3 系统硬件电路设计根据第2节总体设计方案,进行了两路电压表的设计,总电路

12、原理图如附录1所示。3.1 单片机最小系统本次选用的主控芯片为单片机STC89C52。其引脚图如图3-1所示。 图3-1 STC89C52引脚图STC89C52是一个低电压,高性能CMOS 8位单片机带有8K字节的可反复擦写的程序存储器(PENROM)。和128字节的存取数据存储器(RAM),这种器件采用ATMEL公司的高密度、不容易丢失存储技术生产,并且能够与MCS-51系列的单片机兼容。片内含有8位中央处理器和闪烁存储单元,有较强的功能的STC89C52单片机能够被应用到控制领域中。STC89C52提供以下的功能标准:8K字节闪烁存储器256字节随机存取数据存储器32个I/O口,2个16位

13、定时/计数器1个5向量两级中断结构,1个串行通信口,片内震荡器和时钟电路。另外,STC89C52还可以进行0HZ的静态逻辑操作,并支持两种软件的节电模式。闲散方式停止中央处理器的工作,能够允许随机存取数据存储器、定时/计数器、串行通信口及中断系统继续工作。掉电方式保存随机存取数据存储器中的内容,但震荡器停止工作并禁止其它所有部件的工作直到下一个复位。要使单片机工作,必须提供复位电路和晶体振荡电路,即组成单片机最小应用系统,使其正常工作。采用的复位方法是自动复位,单片机复位满足的条件为:RST引脚上出现10ms(T=RC)以上的高电平,所以当电容值取C=10UF时,电阻R=10K才会满足要求。S

14、TC89C52单片机最小系统如图3-2所示。 图3-2 STC89C52单片机最小系统单片机内部每个部件要想协调一致地工作,必须在统一口令时钟信号的控制下工作。单片机工作所需要的时钟信号有两种产生方式,即内部时钟方式和外部时钟方式。单片机内部有一个构成振荡器的增益反相放大器,引脚XTAL1和XTAL2分别是此放大器的输入端和输出端,这个放大器与作为反馈元件的片外晶振一起构成自激振荡器。在该图中,电容C1和C2取22pF,晶体的震荡频率取12Mhz,晶体震荡频率高,则系统的时钟频率也高,单片机运行速度也就快。晶振选用12MHZ。3.2 模数转换电路本次A/D转换器采用集成电路选用芯片ADC083

15、2。其引脚图如图3-3所示。 图3-3 ADC0832引脚图 CS:片选使能,低电平有效CH0:模拟输入通道0,或作为IN+/-使用CH1:模拟输入通道1,或作为IN+/-使用GND:芯片参考0电位(地)DI:数据信号输入,选择通道控制DO:数据信号输出,转换数据输出CLK:芯片时钟输入VCC:电源输入ADC0832为8位分辨率A/D转换芯片,其最高分辨可达256级,可以适应一般的模拟量转换要求。其内部电源输入与参考电压的复用,使得芯片的模拟电压输入在05V之间。芯片转换时间仅为32S,具有双数据输出可作为数据校验,以减少数据误差,转换速度快且稳定性能强。独立的芯片使能输入,使多器件挂接和处理

16、器控制变的更加方便。通过DI数据输入端,可以轻易的实现通道功能的选择。正常情况下ADC0832与单片机的接口应为4条数据线,分别是CS、CLK、DO、DI。但由于DO端与DI端在通信时并未同时有效并与单片机的接口是双向的,所以电路设计时可以将DO和DI并联在一根数据线上使用。与DS1302非常相似,CS作为选通信号,在时序图中可以看到,从CS置为低电平开始,一直到置为高电平结束。CLK提供时钟信号。当ADC0832未工作时其CS输入端应为高电平,此时芯片禁用,CLK和DO/DI的电平可任意。当要进行A/D转换时,须先将CS使能端置于低电平并且保持低电平直到转换完全结束。此时芯片开始转换工作,同

17、时由处理器向芯片时钟输入端CLK输入时钟脉冲,DO/DI端则使用DI端输入通道功能选择的数据信号。在第1个时钟脉冲的下沉之前DI端必须是高电平,表示启始信号。在第2、3个脉冲下沉之前DI端应输入2位数据(SGL、Odd)用于选择通道功能,当此2位数据为“1”、“0”时,只对CH0进行单通道转换。当2位数据为“1”、“1”时,只对CH1进行单通道转换。当2位数据为“0”、“0”时,将CH0作为正输入端IN+,CH1作为负输入端IN-进行输入。当2位数据为“0”、“1”时,将CH0作为负输入端IN-,CH1作为正输入端IN+进行输入。在完成输入启动位、通道选择之后,到第3 个脉冲的下沉之后DI端的

18、输入电平就失去输入作用,此后DO/DI端则开始利用数据输出DO进行转换数据的读取。从第4个脉冲下沉开始由DO端输出转换数据最高位DATA7,随后每一个脉冲下沉DO端输出下一位数据。直到第11个脉冲时发出最低位数据DATA0,一个字节的数据输出完成。也正是从此位开始输出下一个相反字节的数据,即从第11个字节的下沉输出DATA0。随后输出8位数据,到第19 个脉冲时数据输出完成,也标志着一次A/D转换的结束。最后将CS置高电平禁用芯片,此时就可以开始读出数据,转换得到的数据会被送出二次,一次高位在前传送,一次低位在前传送,连续送出。作为单通道模拟信号输入时ADC0832的输入电压是05V且8位分辨

19、率时的电压精度为19.53mV。如果作为由IN+与IN-输入的输入时,可将电压值设定在某一个较大范围之内,从而提高转换的宽度。但值得注意的是,在进行IN+与IN-的输入时,如果IN-的电压大于IN+的电压,则转换后的数据结果始终为00H。 图3-4 ADC0832时序图集成模数转换芯片ADC0832实现的A/D转换电路如图3-5所示。被测信号由ADC0832模拟输入端输入,完成A/D转换后送入单片机,经相应处理后送出显示。 图3-5 A/D转换电路3.3 显示电路此次使用LCD1602液晶显示屏,其电路图如3-6所示。 图3-6 1602液晶显示电路1602液晶显示器也叫1602字符液晶,它是

20、一种专门用来显示字母、数字、符号等的点阵型液晶模块。它有若干个5*7或者5*11等点阵字符位组成,每个点阵字符位都可以显示一个字符。每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,不能显示图形和汉字。其为5V电压驱动,带背光,可显示两行,每行16个字符,内置含128个字符的ASC字符集字库,只有并行接口,无串行接口。1602液晶显示电路如图3-6所示。其中D0D7与单片机的P0.0P0.7相连接,RS与单片机的P2.0相连接,R/W与单片机的P2.1相连,E与单片机P2.2相连。VO为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“

21、鬼影”,使用时可以通过一个10K的电位器调整对比度。1602型液晶接口信号说明如表3-1所示。a)本操作时序为:读状态 输入:RS=L, =H,E=H 输出:D0D7=状态字读数据 输入:RS=H, =H,E=H 输出:无写指令 输入:RS=L, =L,D0D7=指令码,E=高电平 输出:D0D7=数据写数据 输入:RS=H, =L,D0D7=指令码,E=高电平 输出:无表3-1 1602液晶接口信号说明引脚号名称功能说明1VSS电源地2VDD电源正极3VO液晶显示对比度调节端4RS数据/命令选择端(H/L)5读/选择端(H/L)6E使能信号714D0D78位数据口15BLA背光电源正极16B

22、LK背光电源正极b) 状态字说明见表3-2。 表3-2 状态字说明STA7STA6STA5STA4D7D6D5D4读/写使能当前地址指针的数值原则上每次对控制器进行读写操作之前,都必须进行读/写检测,确保SAT7为0。实际上,由于单片机的操作速度慢于液晶控制器的反应速度,因此可以不进行读/写检测,或只进行简短的延时即可。c)数据指针设置见表3-3。控制器内部设有一个数据地址指针,用户可以通过它们访问内部的全部80B的RAM。表3-3 数据指针设置指令码功能80H+地址码(027H, 4067H)设置数据地址指针d)其他指针设置见表3-4。表3-4 其他设置指令码功能01H显示清屏:1.数据指针

23、清0 2.所有显示清002H显示回车:数据指针清0e)初始化设置 显示模式设置见表3-5。表3-5 显示模式设置指令码功能00111000设置162显示,57点阵,8位数据接口 显示开/关及光标设置见表3-6。 表3-6 显示开/关及光标设置指令码功能00001DCBD=1开显示;D=0关显示 C=1显示光标;C=0不显示光标 B=1光标闪烁;B=0光标不闪烁000001NSN=1当读或写一个字符后地址指针加1,且光标加1;N=0当读或写一个字符后地址指针减1,且光标减1S=1当写一个字符时,整屏显示左移(N=1)或右移(N=0),以得到光标不移动而整屏移动的效果;S=0当写一个字符时,整屏显

24、示不移动00010000光标左移00010100光标右移00011000整屏左移,同时光标跟随移动00011100整屏右移,同时光标跟随移动f)写操作时序通过RS确定是写数据还是写命令。写命令包括使液晶的光标显示或不显示、光标闪烁或不闪烁、需或不需要移屏、在液晶的什么位置显示,等等。写数据是指要显示什么内容;读/写控制端设置为写模式,即低电平;将数据或命令送达数据线上;给E一个高脉冲将数据送入该控制器,完成写操作。4 系统软件设计本设计系统软件分为主程序、A/D转换子程序、液晶显示子程序三部分。4.1 主程序主程序主要负责各个模块的初始化工作:设置定时器、寄存器的初值,启动A/D转换,读取转换

25、结果,控制数码管显示等,其流程图如图4-1所示。 图4-1 主程序流程图 4.2 A/D转换程序A/D转换程序的功能是采集数据。在整个系统设计中占有很高的地位。当系统设置好后,单片机扫描转换结束管脚P2.6的输入电平状态,当输入为高电平,则转换完成,将转换的数值转换并显示输出。若输入为低电平,则继续扫描。程序流程图如图4-2所示。 图4-2 A/D转换程序流程图4.3液晶显示子程序1602液晶显示子程序主要是对内部控制指令进行指定如液晶初始化,显示空白,读,写,判断液晶是否忙及指定字符的位置等函数构成。液晶显示子程序流程图如图4-4所示。首先进行液晶初始化,再写地址命令到LCD,然后放发送字符

26、串,最终液晶显示。 图4-3 液晶显示子程序流程图 图4-4 电压显示流程图5 系统调试单片机应用系统的调试包括硬件和软件两部分,但是它们并不能完全分开。一般的方法就是排除明显的硬件故障,再进行综合调试,排除可能的软硬件故障。总之,调试过程是一个软硬件相结合调试的过程,硬件电路是基础,软件是检测硬件电路和实现其功能的关键。本设计是在单片机最小系统的基础上建立起来的,所以必须先确定单片机最小系统能否正常工作。为了能够正确实现电压表的功能,接下来还要确定A/D转换电路和液晶显示电路有无错误,并对各个模块进行调试。硬件调试结束后,最主要的就是软件的调试。对各个模块的软件通过Keil等仿真编辑器进行编

27、程,确认编程无误后然后与上位机通信,下载程序。然后进行软硬件联调,直至调试成功,得到完整的两路电压表。 实验结果如下: 图5-1 未通电前电路板正面 图5-2 通电后两路电压表电路板 6 结束语 略 参考文献1 郭天祥 新概念51单片机C语言教程入门、提高、开发拓展全攻略M 北京:电子工业出版社,2010.2 彭伟 单片机C语言程序设计实训100例基于8051+Proteus仿真M 北京:电子工业出版社 ,2010.6.3 张齐,朱宁西. 单片机应用系统设计技术基于C51的Proteus仿真 M.北京:化学工业出版社,2004.4 冯育长 .单片机系统设计与实例分析.M.西安:西安电子科技大学

28、出版社,2007. 5 晁阳. 单片机MCS-51原理及应用开发教程M.北京:清华大学出版社,2009.6 张兰红 单片机原理及应用M. 机械工业出版社,2012.7 黄惟公, 邓成中, 王燕. 单片机原理与应用技术M. 西安:西安电子科技大学出版社,2009。 附 录附录1 ADC0832设计的两路电压表电路原理图 附录2 ADC0832设计的两路电压表Proteus仿真电路图 附录3 ADC0832设计的两路电压表元器件清单附录4 ADC0832设计的两路电压表程序清单 附录1 ADC0832设计的两路电压表电路原理图-附录2 ADC0832设计的两路电压表Proteus仿真电路图附录3

29、ADC0832设计的两路电压表元器件清单序号元器件数量型号(数值)1U11单片机STC89C522U21ADC08323U31LCD1602显示器4C1,C2222pf电容5C3110uf/25V电解电容6R11电阻10K7R2,R31可调节电阻10K8RV11排阻 1K9X11 晶振12M附录4 ADC0832设计的两路电压表程序清单 程序如下:#include#include#define uchar unsigned char#define uint unsigned int#define IO_1602 P0 / IO口sbit RS_1602=P20; / 1602 RS引脚接P2.0sbit RW_1602=P21; / 1602R/W引脚接P2.1sbit E_1602=P22; / 1602 E引脚接P2.2sbit CS=P10; /ADC0832个引脚sbit CLK=P11;sbit DIO=P12;void delay_ms(unsigned int t)/ 延迟子函数11.0592MHz 1ms uchar x,y;for(t;t0;t-)for(x=0;x114;x+) for(y=0;y1;y+);void Wr1

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1