在科技腾飞发展的今天, 电力能源已日益成为人类生活最主要的能源,随着电需求量的提高,科技的发展,我们需要一种精度比较高的数控交流调压器。本次设计的目的是使设计者熟悉并掌握单片机工作原理,熟练运用单片机和其他一些芯片进行电路设计和编程。用一片89C51单片机做控制器。通过采用整周波过零关断和触发技术,对自偶变压器的次级不等量的绕组用双向可控硅进行组合控制,从而输出可调交流电压。由于没有滑动触点且可控硅采用过零触发,输出的交流电压的波形是连续不断的,且几乎不失真,也不产生高次谐波的空间辐射。
还有电压反馈环节采用的是压频变换,将实际输出的电压再采集回单片机,然后用LED数码管动态显示出来。本设计采用RS-232与计算机通信,得到数据。在程序跑飞的时候采用了看门狗来对单片机进行复位处理。该设计可以对交流电压快速准确的变化,满足一些厂家的应用要求。
第一章 绪论 1.1单片机的概述
当今是计算机技术高速发展的时代,51单片机是我们电子学科做出项目的主要用的芯片。自从1971年微机问世以来,伴随着大规模集成电路技术的不断发展,微型机的发展分成了两支,一是向高速度,高性能的高档次发展;另一个是向稳定、小巧廉价的单片机发展。单片机是把中央处理器、随机存储器、只读存储器、定时器/记数器和I/O接口等主要计算机部件。单片机集成度高、体积小、运算速度快、功耗低、运行可靠、价格低廉;在过程控制、机电一体化、智能化仪器仪表等很多领域得到广泛的应用。因此,在投入使用的各类计算机中,单片机是数量最多,应用最广的。
现在单片机在不断的发展,虽然单片机的品种繁多,各具特色,但仍以80C51为核心的单片机占主流,兼容其结构和指令系统的有PHILIPS公司的产品,ATMEL公司的产品和中国台湾的Winbond系列单片机。所以C8051为核心的单片机占据了半壁江山。
单片机从8位、16位到32位,数不胜数,应有尽有,有与主流C51系列兼容的,也有不兼容的,但它们各具特色,互成互补,为单片机的应用提供广阔的天地,增强型的单片机集成了如A/D转换器、PMW(脉宽调制电路)、WDT(看门狗)、有些单片机将LCD(液晶)驱动电路都集成在单一的芯片上,这样单片机包含的单元电路就更多,功能就越强大。现在的产品普遍要求体积小、重量轻,这就要求单片机除了功能强和功耗低外,还要求其体积要小。现在的许多单片机都具有多种封装形式,其中SMD(表面封装)越来越受欢迎,使得由单片机构成的系统正朝微型化方向发展。不断发展的单片机为我们做设计提供了更多思路与设计空间。
1.2 本文主要研究内容
在科技腾飞发展的今天, 电力能源已日益成为人类生活最主要的能源,而交流电压是我们经常用到的。我们对交流电压的大小和精度要求越来越高,我们日常的生活和生产中很多地方要用到精度高而且要调节起来方便的交流电压,我们能否可以用技术来得到这样调节方便的交流电压成了人们越来越关心的问题。
通过上网和参阅图书对相关资料的查询,我对数控变压器有了一个概括性认识。
随着电需求量的提高,科技的发展,我们需要一种精度比较高的数控交流调压器。
目前,使用的交流可调电压源,普遍采用自偶变压器滑动触点位置的调压方式。其调压精度低,响应速度慢,结构复杂,可靠性差。我们追求一种新型交流稳压技术,用一片89C51单片机做控制器。通过采用整周波过零关断和触发技术,对自偶变压器的次级不等量的绕组用双向可控硅进行组合控制,从而输出可调交流电压。由于没有滑动触点且可控硅采用过零触发,输出的交流电压的波形是连续不断的,且几乎不失真,也不产生高次谐波的空间辐射。在对电压反馈给单片机的过程采用了压频变换技术,把电压转换为频率在送给单片机。在对单片机复位上采用了看门狗技术来监测单片机是否按指示在执行任务,如出现“跑飞”等现象可自动复位。由于采用了光电隔离、合理步线和过冲抑制等抗干扰措施,系统具有很高的可靠性。
在软件编写上语言采用了汇编语言来对芯片进行控制。汇编语言与硬件接近 效率高 程序简单,执行速度快等优点。
第二章系统硬件设计
2.1 系统总体框图
本系统采用一片89C51单片机控制,硬件总框图包括过零检测电路,可控硅调压控制电路、交流输出电压检测电路、看门狗电路、数据通信部分和显示部分。
2.2可控硅调节原理部分
如图所示,变压器T的初级输入电压Ui为220V交流电网电压,次级有4个具有3等分抽头的绕组和一个单绕组。每个绕组电压分别为,0.5V,2V,8V,和32V,单绕组的电压为128V。G1~G18是18只双向可控硅,作为双向开关元件。若控制电路每次只使每个绕组中的一个可控硅导通,其他的都关断,则可以得到一种输出电压。假设G1、G5、G9、G13、G17导通,其他的可控硅都关断,则次级输出电压为UO为零;若G2、G5、G9、G13、G17导通,其他的可控硅关断,则UO=0.5V……按这种方式控制可控硅的通断,18只可控硅有512种组合状态。每个状态都可以输出0.5V的整倍数电压,即输出电压变化范围为0V --255.5V。
为了确保调压器输出完整的正弦波,避免可控硅在通断转换时对电网产生冲击,可控硅控制电路采用电压过零触发方式。在硬件上从电网上取出的过零脉冲可作为可控硅的同步触发信号;软件上,用此做中断源。
为了保证在任何时候变压器的次级的每个绕组只有一个双向可控硅导通,其他的可控硅关断,以避免绕组短路而烧坏可控硅,每个可控硅都有一个译码器进行控制。其中,前4组用两片2-4译码器74LS139译出4组控制信号,分别控制可控硅G1~G16,单绕组用一个“非”门译码后来控制G17和G18。
如果用D0~D8共9位二进制数经译码后译出18种状态,控制5组可控硅,则数字量000H~1FFH对应调压器的输出电压为0~255.5V。图表2-3给出了它们的对应关系,其中1对应可控硅导通。
如果电网电压的波动以及负载发生变化导致输出和给顶电压不相等,则需要通过电压反馈来实现自动调节。为此,要测量出实际输出电压,也给定的电压比较,形成偏差信号,再经过PI运算,其结果通过单片机I/O口控制相应的可控硅,从而达到自动稳压的目的。相应的算法:
Upi(n)=Upi(n-1)+Kp[e(n)-e(n-1)]+Kie(n)
Kp为比例系数,Ki为积分系数,e(n)为本次电压误差信号,e(n)=Ui-U(n);e(n-1)为上次误差电信号
2.3时钟电路
51单片机片内有一个高增益反相放大器,其输入端(XTAL1)和输出端(XTAL2)用与外接石英晶体和微调电容,构成振荡器,电容C1和C2对频率有微调的作用,电容容量的选择一般为30皮法+-10皮法。振荡频率的选择范围为1.2~12MHZ。
2.4过零检测电路
我们采用的过零检测原理,为了确保调压器输出完整的正弦波,避免可控硅在通断的时候对电网产生冲击,所以我们希望操作都是在正弦波过零点的时候完成,所以需要过零检测电路
如图所示过零检测部分调压器初级的220V交流电压经电阻R1限流以后直接加到两个反向并联的光电偶合器GD1和GD2的输入端.在交流电源 正负半周,GD1和GD2分别导通.输出U0为低电平;在交流电源正弦过零的瞬间.GD1和GD2均不导通.U0输出为高电平.该脉冲信号经“非”门整形后,作为单片机的中断请求信号和可控硅的过零同步信号.
关于光电偶合器:在光电耦合器的输入端加电信号使发光源发光,光的强度取决于激励电流的大小,光照射到封装在一起的受光器上后,因光电效应而产生了光电流,由受光器输出端引出,这样就实现了电—光—电的转换。
2.5可控硅调压电路
如图所示,89C51的P2口和P3.0经过74LS273和74LS74锁存并过零同步后,用两片74LS139和非门译出18 根控制信号,通过3片74LS07驱动后,用高压过零双向可控硅光电隔离器MOC3041控制18只双向可控硅,实现对变压器的组合控制。由于每组译码器控制一组次级绕组,任何时候每组绕组仅有一个可控硅导通,因此提高了系统的可靠性。另外,用光电隔离器驱动可控硅,既省去了脉冲变压器,又使单片机和强电隔离。
2.5.1可控硅调节部分芯片介绍
74ls273带公共始终和复位的八位D触发器,74LS74是带置位复位的上升沿D触发器。由过零脉冲来当它俩的时钟。由于采用了过零脉冲做时钟,对可控硅的控制都是在正弦波过零点的时候来完成的。这样可以确保了调压器输出完整的正弦波,避免了可控硅在通断转换时对电网产生冲击。
74LS139是双2—4译码器。通过74LS139的译码来控制可控硅的导通情况。译码情况根据上面给出的对应的图来确定是那些可控硅能导通,根据确定的导通的可控硅完实现电压的调节
74LS07是六高压输出缓冲器/驱动器,它的高压集电极开路输出特性使它能用于高电压接口电路或者驱动大电流负载。它也被用来做驱动TTL的缓冲器。74LS07额定输出电压是30V。它最大能输出40mA的灌电流。
MOC3041是常用的双向晶闸管输出的光电耦合器,带过零触发电路可有效抑制伺服驱动系统通过信号通道、电源以及空间电磁场对计算机系统的干扰。通过光电耦合器的隔离和驱动来调节交流电压。
2.6 WATCH DOG 电路/复位电路
WDT俗称看门狗,是单片机或者计算机系统中的监视定时器的通俗叫法.看们的主要功能有两个,一是运行监控:在实际的环境中存在着很多的电磁干扰,这种干扰对单片机系统的干扰是很危险的,经常会使一些没有经过抗干扰设计的系统死机或者跑飞,这是用户所不能够预料到的,但是可以进行复位,重新运行程序
二是电压监控:在实际环境中,有可能出现这样或者那样的意外的状况,电源输入有可能会出现问题,输入过大或者过小,这对整个系统是很危险的,所以,需要在电压出现特殊状况的时候对电压进行复位操作,使其重新进入循环,以免出现不确定的状态使系统出现跑飞的现象.
硬件看门狗电路是一个独立的运行的定时器,这个定时器要具有清零和超时溢出信号端.可以采用专有的看门狗电路,也可以用一些记数器芯片制作一个看门狗电路.看门狗的溢出信号断接到单片机的复位端口,如果出现超时溢出信号,将单片机进行复位操作.为了不使看门狗溢出,在程序的执行过程中,要周期性的对看门狗计数器进行清零操作.看门狗的定时时间要依据系统的循环时间周期来确定.我们用74LS590的级联来做看们狗电路.74LS590是8位计数器.片上带有输出寄存器,都是可以控制的,级联的时候直接将进位端接到下级的始终端即可,其中端口CLK是硬件看门狗的时钟输入,MCLR接单片机的复位端进行复位,I/O_CLEAR是接到单片机的I/O端口来对74LS590进行循环清零操作的.当第二级74LS590溢出时,产生负脉冲,但单片机进行复位操作.在看门狗的每一个计数周期内,单片机都要通过I/O口,输出清零脉冲对74LS590进行清零操作,否则看门钩就会对单片机系统复位.
2.7交流输出电压检测电路
如图所示,调压器的交流输出电压经过变压器降压以后,用两个运算放大器A1,A2进行整流滤波。当Ui>0时,此时二极管D2导通,二极管D1截止,所以运算放大器A1的输出为Ui1=-2Ui。而在运算放大器A2前端Ui1和Ui叠加,在A2的输出端得到Uo=Ui。
当Ui<0时,此时二极管D2不导通,所以UI不通过A1而直接作用与运算放大器A2,此时是反比例电路,在A2的输出端得到的电压为UO=-UI,因为UI是交流正弦电压的负半周,所以得到了脉动电流。经过运放的全波整流电路,使交流电压成比例的变化为直流电压。
运算放大器选择的是OP07。电源电压范围: +-22v,最大共模输入电压+-22v,
最大差模输入电压+- 30v,转换速率:最大输出电压: +-13v , 0.17V/us,因为运算放大器OP07有这些性质.所以我们在输入电压的范围要多加以考虑.不但要考虑到OP07的输入电压,还要考虑到后一级压频变换芯片LM331的电压工作范围.
为了实现强电隔离,没有采用常规的A/D转换器来作为电压信号的反馈,而是采用了压频变换电路LM331,把电压变化转换为频率的变换.
LM331是美国NS公司生产的性能价格比较高的集成芯片,可用作精密频率电压转换器、A/D转换器、线性频率调制解调、长时间积分器及其他相关器件。LM331采用了新的温度补偿能隙基准电路,在整个工作温度范围内和低到4.0V电源电压下都有极高的精度。LM331的动态范围宽,可达100dB;线性度好,最大非线性失真小于0.01%,工作频率低到0.1Hz时尚有较好的线性;变换精度高,数字分辨率可达12位;外接电路简单,只需接入几个外部元件就可方便构成V/F或F/V等变换电路,并且容易保证转换精度。
f0==Vt/(RLIRt1)
可见,输出脉冲频率f0与输入电压Vi成正比,从而实现了电压-频率变换。式中IR由内部基准电压源供给的1.90V参考电压和外接电阻Rs决定,IR=1.90/Rs,改变Rs的值,可调节电路的转换增益,t1由定时元件Rt和Ct决定,其关系是t1=1.1RtCt,典型值Rt=6.8kΩ,Ct=0.01μF,t1=7.5μs。
由f0=Vi/(RLIRt)可知,电阻Rs、Rl、Rt和电容Ct直接影响转换结果f0,因此对元件的精度要有一定的要求,可根据转换精度适当选择。电容Cl对转换结果虽然没有直接的影响。但应选择漏电流小的电容器。电阻R1和电容C1组成低通滤波器,可减少输入电压中的干扰脉冲,有利于提高转换精度.
2.8计算机与单片机通信部分
单片机组成的电子设备要与计算机通信,传输数据,因为在许多需要大量计算的应用中还必须借助计算机的强大的数据处理。这样必须通过通信电路实现单片机与计算机之间的可靠的数据传输,而最简单的自动化联机方式就是使用串行通信。因为单片机的串行口和计算机的串行口的电平的参数不统一,所以进行单片机与计算机之间的通信时不仅要设计两个端口的软件,还要通过设计的硬件接口电路来实现。
计算机与单片机之间的串行异步通信采用RS-232接口电路实现,利用计算机的串行接口进行数据传输。在异步通信中,数据是逐帧传送的。在帧格式中,一个字符由4部分组成:起始位、数据位、奇偶校验位、和停止位。首先是一个起始位“0”,然后是5~8位数据位(规定低位在前,高位在后),接下来是奇偶校验位(可以省略),最后是停止位“1”。起始位“0”信号只占用一位,用来通知接受设备一个待接受的字符开始到来。在不传送字符的时候,线路上应该保持为“1”。接受断不断检测线路的状态,若连续为“1”以后又检测到一个“0”,就知道要发来一个新的字符,应该立即准备接受。
2.8.1接口器件的说明
典型的RS-232信号在正负电平之间摆动,在发送数据时,发送端驱动器输出正电平电压范围在+5V~+15V。负电平在-5V~-15V。当无数据传送时,线上为TTL电平,从开始传送到数据结束,线上的TTL电平到RS-232电平再返回TTL电平。接受器的典型的工作电平在+3V~+12V与-3V~-12V之间。如此高的电压是不能和单片机直接相连的,所以必须进行电平转换。
MAX232是一款兼容RS-232标准的芯片。该器件包含有两个驱动器、两个接受器和一个电压发生器电路提供TIA/EIA-232-F电平。MAX232具有以下特点:
5V电源供电和4个1.0UF充电电容;满足或超过TIA/EIA-232-F规范要求,符合ITUV。28标准;包含两个驱动器和两个接收器;低工作电流(典型值为8MA);
2000VESD保护;有工业和商业的型号选择。
如图MAX232的管脚分布,此图为MAX232芯片的16管脚双列直插式封装形式。管脚10和管脚11是两路TTL/CMOS输入端,从这两个管脚TTL/COMS电平,通过内部的电平转换为标准的RS-232信号从管脚7和管脚14输出到RS-232信号的传输线上。管脚8和管脚13来接收自RS-232信号传输线上传来的RS-232信号电平。通过内部的电平转换电路将其转换为TTL/COMS电平的信号形式从管脚9和管脚12输出给单片机或者计算机。在我所设计的电路中具体连接如下
我们采用了三线制连接串口,也就是说和电脑的9针串口只连接其中的3根线:第5脚的GND、第2脚的RXD、第3脚的TXD。这是最简单的连接方法,但是对我们来说已经足够使用了,电路如下图所示,MAX232的第10脚和单片机的11脚连接,第9脚和单片机的10脚连接,第15脚和单片机的20脚连接。
2.9 LED数码管显示部分
显示部分采用的LED数码管显示
LED显示控制方式有静态控制方式和动态控制方式两种。
所谓静态显示,就是当显示器显示某一个字符时,相应的发光二极管恒定导通或者截止。这种显示方式的每一位都需要有1个8位的输出控制口控制。静态显示时,用较小的电流就能得到较高的亮度。当显示器的位数比较少时,采用静态显示的方法是合适的。当位数比较多时,所用的I/O线较多,一般采用动态显示方法。
动态显示就是逐位扫描轮流显示。在这种显示方法中,显示器分时工作,每次只能有一个器件显示,由于人的视觉暂留,所以宏观上看起来仍然是所有的器件都在显示。
我采用的是动态显示。逐位点亮各个LED,在每一位上停留1MS,在10MS~20MS之内再重复点亮,这样就利用了人的饿视觉的暂留,好像所有的LED都同时点亮了。
第三章 系统软件设计
3.1 系统工作原理
本系统软件采用模块法设计,用汇编语言编写。从计算机发出指定的数据开始,在单片机通过RS-232接得到数据后,对得到的数据进行软件处理,来控制可控硅的导通,得到预期的交流电压值,为了检测输出电压是否是预期电压值,还有反馈系统在起作用,通过软件编程把实际的电压数值计算出来,在通过LED数码显示出来。如果中途出现程序跑飞等现象,通过看门狗监控软件的编写,可以对单片机进行自动复位,是单片机回到初始状态。
3.2 系统软件工作流程
在主流程中主要的工作是系统初始化。计算机发送预期的交流电压数值个单片机。单片机对数值处理控制可控硅的导通。
显示
定时中断
监测反馈实际电压
串行口中断
输入数据
3.3单片机与计算机通信软件流程
串行通信的传送方向:
串行通信的传送方向通常有3种:一种是单向配置(单工),只允许数据向一个方向传送;另一种是半双向(或半双工)配置,允许数据两个方向中的任何一放传诵,但每次只能有一个站发送;第三种是全双向(全双工)配置,允许双向传送数据。我采用的是计算机对单片机发出指令,这样足够设计要求。所以选择了单工。
因为在硬件部分通信时设置成中断形式,在计算机对单片机发出一个中断信号的时候,两机开始通信
串行接口控制与状态寄存器
SM0、SM1、SM2、REN、TB8、RB8、TI、RI
SM0,SM1是串行口工作方式选择位。在这里我选择方式3接收数据。
SM2是工作方式2,3的允许多机通信控制位,若SM2=1,而接收的第9位数(RB8)为0,则不启动中断接收RI(RI=0)。
REN是允许接收位,由软件置位或者清零。1时允许接受,为0时禁止接收。
TB8是数据发送位,是方式2,3中所接收的第9位数据。
RB8是接收数据位,是方式2,3中要发送的第9位数据。在许多通信协议中,该位是地址数据标识位。
TI是中断标志位,在方式3下,在发送停止位之初,由硬件自动置位。TI=1时,申请中断,CPU响应中断后,发送下一帧数据。TI必须有软件清零。
RI接收中断标志。在方式3中,在接收停止位的中间点,由硬件置位。RI=1时申请中断,要求CPU取走数据。RI需要由软件清零。
当检测到负跳遍的时候开始接收,当采集到最后一位时将8位数据装入SBUF,第9位装入RB8,并置中断标志RI=1。
N
Y
接收数据送内存
N
Y
N
Y
3.4对计算机给定数值的处理
在通信完成之后单片机得到了预期希望得到的电压值,在内部要经过软件处理,把给定的电压根据以上给出的可控硅对应的编码来一一对应上,在通过单片机的I/O口送出控制信号,来完成对那些可控硅导通的控制,实现电压的调制。
3.5 U反馈部分软件 3.5.1 定时器/计数器软件部分
主程序当中完成T0以及参数的初始化,读给定输入值。而在该中断程序中完成,T1定时,对U0的测量,显示的准备,控制输出。
T1中断完成U0的测量。用频率法测量T0定时0.2秒内的脉冲数,T1设置为模式1计数器方式。
当M0,M1为01的时候,定时器/计数器工作在方式1,成为一个16位的计数器,计数器T1由TH1的高8位和TH1的低8位构成。
在压频变换时,要用到T1口计数,T0定时。
特殊功能寄存器TMOD,其格式是:高4位用于定时器1,底4位用于定时器0,其中M1,M0用来确定所选的工作方式,如表
C/T为定时器或者计数器的方式选择位。当为1的时候为对外部事件计数方式;当为0的时候为定时器方式。
GATE为定时器/计数器运行控制位。用来确定对应的外部中断请求引脚是否参与T0或者T1的操作控制。当GATE=0的时候,只要定时器的控制寄存器TCON中的TR0或者TR1置位1时,被允许T0或者T1开始计数。当GATE=1的时候,不仅仅要TOCN中的TR0和TR1置位,还需要P3口的INT0和INT1引脚为高电平,才允许计数。
工作方式选择
T0定时0.2秒,在0.2内用T1对脉冲计数,得到U0的频率。
在进入0.2秒的中断程序前T1在对脉冲计数。
程序流程
PI运算
3.5.2关于中断响应
所谓中断就是指CPU在运行过程中,暂停现行程序的执行,而转去执行处理外界出现的某一事件的程序。该处理程序执行完毕,CPU再回到原来被中断的地方,继续执行下去。为实现中断功能而设定的各种硬件和软件统称为中断系统。
51中有5个中断源,当两个以上中断源同时向CPU申请中断,CPU先响应哪个中断就要涉及到优先级的问题。当CPU关中断的时候将屏蔽所有的中断请求。每一个中断请求源可以编程控制为高优先级中断或低优先级中断。能实现中断嵌套。一个正在执行的低优先级中断服务程序仅能被高优先级中断请求所中断。不能被另一个低优先级中断请求所中断。
中断优先级的控制
51有两个中断优先级。对于每一个中断请求源可编程为高优先级中断或者低优先级中断。中断系统中也有两个不可寻址的优先级状态触发器,一个指出CPU是否正在执行高优先级的中断服务程序,另一个指出CPU是否正在执行低优先级中断服务程序。51中有一个中断优先级寄存器IP,格式是:
IP的低5位为各中断源优先级的控制位,可以用软件来设定:
PS——串行口中断优先级控制位
PT1——定时器/计数器T1中断优先级控制位。
PX0——外部中断1中断优先级控制位。
PT0——定时器/计数器T0中断优先级控制位。
PX0——外部中断0中断优先级控制位
若某控制位是1,则相应的中断源就规定为高级中断;反之,若某一控制位位0,则相应的中断源就规定为低级中断。
当同时收到同一优先级的中断请求时,响应先响应哪个中断的次序由高到低是:
外部中断0
定时器/计数器0
外部中断1
定时器/计数器1
串行口中断
中断的响应
当CPU响应重大的时候,先封锁同级别的中断和低级别的中断,并由硬件自动的清除中断标志。但不清除串行口的中断标志,它们必须由用户软件清除。然后在硬件的控制下,程序转向相应的向量的入口地址,执行中断服务程序。在调用中断服务程序的时候,把程序计数器PC压入堆栈。但不能自动保护程序状态字PSW的内容,同时,把被响应的中断服务程序的入口地址PC。
通常在中断服务程序入口单元内,安排一条跳转指令,以跳转到用户的中断服务程序的入口。中断服务程序的最后一条指令必须是中断返回指令RETI。CPU执行完这条指令后,从堆栈中弹出两个字节内容(断点地址)装入程序计数器PC中,CPU就从原来被中断处重新执行被中断的程序。
3.6LED数码显示部分
主要程序需要完成以下的功能
1是定义字位和字型口。根据驱动的电路的硬件的设计,得到LED的字位和字型口的地址。
2是定义共阴极字型编码(0~9)。及确定LED字型对应单片机中的变量和参数。
3显示。得到字型和字位口的地址后,向不同的字位送数据,进行数据的显示。
4动态扫描。由于使用动态显示法,在LED显示程序中,需要不停的扫描字位口,从而实现不同字位的数据的动态效果
为了存放显示的数字或字符,通常在内部RAM中设置显示缓冲区,其单元个与LED显示的位数向导,如果是5个显示器,则假设显示器的缓冲单元是79H~7DH,动态扫描是从右向做进行,则缓冲区的首地址应为79H。
J接口电路是软件为主的接口电路,对显示的数据以查表的方法得到其字型代码,为此在程序中应该有字型代码表。从0开始依次写入十六进制的字型代码,为了查表方便,先求得变址,然后进行查表操作。
在实际的单片机系统中,LED数码显示程序都是作为一个子程序供监控程序调用。因此各个显示器都扫过一遍之后,就返回监控程序。返回监控程序之后,经过 一段时间间隔后,再调用显示扫描程序,通过这种反复调用来实现LED显示器的动态扫描。
3.7软件抗干扰措施 WD
看门狗软件可以实现对系统运行的检测,实时的就系统的运行状态做出判断,一旦系统出现死机或者跑飞等不正常现象,则可以对单片机复位。本设计是采用在硬件看门狗计数到达设定值溢出之前通过软件的设计,单片机从I/O口输出一个对计数器清零的信号,如果单片机出现跑飞等现象,则无法在计数器溢出前对它实施清零操作,则溢出信号对单片机复位。无疑的,通过看门狗的监视性能,增强了单片机系统的工作可靠性,确保了系统运行的安全和不间断。
第四章 结束语
基于单片机控制可控硅导通来调节交流电压的调压器在生产生活中有着广泛的应用,它具有调节后得到的电压准确,调节速度快等优点,因此必将得到越来越多的应用,为适应这一趋势,作这方面的研究就显得十分重要。在本毕业设计中对用一片89C51单片机做控制器。通过采用整周波过零关断和触发技术,对自偶变压器的次级不等量的绕组用双向可控硅进行组合控制,从而输出可调交流电压并且可自动调节作了初步和基本的研究,它具有硬件电路简单,定位准确调节速度快等特点,在设计过程中完成了以下任务:
1. 研究了基于单片机控制可控硅调节交流电压,并且能反馈真实电压而自动调节的原理;及实现其功能的方法。
2. 学习了压频变换和可控硅的相关知识,使用一片89C51单片机做控制器控制可控硅的导通完成调压。包括:过零检测电路、可控硅调节电路‘电压反馈电路、复位电路、串行通信电路、电路,并用Protel画出了相应的原理图。
3. 编制了软件的流程图。
4. 从整个系统地实现与维护出发,在软硬件的设计中提出了一些抗干扰施。
此外,由于没有足够的时间做出实物及本人经验有限,因此硬件抗干扰措施还存在缺陷,采用了硬件与软件结合的方式设计了看门狗(WD)来监视软件和硬件的操作,在今后的学习与工作中我会注意对这方面知识的积累与总结。
谢 辞
本论文的研究工作是在于少华老师的悉心指导下完成的。在本课题研究期间,于少华老师提供了大量的参考资料,对设计中的难点给予了细心的指导,对论文的细节问题提供了宝贵的意见。毕业设计能够顺利完成离不开老师的指导。在此,对本设计期间给予帮助的于少华老师致以衷心的感谢,真诚地向老师道一声:谢谢您老师!
参考文献
[1] 康华光,陈大钦.电子技术基础模拟部分[M].北京:高等教育出版社,1996.
[2] 康华光,邹寿彬电子技术基础数字部分 [M].北京:高等教育出版社, 2000.
[3] 张艳丰,赵晓霞.MAX-232在远距离多通信系统中的应用[J].济南职业技术学院学报,2005,4(2):18-21.
[4] 张雄伟,陈亮,徐光辉.DSP 集成开发与应用实例[M].北京:电子工业出版社,2002.
[5] 戴佳,苗龙,陈斌. 51单片机应用系统开发典型实例[M].北京:中国电力出版社,2005.
[6]徐维祥,刘旭敏.单片微型机原理及应用 [M].大连:大连理工大学出版社,1996.
[7]曹龙汉,刘安才,高占国.MCS-51单片机原理及应用 [M].重庆:重庆出版社,2004.
[8] 张琛.直流无刷电动机原理及应用[M].北京:机械工业出版社,1996.
[9]李东生,张勇,许四毛.PROTEL 99 SE电路设计教程[M].北京:电子工业出版社,2007.
[10]尹雪飞,陈克安.集成电路素查大全用[M].西安:西安电子科技大学出版社,1997.
[11]蔡美琴,张为民,沈新群,张荣娟.MCS-51系列单片机系统及其应用 [M].北京:高等教育出版社,1992.
[12] 刘勇.基于DSP的无位置传感器无刷直流电机控制系统[J].微特电机,2004,(1).
[13]李军.51系列单片机高级实例开发指南 [M].北京:北京航空航天大学出版社,2004.
[14]求是科技.PIC单片机典型模块设计实例导航 [M].北京:人民邮电出版社,2005.
[15]陈兴文,李敏等.综合电子系统设计与实践 [M].沈阳:东北大学出版社,2002.
[16] 谭浩强.C语言程序设计[M].北京:清华大学出版,2000.
[17] 曹晖.TMS320LF2407中断系统分析及C语言编程[J].新余高专学报,2005,10(2):76-79.
[18] TI.Texas Instruments TMS320LF2407 Users Guide[Z].2000.
[19] TI.TMS320C2xx/C24x code composer User’s guide[Z].2000.
[20] MAXIM Company.MAX232 Data
附 录