当前位置:文档之家› 基于51单片机

基于51单片机

目录1 引言 (1)1.1设计要求 (1)1.2方案论证 (2)2 单片机和D/A转换器 (3)2.1AT89C51单片机 (3)2.2D/AC0808 (5)2.3LED数码 (7)3 电路原理与硬件实现 (9)3.1单片机最小系统及端口连接 (9)3.2原理介绍 (10)3.3硬件调试 (13)4 软件程序设计 (14)4.1开发工具介绍 (14)4.2软件流程图 (17)4.3软件调试 (17)结束语 (18)致谢 (18)参考文献 (18)附录 (18)基于51单片机的程控直流电压源XXXXXXX物理与电子信息工程系,XXX摘要:本设计是以ATM89C51单片机为控制核心的开关电源,具有输出电压可调,电压数字显示的功能。

具体阐述了开关电源的基本原理及工作过程,电源各硬件模块的设计及软件设计。

该电源硬件模块包括输入整流和滤波模块、单片机供电电源模块、D/A转换模块及LED显示模块。

关键词:稳压电源;单片机89C51;D/A转换1 引言随着电力电子技术的迅速发展,直流电源应用非常广泛,其好坏直接影响着电气设备或控制系统的工作性能。

直流稳压电源是电子技术常用的设备之一,广泛的应用于教学、科研等领域。

传统的多功能直流稳压电源功能简单、难控制、可靠性低、干扰大、精度低且体积大、复杂度高。

而基于单片机控制的直流稳压电源能较好地解决以上传统稳压电源的不足。

其良好的性价比更能为人们所接受,因此,具有一定的设计价值。

从上世纪九十年代末起,随着对系统更高效率和更低功耗的需求,电信与数据通讯设备的技术更新推动电源行业中直流|直流电源转换器向更高灵活性和智能化方向发展。

设计的直流稳压电源主要有单片机系统、键盘、数码管显示器、D/A转换电路、直流稳压电路部分组成,数控电源采用按键盘输入数据,单片机通过D/A,控制驱动模块输出一个稳定电压。

工作过程中,稳压电源的电压值由单片机输出,驱动LED显示,由键盘控制进行动态逻辑切换。

以单片机为核心的智能化高精度简易直流电源的设计,电源采用数字调节、输出精度高,特别适用于各种有较高精度要求的场合。

目前所使用的直流可调电源中,大多为旋钮开关调节电压,调节精度不高,而且经常跳变,使用麻烦。

利用本数控电源,可以达到每步0.1V 的精度,输出电压范围0~9.9V ,电流可以达到500mA ,且数码显示直观。

电源采用数字控制,具有以下明显优点:(1)易于采用先进的控制方法和智能控制策略,使电源模块的智能化程度更高,性能更完美。

(2)控制灵活,系统升级方便,甚至可以在线修改控制算法,而不必改动硬件线路。

(3)控制系统的可靠性提高,易于标准化,可以针对不同的系统(或不同型号的产品),采用统一的控制板,而只是对控制软件一些调整即可。

1.1 设计要求基本要求:(1)输出电压:范围0~9.9V步进0.1V纹波不大于10mv(2)输出电流:500mA(3)输出电压由数码显示(4)用“+”“-”键控制输出电压进行增减调整发挥部分:(1)自动扫描输出电压(2)输出电压可预置在0~9.9V之间的任意值1.2 方案论证采用单片机作为整机的控制单元,通过改变输入数字量来改变输出电压值,从而使输出功率管的基极电压发生变化,间接的改变输出电压的大小。

采用软件方法来解决数据的预置以及电压的步进控制,使系统硬件更加简洁,各类功能易于实现。

本系统以直流电源为核心,利用51系列单片机为主控制器,通过键盘来设置直流电源的输出电压,设置步进等级可达0.1V,并可由数码管显示电压设定值。

利用单片机程控输出数字信号,经过D/A转换器输出模拟量,再经过运算放大器隔离放大,输出不同的电压。

方框如图1-1系统原理方框图。

图1-1系统原理方框图系统核心是以AT89C51单片机为控制器,具有电压可预置、可步进调整、预置的电压信号显示的数控直流电源,其硬件原理方框图如图1-1所示。

系统由AT89C51控制电路、键盘电路、电源电路、D/A电路、功放电路、LED显示电路六部分组成。

系统通过“+”、“-”两个键来控制预置电压的升降,也可以通过键盘直接输入电压并通过数码管显示。

AT89C51单片机送出相应的数字信号,在D/A转换之后输出电流,经集成运放OP07转换、三极管放大最终稳定。

同时由LED数码管显示输出电压,由数字电压表测量实测值。

系统选用了C51单片机没有用C52,因为虽然C51的ROM为4KB,C52的为8KB,C51的内部RAM 只有128字节,除去4组工作寄存器、位地址单元和预留一部分堆栈空间,剩下的RAM不多了,对稍复杂的一些程序编程起来非常的不舒服,能定义的空间就很少了,但是就系统的要完成的功能来说,C51单片机完全够用了。

LED显示屏是发光二极管组成的显示器件,采用低电压扫描驱动,具有:耗电低、使用寿命长,成本低、亮度高、出现故障率低等特点。

而LCD利用液晶的物理特性显示,他的特点主要是:低功耗、零辐射、体积小、散热小、但价格高。

所以综合考虑LED能完成的就不选用LCD了。

2 单片机和D/A转换器2.1 AT89C51单片机AT89C51是一种带4K字节闪烁可编程可擦出只读存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)低电压,高性能CMOS8位微处理器,俗称单片机。

单片机的可擦除只读存储器可以反复擦出100次。

该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。

由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。

AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

图2-1 AT89C51硬件图主要特性:与MCS-51兼容4K字节可编程闪烁存储器寿命:1000写|擦循环数据保留时间:10年全静态工作:0HZ-24HZ三级程序存储器锁定128*8位内部RAM32可编程I|O线两个16位定时器|计数器5个中断源可编程串行通道低功耗的闲置和掉电模式片内振荡器和时钟电路管脚说明:VCC:供电电压。

GND:接地P0口:P0口为一个8位漏极开路双向I/O口,每脚可吸收8个TTL门电流当P1口的管脚第一次写1时,被定义为高阻输入。

P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。

在FLASH 编程时,P0口作为原码输入口,当FLASH进行校验时,P0口输出原码,此时P0外部必须被拉高。

P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。

P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于,内部上拉的缘故。

在FLASH编程和校验时,P1口作为低八位地址接收。

P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。

并因此作为输入时,P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。

并因此作为输入时,P2口的管脚被外部拉低,将输出电流。

这是由于内部上拉的缘故。

P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。

在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。

P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

P3口:P3口管脚是个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。

当P3 口写入“1”后,它们被内部上拉为高电平,并用做输入。

作为输入,由于外部下拉为低电平,P3口将输出电流(TTL)这是由于上拉的缘故。

P3口也可作为AT89C51的一些特殊功能口,如下表所示:表1 管脚备选功能: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:来自反向振荡器的输出。

振荡器特性:XTAL1和XTAL2分别为反向放大器的输入和输出。

该反向放大器可以配置为片内振荡器。

石英振荡和陶瓷振荡均可采用。

如采用外部时钟源驱动器件,XTAL2应不接。

有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。

芯片擦除:整个PEROM 阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE 管脚处于低电平10ms 来完成。

在芯片擦除中,代码阵列全被写“1”且在任何非存储字节被重复编程以前,该操作必须执行。

此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电方式。

在闲置模式下,CPU 停止工作。

但RAM ,定时器,计数器,串口和中断系统仍在工作。

在掉电模式下,保存RAM 的内容并且冻结振荡器,禁止所用其它芯片功能,直到下一个硬件复位为止。

2.2 D/AC0808D/AC0808是一个8位单片数字到模拟转换器,±5V 电源只有33毫瓦。

没有参考电流,因为全量程输出电流为±1。

相对精度优于%19.0±,保证8位单调性和线性度。

D/AC0808将直接与流行的TTL 接口印行或CMOS 逻辑电平,并且是直接更换MC1508/MC1408。

特点:(1)相对精度:最大误差为%19.0± (2)全量程电流匹配:LSB 的典型值1 (3)快速建立时间:150ns 典型值(4)同向数字输入是TTL 和CMOS 兼容、低功耗:33毫瓦 ±5V (5)高输入速度乘以转换率:8毫安/微妙 (6)电源电压范围:±4.5V 至±18V该D/A转换器的电路方框图如图2-2:图中d0 到d7是8位数字量的输入端,I0是求和电流的输出端。

相关主题