版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
内蒙古科技大学智能仪表综合训练设计说明书题目:基于单片机的PWM输出控制学生姓名:学号:专业:测控技术与仪器班级:指导教师:智能仪表综合训练设计说明书摘要随着电子技术及微控制器(MCU)的快速发展,自动控制技术在工业领域应用十分广泛。许多设备之间的连接或者控制都是由标准的1~5V的电压信号或者4~20mA的电流信号来完成的。一般设备的D/A转换都是采用集成的数模转换器,这样就增加了成本,所以为了降低成本,利用单片机内部的定时器和软件一起来实现PWM输出,经过简单的变换电路就以实现D/A转换。本次设计,就是基于单片机的PWM输出控制,通过RC硬件电路,采用定时器配合软件的方法实现占空比可调、周期固定的PWM输出控制,大致过程:利用电位器实现占空比的改变,并通过AD转换,将PWM方波的占空比送入LED进行显示。然后,将给定占空比生成的PWM波形被输入到一个低通滤波器,即将输入的数字信号转换为模拟信号,然后去控制LED灯的渐变。关键词:单片机;脉宽调制;A/D转换器;LED显示智能仪表综合训练设计说明书第一章脉冲宽度调制概述脉冲宽度调制(PWM)是一种对模拟信号电平进行数字编码的方法,其根据相应载荷的变化来调制晶体管栅极或基极的偏置,来实现开关稳压电源输出晶体管或晶体管导通时间的改变,这种方式能使电源的输出电压在工作条件变化时保持恒定,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。通过高分辨率计数器的使用,方波的占空比被调制用来对一个具体模拟信号的电平进行编码。PWM控制技术以其控制简单,灵活和动态响应好的优点而成为电力电子技术最广泛应用的控制方式,也是人们研究的热点。由于当今科学技术的发展已经没有了学科之间的界限,结合现代控制理论思想或实现无谐振软开关技术将会成为PWM控制技术发展的主要方向之一。1.1PWM控制的原理及过程1.1.1PWM控制的基本原理脉宽PWM法,它是把每一脉冲宽度均相等的脉冲列作为PWM波形,通过改变脉冲列的周期可以调频,改变脉冲的宽度或占空比可以调压,采用适当控制方法即可使电压与频率协调变化。可以通过调整PWM的周期、PWM的占空比而达到控制充电电流的目的。占空比:就是输出的PWM中,高电平保持的时间与该PWM的时钟周期的时间之比。如,一个PWM的频率是1000Hz,那么它的时钟周期就是1ms,就是1000us,如果高电平出现的时间是200us,那么低电平的时间肯定是800us,那么占空比就是200:1000,也就是说PWM的占空比就是1:5。分辨率也就是占空比最小能达到多少,如8位的PWM,理论的分辨率就是1:255(单斜率),16位的的PWM理论就是1:65535(单斜率)。频率就是这样的,如16位的PWM,它的分辨率达到了1:65535,要达到这个分辨率,T/C就必须从0计数到65535才能达到,如果计数从0计到80之后又从0开始计到80,那么它的分辨率最小就是1:80了,但是,它也快了,也就是说PWM的输出频率高了。双斜率/单斜率假设一个PWM从0计数到80,之后又从0计数到80
这个就是单斜率。假设一个PWM从0计数到80,之后是从80计数到0
这个就是双斜率。可见,双斜率的计数时间多了一倍,所以输出的PWM频率就慢了一半,但是分辨率却是1:(80+80)=1:160,就是提高了一倍。假设PWM是单斜率,设定最高计数是80,我们再设定一个比较值是10,那么T/C从0计数到10时(这时计数器还是一直往上计数,直到计数到设定值80),单片机就会根据你的设定,控制某个IO口在这个时候是输出1还是输出0还是端口取反,这样,就是PWM的最基本的原理了。1.1.2PWM的控制过程脉冲宽度调制(PWM)是一种对模拟信号电平进行数字编码的方法。通过高分辨率计数器的使用,方波的占空比被调制用来对一个具体模拟信号的电平进行编码。PWM信号仍然是数字的,因为在给定的任何时刻,满幅值的直流供电要么完全有(ON),要么完全无(OFF)。电压或电流源是以一种通(ON)或断(OFF)的重复脉冲序列被加到模拟负载上去的。通的时候即是直流供电被加到负载上的时候,断的时候即是供电被断开的时候。只要带宽足够,任何模拟值都可以使用PWM进行编码。多数负载(无论是电感性负载还是电容性负载)需要的调制频率高于10Hz,通常调制频率为1kHz到200kHz之间。许多微控制器内部都包含有PWM控制器。例如,Microchip公司的PIC16C67内含两个PWM控制器,每一个都可以选择接通时间和周期。占空比是接通时间与周期之比;调制频率为周期的倒数。执行PWM操作之前,这种微处理器要求在软件中完成以下工作:1、设置提供调制方波的片上定时器/计数器的周期2、在PWM控制寄存器中设置接通时间3、设置PWM输出的方向,这个输出是一个通用I/O管脚4、启动定时器5、使能PWM控制器1.2PWM控制的特点及应用脉冲宽度调制的一个优点是从处理器到被控系统信号都是数字形式的,无需进行数模转换。让信号保持为数字形式可将噪声影响降到最小。噪声只有在强到足以将逻辑1改变为逻辑0或将逻辑0改变为逻辑1时,也才能对数字信号产生影响。脉冲宽度调制的另外一个优点是对噪声抵抗能力的增强,这也是在某些时候将PWM用于通信的主要原因。从模拟信号转向PWM可以极大地延长通信距离。在接收端,通过适当的RC或LC网络可以滤除调制高频方波并将信号还原为模拟形式。总之,脉冲宽度调制既经济、节约空间、抗噪性能强,是一种值得广大工程师在许多设计应用中使用的有效技术。脉冲宽度调制广泛应用在从测量、通信到功率控制与变换的许多领域中,由于其四象限变流的特点,可以反馈再生制动的能量,对于目前国家提出的节能减排具有积极意义。具体应用:1、脉冲宽度调制软件法控制充电电流其基本思想就是利用单片机具有的PWM端口,在不改变PWM方波周期的前提下,通过软件的方法调整单片机的PWM控制寄存器来调整PWM的占空比,从而控制充电电流。本方法所要求的单片机必须具有ADC端口和PWM端口这两个必须条件,另外ADC的位数尽量高,单片机的工作速度尽量快。在调整充电电流前,单片机先快速读取充电电流的大小,然后把设定的充电电流与实际读取到的充电电流进行比较,若实际电流偏小则向增加充电电流的方向调整PWM的占空比;若实际电流偏大则向减小充电电流的方向调整PWM的占空比。在软件PWM的调整过程中要注意ADC的读数偏差和电源工作电压等引入的纹波干扰,合理采用算术平均法等数字滤波技术。2、脉冲宽度调制在推力调制中的应用1962年,Nicklas等提出了脉冲调制理论,指出利用喷气脉冲对航天器控制是简单有效的控制方案,同时能使时间或能量达到最优控制。脉宽调制发动机控制方式是在每一个脉动周期内,通过改变阀门在开或关位置上停留的时间来改变流经阀门的气体流量,从而改变总的推力效果,对于质量流率不变的系统,可以通过脉宽调制技术来获得变推力的效果。第二章总体方案设计2.1系统总体的设计思路51系列单片机无PWM的输出功能,通过一定的硬件电路,采用定时器配合软件的方法输出PWM方波,具体的设计思路:1硬件部分过电位器改变PWM的占空比,利用电位器将0到5V的模拟信号输入到ADC0832芯片,经过A\D转换为00H到FFH的数字量,再输入到单片机,然后将PC机上的程序经过RS232串口芯片下载到STC89C52单片机上,编程运行后,再输出相应的信号,输出占空比实现四位LED数码显示,输出报警信号实现蜂鸣器报警,输出方波信号实现LED灯的渐变功能。然后,要熟练掌握protel99SE开发软件,根据硬件电路的功能要求,画出合理的电路原理图,分配好相应的管脚,并生成相应的PCB图。2软件部分在STC89C52内实现PWM的基本过程:首先选定脉冲的频率T,然后根据控制信号的变化范围,这里是1~5V,则可以求出t时刻通过控制信号V(t)的对应脉冲的正、负脉冲持续时间。这两个时间长度在单片机里是通过给定时器赋相应的初值而得,即定时器获得这样的定时初值后就在机器周期的同步下,从这个初值加1计数,定时器满时则产生相应时间长度的溢出中断,再利用这个中断所响应的服务程序去控制单片机某一引脚相应的正、负电平极性的持续时间。如果上述过程连续进行,就可在这个引脚获得宽度随控制信号V(t)大小变化的PWM方波信号。其次,利用keiluVision2编程软件,进行相应程序的编辑,主要实现五个程序的设计,主程序,LED数码显示程序,蜂鸣器报警程序,PWM控制程序,A\D转换程序。3、系统方框图:由STC89C52单片机、复位电路、时钟电路、RS232转换电路、ADC0832转换电路、PWM输出电路、蜂鸣器和LED显示电路构成。图2.1系统框图第三章硬件设计在设计硬件电路时,有了清晰地设计思路和确定了总体的设计方案后,还必须对相应的电路元器件的工作原理十分熟悉,例如电路中用到的一些主要的芯片,选择了合适的硬件,这样才能设计出一个合理的硬件系统,同时更好的实现相应的功能。下面对主要的芯片及其辅助电路进行分析。3.1STC89C52单片机及控制电路3.1.1STC89C52单片机简介单片机是智能化设计的核心部件,本次设计选用是STC89C52单片机,STC89C52是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含8kbytes的反复擦写的只读程序存储器(PEROM)和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产与标准MCS—51指令系统及8052产品兼容,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大AT89C52单片机适合于许多较为复杂控制应用场合。主要性能参数如表一所示:表一STC89C52主要功能主要功能特性兼容MCS51指令系统8K可反复擦写FlashROM32个双向I/O口256x8bit内部RAM3个16位可编程定时/计数器中断时钟频率0-24MHz2个串行中断可编程UART串行通道2个外部中断源共6个中断源2个读写中断口线3级加密位低功耗空闲和掉电模式软件设置睡眠和唤醒功能3、STC89C52单片机芯片引脚介绍,STC89C52的引脚图如图3.1所示。STC89C52芯片共40引脚:①主电源引脚(2根)VCC(Pin40):电源输入,接+5V电源GND(Pin20):接地线②外接晶振引脚(2根)XTAL1(Pin19):片内振荡电路的输入端XTAL2(Pin20):片内振荡电路的输出端③控制引脚(4根)RST/VPP(Pin9):复位引脚,引脚上出现2个机器周期的高电平将使单片机复位。ALE/PROG(Pin30):地址锁存允许信号PSEN(Pin29):外部存储器读选通信号EA/VPP(Pin31):程序存储器的内外部选通,接低电平从外部程序存储器读指令,果接高电平则从内部程序存储器读指令。④可编程输入/输出引脚(32根)STC89C52单片机有4组8位的可编程I/O口,分别位P0、P1、P2、P3口,每个口有8位(8根引脚),共32根。PO口(Pin39~Pin32):8位双向I/O口线,名称为P0.0~P0.7P1口(Pin1~Pin8):8位准双向I/O口线,名称为P1.0~P1.7P2口(Pin21~Pin28):8位准双向I/O口线,名称为P2.0~P2.7P3口(Pin10~Pin17):8位准双向I/O口线,名称为P3.0~P3.7图3.1STC89C52的引脚图3.1.2单片机时钟和复位电路的设计单片机的时钟电路分析单片机各功能部件的运行都是以时钟控制信号为基准,有条不紊地一拍一拍地工作,因此时钟频率直接影响单片机的速度,时钟电路质量也直接影响单片机系统的稳定性。STC89C52的时钟可以有两种方式,一种是内部方式,利用芯片内部的振荡电路;另外一种为外部方式。本设计根据实际需要和简便,采用内部振荡方式。89C52内部有一个用于构成振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是此放大器的输入和输出端。这个放大器与作为反馈元件的片外的片外晶体与陶瓷谐振器一起构成一个自激振荡器。STC89C52虽然有内部震荡电路,但要形成时钟,必须外接元件所以实际构成的震荡时钟电路。外界晶体以及电容C1和C2构成并联谐振电路接在放大器的反馈回路中。对接电容的值虽然没有严格的要求,但电容的大小会影响振荡器频率的高低,振荡器的稳定性,起振的快速性和温度的稳定性。晶体频率可在1.2MHZ~12MHZ之间任选,电容C1和C2的典型值在20PF~100PF之间选择,考虑到本系统对于外接晶体的频率稳定性要求不高,采用频率为11.0592MHz,微调电容C1和C2为30pF的内部时钟方式,电容为瓷片电容,判断单片机芯片及时钟系统是否正常工作有一个简单的方法,就是用万用表测量单片机晶振引脚(18,19脚)的对地电压,以正常工作的单片机用数字万用表测量为例:18脚对地电压约为2.24V,19脚对地电压约为2.09V。设计电路图如图3.2所示。图3.2时钟电路图二、单片机复位电路分析STC89C52的复位输入引脚RST为单片机提供了初始化的手段,可以使程序从指定处开始执行,在STC89C52的时钟电路工作后,只要RST引脚上出现超过两个机器周期以上的高电平时,即可产生复位操作。只要RST保持高电平,则单片机循环复位。只有当RST有高电平变为低电平以后,单片机才把PC初始化0000H,使单片机从0000H单片开始执行程序。本系统采用按键复位方式的复位电路如图3.3所示,其主要作用是除了进入系统的正常初始化之外,当由于程序运行出错或操作失误是系统处于死锁状态时,为摆脱困境,也需要按复位键以重新启动。单片机的复位电路在刚接通电时,刚开始电容是没有电的,电容内的电阻很低,通电后,5V的电通过电阻给电解电容进行充电,电容两端的电会由0V慢慢的升到4V左右,正因为这样,复位脚的电由低电位升到高电位,引起了内部电路的复位工作,,这是单片机的上电复位,也叫初始化复位。当按下复位键时,电容两端放电,电容又回到了0V,于是又进行了一次复位工作,这是手动复位原理。图3.3复位电路图3.2基于单片机PWM输出控制系统的硬件电路的分析与设计3.2.1电源电路的分析与设计单片机工作时需要的+5V电压,本设计采用普通的电源接口,通过5V的电源适配器供电,电源电路图如图3.4所示。电源部分还连接开关和发光二极管,用于判断电源是否正常工作。需要注意的是,图中的二极管是其保护作用的,防止电压发生突变,进而损坏单片机及其他元器件。图3.4电源电路3.2.2MAX232芯片与RS232接口电路一、MAX232芯片简介MAX232芯片是美信公司专门为电脑的RS-232标准串口设计的单电源电平转换芯片,使用+5v单电源供电。由于电脑串口rs232电平是-15、+15v,而且逻辑电平诶负逻辑;而一般的单片机应用系统的信号电压是ttl电平0、+5v,逻辑电平为正逻辑。max232就是用来进行电平转换的,该器件包含2驱动器、2接收器和一个电压发生器电路提供TIA/EIA-232-F电平。1、引脚介绍:第一部分是电荷泵电路。由1、2、3、4、5、6脚和4只电容构成。功能是产生+12v和-12v两个电源,提供给RS-232串口电平的需要。第二部分是数据转换通道。由7、8、9、10、11、12、13、14脚构成两个数据通道。其中13脚(R1IN)、12脚(R1OUT)、11脚(T1IN)、14脚(T1OUT)为第一数据通道。8脚(R2IN)、9脚(R2OUT)、10脚(T2IN)、7脚(T2OUT)为第二数据通道。TTL/CMOS数据从T1IN、T2IN输入转换成RS-232数据从T1OUT、T2OUT送到电脑DB9插头;DB9插头的RS-232数据从R1IN、R2IN输入转换成TTL/CMOS数据后从R1OUT、R2OUT输出。第三部分是供电。15脚GND、16脚VCC(+5v)。MX232双串口的引脚图如图3.5所示。图3.5MX232双串口的引脚图该器件符合TIA/EIA-232-F标准,每一个接收器将TIA/EIA-232-F电平转换成5-VTTL/CMOS电平。每一个发送器将TTL/CMOS电平转换成TIA/EIA-232-F电平。2、主要特点
1、单5V电源工作2、LinBiCMOSTM工艺技术3、两个驱动器及两个接收器4、±30V输入电平5、低电源电流:典型值是8mA6、符合甚至优于ANSI标准EIA/TIA-232-E及ITU推荐标准V.287、ESD保护大于MIL-STD-883(方法3015)标准的2000V二、RS232接口电路设计本设计需要单片机与PC机进行通讯,将程序下载到单片机上,所以我们用到RS232异步串口通行接口,RS232是电荷泵芯片,可以完成两路TTL/RS-232电平的转换,它的的9、10、11、12引脚是TTL电平端,用来连接单片机的,实现单片机的异步通信。本设计我们采用了4个0.1uF的电容,用到MAX232芯片的13、14引脚,通过9针的接口,与PC机连接;芯片的11、12引脚与单片机的TXD,RXD相连。RS232接口电路图如图3.6所示。
图3.6RS232与单片机连接的电路图3.2.3ADC0832与A/D转换电路一、ADC832的资料简介ADC0832是美国国家半导体公司生产的一种8位分辨率、双通道A/D转换芯片。由于它体积小,兼容性强,性价比高而深受单片机爱好者及企业欢迎,其目前已经有很高的普及率。学习并使用ADC0832可是使我们了解A/D转换器的原理,有助于我们单片机技术水平的提高。ADC0832具有以下特点如表二所示:表二ADC0832具有以下特点8位分辨率双通道A/D转换输入输出电平与TTL/CMOS相兼容5V电源供电时输入电压在0~5V之间工作频率为250KHZ,转换时间为32μS一般功耗仅为15mW8P、14P—DIP(双列直插)、PICC多种封装商用级芯片温宽为0°Cto+70°C,工业级芯片温宽为−40°Cto+85°C2、ADC0832芯片引脚介绍:ADC0832芯片引脚名称及功能如表三所示,引脚图如图3.7所示。表三ADC0832芯片引脚及功能引脚名称引脚功能CS_(pin1)片选使能,低电平芯片使能CH0(pin2)模拟输入通道0,或作为IN+/-使用CH1(pin3)模拟输入通道1,或作为IN+/-使用GND(pin4)芯片参考0电位(地)DI(pin5)数据信号输入,选择通道控制DO(pin6)数据信号输出,转换数据输出CLK(pin7)芯片时钟输入Vcc/REF(pin8)电源输入及参考电压输入(复用)图3.7ADC0832引脚图二、A/D转换电路的设计1、单片机对ADC0832的控制原理:正常情况下ADC0832与单片机的接口应为4条数据线,分别是CS、CLK、DO、DI。但由于DO端与DI端在通信时并未同时有效并与单片机的接口是双向的,所以电路设计时可以将DO和DI并联在一根数据线上使用。当ADC0832未工作时其CS输入端应为高电平,此时芯片禁用,CLK和DO/DI的电平可任意。当要进行A/D转换时,须先将CS使能端置于低电平并且保持低电平直到转换完全结束。此时芯片开始转换工作,同时由处理器向芯片时钟输入端CLK输入时钟脉冲,DO/DI端则使用DI端输入通道功能选择的数据信号。在第1个时钟脉冲的下沉之前DI端必须是高电平,表示启始信号。在第2、3个脉冲下沉之前DI端应输入2位数据用于选择通道功能。当此2位数据为“1”、“0”时,只对CH0进行单通道转换。当2位数据为“1”、“1”时,只对CH1进行单通道转换。当2位数据为“0”、“0”时,将CH0作为正输入端IN+,CH1作为负输入端IN-进行输入。当2位数据为“0”、“1”时,将CH0作为负输入端IN-,CH1作为正输入端IN+进行输入。到第3个脉冲的下沉之后DI端的输入电平就失去输入作用,此后DO/DI端则开始利用数据输出DO进行转换数据的读取。从第4个脉冲下沉开始由DO端输出转换数据最高位DATA7,随后每一个脉冲下沉DO端输出下一位数据。直到第11个脉冲时发出最低位数据DATA0,一个字节的数据输出完成。也正是从此位开始输出下一个相反字节的数据,即从第11个字节的下沉输出DATD0。随后输出8位数据,到第19个脉冲时数据输出完成,也标志着一次A/D转换的结束。最后将CS置高电平禁用芯片,直接将转换后的数据进行处理就可以了。作为单通道模拟信号输入时ADC0832的输入电压是0~5V且8位分辨率时的电压精度为19.53mV。如果作为由IN+与IN-输入的输入时,可是将电压值设定在某一个较大范围之内,从而提高转换的宽度。但值得注意的是,在进行IN+与IN-的输入时,如果IN-的电压大于IN+的电压则转换后的数据结果始终为00H。ADC0832与单片机连接电路的设计连接电路图如图3.8所示,本设计利用电位器控制PWM方波的占空比,电位器的输出端与ADC0832的CH0连接,输入模拟信号;ADC0832的CS_与单片机的P20相连,启动信号;CLK与单片机的P36相连,输出脉冲信号;DO与P37相连,单片机将数据读入。图3.8ADC0832与单片机连接电路3.2.4LED显示电路一、74LS164芯片简介8位移位寄存器(串行输入,并行输出),当清除端(CLEAR)为低电平时,输出端(Q0-Q7)均为低电平。串行数据输入端(A,B)可控制数据。当A、B任意一个为低电平,则禁止新数据输入,在时钟端(CLOCK)脉冲上升沿作用下Q0为低电平。当A、B有一个为高电平,则另一个就允许输入数据,并在CLOCK上升沿作用下决定Q0的状态,如图真值表。引出端符号:74LS164封装图如图3.9所示。CLOCK——时钟输入端CLEAR——同步清除输入端(低电平有效)A,B——串行数据输入端Q0-Q7——输出端图3.974LS164封装图在真值表中,H-高电平,L-低电平,X-任意电平,↑-低到高电平跳变,Q0n+1、Q1n+1、Q7n+1-规定的稳态条件建立前的电平,Q0n、Q6n-时钟最近的↑前的电平。真值表inputsoutputsclearclockABQ0n+1Q1n+1...Q7n+1LHHHHXL XXXX
HHLXXLLL...LQ0nQ1n...Q7n1Q0n...Q6n0Q0n...Q6n0Q0n...Q6n三、显示电路的设计
单片机驱动LED显示有很多方法,按显示方式可以分为静态显示和动态显示。静态显示就是显示驱动电路具有输出锁存功能,单片机将要显示的数据送出后就不再控LED,直到下一次显示时再传送一次新的数据。只要当前显示的数据没有变化,就无须理睬数码显示管。静态显示的数据稳定,占用的CPU时间少。静态显示中,每一个显示器都要占用单独具有琐存功能的I/O口,该接口用于笔画段字型代码。这样单片机只要把显示的字型数据代码发送到接口电路,该字段就可以显示要发送的字型。要显示新的数据时,单片机再发送新的字型码。另一种方法是动态扫描显示。动态扫描方法是用其接口电路把所有显示器的8个笔画字段(a~g和dp)同名端连在一起,而每一个显示器的公共极COM各自独立接受I/O线控制。CPU向字段输出端口输出字型码时,所有显示器接受相同的字型码,但究竟使那一位则由I/O线决定。动态扫描用分时的方法轮流控制每个显示器的COM端,使每个显示器轮流电亮。在轮流点亮过程中,每位显示器的点亮时间极为短暂,但由于人的视觉暂留现象及发光二极管的余辉效应,给人的印象就是一组稳定的显示数据。本次设计用的是八段式LED的共阴极进行静态显示,并利用74LS164将单片机送来的数据串入并出,显示到LED数码管上,显示电路如图3.11所示。图3.11显示电路另外,该系统用8个发光二极管作信号灯,来接受PWM方波信号,分别与单片机的P0~P7相连,所有发光二极管的阳极都通过一个1K电阻接到5V电源,电路连接图如图3.11所示。图3.12发光二极管电路连接图第四章软件设计4.1程序流程图及程序设计4.1.1主程序设计主程序流程图设计:如图4.1所示图4.1主程序流程图4.1.2A/D转换程序设计A/D转换程序流程图:如图4.2所示图4.2A/D转换程序流程图4.1.3PWM控制程序设计PWM控制程序流程图:如图4.3所示图4.3PWM控制程序流程图第五章总结五周的智能仪器课程设计结束了,这次的设计内容是基于单片机的PWM输出控制,通过一定的硬件电路,采用定时器配合软件的方法输出PWM方波,然后去控制LED灯的渐变,同时将PWM方波的占空比利用LED数码管显示出来。从起初的设计思路到后来设计的完成,整个设计过程让我学会了很多东西。在硬件电路的设计过程中,查阅了很多资料,让我进一步了解各芯片的工作原理和用途;掌握了各硬件之间的通讯方法,例如:RS232芯片的工作原理及与STC89C52单片机的连接;AD转换芯片ADC0832的转换原理;单片机如何驱动LED数码管等;绘制硬件原理图,让我对protel99se软件的有了一定的认识,并力求熟练地掌握和应用;通过编辑软件程序,不仅熟练运用和操作keiluvision编程软件,而且使我对编程语言的运用有了更深的认识。在调试过程,提高了我们的动手能力,同时让我对程序设计产生了浓厚的兴趣。在设计过程中,遇到很多的问题,对硬件不够熟悉,对较长程序的编译和分析不是很清楚,总是出现很多错误。这要我更加认识到自己的不足,通过这次设计,也补充了这方面的知识。最后,感谢老师的辛勤指导,帮助我们顺利地完成了这次的课程设计,我的实际动手能力也得到了大大的锻炼,让我解决实际问题的能力得到了大大的提高,并对本专业的课程充满了浓厚的兴趣,及对以后的学习充满了信心。参考文献[1]郑毛祥.利用单片机实现A/D、D/A转换的原理和方法[J].武汉职业技术学院学报,2005,(05).
[2]董小萌.脉冲宽度调制(PWM)器件的测试[J].世界产品与技术,2002,(03).[3]姜灏,金伟.Cygnal80C51F系列单片系统在脉冲宽度调制中的应用[J].大连轻工业学院学报,2005,(01).[4]王桂枝.PWM控制原理在自动控制中的应用[J].烟台大学学报(自然科学与工程版),1999,(02).
[5]李华.MCS251系列单片机实用接口技术[M].北京:北京航空航天大学出版,1993.[4]王洪福.AT89C51单片机与74LS164动态显示接口[J].呼和浩特:内蒙古电大学刊,第1期2006年.[5]杜洋.A/D转换芯片ADC0832的应用[J].电子制作,2006,(01).[6]郑国君.8位串行A/D转换器ADC0832[J].电子世界,2002,(09).
[7]梁明亮,王新强.单片机与ADC0832的接口技术[J].河南科技,2006,(08).[8]胡玮,魏伟.RS232与RS485串行接口转换电路及其编程实现[J].实验科学与技术,2010,(01).[9]杨阿弟.基于单片机RS232串行通讯的设计[J].科技经济市场,2007,(07).
[10]魏丽娜,管力锐.单片机LED动态显示屏教学演示系统的设计[J].大众科技,2010,(07).
[11]王洪福.AT89C51单片机与74LS164动态显示接口[J].内蒙古电大学刊,2006,(01).
[12]李正浩,姜宝钧,邓兴成.51单片机在LED数码管显示中的应用[J].实验科学与技术,2006,(S1).
[13]何敏.74LS164在8031单片机中的两种用法[J].电子技术应用,1991,(09).
附录A:基于单片机的PWM输出控制的硬件原理图附录B:基于单片机的PWM输出控制的源程序#include<reg52.h>#include<stdio.h>#include<math.h>#include<intrins.h>#defineucharunsignedchar#defineuintunsignedintuinttime=0;uintData;//用来调节PWM的占空比,通过调节电位器来实现的sbitPWMOUT0=P0^0;//控制LED灯sbitPWMOUT1=P0^1;sbitPWMOUT2=P0^2;sbitPWMOUT3=P0^3;sbitDAT=P1^0;//LED数码管的显示数据:DATAsbitCLK=P1^1;//CKucharcodetab[]={0xfc,0x60,0xda,0xf2,0x66,0xb6,0xbe,0xe0,0xfe,0xf6};//存储地址sbitBEEL=P1^7;//控制蜂鸣器sbitP0_4=P0^4;//报警指示灯sbitclk_adc0832=P3^6;//ADC0832时钟sbitcs_adc0832=P2^0;//ADC0832片选sbitdi_adc0832=P3^7;//ADC0832输入sbitdo_adc0832=P3^7;//ADC0832输出//**************************************************************///**功能:AD转换程序//**************************************************************/uchargetvalue0832(bitchannel){uchari,dat1=0,dat2=0;clk_adc0832=0;//ADC0832没转换之前:cs=0,di\do电平任意di_adc0832=1;//第一个脉冲下沉之前di=1,启始信号cs_adc0832=0;clk_adc0832=1;_nop_();clk_adc0832=0;//第一个脉冲下沉后:di输出两位数据进行通道选择,如00、01、10、11di_adc0832=1;//第二个脉冲下沉之前:di=1,确定通道极性clk_adc0832=1;_nop_();clk_adc0832=0;//第二个脉冲下沉后di_adc0832=channel;//第三个脉冲下沉之前:di=channel,确定通道clk_adc0832=1;_nop_();clk_adc0832=0;//第三个脉冲下沉后di_adc0832=1;//释放总线,此时读取do状态,又do与di相连。for(i=0;i<8;i++)//第四个脉冲下沉到第11个脉冲下沉:do输出转换数据,data7到data0{clk_adc0832=1;_nop_();clk_adc0832=0;if(do_adc0832)dat1|=0x80>>i;}for(i=0;i<8;i++)//第12个脉冲下沉到第19个脉冲下沉:do输出转换数据,data0到data7{if(do_adc0832)dat2|=0x01<<i;clk_adc0832=1;_nop_();clk_adc0832=0;}cs_adc0832=1;//cs=1禁止芯片di_adc0832=1;//释放总线,禁止数据转换,进入起始位子clk_adc0832=1;if(dat1==dat2)//验证数据转换是否正确returndat1;}//**********************************
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小尺寸金纳米棒:从精准调控到多元应用的深度剖析
- 小型猪静脉注射舒眠宁Ⅱ的多维度探究:麻醉、药代与临床实践
- 小型多光谱相机无人机云台系统:技术、应用与发展
- 2026年高端质谱仪项目评估报告
- 2026年智能负离子发生器项目可行性研究报告
- 2026年伴随诊断项目评估报告
- 2026年智能真空封口机项目公司成立分析报告
- 2026年智能铝合金百叶电机项目评估报告
- 2026年陶瓷基复合材料项目可行性研究报告
- 2026年耳科再生医学项目商业计划书
- 展馆人流方案模板
- 128个护理诊断及措施
- 冬季高速公路安全培训
- 感应加热器安全操作规程
- 音乐与乐器的声学原理
- 《网络与信息安全管理员》三级考试题库(含答案)-20230926094641
- 内镜室医生护士职责
- 2023年新高考I卷英语试题讲评课件-2024届高考英语一轮复习
- 提高铝模板施工质量合格率
- MT/T 106-1996顺槽用刮板转载机通用技术条件
- GB/T 6672-2001塑料薄膜和薄片厚度测定机械测量法
评论
0/150
提交评论