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

开通VIP
 

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

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

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(基于单片机的直流电源设计--毕业论文.docx)为本站上传会员【丰****】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

基于单片机的直流电源设计--毕业论文.docx

1、 基于单片机的直流电源设计 摘要:该设计利用STC89C52单片机作为主控器,通过按键来控制输出电压,设计步进为0.1V,输出电压范围为0V—12V,但由于硬件芯片存在漏电流的影响,做实物时输出电压范围调整为2.4V—12V,由LCD1602显示电压设定值。由单片机程控设定数字信号通过 D/A 转换芯片TLC5615输出模拟量, 经运放放大再滤波之后输出。 关键词:51单片机;TLC5615;电源 Abstract The design with STC89C52 microcontroller as the main control unit, t

2、he key to control the output voltage, design step 0.1V, the output voltage range of 0V ---- 12V, but due to the influence of the leakage current hardware chip, do real output voltage adjustment range is 2.4V - 12V, by the LCD1602 display voltage set value. By the single-chip programmable set digital

3、 signal through D / A conversion chip TLC5615 output analog, the op amp amplification and filtering the output. Key words: 51 MCU; TLC5615; Power Supply 目录 一:引言 - 1 - 二:硬件系统设计 - 2 - 2.1:功能要求 - 2 - 2.2:系统框图 - 2 - 2.3:输入电源模块的设计 - 3 - 2.4:参考电压模块的设计 - 3 - 2.5:单片机电路的设计 - 4 - 2.6

4、显示模块设计 - 4 - 2.7:按键模块设计 - 5 - 2.8:D/A转换模块的设计 - 6 - 2.9:信号放大电路和串联稳压电路的设计 - 6 - 2.10:硬件制作 - 7 - 三:主要元件介绍 - 9 - 3.1:STC89C52单片机 - 9 - 3.2:LCD1602 - 10 - 3.3:TLC5615 - 11 - 3.4:LM358 - 13 - 四:proteus仿真 - 14 - 4.1:proteus软件简介 - 14 - 4.2:仿真图绘制及仿真 - 14 - 五:软件设计 - 15 - 5.1:Keil uVision3软件简介

5、 15 - 5.2:程序设计 - 16 - 六:故障排除 - 17 - 七:测试 - 19 - 八:课程设计小节 - 19 - 九:附件 - 20 - 附件一:源程序 - 20 - 附件二:仿真图 - 23 - 附件三:原理图 - 24 - 附件四:PCB图 - 24 - 一:引言 电源技术尤其是数控电源技术是一门实践性很强的工程技术,服于各行各业。电力电子技术是电能的最佳应用技术之一。当今电源技术融合了电气、电子、系统集成、控制理论、材料等诸多学科领域。随着计算机和通讯技术发展而来的现代信息技术革命,给电力电子技术提供了广阔的发展前景,

6、同时也给电源提出了更高的要求。随着数控电源在电子装置中的普遍使用,普通电源在工作时产生的误差,会影响整个系统的精确度。电源在使用时会造成很多不良后果,世界各国纷纷对电源产品提出了不同要求并制定了一系列的产品精度标准。只有满足产品标准,才能够进入市场。随着经济全球化的发展,满足国际标准的产品才能获得进出的通行证。数控电源是从80年代才真正的发展起来的,期间系统的电力电子理论开始建立。这些理论为其后来的发展提供了一个良好的基础。在以后的一段时间里,数控电源技术有了长足的发展。但其产品存在数控程度达不到要求、分辨率不高、功率密度比较低、可靠性较差的缺点。因此数控电源主要的发展方向,是针对上述缺点不断

7、加以改善。单片机技术及电压转换模块的出现为精确数控电源的发展提供了有利的条件。新的变换技术和控制理论的不断发展,各种类型专用集成电路、数字信号处理器件的研制应用,到90年代,己出现了数控精度达到0.05V的数控电源,功率密度达到每立方英寸50W的数控电源。从组成上,数控电源可分成器件、主电路与控制等三部分。目前在电力电子器件方面,几乎都为旋纽开关调节电压,调节精度不高,而且经常跳变,使用麻烦。 数字化智能电源模块是针对传统智能电源模块的不足提出的,数字化能够少生产过程中的不确定因素和人为参与的环节数,有效地解决电源模块中诸如可靠性、智能化和产品一致性等工程问题,极大地提高生产效率和产品的可维

8、护性。 随着科学技术的不断发展,特别是计算机技术的突飞猛进,现代工业应用的工控产品均需要有低纹波、宽调整范围的高压电源,特别是在一些高能物理领域,急需电脑或单片机控制的低纹波、宽调整范围的电源。 电源采用数字控制,具有以下明显优点: 1) 易于采用先进的控制方法和智能控制策略,使电源模块的智能化程度更高,性能更完美。 2) 控制灵活,系统升级方便,甚至可以在线修改控制算法,而不必改动硬件线路。 3) 控制系统的可靠性提高,易于标准化,可以针对不同的系统(或不同型号的产品),采用统一的控制板,而只是对控制软件做一些调整即可。 4) 系统维护方便。一旦出现故障,可以很方便地通过RS23

9、2接口或RS485接口或USB接口进行调试,故障查询,历史记录查询,故障诊断,软件修复,甚至控制参数的在线修改、调试,也可以通过MODEM进行远程操作。 5) 系统的一致性好,成本低,生产制造方便。由于控制软件不同于模拟器件那样存在差异,因此,数控电源的一致性很好。由于采用软件控制,控制板的体积将大大减小,生产成本下降。 6) 易组成高可靠性的多模块逆变电源并联运行系统。为了得到高性能的并联运行逆变电源系统,每个并联运行的逆变电源单元模块都采用全数字化控制,易于在模块之间更好地进行均流控制和通讯或者在模块中实现复杂的均流控制算法(不需要通讯),从而实现高可靠性、高冗余度的逆变电源并联运行系

10、统。 二:硬件系统设计 2.1:功能要求 设计一个数字控制电压源,利用按键来控制输出电压,要求输出电压为0V--12V,步进0.1V,并用LCD显示出来。 2.2:系统框图 根据题目和设计的要求,设计了如图2-1所示的系统框图。该系统硬件电路主要是由电源模块、按键控制模块、显示模块、单片机模块、调整稳压模块所构成。 图2-1 此设计通过按键与单片机的I/O口相连,单片机读入控制数据,根据软件对其进行判断,从而能够起到控制输出电压的作用,每按一次按键以0.1V为步进增加或减小输出电压,输出电压的范围是0~12V。并利用LCD1602显示预设的输出电压,实现简单的人机交换。

11、 2.3:输入电源模块的设计 220V的交流电通过变压器变成12V的交流电。由于桥式整流输出端的电压与其输入端的交流电压约1.2倍的关系,所以12V的交流电经过整流滤波后变成约14.4V左右的直流电源,这个直流电源主要是供LM358工作的。同时该直流电源再经过LM7805转换为5V的电源,供单片机芯片、显示模块、D/A转换 模块等正常工作。电源模块原理图如图2-2所示。 图2-2 2.4:参考电压模块的设计 在本电路中需要参考电压的大小为2.5V,电路如图2-3所示。其中R12是限流电阻,主要是为了保证TL431正常的工作电流,TL431正常工作电流是1mA到100mA,R12的选

12、取主要是保证留过TL431的电流在其可接收的范围内。C3是滤波电容,减小输出噪声。 图2-3 2.5:单片机电路的设计 本设计采用STC89C52单片机,其电路如图2-4所示。其中单片机的18、19号引脚与晶振和电容相连构成晶振电路。单片机的的9号引脚与按键S9相连,构成复位电路。单片机的所有引脚都用排针引出,用来外接器件。P0口的4、5、6、7号引脚分别LCD1602的数据线D4~D7相连,P0口0、1号脚与LCD1602的控制端RS、EN相连。在单片机工作的时候,对他们进行相应的控制,以驱动LCD1602显示。 图2-4 2.6:显示模块设计 该显示模块采用了LCD16

13、02来显示预设的输出电压,其电路如图2-5所示。数据线D0~D3接地,D4~D7与单片机的P0口的4、5、6、7号引脚相连,控制端RS、EN分别于单片机的P0口的0、1号引脚相连,而RW接地。排阻用来作上拉电阻。通过电位器,可以改变液晶显示的亮度。 图2-5 2.7:按键模块设计 本设计采用了5个(多余3个未使用)按键来控制输出电压,其电路如图2-6所示。这5个按键分别用杜邦线与单片机的P1口号0、1、2、3、4号引脚相连。其中P1.0是用来控制输出电压的增0.1V,P1.1是用来控制输出电压的减0.1V,P1.2是用来控制输出电压为0V,P1.3是用来控制输出电压5V,P3.5是用

14、来控制输出电压为12V。 图2-6 2.8:D/A转换模块的设计 本模块以TLC5615芯片为核心,通过单片机控制,将数字量转换成模拟量,电路如图2-7所示。考虑到设计的要求是输出电压步进0.1V,电压范围0~12V。按设计要求可知,需要级数为120,若采用10位D/A芯片,其变化量为210=1024可以实现。TLC5615是德州仪器生产的10位D/A转换芯片。芯片的1、2、3号脚通过杜邦线与单片机相连。 图2-7 2.9:信号放大电路和串联稳压电路的设计 模块以LM358为核心,采用了同相比例运算放大电路,通过对D/A转换芯片输出电压的放大使其满足设计要求。本设计的串联稳

15、压电路如图2-8所示,电位器R16可以调节放大倍数,在系统的软件设计中,使得输出电压最大值为12V。 图2-8 2.10:硬件制作 为了布线和使用的方便性,将整个系统分成两个模块,模块一有:单片机电路、按键模块和显示模块;模块二有:电源模块、D/A转换模块、参考电压模块、信号放大电路和串联稳压电路。模块一的电源由模块二上的电源输出。模块一的PCB图及实物图分别如图2-9和2-10所示。模块二的PCB图及实物图分别如图2-11和2-12所示。 图2-9 图2-10 图2-11 图2-12 三:主要元件介绍 3.1:STC89C52单片机 STC89C5

16、2是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash存储器。STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 具有以下标准功能: 8k字节Flash,512字节RAM, 32 位I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,3个16 位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。

17、另外 STC89X52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35MHz,6T/12T可选。STC89C52的引脚分布图和实物图分别如图3-1和图3-2所示。 图3-1 图3-2 3.2:LCD1602 工业字符型液晶,能够同时显示16x02即32个字符。(16列2行)1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号

18、等的点阵型液晶模块。它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形(用自定义CGRAM,显示效果也不好)。1602是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。 目前市面上字符液晶绝大多数是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780写的控制程序可以很方便地应用于市面上大部分的字符型液晶。其管脚功能如下: 第1脚:VSS为电源地 第2脚:VCC接5V电源正极 第3脚:V0为液晶显示

19、器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会 产生“鬼影”,使用时可以通过一个5K的电位器调整对比度)。 第4脚:RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。 第5脚:RW为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。 第6脚:E(或EN)端为使能(enable)端。 第7~14脚:D0~D7为8位双向数据端。 第15~16脚:空脚或背灯电源。15脚背光正极,16脚背光负极。 其引脚图如图3-3所示: 图3-3 3.3:TLC5615 TLC5615 为美国德州仪器公司1999年推出的产品,是具有

20、串行接口的数模转换器,其输出为电压型,最大输出电压是基准电压值的两倍。带有上电复位功能,即把DAC 寄存器复位至全零。性能比早期电流型输出的 DAC 要好。只需要通过3根串行总线就可以完成10位数据的串行输入, 易于和工业标准的微处理器或微控制器(单片机) 接口, 适用于电池供电的测试仪表、移动电话,也适用于数字失调与增益调整以及工业控制场合。其引脚图如图3-4所示: 图3-4 TLC5615的各引脚功能如下: DIN: 串行数据输入端; SCLK: 串行时钟输入端; CS: 芯片选用通端,低电平有效; DOUT: 用于级联时的串行数据输出端; AGND: 模拟地; REF

21、IN:基准电压输入端, 2V~ (VDD - 2); OUT: DAC 模拟电压输出端; VDD: 正电源端,4.5~5.5V ,通常取 5V。 TLC5615 的内部功能框图如图3-5所示,它主要由以下几部分组成: 1、 10 位DAC电路; 2、 一个16位移位寄存器,接受串行移入的二进制数,并且有一个级联的数据输出端DOUT; 3、 并行输入输出的10位DAC寄存器,为10位DAC电路提供待转换的二进制数据; 4、电压跟随器为参考电压端REFIN提供很高的输入阻抗,大约10MΩ; 5、×2 电路提供最大值为2倍于REFIN的输出; 6、上电复位电路和控制电路。 图

22、3-5 两种工作方式:(A)从图中可以看出,16 位移位寄存器分为高4位虚拟位、低两位填充位以及10位有效位。在单片TLC5615工作时,只需要向16位移位寄存器按先后输入10位有效位和低2位填充位,2位填充位数据任意,这是第一种方式,即12位数据序列。(B)第二种方式为级联方式, 即16位数据列,可以将本片的DOU T接到下一片的DIN,需要向16位移位寄存器按先后输入高4位虚拟位、10位有效位和低2位填充位,由于增加了高4位虚拟位,所以需要16个时钟脉冲。 TLC5615 工作时序如图3-6所示。可以看出,只有当片选CS为低电平时,串行输入数据才能被移入16位移位寄存器。当CS为低电平

23、时,在每一个SCLK时钟的上升沿将DIN的一位数据移入16位移寄存器。接着的上升沿将16位移位寄存器的10位有效数据锁存于10位DAC寄存器,供DAC电路进行转换; 当片选CS为高电平时,串行输入数据不能被移入16位移位寄存器。 图3-6 3.4:LM358 LM358是双运算放大器。内部包括有两个独立的、高增益、内部频率补偿的双运算放大器,适合于电源电压范围很宽的单电源使用,也适用于双电源工作模式,在推荐的工作条件下,电源电流与电源电压无关。它的使用范围包括传感放大器、直流增益模块和其他所有可用单电源供电的使用运算放大器的场合。其引脚图及内部结构示意图如图3-7所示。 图3-

24、7 四:proteus仿真 4.1:proteus软件简介 Proteus软件是英国Lab Center Electronics公司出版的EDA工具软件(该软件中国总代理为广州风标电子技术有限公司)。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前比较好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。 Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯

25、一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil和MATLAB等多种编译器。 roteus软件具有其它EDA工具软件(例:multisim)的功能。这些功能是: 1.原理布图 2.PCB自动或人工布线 3.SPICE电路仿真 革命性的特点: 1.互动的电路仿真 用户甚至可以实时采用诸如RAM,ROM,键盘,马达,

26、LED,LCD,AD/DA,部分SPI器件,部分IIC器件。 2.仿真处理器及其外围电路 可以仿真51系列、AVR、PIC、ARM、等常用主流单片机。还可以直接在基于原理图的虚拟原型 上编程,再配合显示及输出,能看到运行后输入输出的效果。配合系统配置的虚拟逻辑分析仪、示波器等,Proteus建立了完备的电子设计开发环境. 4.2:仿真图绘制及仿真 仿真图如图4-1所示: 图4-1 仿真结果如下表: 从这三幅图中可以看出,LCD显示的数字与输出处电压表测量的电压基本一致。 五:软件设计 5.1:Keil uVision3软件简介 Keil C51是

27、美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。如果你使用C语言编程,那么Keil几乎就是你的不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。 5.2:程序设计 程序流程图如图5-1所示,系

28、统上电后,先初始化LCD和TLC5615,设定输出电压初始值为0V。在利用LCD1602进行显示时,要对变量进行转换,将数字型变量转换为字符型变量,程序段如下: void conversion(uint temp_data) //数据转换 { shi = temp_data / 1000 + 0x30; ge = (temp_data-(temp_data / 1000)*1000) / 100 + 0x30; xiao1 = (temp_data -(temp_data/100)*100)/10 + 0x30; xiao2 = (temp_data

29、temp_data/10)*10)/1 + 0x30; } 此外,由于硬件电路存在漏电流,为了保证输出电压与LCD显示的电压一样,在实物测试时需要对代码进行一点改动,即加上下面一句程序: /*仿真时需注释掉下面一句,实物测试时取消注释*/ dianya=dianya*0.802+244; /********************************************/ 图5-1 六:故障排除 在做出模块一之后,测序发现LCD显示字符亮度很低,不管怎么调节RP1电位器结果都一样,最后经过检查后发现是因为LCD的15脚和16脚的电源接反了,将这两条线弄断,再打几

30、个孔,用跳线从新连接后再次测试LCD正常显示。修改好的结果如图6-1和6-2。 图6-1 图6-2 七:测试 将程序下载到单片机,接好所有杜邦线和电源,通过按键调节输出电压的大小,用万用表测量输出电压的值,并与LCD显示值进行比较,测试结果如下表: 从测试结果可以看出,电压表测量的电压值与LCD1602显示值基本一致,而且按键也可以正常工作,最终测得输出电压范围为2.4V—12.1V,排除硬件本身原因的影响,本结果满足设计要求,成功。 八:课程设计小节 在本次课程设计的设计过程中,老师和同学都给予了我很大的帮助。在这里,我向这些无私帮助我的人表示衷心的

31、感谢和美好的祝愿。通过本次课程设计,我在专业知识、专业技能和解决问题方法方面得到很大的提高。尽管本次设计很有很多不足之处,但这为我以后的设计之路积累了宝贵的经验。 九:附件 附件一:源程序 - 25 - /*数控电压源------余刚*/ /******************************** 原始程序来自网络,自己进行整合、修改和再次编辑 ********************************/ #include "reg51.h" typedef unsigned int uint; typedef unsigned char ucha

32、r; sbit CS=P2^0; sbit SCLK=P2^1; sbit DIN=P2^2; sbit ADD=P1^0; sbit SUB=P1^1; sbit _0V=P1^2; sbit _5V=P1^3; sbit _12V=P1^4; /*****LCD1602 IO define********/ #define Data P0 sbit RS=P0^0; //RS = P0.0 sbit EN=P0^1; //EN = P0.1 unsigned char shi,ge,xiao1,xiao2;//显示变量 uint dianya=0

33、 uchar code table[]={ 0X00,0X01,0X02,0X03,0X04,0X05,0X06,0X07,0X08,0X09,0X0A,0X0B,0X0C,0X0D,0X0E,0X0F,0X10,0X11,0X12,0X13,0X14,0X15,0X16,0X17,0X18,0X19,0X1A,0X1B,0X1C,0X1D,0X1E,0X1F,0X20,0X21,0X22,0X23,0X24,0X25,0X26,0X27,0X28,0X29,0X2A,0X2B,0X2C,0X2D,0X2E,0X2F,0X30,0X31,0X32,0X33,0X34,0X35,0X36,

34、0X37,0X38,0X39,0X3A,0X3B,0X3C,0X3D,0X3E,0X3F,0X40,0X41,0X42,0X43,0X44,0X45,0X46,0X47,0X48,0X49,0X4A,0X4B,0X4C,0X4D,0X4E,0X4F,0X50,0X51,0X52,0X53,0X54,0X55,0X56,0X57,0X58,0X59,0X5A,0X5B,0X5C,0X5D,0X5E,0X5F,0X60,0X61,0X62,0X63,0X64,0X65,0X66,0X67,0X68,0X69,0X6A,0X6B,0X6C,0X6D,0X6E,0X6F,0X70,0X71,0X72,

35、0X73,0X74,0X75,0X76,0X77,0X78,0X79,0X7A}; void delay(uint x) { uchar i; while(x--)for(i=0;i<125;i++); } void DA5615(uint j) { uint i; uchar temp=table[j]; dianya=temp*10; //此处电压值放大了100倍 /*仿真时需注释掉下面一句,实物测试时取消注释*/ //dianya=dianya*0.802+244; /**************************/ SCLK=0; C

36、S=0; for(i=0;i<12;i++) { temp=temp<<1; DIN=CY;//溢出值送给数据位 SCLK=1; SCLK=0; } SCLK=0; CS=1; } /*******LCD1602函数***********/ void conversion(uint temp_data) //数据转换 { shi = temp_data / 1000 + 0x30; ge = (temp_data-(temp_data / 1000)*1000) / 100 + 0x30; xiao1 = (

37、temp_data -(temp_data/100)*100)/10 + 0x30; xiao2 = (temp_data-(temp_data/10)*10)/1 + 0x30; } void WriteCommandLCM(unsigned char CMD) { RS=0; EN=0; Data =(CMD&0XF0); EN=1; delay(1); EN=0; Data=(CMD&0X0F)<<4; EN=1; delay(1); EN=0; } void WriteDataLC

38、M(unsigned char dataW) { EN=0; Data = (dataW&0XF0); RS=1; EN=1; delay(1); EN=0; Data= ((dataW&0X0F)<<4); RS=1; EN=1; delay(1); EN=0; } void InitLcd() { WriteCommandLCM(0x03); delay(1); WriteCommandLCM(0x03); delay(1); WriteCommandLCM(0x02); delay(1); WriteCommandLCM(0x28);

39、delay(1); WriteCommandLCM(0x06); delay(1); WriteCommandLCM(0x0C); delay(1); WriteCommandLCM(0x01); delay(1); } void DisplayOneChar(unsigned char X,unsigned char DData) { X |= 0x80; WriteCommandLCM(X); WriteDataLCM(DData); } void inmaindispaly() { uint temp; temp=dianya; conversion(

40、temp); //计算数据和显示 DisplayOneChar(0,'d'); DisplayOneChar(1,'i'); DisplayOneChar(2,'a'); DisplayOneChar(3,'n'); DisplayOneChar(4,'y'); DisplayOneChar(5,'a'); DisplayOneChar(6,':'); DisplayOneChar(7,shi); DisplayOneChar(8,ge); DisplayOneChar(9,'.'); DisplayOneChar(10,xiao1); DisplayOneChar(1

41、1,xiao2); DisplayOneChar(12,'V'); } int main( void ) { int num=0; InitLcd(); //初始化LCD while(1) { if(ADD==0){delay(10);while(ADD==0); num++;} if(SUB==0){delay(10);while(SUB==0); num--;} if(_0V==0){delay(10);while(_0V==0); num=0;} if(_5V==0){delay(10);while(_5V==0); num=50;} if(_12V==0){delay(10);while(_12V==0); num=120;} if(num>120) num=120;//防止输出电压过高 if(num<0) num=0; DA5615(num); inmaindispaly(); delay(1); } } 附件二:仿真图 附件三:原理图 附件四:PCB图

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服