基于单片机的稳压电源设计原理说明参考word

合集下载

基于单片机的智能稳压电源设计

基于单片机的智能稳压电源设计

基于单片机的智能稳压电源设计摘要本智能稳压电源利用16位单片机SPCE061A为控制核心,可预置输出电压值并显示在液晶显示模块(LCD)上,通过其内置的A/D输出对PWM进行调制,再控制大功率开关管导通,再经过滤波输出。

同时通过采样电路将实际输出值反馈到单片机中构成闭环系统,进行比较、调整,提高了电源的输出精度。

输出电压范围为0.01v~10v,而且可以步进调整输出的电压值。

关键词:智能;单片机;PWM调制;稳压电源Design of Smart Power Supply Based on SCMWu Renjie(College of Physics Science and Information Engineering, Jishou University, Jishou,Hunan 416000)AbstractThe 16 Bit SCM SPCE061A was used as the control unit in this design, the output voltage value can be protested form the keyboard and displayed it on the LCD module .At the same time, its built-in A / D converter moderate the output as pulse width moderation(pwm), and switch on the output, after that output through a filter . At the same time the circuit would sample the actual output value and feedback the output to the SCM’s input system, after comparing and adjusting to improve the output accuracy. Output voltage range from 0.01 v to 10v, it can also stepping adjust the output voltage value.Key words:intelligent;SCM;PWM modulation;power supply目录第一章引言 (1)第二章方案论证与设计 (2)2.1 系统整体方案论证 (2)2.2数据采集和处理器选择 (2)2.3 电源供电电路 (2)2.4 显示电路模块 (2)第三章系统总体设计方案及设计框图 (3)第四章系统模块电路分析 (4)4.1 SPCE061A[1]单片机最小系统概述 (4)4.1.1 ADC 的控制 (5)4.1.2 DAC 的控制 (6)4.1.3 IO 端口结构 (7)4.1.4 单片机端口资源的分配 (8)4.2 电压控制电路 (8)4.2.1 ADC、DAC电压调整电路 (9)4.2.2 脉宽调节电路的工作原理 (10)4.2.3 脉宽调制电路参数的选择 (12)4.2.4 开关管输出的电路参数的选择 (13)4.2.5 平滑电容电阻的参数选取 (13)4.3 键盘设计 (14)4.4 液晶显示 (14)4.5 正负电源供电电路 (18)第五章软件流程图 (19)5.1 主程序 (19)5.2 键盘程序 (19)5.3 闭环调整子程序 (20)第六章系统测试和误差分析 (22)6.1 系统功能测试 (22)6.2 系统误差分析 (22)参考文献 (23)附录 (24)结束语 (30)基于单片机的智能稳压电源设计引言第一章引言直流稳压电源是电子技术常用的设备之一,广泛的应用于教学、科研等领域。

基于单片机的稳压电源设计原理说明

基于单片机的稳压电源设计原理说明

4 稳压电源设计4.1 电路分析稳压电路见图4-1所示。

三极管射极电压是稳压电源的输出电压,可以接用电器或负载,这个电压值通过TLC549(A/D,同TLC548)数据转换后,送往单片机处理并显示。

调整按键可以改变输入TLC5615(D/A,同TLC5616)的数据。

TLC5615的输出电压通过运算放大器与实际输出取样电压比较,控制三极管的电压输出。

稳压电路的电压输出接受单片机检测,同时又受单片机的控制。

电路在仿真时,各点的电压都连接有电压表显示。

图 1 稳压电路4.2 电路模块一、A/D转换部分TLC549 对输出电压进行采集,其操作如下:(1)cs先为高电平。

(cs为片选信号,为1时,输入脉i/o clock不起作用);(2)clock = 0(3)cs = 0;cs置底电平。

同时date_out为高。

(=1);(4)延时1.4us。

(setup time,cs low before first clock);(5)开始转化数据。

因为TLC549是8位串行模数转换器。

需将8 位数据依次串行输出。

期间,clock高低电平转化一次;(6)8次数据转化之后。

cs置1,片选无效。

等待17us后读出数据。

二、D/A转换部分TLC5615为10位D/A转换电路,其原理TLC5615的PDF文件。

输出电压= (转换数值/1024)*2*基准电压三、显示采用数码管对A/D转换后的数据进行显示,因为TLC549 是8位A/D,程序中需要对转化的数据进行处理后才能在七段数码管上动态显示。

TLC549的检测电压值范围为0~5V,A/D转换后数据位0~255,应该显示0~5,并且包含小数点部分。

四、按键操作部分四个独立的按键主要是对DA 的输入数据进行操作的,ADD按键,SUB 按键这些按键在安下一次松开后便进行加1 的操作,若按键超过一定的时间则增加步长,使其数值能够快速增加,这样就不必要达到一个电压时,一直按几百次。

基于单片机的直流稳压电源的设计设计

基于单片机的直流稳压电源的设计设计

基于单片机的直流稳压电源的设计设计毕业设计论文基于单片机的直流稳压电源的设计摘要直流稳压电源是电子技术常用的设备之一,广泛的应用于教学、科研等领域。

传统的直流稳压电源几乎都是用旋纽开关调节电压,调节精度不高、难控制、体积大、结构复杂,而且经常跳变,使用麻烦。

将单片机数字控制技术融入直流稳压电源的设计中,设计出的数字化直流稳压电源具有数码显示、数字输入调压、电压调节精度高的特点。

而且通过软件编程,易于实现功能的扩展。

数控电源目前的发展,主要朝着更高的数控精度和分辨率及更好的动态特性;更好的环保性能;智能化与高可靠性;更广泛的应用方向发展。

本设计利用AT89S51作为主控芯片,控制数模转换模块DAC0832的输出电压,通过运算放大器OPA552放大输出。

设置四个按键,来实现电压的增减,并带有数码显示模块。

可以达到每步0.1V的精度,输出电压范围0~15V,电流可以达到200mA。

关键词:数控电源;AT89S51;DAC0832;OPA552AbstractDirect current voltage-stabilized power supply is one of the commonly used equipment in electronic technology. It’s widely used in teaching, researching and other fields.Most of the traditional direct current voltage-stabilized power supply use the knob switch to adjust the voltage.It has the trouble of low-precision and difficult to control. The structure is complex and the volume is large.The numerical control technique of single chip microcomputer is adopted in the design of direct current voltage-stabilized power supply for a digitalized.Having numeral display,the direct current power can adjust voltage programmably and differentiate voltage precisely.Moreover,it’s easy to have its function enlarged through the programmer.Numerical control direct current voltage-stabilized power supply mainly toward to high-precision,high-resolution,better dynamic characteristics,better environmental performance,intelligent,high reliability and wider application direction.In this design,using the AT89S51 as main module to control the output voltage of DAC0832. The voltage is magnified by amplifier OPA552. In this system, the step of voltage is control by four keys, and the display module is also designed.The step precision is 0.1V,the output voltage is range from 0V to 15V and the current is up to 200mA.Key words: Numerical control power;AT89S51;DAC0832;OPA552目录摘要 (I)Abstract (II)第1章绪论 (1)1.1 课题的背景和意义 (1)1.2 数控电源的发展 (1)第2章方案设计 (3)第3章系统硬件电路设计 (4)3.1 主要电路的设计 (4)3.2 具体电路介绍 (4)3.2.1 主控单元电路 (4)3.2.2 信号处理电路 (8)3.2.3 电压放大电路 (12)3.2.4 按键电路 (14)3.2.5 显示电路 (15)第4章系统软件设计 (18)4.1 程序运行原理 (18)4.2 程序流程 (19)4.2.1 延时子程序流程 (19)4.2.2 拆分送显存子程序流程 (19)4.2.3 显示子程序流程 (20)4.2.4 主程序流程 (21)第5章设计仿真及调试 (22)5.1 WA VE6000集成调试软件简介 (22)5.2 程序调试的步骤 (23)第6章电路调试及实验分析 (25)6.1 实验仪器 (25)6.2 电路焊接和调试 (25)6.3 实际电压与显示电压对比分析 (25)6.4 系统误差分析 (26)结论 (27)参考文献 (28)附录1 电路原理图 (29)附录2 程序清单 (30)附录3 实物图 (35)致谢 (36)第1章绪论1.1 课题的背景和意义电源技术尤其是数控电源技术是一门实践性很强的工程技术,服务于各行各业。

基于单片机的数控直流稳压电源设计方案

基于单片机的数控直流稳压电源设计方案

基于单片机的数控直流稳压电源设计方案一、设计方案简介基于单片机的数控直流稳压电源设计方案主要是通过单片机控制开关电源的开关管,控制输出电压的稳定性和精度。

本设计方案采用闭环控制的方式,通过反馈电路将输出电压反馈给单片机,单片机根据反馈信号控制开关电源的开关管进行开关操作,以实现电源输出电压的稳定。

二、设计方案详细介绍1.系统总体设计:本设计方案将开关电源分为输入电源模块、控制模块和输出电源模块。

输入电源模块主要是对输入电压进行滤波和稳压,以保证输入电源的稳定性;控制模块主要是使用单片机进行控制,接收反馈电路的反馈信号,根据设定值进行比较,并控制开关电源的开关管进行开关操作;输出电源模块主要是将开关电源的输出电压经过滤波和稳压处理,以保证输出电压的稳定性和精度。

2.输入电源模块设计:输入电源模块主要是对输入电压进行滤波和稳压处理,保证输入电源的稳定性和安全性。

常用的电源滤波电路有LC滤波电路、RC滤波电路等。

同时,可以使用稳压芯片来实现输入电压的稳压。

3.控制模块设计:控制模块使用单片机进行控制,主要是通过反馈电路将输出电压反馈给单片机,并经过AD转换后与设定值进行比较。

根据比较结果,单片机控制开关电源的开关管进行开关操作,调整输出电压的稳定性。

在控制过程中,可以设置合适的控制算法,如PID控制算法,以提高控制的精度和稳定性。

4.输出电源模块设计:输出电源模块主要是对开关电源的输出电压进行滤波和稳压处理,以保证输出电压的稳定性和精度。

常用的电源滤波电路有LC滤波电路、RC滤波电路等。

可以使用稳压芯片或者反馈调节电路来实现输出电压的稳压。

5.电源保护设计:为了保护电源和设备的安全性,可以设计过压保护、欠压保护、过流保护、短路保护等保护电路。

过压保护可以使用过压保护芯片,欠压保护可以使用欠压保护芯片,过流保护可以通过电流传感器实现,短路保护可以通过保险丝或者短路保护芯片实现。

三、设计方案的优势和应用1.优势:本设计方案采用闭环控制的方式,通过反馈电路将输出电压反馈给单片机,使得输出电压的稳定性和精度得到保证。

毕业设计(论文)-基于单片机的数控稳压电源设计

毕业设计(论文)-基于单片机的数控稳压电源设计

哈尔滨学院本科毕业论文(设计)题目:基于单片机的数控电源设计院(系):理工学院专业:电子信息工程年级:2006级姓名:学号:指导教师:职称:2010年6月19 日目录摘要 (1)Abstract (2)前言 (3)第一章系统要求与方案选择 (4)1.1概述 (4)1.2系统要求 (5)1.3方案选择 (5)1.2.1开关稳压电源 (5)1.2.2线性稳压电源 (6)1.4最终方案 (6)第二章系统的硬件设计 (7)2.1系统的总体框图与基本原理 (7)2.1.1系统的主要性能指标 (7)2.1.2原理框图 (7)2.1.3系统整体设计 (7)2.1.4系统工作原理 (8)2.2供电电路 (8)2.2.1供电电路供电原理 (8)2.2.2供电电路图 (10)2.3人机界面电路设计 (11)2.3.1 AT89S51简介 (11)2.4.1 D/A转换器的选择 (15)2.4.2 D/A转换电路原理与应用 (15)2.5A/D转换电路及其与单片机接口 (16)2.5.1 A/D转换器的选择 (16)2.5.2 A/D转换电路应用 (17)2.5.3 A/D转换电路及其与单片机接口电路图 (17)2.6反馈稳压及保护电路 (17)2.6.1串联反馈式稳压电路工作原理 (18)2.6.2保护电路工作原理 (18)2.6.3串联反馈式稳压电路及保护电路 (18)第三章系统的软件设计 (20)3.1系统软件流程 (20)3.1.1系统流程图 (20)3.2软件设计 (21)3.2.1键盘的软件设计 (21)3.2.2显示的软件设计 (22)3.2.3 D/A的软件设计 (22)3.2.4 A/D的软件设计 (23)第四章系统测试 (24)4.1系统测试 (24)4.2设计总结 (24)参考文献 (25)附录 (26)后记 (27)摘要现实的生活和实验中,常常要用到各种各样的电源,电压要求亦多样化。

如何设计一个电压稳定,输出电压精度高,并且调节范围大的电压源,成了电子技术应用的热点。

基于单片机的PWM型开关稳压电源设计

基于单片机的PWM型开关稳压电源设计
单 片机技术 ・ S C M T e c h n o l o ห้องสมุดไป่ตู้ y
基于单片机 的 P WM 型开 关稳 压电源设 计
文/ 燕 哲
开 关 电 源 是 利 用 现 代 电 力 电 子技 术 ,控 制开 关管 开通 和 关断 的 时 间 比 率 , 维 持 稳 定 输 出 电 压 的一种 电源。开 关稳 压 电源 具有 体 积 小、 重量 轻 、效 率 高、对 电 网 电压 及 频 率 的 变 化 适 应 性 强 、 输 出电压 保持 时 间长 、有 利 于计 算机信 息 保护 等优 点 ,因 而广泛 应 用 于以 电子 计算机 为主导 的各 种 终 端 设 备 、 通 信 设 备 ,是 当 今 电子信 息 产业 飞速发 展 不可 缺 少 的 一 种 电 源 本 丈 介 绍 的 是 基 于
单 片机 的 P V '  ̄ I 型 开 关稳 压 电源,
+ _ t - U 卜 - 、 一
图1 :整 体 结 构 框 图
项 目是本人 在教 学中的 实际案 例,
经本 人验 证 后 ,实现 效果 较好 。
该项 目结构较为简单, 稳 定率高, 实用性强,能够应 用在较 多场合 。
开 关 电源 应 具 备 整 流 电路 、 滤 波 电 路 和 稳 压 电
路。P W M 稳 压 电源 是 利 用 脉 冲 宽 度 调 制 的 方
法 来 控 制 开 关 元 件 的接 通 时 间 与 管 断 时 间 从 而 实 现 稳 压 输 出 。该 项 目采 用 单 片 机 来 作 为 控 制
常见的 P WM 型 D C. DC 变 换 器 主 要 有 降 压型 ( B u c k )、 升 压 型 ( Bo o s t ) 、 降 压 升 压型 ( Bu c k — B o o s t )和 升 压 一 降压型 ( Cu k )。

基于单片机的直流稳压电源毕业设计

基于单片机的直流稳压电源毕业设计

基于单片机的直流稳压电源毕业设计基于单片机的直流稳压电源是一种能够提供稳定的直流电压输出的装置。

它广泛应用于各种电子设备和电子系统中,并且对电子设备的正常工作起到至关重要的作用。

本文将介绍这样一个基于单片机的直流稳压电源的毕业设计,并详细讨论其设计原理、电路图和功能。

首先,我们来介绍这个直流稳压电源的设计原理。

该电源的设计采用了单片机作为控制核心,通过精确的反馈控制来保持稳定的输出电压。

具体来说,单片机通过测量输出电压并与设定的目标值进行比较,然后相应地调整控制电路的工作状态,以实现电压的稳定输出。

单片机还可以监测电源的工作状态,并在出现异常情况时采取相应的保护措施,以防止电源和连接的设备受到损坏。

其次,我们来看看这个直流稳压电源的电路图。

电路图中包括了电源输入部分、控制部分和输出部分。

电源输入部分主要包括输入电源接口、输入滤波电路和过压保护电路。

控制部分由单片机和与之连接的外围电路组成,用于控制电源的工作状态和输出电压。

输出部分由电压稳压电路和输出滤波电路组成,用于提供稳定的输出电压。

此外,电路图还包括了保护电路,用于保护电源和负载设备免受过电流、过压和过热等异常情况的影响。

最后,我们来讨论一下这个直流稳压电源的功能。

该电源具有以下几个主要功能:1.稳定输出电压:通过单片机的精确控制,电源可以提供稳定的输出电压,以满足负载设备的要求。

2.输入保护:通过过压保护电路,电源可以在输入电源过压时及时切断电源输入,以保护电源和负载设备。

3.负载保护:通过输出过电流保护电路,电源可以在输出电流超出额定值时及时切断电源输出,以保护电源和负载设备。

4.温度保护:通过温度传感器和过热保护电路,电源可以在工作温度超出安全范围时及时切断电源输出,以确保电源的安全运行。

总结起来,这个基于单片机的直流稳压电源是一种功能强大的装置,能够提供稳定的输出电压,并具有输入和负载保护功能。

它的设计原理、电路图和功能使得其能够广泛应用于各种电子设备和电子系统中。

基于单片机的数控直流稳压电源设计

基于单片机的数控直流稳压电源设计

基于单片机的数控直流稳压电源设计一、概述随着科技的飞速发展,电子设备在我们的日常生活和工业生产中扮演着越来越重要的角色。

这些设备的稳定运行离不开一个关键的组件——电源。

在各种电源类型中,直流稳压电源因其输出电压稳定、负载调整率好、效率高等优点,被广泛应用于各种电子设备和精密仪器中。

传统的直流稳压电源通常采用模拟电路设计,但这种方法存在着电路复杂、稳定性差、调整困难等问题。

为了解决这些问题,本文提出了一种基于单片机的数控直流稳压电源设计方案。

本设计采用单片机作为控制核心,通过编程实现对电源输出电压的精确控制和调整。

相比于传统的模拟电路设计,基于单片机的数控直流稳压电源具有以下优点:单片机具有强大的计算和处理能力,能够实现复杂的控制算法,从而提高电源的稳定性和精度单片机可以通过软件编程实现各种功能,具有很强的灵活性和可扩展性单片机的使用可以大大简化电路设计,降低成本,提高系统的可靠性。

本文将详细介绍基于单片机的数控直流稳压电源的设计原理、硬件电路和软件程序。

我们将介绍电源的设计原理和基本组成,包括单片机控制模块、电源模块、显示模块等我们将详细介绍硬件电路的设计和实现,包括电源电路、单片机接口电路、显示电路等我们将介绍软件程序的设计和实现,包括主程序、控制算法、显示程序等。

1. 数控直流稳压电源的应用背景与意义随着科技的快速发展,电力电子技术广泛应用于各个行业和领域,直流稳压电源作为其中的关键组成部分,其性能的稳定性和可靠性直接影响着整个系统的运行效果。

传统的直流稳压电源多采用模拟电路实现,其调节精度、稳定性以及智能化程度相对较低,难以满足现代电子设备对电源的高性能要求。

开发一种高性能、智能化的数控直流稳压电源具有重要意义。

数控直流稳压电源通过引入单片机控制技术,实现了对电源输出电压和电流的精确控制。

它可以根据实际需求,通过编程灵活调整输出电压和电流的大小,提高了电源的适应性和灵活性。

同时,数控直流稳压电源还具备过流、过压、过热等多重保护功能,有效提高了电源的安全性和可靠性。

基于单片机的直流稳压电源

基于单片机的直流稳压电源

学生毕业设计(论文)报告系别:电子与电气工程学院专业:应用电子技术班号:应电1毕业设计(论文)任务书专业应用电子技术班级应电姓名一、课题名称:基于单片机的直流稳压电源二、主要技术指标:(1) 交流输入电压198<u<242V 50Hz(2) 直流输入电流I =1A(3) 直流输出电压14.25V<U<15.75V(4) 交流纹波< 5mVDAC的主要技术指标:(1)分辨率:分辨率用输入二进制的有效比特数表示(2)转换速度:用完成一次转换所需的时间来衡量(3)转换精度:转换精度是指输出模拟电压的实际值与理论值之间的值三、工作内容和要求:本课题设计一种以单片机为核心的智能化高精度简易直流电源,克服了传统直流电压源的缺点,具有很高的应用价值。

该电源采用键盘,对输出电压及报警阈值进行设置,输出由单片机通过D/A,控制驱动模块输出一个稳定电压。

工作过程中,稳压电源的工作状态(输出电压、电流等各种工作状态)均由单片机输出驱动LED显示,多种显示模式间,由键盘控制进行动态逻辑切换。

课题要求为:(1)硬件电路的设计(采用Protel99SE 画原理图) (2)系统软件的设计(对各部分程序进行编译且画出流程图、原理图)(3)系统调试及误差分析:输出误差≤0.1 V 额定输出电流≥500mA四、主要参考文献:[1]陈其纯.电子线路[M].北京: 高等教育出版社,2006[2]童诗白,华成英,模拟电子技术基础[M].北京:高等教育出版社,2001[3]李广弟,朱月秀,冷祖祁.单片机基础(第3版)[M]. 北京: 北京航空大学出版社,2006.7[4]吴清平,张慧敏,沈凯,夏莹,王迅.电子技术与项目训练——模拟部分[M].常州信息职业技术学院,2009学生(签名)年月日指导教师(签名)年月日教研室主任(签名)年月日系主任(签名)年月日毕业设计(论文)开题报告基于单片机的直流稳压电源目录摘要Abstract前言第1章概述 (1)1.1直流稳压电源的基本介绍 (1)1.2直流稳压电源的发展过程 (1)1.3研究背景及其意义 (2)1.4 直流稳压电源的优点 (2)1.5 直流稳压电源的技术指标 (3)1.6系统研究方向 (3)第2章系统硬件电路的设计 (4)2.1 系统总体结构 (4)2.2 AT89S51最小系统.................................................................. . (5)2.3单元电路设计与分析 (6)2.3.1电源电路 (6)2.3.2键盘接口电路 (8)2.3.3 D/A转换电路 (9)2.3.4稳压输出电路 (11)2.4 LED显示电路 (12)2.4.1数码管显示简介 (12)2.4.2数码管编码表 (13)2.5系统总电路图 (13)第3章系统软件设计 (14)3.1 主程序 (14)3.2 过流保护程序 (15)3.3键盘子程序 (16)3.4软件部分 (16)第4章总体调试 (17)4.1系统调试 (17)4.1.1系统测试 (17)4.1.2 系统误差分析 (17)第5章结束语 (18)5.1 总结 (18)5.2 展望 (19)参考文献答谢辞附录1 (总程序)附录2(系统总原理图)附录3(Proteus软件仿真图)直流稳压电源是最常用的仪器设备,在科研及实验中都是必不可少的。

基于单片机智能稳压电源的设计

基于单片机智能稳压电源的设计

基于单片机的智能稳压电源的设计摘要:随着电子技术的高速发展,电子系统的应用领域越来越广泛,电子设备的种类也越来越多,电子设备与人们的工作、生活的关系日益密切,而电子设备离不开可靠的电源,各种电子电器设备对稳压电源的性能要求日益增高,稳压电源的智能程度也变得越来越高。

本文介绍了一种基于单片机的智能稳压电源的设计方案,其核心技术是通过单片机控制数模转换来改变其后的稳压模块的输出。

该系统由整流滤波初步稳压部分、单片机控制部分、DAC和显示部分组成,该稳压电源能连续步进可调,并且可实时显示,弥补了传统稳压电源的不足。

关键词:单片机,稳压电源,连续步进可调,DACDesign of Intelligent Power Supply Based on MCUAbstract: With the rapid development of electronic technology, application of electronic systems becomes more and more widely, types of electronic equipment becom e much more .Electronic equipment has closer relationship with people’s work and life, and the electronic equipment can not do without reliable power, various electrical and electronic equipment has high performance on power supply requirements, power supply are becoming more and more intelligent.This paper introduces a single-chip microcomputer-based Intelligent Power Supply Design program, its core technology through the MCU to control digital-to-analog converters to change the voltage regulator module subsequent output. The system consists of rectifier filter preliminary regulator of the MCU control of the DAC and display components, the power supply can be continuously adjustable stepper, and can be real-time display, made up for the shortcomings of traditional voltage regulator power supply.Key words:MCU,Regulated Power Supply,g and adjustable row,DAC目录第一章概述 (1)1.1直流稳压电源的发展方向 (1)1.2国内发展现状 (2)1.3系统研究方向 (3)第二章设计原理 (3)2.1设计原理 (3)2.2系统框图 (5)第三章主要器件介绍 (6)3.1 AT89C51简介 (6)3.2 DAC0832工作原理 (7)3.3数码管显示原理 (8)第四章硬件电路与数据测试 (10)4.1整流滤波、初步稳压 (10)4.2 AT89C51主控部分 (11)4.3数模转换DAC0832 (12)4.4稳压部分 (13)4.5显示电路 (13)4.6数据测试与分析 (14)第五章软件设计 (14)5.1软件流程图 (14)结束语 (15)参考文献 (16)附录一 (17)附录二 (20)附录三 (21)第一章概述1.1直流稳压电源的发展方向1.1.1智能化目前在研制高精度、高性能、多功能的测量控制仪表时,几乎没有不考虑采用微处理器的。

基于单片机的直流稳压电源系统设计

基于单片机的直流稳压电源系统设计

直 流 稳压 电源 在各 行各业 被广 泛 作为 强弱 电 电气 设备 控制和
断 、历史 运行 数据 等信 息通 过 可视化 触摸 系统 进行 智 能动 态 的显
启动 的重 要驱 动载 体 ,是 各控 制 系统 发挥 出优 良电气性 能 的重 要 示 『 。从 图 1 3 ] 可知 , 片机 系统 主要 驱动 2个驱 动 电路 , 单 从功 能划 保 障条件 『 。传 统 的直 流稳 压 电源 普遍 存 在调 节精 度 不高 、 号 分来 看 , 动 电路 A 主要 控制 预 稳压 电路 完成 对 直 流 电压 的粗 调 1 ] 信 驱 响应 缓慢 等弊 端 , 较 小 电压波 动范 围 内很 难 实现 动态 调节 , 在 已经 节 ,即 当比较 放大 回路 所采 集 的实 时直流 输 出信 号与 预设 基准 电 不 能满 足 现代 智能 数字 化控 制 系统发 展 的要求 。为 了建 立 响应 速 压值 相 差较 大 时,单片 机 系统就 会 自动 发 出粗 条件 命 令经 驱动 电 率快 、 调节 范 围较 广的 直流 稳压 电源 系统 , 将单 片机 集成 化 数字 控 路 A 实现直 流 电压 的大 范 围调 节 , 并经 滤波 电路 A进 入线 性调 节
性能水 平 。
13 电 压 取 样 与 采 集 回 路 .
1 硬 件 电 路 设 计
11 系统 总 体 设 计 方 案 .
单 片 机 系 统所 采集 到 的 系统 输 出直 流 电压信 号 为模 拟信 号 ,
为 了变成 单 片机 系统 能够进 行 综合 分析 处理 的数 据信 号 ,本次 设
I塑 sjr !hYj ea i i・ u
基于单片机 的直流稳 压 电源 系统设计

基于单片机的稳压电源设计原理说明

基于单片机的稳压电源设计原理说明

4 稳压电源设计4.1 电路分析稳压电路见图4-1所示。

三极管射极电压是稳压电源的输出电压,可以接用电器或负载,这个电压值通过TLC549(A/D,同TLC548)数据转换后,送往单片机处理并显示。

调整按键可以改变输入TLC5615(D/A,同TLC5616)的数据。

TLC5615的输出电压通过运算放大器与实际输出取样电压比较,控制三极管的电压输出。

稳压电路的电压输出接受单片机检测,同时又受单片机的控制。

电路在仿真时,各点的电压都连接有电压表显示。

图 1 稳压电路4.2 电路模块一、A/D转换部分TLC549 对输出电压进行采集,其操作如下:(1)cs先为高电平。

(cs为片选信号,为1时,输入脉i/o clock不起作用);(2)clock = 0(3)cs = 0;cs置底电平。

同时date_out为高。

(=1);(4)延时1.4us。

(setup time,cs low before first clock);(5)开始转化数据。

因为TLC549是8位串行模数转换器。

需将8 位数据依次串行输出。

期间,clock高低电平转化一次;(6)8次数据转化之后。

cs置1,片选无效。

等待17us后读出数据。

二、D/A转换部分TLC5615为10位D/A转换电路,其原理TLC5615的PDF文件。

输出电压= (转换数值/1024)*2*基准电压三、显示采用数码管对A/D转换后的数据进行显示,因为TLC549 是8位A/D,程序中需要对转化的数据进行处理后才能在七段数码管上动态显示。

TLC549的检测电压值范围为0~5V,A/D转换后数据位0~255,应该显示0~5,并且包含小数点部分。

四、按键操作部分四个独立的按键主要是对DA的输入数据进行操作的,ADD按键,SUB 按键这些按键在安下一次松开后便进行加1 的操作,若按键超过一定的时间则增加步长,使其数值能够快速增加,这样就不必要达到一个电压时,一直按几百次。

基于单片机的可编程直流稳压电源设计

基于单片机的可编程直流稳压电源设计

摘要:随着电力电子技术的迅速发展,直流电源应用非常广泛,其好坏直接影响着电气设备或控制系统的工作性能。

目前,市场上各种直流电源的基本环节大致相同,都包括交流电源、交流变压器、整流电路、滤波稳压电路等。

文章介绍了将单片机控制系统应用于直流稳压电源的方法和原理,实现了稳压电源的数控调节,在宽输出电压下实现了0.1v步进调节,并分析了稳压工作原理和电压调节方法。

该电源具有电压调整简便、电压输出稳定、便于智能化管理等特点。

随着电力电子技术的迅速发展,直流电源应用非常广泛,其好坏直接影响着电气设备或控制系统的工作性能。

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

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

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

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

一、系统设计(一)方框图设计。

该电路采用单片机(AT89C51)作为主控电路,由三端集成稳压器(LM317)作为稳压输出部分。

另外,电路还增加参考电压电路、D/A转换电路、电压放大电路、显示电路等部分电路。

其方框图如图1所示:图1 用单片机制作的直流稳压可调电源框图整个电路的运行需要模拟电压源提供+5V,±15V的模拟电压,以便使电路中的集成数字芯片能够正常工作。

电路运行时,首先由单片机设置初始电压值,并送显示电路显示。

然后将电压值送D/A转换电路进行数模转换,再经放大电路进行电压放大,最终反馈到三端集成稳压器(LM317)输出模拟电压。

(二)硬件设计。

本电路的硬件组成部分主要由单片机(AT89C51)、变压器、整流电路、滤波电路、稳压器(LM317)、参考电压电路、D/A转换电路(DA0832)、放大电路、显示电路等组成。

硬件电路如图2所示,整个电路通过单片机(AT89C51)控制,P0口和DAC0832的数据口直接相连,DA的CS和WR1连接后接P26,WR2和XFER接地,让DA工作在单缓冲方式下。

基于单片机的数控直流稳压电源

基于单片机的数控直流稳压电源

基于单片机的数控直流稳压电源在电子设备中,直流稳压电源是非常重要的一部分,它能够为其他电路、芯片或者整个系统提供稳定可靠的电源供应。

而基于单片机的数控直流稳压电源技术则能够在一定程度上提升电源的稳定性和可调性,本文将介绍基于单片机的数控直流稳压电源的原理和设计。

1. 引言直流稳压电源在各种电子设备中都起着至关重要的作用。

传统的直流稳压电源主要采用稳压二极管、稳压管等元件,无法实现精准的控制和调节。

而基于单片机的数控直流稳压电源通过单片机的控制和监测,能够实现电源输出的精确控制和稳定性。

2. 设计原理基于单片机的数控直流稳压电源采用了反馈控制的原理,通过单片机对电源输出进行监测和调节。

其基本原理如下:首先,将输入交流电源经过整流和滤波,得到稳定的直流电压。

然后,通过单片机的模数转换功能,将电源输出电压转换为数字信号。

单片机通过比较这个数字信号与设定值,计算出控制电源输出的PWM 信号。

接下来,PWM信号经过数模转换后,通过放大电路驱动功率开关管。

功率开关管的导通与截止控制决定了电源的输出电压。

单片机通过不断调整PWM信号的占空比,实现对电源输出电压的精确调节。

同时,通过单片机监测电源输出电压的实际值,并与设定值进行比较,若存在偏差,则单片机通过反馈控制的方式调整PWM信号,使电源输出电压保持在设定值附近,从而实现直流稳压电源的功能。

3. 设计步骤基于单片机的数控直流稳压电源的设计步骤如下:3.1 硬件设计根据需要设计输出电压范围和电流容量,选取适当的元器件。

包括整流滤波电路、模数转换电路、功率开关管和放大电路等。

3.2 软件设计编写单片机的控制程序,实现电源输出的精确控制和稳定性。

包括模数转换、PWM控制和反馈控制等功能。

3.3 系统集成将硬件电路和单片机控制程序进行集成,进行系统调试和优化。

通过实验和测试,不断优化电源的稳定性和可调性。

4. 应用示例基于单片机的数控直流稳压电源的应用非常广泛。

例如,可以应用于实验室、工业自动化、通信设备等领域。

基于单片机的数控开关稳压电源设计

基于单片机的数控开关稳压电源设计

基于单片机AT89S52程控开关稳压电源设计开关电源是利用现代电力电子技术,控制开关管开通和关断的时间比率,维持稳定输出电压的一种电源。

由于拥有较高的效率和较高的功率密度,开关电源在现代电子系统中的使用越来越普及。

开关电源高频化、模块化和智能化是其发展方向。

其中,步进可调、实时显示是开关电源智能化研究方向之一。

现设计开关电源,技术指标为:输出电压30V至36V可调,最大输出电流2A,有过流保护功能,能对输出电压进行键盘设定和步进调整、步进值1V,并能实时显示输出电压和电流的开关稳压电源。

1 总体设计方案采用AT89S52单片机为控制核心,对普通的开关电源控制部分进行优化设计,并通过软件编程实现了对开关电源的智能控制。

设计中采用隔离变压器将市电变压后通过整流滤波送至DC-DC升压变换器,经过一系列的控制整合电路之后可实现设计要求。

系统总体框图如图1.1所示。

1.1 DC-DC主回路拓扑采用UC3842和MAX4080构成DC-DC转换电路。

UC3842是一块功能齐全、较为典型的单端电流型PWM控制集成电路,内包含误差放大器、电流检测比较器、PWM锁存器、振荡器、内部基准电源和欠压锁定等单元。

电流控制型升压DC-DC转换电路,外接元器件少、控制灵活、成本低,输出功率容易做到100W以上。

当然,DC-DC转换电路也可以采用成品模块,若用PI公司生产的DPA-S witch设计开关电源具有集成度高、外围电路简单、发热量少、性能指标优良。

由UC3842设计的DC-DC升压电路直接用误差信号控制电感峰值电流,间接地控制PWM脉冲宽度,达到控制输出端电压的目的。

开关管以UC3842设定的频率周期开闭,使电感L储存能量并释放能量。

当开关管导通时,电感充电,把能量储存在L中。

当开关截止时,L产生反向感应电压,通过二极管把储存的电能释放到输出电容器中。

输出电压由传递的能量多少来控制,而传递能量的多少由通过电感电流的峰值来控制。

基于单片机的可调直流稳压电源设计

基于单片机的可调直流稳压电源设计

基于单片机的可调直流稳压电源设计设计一个基于单片机的可调直流稳压电源时,需要考虑以下几个关键因素:输入电压范围、输出电压范围、输出电流能力、稳压精度和响应速度。

本文将以STM32微控制器为例,详细介绍基于单片机的可调直流稳压电源的设计。

首先,我们需要确定输入电压范围。

一般来说,直流稳压电源的输入电压范围是较宽的,以适应不同的应用场景。

常见的输入电压范围是AC220V,转换为直流之后,可以在50V到200V之间调节。

接下来,我们需要确定输出电压范围和输出电流能力。

输出电压范围取决于实际应用需求,一般为0-36V,输出电流能力为0-5A。

同时,需要考虑过载保护功能,以避免电流过大损坏负载电路。

然后,我们需要确定稳压精度和响应速度。

稳压精度是指输出电压与设定值之间的差异,一般要求在0.1%以内。

响应速度是指电源对负载变化的适应能力,一般要求在10ms以内。

基于以上需求,我们开始设计基于单片机的可调直流稳压电源。

首先,我们选择STM32微控制器作为主控芯片。

STM32系列芯片拥有强大的计算能力和丰富的接口资源,适合用于电源控制应用。

我们使用STM32的DAC功能实现对输出电压的调节,同时使用ADC功能实现对输入电压和输出电压的监测。

其次,我们选取高性能稳压模块作为功率输出部分,以实现高效、稳定的电源输出。

稳压模块通常包括输入滤波器、整流桥、滤波电容和稳压电路等组成部分,可以提供稳定的直流电压输出。

接下来,我们设计电源控制算法,实现对输出电压的精确控制。

通过调整DAC输出电压,可以实现对输出电压的调节。

同时,需要监测输入电压和输出电压,并通过PID控制算法实现稳压控制。

最后,我们添加一些保护电路,以确保电源的安全可靠。

包括过载保护、过压保护和过热保护等功能,可以提高电源的可靠性和稳定性。

设计完成后,我们需要进行电路调试和性能测试。

通过实际测试,可以验证电源的输出稳定性、调节精度和响应速度。

综上所述,基于单片机的可调直流稳压电源设计,需要考虑输入电压范围、输出电压范围、输出电流能力、稳压精度和响应速度等因素。

基于单片机的同步整流Buck稳压开关电源设计

基于单片机的同步整流Buck稳压开关电源设计

基于单片机的同步整流Buck稳压开关电源设计随着电子设备的不断普及,稳定可靠的电源设计变得尤为重要。

本文将介绍一种基于单片机的同步整流Buck稳压开关电源设计,以满足电子设备对稳定电源供应的需求。

1. 概述同步整流Buck稳压开关电源是一种能够有效降低开关功率损耗的电源设计方案。

通过使用单片机控制同步整流MOS管的开关时间,可以实现高效率、低功耗的稳压功能。

本文将详细讨论该电源设计的工作原理和关键部件选择。

2. 设计原理同步整流Buck电源的工作原理基于Buck拓扑结构,通过单片机控制同步整流MOS管的开关时间来实现稳压功能。

具体的设计步骤如下:(1)选择适当的功率电感、电容和二极管,以满足输出电压和电流的需求。

(2)基于单片机的PWM控制器生成开关信号,控制主开关管和同步整流MOS管的开关时间。

(3)PWM控制器还监测输出电压的变化,并根据反馈信息调整开关时间,以保持稳定的输出电压。

3. 关键部件选择在同步整流Buck稳压开关电源设计中,几个关键的部件选择将决定电源性能的好坏。

以下是一些关键部件选择的建议:(1)功率电感:选择具有适当的电感值和电流能力的电感,确保能够提供稳定的电流输出。

(2)电容:选择低ESR值的电容,以减少输出纹波电流和电压。

(3)同步整流MOS管:选择低导通压降的MOS管,以减小开关功率损耗。

(4)PWM控制器:选择具有高精度和快速响应特性的PWM控制器,以实现精确的稳压功能。

4. 效果与改进基于单片机的同步整流Buck稳压开关电源设计具有以下优点和改进空间:(1)高效率:同步整流技术能够有效减小开关功率损耗,提高电源的整体效率。

(2)稳定性:通过单片机的PWM控制器,可以实现精确的输出稳压,并对输入电压和负载变化进行动态调整。

(3)改进空间:可以进一步优化电源设计,如改进PWM控制算法、使用高效率的元件等,以提高电源性能和稳定性。

综上所述,基于单片机的同步整流Buck稳压开关电源设计是一种高效、稳定的电源解决方案。

基于单片机的数控稳压电源设计说明

基于单片机的数控稳压电源设计说明

摘要电源技术尤其是数控电源技术是一门实践性很强的工程技术,服务于各行各业。

电力电子技术是电能的最佳应用技术之一。

当今电源技术融合了电气、电子、系统集成、控制理论、材料等诸多学科领域。

随着计算机和通讯技术发展而来的现代信息技术革命,给电力电子技术提供了广阔的发展前景,同时也给电源提出了更高的要求。

该直流稳压电源的输入为交流22OV,50Hz,输出电压为1.26V—10V内连续可调,输出电流为500mA以上,并能够直观的显示输出电压。

电源的控制电路选用AT89S51单片机为核心,以及数/模转换功能,具有线路简单、稳定性好、显示清晰直观等特点。

文章中分析了电源的整体结构和工作原理,并详细的讲述了预稳压电路、数/模转换电路、显示电路等电路的工作原理。

给出了控制电路的硬件实现和主要的软件流程设计。

关键词:单片机;数码管;数/模转换;稳压AbstractDigitally controlled power supply technology, especially technology is a strong practical engineering technology, and service to all industries. Power electronics technology is the best application of energy technologies. Technology combines the power of today's electrical, electronics, systems integration, control theory, materials, and many other subject areas. W ith the computer and communication technologies developed from modern information technology revolution, to the power electronics technology to provide a broad development prospects, but also to set a higher power supply requirements. The DC power supply input for the exchange of 22OV, 50Hz, output voltage of 1.26V ~ 10V continuously adjustable output current of 500mA or more and be able to display visual output voltage. Power supply control circuit use AT89S51 microcontroller as the core, as well as D / A converter functions, with simple circuit, good stability, showing a clear and intuitive and so on. The article analyzes the power of the overall structure and working principle and in detail about the pre-regulator circuit, D / A converter circuit, display circuit so the circuit works. Gives the control circuit hardware implementation and the main software flow.Keywords:SCM; digital pipe; D / A converter; Regulators目录摘要 (I)Abstract (II)第1章绪论............................................................. - 5 -1.1 课题背景 ...................................................... - 5 -1.2 设计任务与技术要求........................................ - 6 -第2章方案的论证与设计 ........................................... - 7 -2.1 方案选择 ...................................................... - 7 -2.2 方案的确定 ................................................... - 7 -2.3 方框图的设计 ................................................ - 7 -本章小结.............................................................. - 8 -第3章单元电路设计................................................. - 9 -3.1 单片机电路设计 ............................................. - 9 -3.1.1 AT89S51单片机.................................... - 9 -3.1.2 AT89S51引脚功能................................. - 9 -3.1.3 单片机在电路中应用.............................. - 12 -3.2 数/模转换电路设计....................................... - 14 -3.2.1 DAC0832芯片简介 .............................. - 14 -3.2.2 DAC0832的主要特性参数...................... - 14 -3.2.3 DAC0832结构 .................................... - 14 -3.2.4 DAC0832的工作方式 ........................... - 15 -3.2.5 DAC0832在电路中的应用...................... - 15 -3.3 放大电路设计 .............................................. - 15 -3.3.1 LM324简介........................................ - 15 -3.3.2 LM324的特点..................................... - 16 -3.4 稳压电路设计 .............................................. - 17 -3.5 电源电路设计 .............................................. - 18 -3.6 显示电路设计 .............................................. - 20 -3.6.1 四位一体数码管(共阳)介绍.................. - 20 -3.6.2 四位一体数码管管脚.............................. - 21 -3.6.3 驱动电路 ............................................ - 21 -本章小结............................................................ - 21 -第4章软件程序设计............................................... - 22 -4.1 程序流程图 ................................................. - 22 -4.2 程序.......................................................... - 24 -本章小结............................................................ - 24 -第5章整机的工作原理 ............................................ - 25 -5.1 工作原理 .................................................... - 25 -5.2 整机原理图 ................................................. - 26 -本章小结............................................................ - 26 -结论.................................................................... - 28 -致谢.................................................................... - 29 -参考文献................................................................. - 30 -附录1 译文............................................................. - 31 -附录2 英文参考资料 ................................................. - 35 -附录3 C程序 .......................................................... - 39 -附录4 整机原理图 .................................................... - 47 -附录5 元器件表....................................................... - 48 -第1章绪论采用单片机的数字可调稳压电源价格低廉采用普遍使用的元件就能实现其功能,显示清晰直观,传统的模拟可调稳压电源没有读数,在读数过程中很不方便,并且长时间使用会造成输出电压不稳。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

4 稳压电源设计4.1 电路分析稳压电路见图4-1所示。

三极管射极电压是稳压电源的输出电压,可以接用电器或负载,这个电压值通过TLC549(A/D,同TLC548)数据转换后,送往单片机处理并显示。

调整按键可以改变输入TLC5615(D/A,同TLC5616)的数据。

TLC5615的输出电压通过运算放大器与实际输出取样电压比较,控制三极管的电压输出。

稳压电路的电压输出接受单片机检测,同时又受单片机的控制。

电路在仿真时,各点的电压都连接有电压表显示。

图 1 稳压电路4.2 电路模块一、A/D转换部分TLC549 对输出电压进行采集,其操作如下:(1)cs先为高电平。

(cs为片选信号,为1时,输入脉 i/o clock不起作用);(2)clock = 0(3)cs = 0; cs置底电平。

同时date_out为高。

(=1);(4)延时1.4us。

(setup time,cs low before first clock);(5)开始转化数据。

因为TLC549是8位串行模数转换器。

需将8 位数据依次串行输出。

期间,clock高低电平转化一次;(6)8次数据转化之后。

cs置1,片选无效。

等待17us后读出数据。

二、D/A转换部分TLC5615为10位D/A转换电路,其原理TLC5615的PDF文件。

输出电压 = (转换数值/1024)*2*基准电压三、显示采用数码管对A/D转换后的数据进行显示,因为TLC549 是8位A/D,程序中需要对转化的数据进行处理后才能在七段数码管上动态显示。

TLC549的检测电压值范围为0~5V,A/D 转换后数据位0~255,应该显示0~5,并且包含小数点部分。

四、按键操作部分四个独立的按键主要是对DA 的输入数据进行操作的,ADD按键,SUB 按键这些按键在安下一次松开后便进行加 1 的操作,若按键超过一定的时间则增加步长,使其数值能够快速增加,这样就不必要达到一个电压时,一直按几百次。

SUB按键也是如此。

至于那个预读取按键,主要是用于保存你要常用的电压值,这样一来你就可以在使用此电源时,不必要每次都要按键调整,可以通过读取AT24C04的值进行电压预置,保存按键,是用于保存你长使用的电压值,通过此次的电压值保存,使你可以快速达到你所要求的电压值。

4.3 编程思路程序分为键盘处理、D/A、A/D和存储四个模块。

运用扫描法,对键盘进行扫描,有按键就更改输入TLC5615 的数值,ADD按键是对数据进行加以操做,长按的话使步进值增大,实现快加,SUB按键与ADD按键同,预读取按键用于读取AT24C04中预置的数值,保存按键用于保存当前电压值;显示部分主要是对TLC549采集回来的电压进行处理显示,它主要是在定时器0的中断服务程序中显示,100ms刷新显示一次;TLC5615模块,通过对dA的串行数据输入,使其在输出电压时可控,输出电压后经lm324,三极管,加上负载输出电压,输出电压后,用TLC549芯片100ms采集一次,送数码管显示。

4.5 程序清单主函数:#include <REG51.H>#include "intrins.h"#include "AT24C04.h"#define uchar unsigned char#define uint unsigned intuchar code LED[10] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};uchar code Bit_sel[4] = {0x08,0x04,0x02,0x01 }; //各个数码管对应的位选数据sbit DIO = P1^0; //数据线sbit CS = P1^1; //片选sbit CLK = P1^2; //io口时钟sbit SCS = P1^4;sbit SDATA = P1^5;sbit SCLK = P1^3;sbit ADD = P3^0;sbit SUB = P3^1;uint qian,bai,shi,ge; //用于显示数码管的千,百,十,个等四位的显示uint val,num; //val 是用于输入DA 的数据,num是用于判断是不是长按的uint cp; //计数的变量uchar key_stat;uchar add_stat,sub_stat;uchar st_flag,pre_flag;void delay(uint x) //微妙级是延时函数{while(x--)_nop_();}/**********************************************函数名称:deal函数作用:处理AD的返回值函数参数:无函数返回值:无**********************************************/void deal(uint num) //显示程序{qian=num/1000; //千,百,十,个处理bai=num/100%10;shi=num/10%10;ge=num%10;}/**********************************************函数名称:TL549_AD()函数作用:返回AD的返回值函数参数:无函数返回值:data_ad**********************************************/uint TL549_AD() //TLC549处理{uchar i;uint data_ad = 0;CS = 1; //初始化,启动CLK = 0;CS = 0;_nop_();for(i = 0;i < 8;i++) //读取采集数据,读取的是上一次采集数据{CLK = 1;if(DIO)data_ad |= 0x01;CLK = 0;data_ad = data_ad << 1;}CS = 1;data_ad = data_ad * (500/ 256);return(data_ad);}/**********************************************函数名称:TLC5615_DA(uint da)函数作用:TLC5615_DA 将da转换后模拟输出函数参数:da函数返回值:无**********************************************/void TLC5615_DA(uint da) // TLC5615 的DA 转换函数{uchar i;da<<=6;SCS=0;SCLK=0;for (i=0;i<12;i++){SDATA=(bit)(da&0x8000);SCLK=1;da<<=1;SCLK=0;}SCS=1;SCLK=0;for (i=0;i<12;i++);}/**********************************************函数名称:key_scan()函数作用:处理那些独立键盘函数参数:无函数返回值:无**********************************************/void key_scan(){if (ADD == 0) // ADD 按键的键盘处理函数{delay(10);if (ADD == 0){add_stat = 1;num ++;}else{add_stat = 0;num = 0;}//此处判断是不是长按,长按的话使其步进值加大if (ADD == 0 && add_stat == 1 && num >= 300){val += 5;num = 0;}if (ADD == 1 && add_stat == 1){val ++;num = 0;add_stat = 0;}if (val >= 1024){val = 1023;}}if (SUB == 0) //SUB 按键的键盘处理函数{delay(10);if (SUB == 0){sub_stat = 1;num ++;}if (SUB == 0 && sub_stat == 1 && num >= 300){val -= 5;num = 0;}if (SUB == 1 && sub_stat == 1){val --;num = 0;sub_stat = 0;}if (val <= 0)val = 0;}if (Pre_read == 0) //预读数据的键盘处理函数{delay(100);if (Pre_read == 0){pre_flag = 1;}if (Pre_read == 1 &&pre_flag == 1 ){pre_flag = 0;val = read_24C04(20); //从AT24C04中的地址20 中读出预存储的数据}}if (Store == 0) //保存数值按键的键盘处理函数{delay(100);if (Store == 0){st_flag = 1;}if (Store == 1 && st_flag == 1){st_flag = 0;write_24C04(20,val); //向AT24C04中的地址20 写入存储的数据}}}/**********************************************函数名称:timer0_init (void)函数作用:初始化定时器0,并设置函数参数:无函数返回值:无**********************************************/void timer0_init (void) // timer0中断初始化函数{EA = 0;TMOD = 0x01;TR0 = 0;TL0 = (65536-5000)%256; //设置计数器初值TH0 = (65536-5000)/256;PT0 = 1;ET0 = 1;EA = 1;TR0 = 1;}/**********************************************函数名称:main(void)函数作用:main主函数入口函数参数:无函数返回值:无**********************************************/void main(void) //主程序{timer0_init(); //初始化定时器0init_24C04(); //初始化AT24C04while(1){key_scan(); //调用键盘扫描函数TLC5615_DA(val); //处理键盘发送过来的值}}/**********************************************函数名称:timer0_isr(void) interrupt 1函数作用:定时器0,方式1,的中断服务子程序函数参数:无函数返回值:无**********************************************/void timer0_isr(void) interrupt 1 // timer0中断服务函数{//数码管的位选变量TR0 = 0; //停止计数TL0 = (65536-5000)%256; //重新载入计数器初值TH0 = (65536-5000)/256;cp++; //位循环变量加1if(cp >= 4)cp = 0;deal(TL549_AD()); //循环显示1次,j清零 TR0 = 1;P0=0xff; //与j对应,P2输出数码管的位选信号switch(cp){case 0: P0 = LED[ge]; break;case 1: P0 = LED[shi]; break;case 2: P0 = LED[bai]&0x7f; break;case 3: P0 = LED[qian]; break;}P2 = Bit_sel[cp];}AT24C04 的驱动:#ifndef AT24C04_10_04_07sbit ATCLK=P1^6;sbit SDA=P1^7;sbit a7=ACC^7;sbit a6=ACC^6;sbit a5=ACC^5;sbit a4=ACC^4;sbit a3=ACC^3;sbit a2=ACC^2;sbit a1=ACC^1;sbit a0=ACC^0;/****************************24C04的初始化****** **************/void init_24C04(){SDA=1;_nop_();ATCLK=1;_nop_();}/*************************启动24C04****************************/void start_24C04(){SDA=1;_nop_();ATCLK=1;_nop_();SDA=0;_nop_();ATCLK=0;_nop_();}/*************************停止24C04****************************/void stop_24C04(){SDA=0;_nop_();ATCLK=1;_nop_();SDA=1;_nop_();}/*************************24C04应答****************************/void response(){unsigned char i;ATCLK=1;_nop_();while((SDA==1)&&(i<250))i++;ATCLK=0;_nop_();}/*************************读取24C04一个字节****************************/unsigned char read_byte(){SDA=1;ATCLK=1;a7=SDA;ATCLK=0;ATCLK=1;a6=SDA;ATCLK=0;ATCLK=1;a5=SDA;ATCLK=0;ATCLK=1;a4=SDA;ATCLK=0;ATCLK=1;a3=SDA;ATCLK=0;ATCLK=1;a2=SDA;ATCLK=0;ATCLK=1;a1=SDA;ATCLK=0;ATCLK=1;a0=SDA;ATCLK=0;SDA=1;ATCLK=0;return ACC;}/***************************写入24C04一个字节*******************************/void write_byte(unsigned char addr){ACC=addr;SDA=a7;ATCLK=1;ATCLK=0;SDA=a6;ATCLK=1;ATCLK=0;SDA=a5;ATCLK=1;ATCLK=0;SDA=a4;ATCLK=1;ATCLK=0;SDA=a3;ATCLK=1;ATCLK=0;SDA=a2;ATCLK=1;ATCLK=0;SDA=a1;ATCLK=1;ATCLK=0;SDA=a0;ATCLK=1;ATCLK=0;SDA=1;ATCLK=0;}/*************************写24C04的数据************************/void write_24C04(unsigned char addr,unsigned char dat) {start_24C04();write_byte(0xa0);response();write_byte(addr);response();write_byte(dat);response();stop_24C04();}/*************************读24C04的数据************************/unsigned char read_24C04(unsigned char addr){unsigned char t;start_24C04();write_byte(0xa0);response();write_byte(addr);response();start_24C04();write_byte(0xa1);response();t=read_byte();stop_24C04();return t;}#endif(注:可编辑下载,若有不当之处,请指正,谢谢!)。

相关文档
最新文档