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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

本文(基于51单片机LCD液晶显示的简易数控电源.docx)为本站会员(b****9)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于51单片机LCD液晶显示的简易数控电源.docx

1、基于51单片机LCD液晶显示的简易数控电源andandand电子设计竞赛设计报告For personal use only in study research; not for commercial use题目:基于单片机的简易数控电源For personal use only in study research; not for commercial use参赛选手:For personal use only in studyresearch; not for commercial use学院:自动化与电子信息学院 系别:电子信息工程班级:电信08 4For personal use onl

2、y in study and research; not for commercial use学号: 08021020指导教师:周波老师时间: 2011 年 9 月 8 日For personal use only in study and research; not for commercial use基于单片机的简易数控电源For personal use only in study and research; not forcommercial use摘 要:本次设计采用 51 单片机进行控制, 在对单片机系统、 喇叭装置和显示电路 做了深入的研究之后,拟出了系统总体设计方案,并设计了各

3、部分硬件模块和软件流程,在 用 C 语言设计了具体软件程序后, 用 Proteus 软件进行了仿真和调试 , 结果证明了该设计系统 的可行性。由于 51 系列单片机的控制器运算能力强,处理速度快,可以精确计时,很好地解 决了实际生产生活中对计时高精确度的要求,因此该设计在现代社会中具有广泛的适用性。关键字: 51 单片机 LCD1602 液晶显示 数控电源 Proteus 仿真 For personal use only in study and research; not for commercial use仅供个人参考一、功能介绍本次设计电路主要由主体电路与扩展电路组成 ,采用单片机控制设

4、计,使LCD液晶显示器显示设定的电压值和从外部读入的实际电压值。 设定的电压值经过数据处理可直接送 LCD液晶显示器显示。将输入的信号经过51单片机处理在LCD液晶显示器上输出;用控制电路和 调节开关对LCD显示的时间进行调节,以上两部分组成主体电路。通过单片机的信号控制音 乐芯片电路在报警电路上实现报警功能, 设计通过51单片机采集ADC0808莫数转换器上的电 压信号实现在LCD上显示实际输出电压的值,以上两部分构成扩展电路。经过设计、 Proteus仿真、Protel布线制板、焊接调试等工作后设计电路成形。功能总结如下:1) 输出电压范围0+ 9.9V。2) 电压步进0.1V可调。3)

5、使用液晶显示器LCD1602作为显示,最小分辨率可达到0.1V。4) 可利用电路上的滑动变阻器进行微调校准。5) 用自动扫描代替人工按键,实现输出电压变化。6) 设计4个按键,输出电压可预置在 09.9V之间的任意一个值。7) 设计模数转换电路,实现输出电压的实时监控。8) 设计报警电路实现超量程报警。9) 设计直流电源电路,可直接提供土 15V、土 5V电压。二、硬件设计本设计包括:单片机系统电路、显示电路、电源电路、报警电路、电压采集电路1、单片机系统电路本设计采用51单片机作为整个电路的控制芯片,用最小系统功能电路实现各种控制。单片机最小系统功能电路如附录所示:(1) 51单片机的引脚图

6、、逻辑图见图2-1P1.0 1P1.1 2P1.2 3P1.3 4P1.4 5P1.5 6P1.67P1.7 8RST7 Vpd 9不得D用于)商业用途TXD / P3.111INT 0/P3212INT1/P3 313T 0/P3. 414401Vcc39P0. 038P0. 137P0. 236P0. 3803135 P0 434P0. 533P0. 632P0. 7805131EA/Vpp30ALE/ PROG29PSEN28P2.727P2.680318051地址数据总线图2-1 51单片机的引脚图、逻辑图(2)引脚功能说明Vcc:电源电压GND接地P0 口: P0 口是一组8位漏极开

7、路型双向I/O 口,也即地址/数据总线复用口。作为输出 口用时,每位以吸收电流的方式驱动 8个TTL逻辑门电路,对端口 P0写“T时,可作为高 阻抗输入端用,要求外接上拉电阻。P1 口: P1 口是一个带内部上拉电阻的8位双向I/O 口,P1 口的输出缓冲级可驱动4个 TTL逻辑门电路。对端口写“ 1”,通过内部的上拉电阻把端口拉到高电平, 此时可作输入口。 作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流 (IIL) 另外,P1.0和P1.1还可分别作为定时/计数器2的外部计数输入(P1.0/T2 )和输入(P1.1/T2EX),参见表 2-2。表2-2 P1.0

8、 和P1.1的第二功能引脚号功能特性P1.0T2 (定时/计数器2外部计数脉冲输入),时钟输出P1.1T2EX(定时/计数2捕获/重装载触发和方向控制)P2 口: P2是一个带有内部上拉电阻的8位双向I/O 口,P2的输出缓冲级可驱动(吸收或 输出电流)4个TTL逻辑门电路。对P2端口写“ 1”,通过内部的上拉电阻把端口拉到高电 平,可作输入口。P3 口: P3 口是一组带有内部上拉电阻的 8位双向I/O 口。P3 口输出缓冲级可驱动(吸 收或输出电流)4个TTL逻辑门电路。对P3 口写入“ T时,它们被内部上拉电阻拉高并可 作为输入端口。此时,被外部拉低的P3口将用上拉电阻输出电流。P3 口

9、除了作为一般的I/O 口线外,更重要的用途是它的第二功能。不得用于商业用途RST复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复 位。ALE/PROG当访问外部程序存储器或数据存储器时, ALE (地址锁存允许)输出脉冲用于锁存地址的低8位字节。PSEN程序储存允许(PSEN输出是外部程序存储器的读选通信号,当 AT89C52由外部 程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。在此期间, 当访问外部数据存储器,将跳过两次 RSEN言号。EA/VPP外部访问允许。欲使 CPU仅访问外部程序存储器(地址为 OOOOHk FFFFH,EA 端

10、必须保持低电平(接地)。需要注意的是:如果加密位 LB1被编程,复位时内部会锁存EA 端状态。XTAL1:振荡器反相放大器及内部时钟发生器的输入端。XTAL2振荡器反相放大器的输出端。(3)复位电路本次设计在单片机最小系统功能电路上设置复位开关,用以实现系统的复位。复位电路如 下图所示:RET O O *vcc 1 iou 1 (2、显示电路为了获得更好的效果本设计并没有采用常见的 LED而是采用了型号为1602的LCD。 用以显示预置输出的电压值和实际输出的电压值。 LCD有LED数码显示更好的更的直观效果,也更加经久耐用。液晶显示模块体积小功耗低、显示内容丰富,现在字符型液晶显示模块已 经

11、是单片机应用设计中最常用的信息显示器件之一了。本 LCD是 2行16列液晶 可显示2行 16列英文字符,有8位数据总线D0-D7, RS R/W EN三个控制端口(共14线),工作电压 为5V,有背光。1602引脚说明,见表2-1。表2-1 LCD显示屏引脚说明不得用于商业用途編号符号引脚说明編号符号引脚说明1电洒地9肚欢向数据口VDD电涯正极10D3双向数据口3VL对比度调节11D4取向数据口4RS数据/命令选择12D5孜向数据口5读/写选择13DS双向数据口6E模块使能端14D7欢向数据口700裁向数据口15EU背光源眦8D1欢向数据口UEU背光源正极VDD电源正极,4.5 5.5V,通常

12、使用5V电压;VL: LCD寸比度调节端,电压调节范围为 0 5V。接正电源时对比度最弱,接地电源时对 比度最高,但对比度过高时会产生“鬼影”,因此通常使用一个10K的电位器来调整对比度, 或者直接串接一个电阻到地;RS: MCI写入数据或者指令选择端。MCI要写入指令时,使RS为低电平;MCI要写入数 据时,使RS为高电平;R/W读写控制端。R/W为高电平时,读取数据;R/W为低电平时,写入数据;E: LCD模块使能信号控制端。写数据时,需要下降沿触发模块。D0- D7: 8位数据总线,三态双向。如果 MCU勺I/O 口资源紧张的话,该模块也可以只 使用4位数据线D4- D7接口传送数据。本

13、充电器就是采用 4位数据传送方式;BLA LED背光正极。需要背光时,BLA串接一个限流电阻接 VDD BLK接地,实测该模 块的背光电流为50mA左右;BLK LED背光地端。设计电路如下:3、数模转换电路本次设计采用DAC0832数模转换器对预置的电压值进行转换。DAC0832是双列直插式8 位D/A转换器。能完成数字量输入到模拟量(电流)输出的转换。其主要参数如下:分辨率为8 位,转换时间为1卩s,满量程误差为土 1LSB,参考电压为(+10-10)V,供电电源为(+5+15)V, 不得用于商业用途仅供个人参考逻辑电平输入与TTL兼容。数模转换电路原理图如下:4、电源电路本电路为土 15

14、V、土 5V直流稳压电源,它由变压器输出12V交流电到输出端,再经过电 源转化成土 15V、土 5V直流电,电路主要功能是为整个设计电路供电。 7805、7815、7905、7915是个三端稳压管,+5V、+15V、-5V、-15V电压输出,有稳压取样放大电路,保护电路 过流、过压、过热,辅助电路,电流源等功能。电路如图所示:5、预置按键电路当重新接通电源或走时出现误差时都需要进行电压预置,通常,预置的方法是:根据选择需要预置的位,再进行加减预置,然后按确认键转入正常输出状态即可。本次电路设计 4不得用于商业用途电压显示,确保器正确性。下图所示即为预置电路:6电压采集电路本次设计采用ADC08

15、08采集电压信号,由单片机进行相应的计算、转换,最后显示在LCD数码管上。ADC0808是采样分辨率为8位的、以逐次逼近原理进行模/数转换的器件。其 内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通 8路模拟输入信 号中的一个进行A/D转换。ADC0808是 ADC0809勺简化版本,功能基本相同。一般在硬件仿 真时采用ADC0808S行A/D转换,实际使用时采用 ADC08091行A/D转换。电压采集电路如 下:V三、软件设计1、主函数的设计这里用C语言的单片机程序构成了本次设计电路的软件系统。 该程序实现,本次设计电路的主程序流程图如下图所示:程序初给化馄盘扫描中斬Z主函

16、数流程图2、D/A转换子程序由原理图可知,片选信号 CS和数据传送控制信号XFER都与51单片机的P 口相连, WR1、WR2均与P2.2 口相连。CPU对DAC1208执行一次写操作,则将一个数据直接写入 DAC寄存器,DAC1208的输出模拟量随之变化。由于DAC1208具有数字量的输入锁存功能, 故数字量可以直接从51的P0单片机口送入。D/A转换子程序流程图如下图:,* 3开始 f键盘输入1f调入程序1T数模转换1T1 備环D/A转换子流程图3、A/D的软件设计本设计电路中,CE/LOAD引脚接地址引脚,使芯片有效状态可以控制。RUN/HOLD(运 行/保持)引脚P ,使A/D转换连续

17、进行。A/D转换正在进行时,STA引脚输出高电平,STA 引脚降为低电平时,由P0.2输出低电平信号到ICL7109的HBEN,读高4位数据、极性和溢出位; 由P口输出低电平信号到LBEN,读低8位数据。不需要采集数据时,不会影响 89C51的工作, 因此这种方法可简化设计,节省硬件和软件。 A/D转换子流程图如下图:A/D转换子流程图仅供个人参考4、显示程序显示程序包括预置电压显示和实际输出电压显示程序。液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为 低电平,表示不忙,否则此指令失效。要显示字符时要先输入显示字符地址,也就是告诉模 块在哪里显示字符,下表是 LC

18、D1602液晶模块的内部显示地址。LCD1602内部显示地址1234567891011121314151600010203 :04 :05 :06 :0708090A0B0C0D0E0F404142434445464748494A4B4C4D4E4F四、主要元器件清单类别型号数量(单位)IC芯片STC89C521片MAX2321片12V变压器1个DAC08321个ADC08081个LM3241个LCD共阴8段数码显示7只按钮开关自锁/自动复位8个电容30pF2个10卩F1个47卩F2个22卩F1个晶振11.0592MHz1支32.768KHZ1支电阻1K1个10K Q6个滑动变阻器50k2个三

19、极管S90131个蜂鸣器74F3781个万能板焊接型2块二极管发光二极管10个1N40078个1N414810个五、设计总结及心得体会单片机是计算机技术发展的产物,是经济实用开发简便的高科技产品,在当今工业 控制、家电等领域占据广泛的市场。通过此次单片机课程设计来设计个简单的数字闹钟,我 巩固了自己学习的单片机知识,来初步了解了小型单片机系统的设计和运用,并提高自己实 际动手能力。设计过程也使我了解了自己能力的不足,不过通过资料收集和文献查询等方法,找出了 设计过程中的一些问题以及解决问题的方法,从而比较顺利的完成了这个设计任务。这次自 己所做的设计取得了一些宝贵的经验,提高了自己的动手能力,

20、为将来的学习和工作很有好 处。总之,理论必须和实际结合才有威力,知识必须通过应用才能实现其价值!所学的东 西最终是要面向社会,是在以后的工作能够更好的应用,此时的知识积累是为以后的工作做 好坚实的基础。这个设计总体上不算完美,但是这个设计经历的好处是不可估量的。许多的 问题,再加上能力与精力,还有时间的关系,对系统的设计中的每一个细节不能做到完全的 完美。该系统还需要以后进行完善,而我所做的也仅供以后设计该系统时作为参考。六、致谢附录一:单片机最小系统电路及 PCBT-illWIIlip卜,IIIIU1 10严c予4HD 1 jy附二:程序#include #define uchar unsi

21、gned char#define uint unsigned intsbit RS=P3A4;sbit BJ=P3A3;sbit DAC_CS=P3A7;sbit ADC_STA=P1A4;sbit ADC_OE=P1A5;sbit ADC_SCL=P1A6;uchar code table1=08_XTT-IN_V:0.0V;uchar code table2= DACOUT_V:0.0V;uchar ge,shifen,keynum,volt,volt1,ge1,shifen1,a;uint x,y;for(x=z;x0;x_)仅供个人参考for(y=110;y0;y-);void del

22、ay1();void write_com(uchar com) /RS=0;EN=0;P2=com;delay(1);EN=1;delay(1);EN=0;void write_date(uchar date) /RS=1;EN=0;P2=date;delay(1);EN=1;delay(1);EN=0;void Init() /uchar num;EN=0;write_com(0x38);write_com(0x0c);write_com(0x06);write_com(0x01);write_com(0x80);for(num=0;num16;num+)write_date(table1n

23、um); delay(5);write_com(0x80+0x40);for(num=0;num=10)shifen=0;BJ=0;delay(200);BJ=1;ge+;if(ge=10)ge=9;BJ=0;delay(200);BJ=1;write_voltage(14,shifen); write_voltage(12,ge);仅供个人参考if(keynum=2)ge+;if(ge=10)ge=9;BJ=0; delay(200);BJ=1;write_voltage(12,ge);if(key3=0)delay(300);if(key3=0)if(keynum=1)shifen-;if

24、(shifen=-1)shifen=9;BJ=0; delay(200);BJ=1;ge-;if(ge=-1)ge=0;BJ=0;delay(200);BJ=1; write_voltage(14,shifen);write_voltage(12,ge); if(keynum=2)ge-;if(ge=-1)ge=0;仅供个人参考BJ=0;delay(200);BJ=1;write_voltage(12,ge);void keyscan4()if(key4=0)delay(10);if(key4=0)while(!key4);/ADC0808_STA(); /delay(10);ADC0808_RD();主函数void main() /keynum=0;/ADC_SCL=0;/ADC_OE=0;ge=0;shifen=0;Init();while(1)/ADC_SCL=ADC_SCL; keyscan();keyscan4();volt=ge*10+shifen;DAC0830_OUT(volt);仅供个人参考仅供个人用于学习、研究;不得用于商业用途For personal use only in study and research; not for commercial use.Nur

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

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