




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、本科毕业设计(论文)题目:基于单片机控制的420mA直流电流源的设计与制作学生姓名XXX学号xxxxxxxx教学院系xxx专业年级xxx 指导教师xxx职称xxx单位xxxxx 29摘 要 直流电流源作为稳定电源的分支,在工程技术和测量领域中有着重要的实用价值。当今社会,数控恒压技术已经很成熟,但是恒流源方面特别是数控恒流源的技术还有待发展,高性能的数控恒流器件的开发和应用存在巨大的发展空间。本设计直流电流源是以STC12C2052AD单片机为核心控制芯片,设计的直流电流源可以实时、准确的输出420mA范围的稳定直流电流。本直流电流源的硬件部分主要由中央控制模块、人机界面模块、滤波和电压电流转
2、换模块、恒流源模块和采样电路模块组成。中央控制模块以STC12C2052AD单片机为核心,该单片机有很好的抗干扰能力、响应速度快,基于此单片机的PWM脉宽调制技术控制实现高精度数控恒流源的设计,通过改变其内部PWM控制寄存器的数值来实现占空比的相应变化,实现核心控制作用。产生的PWM波经滤波采样电路输出稳定的直流电压,经过负载电阻转化为直流电流。人机界面模块以ZLG7289b芯片为核心,由键盘、数码管电路实现电流数值设定和显示功能。软件部分采用C语言,编程特点简洁紧凑、灵活方便。 关键词:脉宽调制技术 ;STC12C2052AD单片机 ;ZLG7289b ;电压电流转换 目录1绪论(设计背景)
3、11.1直流电流源11.2脉冲宽度调制(PWM)概述11.3单片机概述22系统方案的选择与论证42.1功能要求42.2系统总体方案选择与论证42.3系统各模块方案选择与论证63系统的硬件电路设计与实现83.1系统的硬件组成部分83.2 主要电路模块设计9 3.2.1中央控制模块9 3.2.2人机界面模块11 3.2.3低通滤波电路与电压电流转化电路模块15 3.2.4恒流源模块174系统的软件设计及实现174.1系统的总体流程图194.2数码管正常显示子程序流程图204.3按键扫描子程序流程图214.4 PWM输出子程序流程图225数据测试及分析236结束语247致谢24参考文献25附录261
4、绪论(设计背景)1.1直流电流源 直流电流源作为稳定电源的分支,在工程技术和测量领域中有着重要的实用价值。基于模拟电路的电流源虽然可以实现高精度、宽电流范围输出,但其结构复杂, 调整困难,指示不直观。随着单片机技术的发展,数字控制电流源开始出现,其以控制灵活、调节方便等特点展示了良好的应用前景。当今社会,数控恒压技术已经很成熟,但是恒流源方面特别是数控恒流源的技术还有待发展,高性能的数控恒流器件的开发和应用存在巨大的发展空间。数控的目的是要用微处理器来代替传统直流稳流电源中手动旋转电位器,实现输出电流的预置,精度要求高。数控直流恒流源要实现电流的键盘化输入控制,同时具有显示功能。1.2脉冲宽度
5、调制(PWM)概述脉冲宽度调制(PWM)是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。脉宽调制是开关型稳压电源中的术语。这是按稳压的控制方式分类的,除了PWM型,还有PFM型和PWM、PFM混合型。脉宽调制式开关型稳压电路是在控制电路输出频率不变的情况下,通过电压反馈调整其占空比,从而达到稳定输出电压的目的。PWM是一种模拟控制方式,根据相应载荷的变化来调制晶体管栅极或基极的偏置,来实现开关稳压电源输出晶 体管或晶体管导通时间的改变,这种方式能使电源的输出电压在工作条件变化时保持恒定。PWM是一种对模拟信号电平进行数字编码
6、的方法。通过高分辨率计数器的使用,方波的占空比被调制用来对一个具体模拟信号的电平进行编码。PWM信号仍然是数字的,因为在给定的任何时刻,满幅值的直流供电要么完全有(ON),要么完全无(OFF)。电压或电流源是以一种通(ON)或断(OFF)的重复脉冲序列被加到模拟负载上去的。通的时候即是直流供电被加到负载上的时候,断的时候即是供电被断开的时候。只要带宽足够,任何模拟值都可以使用PWM进行编码。 多数负载(无论是电感性负载还是电容性负载)需要的调制频率高于10Hz,通常调制频率为1kHz到200kHz之间。 许多微控制器内部都包含有PWM控制器。占空比是接通时间与周期之比;调制频率为周期的倒数。执
7、行PWM操作之前,这种微处理器要求在软件中完成以下工作: l 设置提供调制方波的片上定时器/计数器的周期 l 在PWM控制寄存器中设置接通时间 l 设置PWM输出的方向,这个输出是一个通用I/O管脚 l 启动定时器 l 使能PWM控制器 PWM的一个优点是从处理器到被控系统信号都是数字形式的,无需进行数模转换。让信号保持为数字形式可将噪声影响降到最小。噪声只有在强到足以将逻辑1改变为逻辑0或将逻辑0改变为逻辑1时,也才能对数字信号产生影响。对噪声抵抗能力的增强是PWM相对于模拟控制的另外一个优点,而且这也是在某些时候将PWM用于通信的主要原因。从模拟信号转向PWM可以极大地延长通信距离。在接收
8、端,通过适当的RC或LC网络可以滤除调制高频方波并将信号还原为模拟形式。 总之,PWM既经济、节约空间、抗噪性能强,是一种值得广大工程师在许多设计应用中使用的有效技术。1.3单片机概述 自1946年第一台电子计算机诞生以来,经过50多年的发展,计算机能够对信息进行加工处理,并得到了各行各业的广泛应用。计算机对人类社会的发展起到了极大的推动作用。然而,使计算机的应用能够真正深入社会生活各个方面,促使人类社会大步跨入电脑时代的一个重要原因,是微型计算机和单片微型计算机的产生和发展。单片微型计算机(Single Chip Microcomputer)简称单片机,是指在一片芯片体上集成了中央处理器CP
9、U、随机存储器ROM或EPROM、定时器/计数器、中断控制器及串行和并行I/O接口等部件,构成一个完整的微型计算机。目前,新型单片机内还有A/D及D/A转换器、高速输入/输出部件、DMA通道、浮点运算等特殊功能部件。由于它的结构和指令都是按工业控制要求设计的,特别适用与工业控制及数据处理场合。因此,确切的称谓应该是微控制器,单片机只是其习惯称呼。单片机的特点和应用(1)单片机的特点:l 体积小、使用灵活、成本低、易于产业化。它能方便地嵌入到各种智能式测控设备及各种智能仪器仪表中;l 可靠性好,适应温度范围宽。由于单片机的生产厂商不断地提高产品的抗干扰能力,单片机芯片本身也是按照工业测控设计的,
10、能适应各种恶劣的环境,其抗工业噪声干扰的能力优于一般通用的CPU;l 易扩展,很容易构成各种规模的应用系统,控制功能强。I/O接口多,指令系统丰富,易于单片机的逻辑控制功能的实现;l 系统内无监控或系统管理程序。单片机系统内部一般无监控或系统管理程序,使用简单,只有用户设计和调试好的应用程序;(2)其主要应用领域有:l 测控系统。 用单片机可构成各种工业控制系统、自适应系统、数据采集系统等。例如,温度人工气候控制、水闸自动控制、电镀生产线控制、汽轮机电调节系统、车辆检测系统、机器人轴处理器等;l 智能仪表。 用单片机改造原有的测量、控制仪表,能促进仪表向数字化、智能化、多功能化、综合化、柔性化
11、发展。如温度、压力、流量、浓度等的测量、显示及仪表控制。通过采用单片机软件编程技术,使测量仪表中长期存在的误差修正、线性化处理等难题迎刃而解;l 机电一体化产品。 单片机与传统的机械产品结合。是传统机械产品结构简化,控制智能化。这类产品如:简易数控机床,电脑绣花机,医疗器械等;l 智能接口。 在计算机控制系统(特别是较大型的工业测控系统)中,普遍采用单片机进行接口的控制与管理,因单片机与主机是并行工作,故大大提高了系统的运行速度。例如:在大型数据采集系统中,用单片机对ADC接口进行控制不仅可提高采集速度,而且还能对数据进行预处理,如数字滤波,线性化处理,误差修正等;l 智能民用产品。 在家用电
12、器、玩具、游戏机、声响设备、电子称、收银机、办公设备、厨房设备等产品中引入单片机,不仅使产品的功能大大加强,而且获得了良好的使用效果;l 多机应用系统。A、功能集散系统。多功能集散系统是为了满足工程系统多种外围功能的要求而设置的多机系统。例如:一个加工中心的计算机系统除了完成机床加工运行控制外,还要控制对刀系统、坐标系统、状态监视、伺服驱动等工程应用系统的快速问题,以便构成大型实时工程应用系统。典型的有快速并行数据采集、处理系统、实时图象处理系统等;2系统方案的选择与论证2.1功能要求 设计使用单片机与数码管键盘驱动芯片为核心制作直流电流源设计,实现直流电流输出与数值显示功能,设计要求进行硬件
13、、软件系统设计。2.2系统总体方案选择与论证 方案1:本设计采用AT89C51单片机作为整机的控制单元,通过改变AD的输入数字量来改变输出电压值,从而使输出功率管的基极电压发生变化,间接地改变输出电流的大小。为了能够使系统具备检测实际输出电流值的大小,可以将电流转换成电压,并经过ADC进行模数转换,间接用单片机实时对电压进行采样,然后进行数据处理及显示。此系统比较灵活,采用软件方法来解决数据的设置以及电流的步进控制,使系统硬件更加简洁,各类功能易于实现,能很好地满足题目的要求。本方案的基本原理如图2-1所示。方案2:采用STC12C2052AD单片机作为整机的控制单元,利用PWM脉宽调制技术来
14、实现高精度数控恒流源的设计。本系统通过小键盘和LED实现人机交流,小键盘负责设计输入要实现的电流值,LED 负责显示电流数值。单片机根据输入的电流数值通过软件控制产生对应的PWM波,经过滤波电路后对压控恒流元件进行控制,产生电流,电流再经过采样电阻到达负载。同时,对采样电阻两端信号进行差分和放大,送入ADC。单片机根据采集到的值调整PWM输出,从而调整了输出电流。如此反复,直到电流达到设定要求。本方案的基本原理如图2-2所示。供电恒流输出V/I I/VD/A转换器A/D转换器 单片机及外围电路键盘数码管显示 图2-1 系统原理框图电压电流转化电路滤波电路压控恒流源件PWM单片机ADCLED键盘
15、采样电阻差分放大电路 图2-2 系统原理框图方案论证:比较以上两种方案的优缺点,方案2简洁、灵活,从精度和成本等方面考虑能达到题目的设计要求,因此本次毕业设计采用方案2来实现。2.3系统各模块方案选择与论证(1)中央控制模块系统的核心控制模块为STC12C2052AD单片机。主要使用了STC12C2052AD单片机的PWM脉宽调制功能和A/D功能。单片机片内有一个PWM功能的定时/计数器。PWM波是数字向模拟转换的一种重要方法,通常使用单片机的定时器做频率发生器,含有数字比较器,当设定值与定时器的值相等,引脚的电平发生翻转。控制设定值,就控制了PWM波占空比,通过滤波,输出直流模拟量。PWM开
16、关稳流电源基本工作原理就是在输入电压变化、内部参数变化、外接负载变化的情况下,控制电路通过被控制信号与基准信号的差值进行闭环反馈,调节主电路开关器件的导通脉冲宽度,使得开关电源的输出电流等被控制信号稳定。PWM波产生过程:单片机片内有一个具有8位PWM功能的定时/计数器。在普通模式下,计数器不停地累加,计到最大值0 xff后溢出,返回到最小值0 x00重新开始。当启用PWM功能即在单片机的快速PWM模式下,通过调整CCAPNL的值x可实现输出PWM波的占空比变化。产生PWM波形的机理是:PWM引脚电平在发生匹配时以及在计数器清零的那一个定时器时钟周期内发生跳变,即波形产生相应变化。PWM占空比
17、:(256-x)/256 * 100%。(2)人机界面模块方案选择:方案1:采用LCD显示。特点:显示内容丰富,采用数字式接口,体积小、重量轻,功率消耗小,但编程复杂,且成本相对LED较高。方案2:采用LED并行动态显示。即一位一位地轮流点亮各位显示器,对每一位显示器而言,每隔一段时间点亮一次。其硬件电路简单,但同样的功率驱动下,显示亮度不及静态显示,且占用I/O口较多。方案3:采用LED串行静态显示。即显示某一字符时,相应的发光二极管恒定导 通或截止,这种方式每一个显示位都需要一个8位输出口控制,占用硬件较多,但仅占用控制器串口的两个I/O口,软件实现简单,显示亮度高,成本低。LED数码管显
18、示器由8个发光二极管组成,因此也称之为8段LED数码管,因为LED数码管显示成本较低,外加一个驱动芯片,所需单片机接口较少,而且程序容易实现。考虑到本次设计的需要,只要显示3位电流值,采用方案2,使用1个4位共阴极数码管及1个驱动芯片ZLG7289b。本模块以ZLG7289b数码管显示驱动及键盘扫描管理芯片为核心,包括键盘电路和数码管显示电路。键盘设计为14按键,由功能键“+”、“-”、“选择”及“确认”组成,输入最小设定步进等级为0.1mA,“选择”完成显示值数值切换功能。功能键“确定”完成确定输出显示值并且产生对应数值直流电流功能。通过驱动电路实现键值识别。数码管采用4位共阴极数码管。(3
19、)低通滤波电路模块 PWM波产生后不能直接用于控制场效应晶体管,需把其变成能随占空比变化而变化的直流电压。本次设计采用有源滤波电路,主要由放大器与RC网络组成。低通滤波电路模块在电路中的作用:l 对PWM输出信号进行调制,首先PWM模块将输入信号转换成对时间进行调制而幅度等于电源电压的脉冲信号,PWM模块内的全桥放大器一般都利用反相锁存调制,当一个输出为高,另一个输出总是低。假如50占空比,则意味着开关频率的每个周期内高和低的时间相等,脉冲信号必须通过低通功率滤波电路解调后,才能到达负载端其信号值为零。l 低通功率滤波电路抑制通过时间调制的方波载波信号,在滤波电路的输出端上可以得到远低于PWM
20、开关频率的负载载波信号,事实上占空比不断变化的PWM信号参杂了很多高频毛刺成分,会严重干扰反馈电路的参数,同时过高的载波频率可能会损坏负载本身。 (4) 恒流源模块基本的恒流源电路主要是由输入级和输出级构成,输入级提供参考电流,输出级输出需要的恒定电流。恒流源电路就是要能够提供一个稳定的电流以保证其它电路稳定工作的基础,即要求恒流源电路输出恒定电流。因此作为输出级的器件应该是具有饱和输出电流的伏安特性。这可以采用工作于输出电流饱和状态的BJT 或者MOSFET来实现。为了保证输出晶体管的电流稳定,就必须要满足两个条件:l 其输入电压要稳定l 输出晶体管的输出电阻尽量大(最好是无穷大)方案选择:
21、方案1:采用恒流二极管或者恒流三极管。其特点精度比较高,但这种电路能实现的恒流范围很小。 方案2:采用四端可调恒流源。这种器件靠改变外围电阻元件参数,从而使电流达到可调的目的,这种器件能够达到12000毫安的输出电流。改变输出电流,通常有两种方法:一是通过手动调节来改变输出电流,这种方法不能满足题目的数控调节要求;二是通过数字电位器来改变需要的电阻参数,虽然可以达到数控的目的,但数字电位器的每一级步进电阻比较大,所以很难调节输出电流。 方案3:压控恒流源。通过改变恒流源的外围电压,利用电压的大小来控制输出电流的大小。电压控制电路采用数控的方式,利用单片机送出数字量,经过D/A转换转变成模拟信号
22、,再送到大功率三极管进行放大。单片机系统实时对输出电流进行监控,采用数字方式作为反馈调整环节,由程序控制调节功率管的输出电流恒定。当改变负载大小时,基本上不影响电流的输出,采用这样一个闭路环节使得系统一直在设定值维持电流恒定。该方案通过软件方法实现输出电流稳定,易于功能的实现,便于操作,故选择方案3。(5)采样电路 当对采样电阻两端信号进行差分后,可得到采样电阻两端的电压值U,而在已知采样电阻阻值情况下,很容易得到流经采样电阻的电流,即I=U/R。由于负载与采样电阻在同一条支路,故流经负载的电流也为I。差分放大电路的放大倍数可根据采样电阻阻值以及ADC的参考电压来选择,差分信号经ADC口送入单
23、片机进行处理。 3系统的硬件电路设计与实现3.1系统的硬件组成部分 系统硬件电路主要由中央控制模块、人机界面模块、低通滤波与电压电流转换模块和恒流源模块组成。系统总原理图如图3-1所示。 图3-1 总系统原理图3.2 主要电路模块设计3.2.1 中央控制模块本模块设计主要以STC12C2052AD单片机最小系统为核心。ZLG7289b数码管显示驱动及键盘扫描管理芯片与单片机STC12C2052AD的接口采用3线制SPI串行总线,由CS、CLK和DIO这3根信号线组成。CS和CLK是输入信号,由STC12C2052AD提供。DIO信号是双向的,必须接到STC12C2052AD上具有双向功能的I/
24、O上。STC12C2052AD单片机与ZLG7289b数码管显示驱动及键盘扫描管理芯片引脚对应关系如表3.1所示。中央控制模块系统原理图如图3-2所示。表3.1 STC12C2052AD与ZLG7289b引脚对应关系STC12C2052AD引脚ZLG7289b引脚功能说明P1.2INT键盘请求信号,低电平(负边沿)有效P1.4DIO数据信号,双向P1.5CLK时钟信号,上升沿有效P1.6CS片选信号,低电平有效 图3-2中央控制模块系统原理图STC12C2052AD系列1T单片机简介: STC12C2052AD系列单片机是宏晶科技生产的单时钟/机器周期(1T)的高速/低功耗/超强抗干扰的新一代
25、851单片机,指令代码完全兼容传统8051,单速度快8-12倍,内部集成MAX810专用复位电路。2路PWM,8路高速8位A/D转换,针对电机控制,强干扰场合。STC12C2052AD引脚图如图3-3所示。STC12C2052AD系列1T单片机特点:l 增强型1T流水线/精简指令集结构8051CPUl 工作电压:2.4V3.8V/3.4V5.5Vl 工作频率范围:035MHz,相当于普通8051的0420MHzl 用户应用程序空间512/1K/2K/3K/4K/5K字节l 片上集成256字节RAMl 15个通用I/O口复位后为:准双向口/弱上拉l 可设置成四种模式:准双向口/弱上拉,推挽/强上
26、拉,仅为输入/高阻,开漏l EEPROM功能l 共2个16位定时器/计数器l PWM(2路)/PCA(可编程计数器阵列)l ADC,8路8位精度l 通用异步串行口(UART)l SPI同步通信口,主模式/从模式l 看门狗l 内部集成 R/C振荡器,精度要求不高时可省外部晶体l ISP(在系统可编程)/IAP(在应用可编程),无需专用仿真器可通过串口直接下载用户程序,数秒即可完成一片l 工作温度范围:075/-40+85l 封装: PDIP-20 图3-3 STC12C2052AD引脚图3.2.2人机界面模块 本模块以ZLG7289b数码管显示驱动及键盘扫描管理芯片为核心,包括键盘电路和LED显
27、示电路。LED选用4位共阴极数码管,实际只选通前3位使用。键盘电路设置4个按键,通过驱动电路实现键值识别。4个按键分别为“+”、“-”、“选择”和“确定”键。人机界面模块系统原理图如图3-4所示。 图3-4人机界面模块系统原理图(1)ZLG7289b数码管显示驱动与键盘管理芯片 ZLG7289b是广州周立功单片机发展有限公司自行设计的数码管显示驱动及键盘扫描管理芯片,可直接驱动8位共阴极数码管(或64只独立LED),同时还可以扫描管理多达64只按键,并自动消除抖动,可广泛地应用于仪器仪表、工业控制器、条形显示器、控制面板等领域。 ZLG7289B内部含有显示译码器,可直接接受BCD码或16进制
28、码,并同时具有2种译码方式。此外,还具有多种控制指令,如消隐闪烁左移右移段寻址等。芯片采用SPI串行总线与微控制器接口,仅占用少数几根I/O口线。利用片选信号,多片ZLG7289b 还可以并接在一起使用,能够方便地实现多于 8 位的显示或多于 64只按键的应用。芯片采用I2C总线方式,与微控制器的接口仅需两根信号线。ZLG7289b引脚图如图3-5所示,ZLG7289b引脚功能说明如表3.2所示。ZLG7289b数码管显示驱动与键盘管理芯片特点:l 串行接口,无需外围元件可直接驱动LEDl 各位独立控制译码/不译码/及消隐和闪烁属性l (循环)左移/(循环)右移指令l 具有段寻址指令,方便控制
29、独立LEDl 64键键盘控制器,内含去抖动电路l 工作电压2.7V6.0V 图3-5 ZLG7289b引脚图 表3.2 ZLG7289b引脚功能说明引脚序号引脚名称功能描述1RTCC接电源2Vcc电源,2.76V3NC悬空4GND接地5NC悬空6CSSPI 总线片选信号,低电平有效7CLKSPI 总线时钟输入信号,上升沿有效8DIOSPI 总线数据信号,双向9INT键盘中断请求信号,低电平(下降沿)有效10SG/KR0数码管g 段键盘行信号011SF/KR1数码管f 段键盘行信号112SE/KR2数码管e 段键盘行信号213SD/KR3数码管d 段键盘行信号314SC/KR4数码管c 段键盘行
30、信号415SB/KR5数码管b 段键盘行信号516SA/KR6数码管a 段键盘行信号617DP/KR7数码管dp 段键盘行信号718DIG0/KC0数码管字选信号0键盘列信号019DIG1/KC1数码管字选信号1键盘列信号120DIG2/KC2数码管字选信号2键盘列信号221DIG3/KC3数码管字选信号3键盘列信号322DIG4/KC4数码管字选信号4键盘列信号423DIG5/KC5数码管字选信号5键盘列信号524DIG6/KC6数码管字选信号6键盘列信号625DIG7/KC7数码管字选信号7键盘列信号726OSC2晶振输出信号27OSC1晶振输入信号28RST复位信号,低电平有效ZLG72
31、89b SPI串行接口信号:ZLG7289b与STC12C2052AD的接口采用3线制SPI串行总线,由CS、CLK和DIO这3根信号线组成。CS和CLK是输入信号,由STC12C2052AD提供。DIO信号是双向的,必须接到单片机STC12C2052AD上具有双向功能的I/O上。SPI信号线的具体意义请参见表3.3。操作SPI总线的时序图请参见图3-6、图3-7和图3-8。其中图3-8是读按键值的时序图,只有当INT引脚出现下跳沿时才允许去读取按键值,否则将得不到有意义的数据。 表3.3 ZLG7289b的SPI串行接口信号信号名称引脚序号描述CS6SPI 总线片选输入信号,低电平有效CLK
32、7SPI 总线时钟输入信号,上升沿有效DIO8SPI 总线数据信号,双向SPI 总线时序图(3个) 图3-6 纯指令时序图(单字节命令) 图3-7 带数据指令时序图(命令字在前,输入数据在后) 图3-8读键盘指令时序图(命令字在前,键值在后)ZLG7289b下载数据并且按方式0 进行译码D7D6D5D4D3D2D1D0D7D6D5D4D3D2D1D010000a2a1a0dpxxxd3d2d1d0在指令格式中,高 5 位的10000是命令字段;a2a1a0是数码管显示数据的位地址,位地址编号按从左到右的顺序依次为0、1、2、3、4、5、6、7(以图3-1为准)。dp控制小数点是否显示,dp0时
33、该位的小数点被点亮,dp1时该位的小数点被熄灭;xxx是无关地址位;d3d2d1d0是要显示的数据。显示数据按照3.4表中的规则进行译码:表 3.4 下载数据命令译码方式0d3d2d1d0(二进制)d3d2d1d0(十六进制)显示结果000000H0000101H1001002H2001103H3010004H4010105H5011006H6011107H7100108H8101009H910010AH-10110BHE11000CHH11010DHL11100EHP11110FH无显示(2)4位共阴极数码管共阴极数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。共阴极
34、数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。本次设计采用4位共阴极数码管,实际只选通3位使用。数码管端选位与ZLG7289b的端选位对应连接。4位共阴极数码管电路图如3-9所示。 图3-9 4位共阴极数码管数码管动态显示驱动技术简介:数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划a,b,c,d,e,f,g,dp的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接
35、收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为12ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。3.2.3低通滤波电路与电压电流转化电路模块 PWM波产生后不
36、能直接用于控制场效应晶体管,需把其变成能随占空比变化而变化的直流电压。滤波电路常用于滤去整流输出电压中的纹波,本次设计采用有源滤波电路,主要由放大器LM324N和RC网络组成,电路中LM324N起电压跟随器作用。直流电压需经过电阻R(250欧姆)才能转换为相应的直流电流。系统原理图如图3-10所示。 图3-10低通滤波电路与电压电流转化电路模块系统原理图 LM324N是由四个独立的运算放大器组成的电路。LM324N引脚说明如表3.5所示,LM324N引脚图如图3-11所示。其特点如下:l 具有宽的单电源或双电源工作电压范围;单电源3V30V,双电源1.5V15V l 内含相位校正回路, 外围元
37、件少l 消耗电流小:ICC=0.6mA (典型值, RL=)l 输入失调电压低:2mV (典型值) l 电压输出范围宽:0VVCC l 共模输入电压范围宽:0VVCCl 封装形式:DIP14 表3.5LM324N引脚说明引脚序号引脚名称1 OUTPUT 12 INPUT 1-3 INPUT 1+4 V+5 INPUT 2+6 INPUT 2-7OUTPUT 28 OUTPUT 39 INPUT 3-10INPUT 3+11 GND12 INPUT 4+13 INPUT 4-14OUTPUT 4 图3-11 LM324N引脚图3.2.4恒流源模块 单片机引脚控制输出电压不能精确输出0-5V,必须
38、经过恒流模块控制才能近似达到控制效果。恒流源模块采用场效应管IRF3502与5V稳压管LM336-5组成。如图3-12所示。 图3-12 恒流源模块系统原理图4系统的软件设计及实现 本次设计软件部分编程采用Keil C51软件。Keil C51是美国keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(UVision)将这些部分组合在一起。运行Keil软件需要WIN98、NT
39、、WIN2000、WINXP等操作系统。使用C语言编程,Keil就是不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令使用者事半功倍。 ZLG7289b芯片的51单片机C51驱动程序软件包是由3个文件IC72X9.h、IC72X9_user.h和IC72X9v2.c组成。IC72X9_user.h包含IC72X9的I/O接口定义,用户要根据实际电路修改。头文件IC72X9.h包括用户指令集声明。 C语言文件IC72X9v2.c是这些用户指令的具体实现。用户指令集如表4.1所示。 在keil C51中,该软件包的具体用法是: l 将文件IC72X9v
40、2.c、IC72x9.h和IC72X9_user.h一起复制到您的工程文件夹下,把文件IC72X9v2.c添加进工程中。 l 根据电路的实际情况,在文件IC72X9_user.h中重新定义片选、时钟、数据和键盘申请接口。 表4.1 IC72X9 的用户指令集指令名称功能void IC72X9_InitPins()IC72X9 初始化IC72X9_Reset()复位(清除)指令IC72X9_Test()测试指令:IC72X9_SHL()左移指令IC72X9_SHR()右移指令IC72X9_ROL()循环左移指令IC72X9_ROR()循环右移指令IC72X9_Flash(x)闪烁控制x 的8 个
41、位分别对应数码管的8 个位,0闪烁,1不闪烁IC72X9_Hide(x)消隐控制x 的8 个位分别对应数码管的8 个位,0消隐,1显示IC72X9_SegOn(seg)段点亮指令seg=063,8 只数码管被看成64 只独立的LED,每只数码管中各段的点亮顺序按照g,f,e,d,c,b,a,dp进行IC72X9_SegOff(seg)段关闭指令seg=063,8 只数码管被看成64 只独立的LED,每只数码管中各段的点亮顺序按照g,f,e,d,c,b,a,dp进行IC72X9_Download0(n, dp, dat)下载数据且按方式0译码IC72X9_Download0(n, dp, dat
42、),n=07表示对应数码管的位编号,dat-具体显示数据,dp=1-dp段亮,dp=0-dp段不亮IC72X9_Download1(n, dp, dat)下载数据且按方式1译码IC72X9_Download0(n, dp, dat),n=07表示对应数码管的位编号,dat-具体显示数据,dp=1-dp段亮,dp=0-dp段不亮IC72X9_Download2(n, dp, dat)下载数据且按方式2不译码IC72X9_Download0(n, dp, dat),n=07表示对应数码管的位编号,dat-具体显示数据,dp=1-dp段亮,dp=0-dp段不亮unsigned char IC72X9
43、_Key(bit intmode)读键盘数据指令当intmode=1时用于中断,否则用于查询4.1系统的总体流程图开始系统初始化数码管显示单片机产生PWM电压电流转化按键扫描修改显示数值图4-1系统的总体流程图4.2数码管正常显示子程序流程图系统上电后,由于初始程序设定数码管首先显示数值4.0,此时iout的值是显示值的十倍为40。因为设计的电流输出范围是420mA,即iout的值是40200,如果输入值不在其范围内就不能得到设计范围内要求输出的电流,所以进行第一次对iout值的判断。当iout大于等于200的时候,iout就等于200,对应输出电流大小20mA;当iout小于等于40的时候,
44、iout就等于40,对应输出电流大小4mA;iout在40到200之间,对应正常范围内的电流大小。然后进行第二次对iout值的判断。当iout大于等于100的时候,数码管正常显示十位、个位和小数位;当iout小于100的时候,数码管值显示个位和小数位。数码管正常显示子程序流程图如图4-2所示。 开始 开始显示数值4.0 进行内部判断 数码管显示 返回 图4-2 数码管正常显示子程序流程图4.3按键扫描子程序流程图系统一共有4个按键分别为“+”、“-”、“选择”和确定键。系统上电后,进入键盘扫描模式后,通过ZLG289b芯片键盘扫面指令进行键值扫描。如果扫描到有键按下,首先判断是否为选择键被按下
45、,如果按下的不是选择键则不能进入修改模式,修改键“+”、“-”都无效;如果按下的是选择键,则进入修改模式,选中的修改位闪烁,进入修改模式可按“+”、“-”进行数值修改。按下确定键后,退出修改模式,选中位数码管停止闪烁。按键扫描子程序流程图如图4-3所示。开始初始化扫描按键有键按下?是选择键?选中修改位闪烁,进入修改模式按下“+”、“-”对选中位进行修改按下确定键停止闪烁返回YYNN 图4-3 按键扫描子程序流程图4.4 PWM输出子程序流程图 PWM输出子程序是控制电流输出大小的核心程序。由于硬件系统本身的缺陷,所以必须进行软件的修正,才能满足设计题目的要求。软件修正采用了分段线性修正。理论上
46、PWM占空比变化对应15V电压,两者是线性关系;15V电压经过250欧姆电阻对应420mA也是线性关系。通过计算实际电流值与PWM寄存器数值的函数关系为一次函数,按键设定输入的电流值通过计算函数关系修正后,控制输出的电流大小基本能满足要求。设置进入PCA的输入模式,赋值给寄存器CCAP1后输出对应关系的PWM波。PWM输出子程序流程图如图4-4所示。 开始函数关系修正进入PCA模式寄存器CCAP1赋值输出PWM波 返回 图4-4 PWM输出子程序流程图5数据测试及分析给电流源上电,通过按键设定输出电流值,250欧姆负载电阻通过外部电流表测量的电流值,相关数据如表5.1所示。由于设计本身电子元器
47、件的电压线性关系不是很理想,尽管进行了软件修正对输出进行反馈调节,但是部分输出电流范围内的误差偏大。本直流电流源能够基本完成设定直流电流的输出,但由于个人经验不足等因素,本设计还有一些不足之处,离产品实用还有一定的差距,还有一些方面需要进一步完善。表5.1 实验相关数据显示电流值(mA)测量电压值(V)理论电压值(V)测量电流值(mA)4.01.011.004.045.01.251.255.006.01.571.506.287.01.811.757.248.02.042.008.169.02.262.259.0410.02.502.5010.0011.02.622.7510.4812.02.9
48、33.0011.7213.03.243.2512.9614.03.543.5014.1615.03.853.7515.4016.04.044.0016.1617.04.234.2516.9218.04.514.5018.0419.04.714.7518.8420.04.965.0019.846结束语在设计制作数控直流恒流源的过程中,我深切体会到,实践是理论运用的最好检验。本次设计是对我四年所学知识的一次综合性检测和考验,无论是动手能力还是理论知识运用能力都得到了提高,同时加深了我对网络资源认识,大大提高了查阅资料的效率,使我有充足的时间投入到电路设计当中。本系统的研制主要应用到了模拟电子技术、
49、数字电子技术、单片机控制技术、电子工艺等多方面的知识,所设计的基于单片机程序控制的数控恒流源,基本达到了题目要求。在数据测试和调试方面,由于仪表存在误差和电路主要器件特性不是很理想产生的误差,使得测量数据不是很精确,本系统就此通过软件线性补偿设计,减少误差的存在,提高了系统的精度。参考文献1单片机应用技术 刘守义 西安 西安电子科技大学出版社 20022单片微机测控系统设计大全 王福瑞 北京 北京航空航天大学出版社 19983数控恒流源 曾波 电子世界 第九期 20054电子电路 何希才 北京 北京航空航天大学出版社 20035模拟电子技术基础 李义府 长沙 国防科技大学出版社 20046单片机原理及接口技术 李朝青 北京 北京航空航天大学出版社 19947单片机C语言编程与示例 赵亮等 人民邮电出版社 2003.98程序设计(第二版)谭浩强清华大学出版社1999.129电子技术基础 模拟部分 康华光 高等教育出版社2004.710单片机应用开发实例 刘文涛 清华大学出版社 2005.9附录系统总原理图源程序:#include #include #include #define LED100 0#define LED10 1#define LED12#define IncKey 0#def
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《贵州飞尚能源有限公司六枝特区兴旺煤矿(变更)矿产资源绿色开发利用方案(三合一)》评审意见
- 珠宝相关知识培训课件
- 2025年汕尾下载b2货运从业资格证模拟考试考试
- 印度课件+-2024-2025学年人教版七年级地理下册
- 养殖宠物基本知识培训课件
- 第二单元空气和氧气课题3制取氧气 第1课时实验室制取氧气的原理 分解反应教学设计-2024-2025学年九年级化学人教版(2024)上册
- 2025年西藏货运从业证考试内容
- 四川省南川区川东北名校2024-2025学年高二(上)期末物理试卷【含解析】
- 上海市静安区华东模范中学2024-2025学年高一(上)期末物理试卷【含解析】
- 2025届新高考历史冲刺热点复习中华文明的形成和发展时期-秦汉
- 2024中陕核(西安)文化传媒有限公司招聘(11人)笔试参考题库附带答案详解
- 2024年世界职业院校技能大赛中职组“法律实务组”赛项考试题库(含答案)
- 广西桂林市2024-2025学年八年级上学期期末考试物理试题(含答案)
- 2025年延安职业技术学院单招职业技能测试题库完整
- 2025年皖西卫生职业学院单招职业适应性测试题库及参考答案
- 2025年复工复产培训考核试卷及答案
- 2025年上半年度国家铁路局机关服务中心公开招聘应届毕业生2人易考易错模拟试题(共500题)试卷后附参考答案
- 《新会计法解读》课件
- 南宁市良庆区招聘专职化城市社区工作者笔试真题2024
- 2024年西安航空职业技术学院高职单招职业适应性测试历年参考题库含答案解析
- 临平区九年级上学期期末考试语文试题(PDF版含答案)
评论
0/150
提交评论