AVR单片机的步进电机_第1页
AVR单片机的步进电机_第2页
AVR单片机的步进电机_第3页
AVR单片机的步进电机_第4页
AVR单片机的步进电机_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、翎台港申3程裁皆与篇学生毕业论文基于AVR单片机的步进电机控制学生姓名:王振军入学时间:2007年9月专业名称:计算机控制技术班级:07级计算机控制技术指导教师:姜虎强职称:基于AVR单片机的步进电机控制摘要本文介绍了步进电动机的发展,国内的现状和步进电动机未来的发展前景。设计了一种新型的主要由AVR单片机和L298驱动器构成的电机调速控制器。详细介绍了本调速控制系统的工作原理、光电编码器接口电路、驱动接口电路和相应的各种控制软件设计。绘制了原理图和PCB板图,撰写了程序源代码。这期间主要使用protel99软件绘制原理图和制板。最后通过硬件的调试验证程序代码的实际功能,完成对控制器的设计。实

2、验结果表明,设计的调速控制器具有良好的工作性能。关键词AVRI片机步进电动机控制器BasedonMCUofSteppingMotorcontrolAbstractIntroductionstepenterelectricmotorofdevelopmenthistory,andlocalpresentconditionandstepenterelectricmotorfutureofapplicationforeground.Andelaboratedasteptoenterelectricmotortoturnsoon,angle,turnJuofcontrolprinciple.Thist

3、extelaboratedakindofstepenterelectricalengineeringcontrollerofdesignproject,anddrewprinciplediagramandPCBplankdiagram,composedaproceduresourceacode.Realizationtostepentertheelectricmotorturnsoon,angleofcontrol,andcompletionrealobjectofcreation.Thisperiodmainusagetheprotel99sethesoftwaredrawprinciple

4、diagramandmakeplank,usageproteus7.1softwarescarryonanimitateofprocedurecodetruewiththetheoriesofthefunctionverification.Theendexperimentcertificateprocedureacodethroughanadjustofhardwareofactualfunction,completiondesigncontroller.KeywordsAVRMCUStepperMotorController目录第一章、绪论11.1 步进电机发展11.2 步进电机的应用前景1

5、1.3 设计内容1第二章、系统工作原理22.1 步进电动机控制系统22.2 控制单元2第三章、Atmega16单片机33.1 Atmega16主要功能43.2 Atmega16引脚功能5第四章、硬件系统设计64.1 步进电动机的控制原理64.2 L298芯片简介64.3 控制电机64.4 LCD液晶显示及电路7第五章、软件实现95.1 主程序流程图95.2 主程序编程95.2.1 主程序代码105.2.2 液晶显示汉字14毕业设计总结18致119参考文献20第一章、绪论1.1 步进电机发展步进电机又称电动机或阶跃电动机,国外一般称为Stepmotor或Steppingmotor等。步进电机的机

6、理是基于最基本的电磁铁作用,20世纪60年代后期,随着永磁性材料的发展,各种实用性步进电动机应运而生,而半导体技术的发展则推进了步进电动机在众多领域的应用。在近30年间,步进电动机迅速地发展并成熟起来。从发展趋向来讲,步进电动机已经能与直流电动机、异步电动机,以及同步电动机并列,从而成为电动机的一种基本类型。我国步进电动机的研究及制造起始于本世纪50年代后期。自80年代中期以来,由于对步进电动机精确模型做了大量研究工作,各种混合式步进电动机及驱动器作为产品广泛利用。1.2 步进电机的应用前景目前,随着电子技术、控制技术以及电动机的发展和变化,传统电机分类间的界面越来越模糊。步进电机必然会成为机

7、电一体化元件组件的必然趋势。由于步进电机具有控制方便、体积小等特点,所以在数控系统、自动生产线、自动化仪表、绘图机和计算机外围设备中得到广泛应用。微电子学的迅速发展和微型计算机的普及与应用,为步进电动机的应用开辟了广阔前景,使得以往用硬件电路构成的庞大复杂的控制器得以用软件实现,既降低了硬件成本又提高了控制的灵活性,可靠性及多功能性。市场上有很多现成的步进电机控制机构,但价格都偏高。应用SG%司推出的L298芯片可方便的组成步进电机驱动器,并结合Atmega16L单片机可以构成很好的步进电机控制系统12。1.3 设计内容在各类机电系统中,随着社会的快速发展,步进电机已广泛运用于工业控制、日常生

8、活领域的各个方面。因此设计一种新的步进电机控制器,它具有调速精度高、响应速度快和耗损低等特点。本设计由AV印片机、L298驱动器及液晶显示构成的步进电机控制器。本设计具有扩展功能:具有通信能力,可接收其他数据设备发来的命令,或将结果传送到其他数据设备,可具备与上位机的通信能力,控制更给直观、简便。第二章、系统工作原理步进电动机是一种将电脉冲信号转换成角位移或线位移的机电元件。步进电动机的输入量是脉冲序列,输出量则为相应的增量位移或步进运动。正常运动情况下,它每转一周具有固定的步数;做连续步进运动时,其旋转转速与输入脉冲的频率保持严格的对应关系,不受电压波动和负载变化的影响。由于步进电动机能直接

9、接受数字量的控制,所以特别适宜采用微机进行控制。2.1 步进电动机控制系统步进电动机本体、步进电动机驱动电路和控制单元构成步进电动机系统不可分割的三大部分。系统框图见下图2-1:图2-1步进电动机系统框图A/D疆动电器通信瑞口步进电机是数字控制电机,它将脉冲信号转变成角位移,即给一个脉冲信号,步进电机就转动一个角度,因此非常适合于单片机控制。步进电机可分为反应式步进电机(简称VR、永磁式步进电机(简称PM和混合式步进电机(简称HB。步进电机区别于其他控制电机的最大特点是,它是通过输入脉冲信号来进行控制的,即电机的总转动角度由输入脉冲数决定,而电机的转速由脉冲信号频率决定。步进电机的驱动电路根据

10、控制信号工作,控制信号由单片机产生。具基本原理作用如下:(1)控制换相顺序通电换相这一过程称为脉冲分配。例如:三相步进电机的三拍工作方式,其各相通电顺序为A-B-CD,通电控制脉冲必须严格按照这一顺序分别控制A,B,C,D相的通断。控制步进电机的转向如果给定工作方式正序换相通电,步进电机正转,如果按反序通电换相,则电机就反转。(3)控制步进电机的速度如果给步进电机发一个控制脉冲,它就转一步,再发一个脉冲,它会再转一步。两个脉冲的间隔越短,步进电机就转得越快。调整单片机发出的脉冲频率,就可以对步进电机进行调速。因此选用AV如片机控制步进电机具有优势性。2.2 控制单元控制单元、驱动电路为控制系统

11、的核心部分。控制单元是整个系统最核心的部分,是系统的指挥中心。用于协调各部分的运行,主要负责接收通信端口或输入电路送来的信息,并对其进行识别、译码,并做出相应的动作,发出控制信号用以控制步进电动机。控制单元实质上是具有处理能力的微处理器芯片,本文选用由ATEML公司生产的Atmega16单片机3。2.3 驱动电路步进电动机不能直接接到工频交流或直流电源上工作,而必须使用专用的步进电动机驱动器,如图2-2所示,它由脉冲发生控制单元、功率驱动单元、保护单元等组成。驱动单元与步进电动机直接耦合,也可理解成步进电动机微机控制器的功率接口。驱动电路是负责将控制单元送来的微电流信号进行放大用以驱动步进电动

12、机运转,驱动电路实质上是功率放大器。常见的驱动电路:单电压型功放电路、高低压切换型功放电路、斩波恒流功放电路等再就是采用专用的集成芯片。本文采用L298芯片,由这种芯片构成的驱动电路具有控制方便、精度高、并且不需要外围扩展。控制原理图2-2如下:5Vn'羁%斩次弱笔+5V|6植¥学步/手后方向他倦一新诚投蚪贯点箱目-stfl就擅馥二强皆wir.B维源二联胃第三章、Atmega16单片机3.1Atmega16主要功能AV如片机主要有ATtiny、AT90和ATmegsE种系列,其结构和基本原理都相类似。本次设计所用到的Atmega16LE片,在这里作为电机控制的核心部件。它是一

13、种具有40引脚的高性能、低功耗的8位微处理器。其功能特性如下4:(1)8位CPU(2)先进的RISC结构:131条指令-大多数指令执行时间为单个时钟周期。32个8位通用工作寄存器。全静态工作。(3)非易失性数据和程序存储器:16K字节的系统内可编程Flash,擦写寿命可达到10,000次以上。具有独立锁定位的可选Boot代码区,通过片上Boot程序实现系统内编程。(4)可通过JTAC®口实现对FLASHEEPROM编程。(5) 32个可编程的I/O引线,40弓唧PDIPM装。(6)两个具有独立预分频器和比较器功能的8位定时器/计数器,一个具有预分频器、比较功能和捕捉功能的16位定时器

14、/计数器。(7)片内/片外中断源。(8)具有一个10位的AD专换器,能又t来自端口A白8位单端输入电压进行采样。(9)工作电压:2.75.5V。速度等级:08MHzAVRI片机的主要特点如下:1 .片内集成可擦写10000次以上的Flash程序存储器。由于AVRS用16位的指令,所以一个程序存储器的存储单元为16位,AVR勺数据存储器还是以8个Bit(位)为一个单元,因此AVR®是属于8位单片机。2 .高度保密(LOCK)。可多次擦写的FLASK有多重密码保护锁死(LOCK浊能,因此可低成本高速度地完成产品商品化,并且可多次更改程序(产品升级)而不必浪费1C或电路板,大大提高了产品的

15、质量及竞争力。3 .超功能精简指令。具有32个通用作寄存器(相当于8051中的32个累加器),克服了单一累加器数据处理造成的瓶须现象,1284K字节SRAMT灵活使用指令计算,并可用功能很强的C语言编程,易学、易写、易移植。4 .程序写入器件可以并行写入(用编程器写入),也可使用串行在线编程(ISP)方法下载写入,也就是说不必将单片机芯片从系统上拆下,拿到万用编程器上烧写,而可直接在电路板上进行程序的修改、烧写等操作,方便产品升级,尤其是采用SMD封装,更利于产品微型化。3.2Atmegal可脚功能Atmega16改列直插式(PDIP)引脚如图3-1:(XCKTO)PBO匚lT1)PB1匚(I

16、INT2/W0)PB2匚(CKC/AIN)PB3匚(SS)阳匚tMOSI)PB5匚(MISO)IV.HL(SUK)PHFLRE=rVCC匚GhlDEXTADi_XTAL1r(FtXDPDOr(TKD)PP1匚tiNin)ph?匚(INIJPD3E(OC1B)PCM匚(OC1A)PD5匚(ICPll)PD6匚-PAO(ADCOi二PAI(ADCli-FAZ(ADG2|二PA3(ADG3IIPA4OWE PA&(ADC51 Pfi>B(ADC61_RA7iADC7)二AREF二GND AVCCPCT(TOSC2 PC6(TOSC1)JPG5(TDI) PC4(TDO)二PC3IMS)

17、二PC2:TCK)ZPC1rSDA)二PCT(SGL)PD7(OC2图3-1Atmega16L(PDIP)图引脚功能简述如下:A/VCC:模拟/数字电源;AREF:A/D转换参考电压;XTAL1/2:晶振;RESET:复位;AREF:A/D转换参考电压;PAPD:双向I/O口;TXD:USART输出弓|脚;RXD:USART输入弓唧;OC1APWM波形输出端;综合以上所述,正因为ATMEGA倦片机的先进性,本设计选用该型号的单片机第四章、硬件系统设计经过对控制器原理、ATmegal6的总体了解和掌握以及对各种元器件和电路图的分析和比较后,现在就进入硬件电路的设计。在本章里,主要设计液晶模块的连

18、接和显示方式、控制电路中所用到的各种芯片和元器件的原理和一些功能,并画出总的控制原理图。4.1 步进电动机的控制原理步进电机是一种将电脉冲信号变为相应的直流位移的数字/模拟变换器。每当电机绕组接收一个脉冲时,转子就转过一个相应的角度(步距)。步进电机的角位移量和输入脉冲的个数严格成正比。在时间上与输入脉冲同步,因而只要控制输入脉冲的数量、频率和电机绕组的相序,即可获得所需要的转速和转动方向。4.2 L298芯片简介L298芯片是一种高压、大电流双全桥式驱动器,其设计是为接受标准TT出辑电平信号和驱动电感负载的,例如继电器、圆筒形线圈、直流电机和步进电机,具有两抑制输入来使器件不受输入信号影响。

19、每桥的三级管的射极是连接在一起的,相应外接线端可用来连接外设传感电阻。可安置另一输入电源,使逻辑能在低压下工作。L298芯片是具有15个引出脚的多瓦数直插封闭的集成芯片。这里使用半步工作方式和两相激励的基本步距工作方式。L298的控制和引脚如图4-1560KICQHTROt.InputsFunctionVtfl=HC-H;D=LForwardC=L;ReverseC=DFastMotorStopV=LC-X;D=XFreeRunningJ/OtqrStopH-HighX=Doflslcare图4-1L298引制脚控4.3 控制电机通过不同的连接可以驱动两相步进电动和驱动四相步进电机(可承受的最

20、高电压为45V,每相电流可达2A)。单片机(简称mW发出时钟信号、正反转信号、工作模式信号、复位信号、使能信号及控制信号。CW/CCW制电机的转向,取1和取0时转向相反。CLOCK步进脉冲信号输入端,在每一个脉冲的下降沿,电机产生一步步进。HALF/FUL的半步或基本步距模式设置,为1时是半步模式,为0时是基本步距。CONTORL斩波控制,当为0时,控制INH1和INH2;当为1时控制ABCDENABL使能输入,当为0时,INH1、INH2、A,B,C口赭8为0。RESE输入,当为0时,脉冲分配器回到初状态(HOMEL297通过控制L298双H1成电路,来驱动步进电机。电路中,L298的15引

21、脚上的两个电阻用来调节斩波器电路的参考电压。该电压通过管脚13、14所反馈的电位的大小比较,来确定是否进行斩波控制,以达到控制电机绕组电流峰值、保护步进电机的目的。综上所述:步进电机的转速取决于CLOCK脉冲频率,角位移取决于CLOC的脉冲个数,转矩大小则取决于参考电压Vref的大小。总的控制如图4-2所示。kpFCRYSTAUM叩i|学寸%一g4(RIP)2PH7哪脸1trap)3(超m)6tM)7FH517照osq(E)EPB41615(OCJPB2L4向9(KFjII4tESTPD6rmFBIFBOvccIWAIKl)】题棚加图4-2系统总的控制原理图4.4 LCD液晶显示及电路单片机与

22、液晶显示模块之间的连接方式分为直接访问方式和为间接控制方式两种。如图4-1,其中左为单片机,右为液晶显小模块。HD61202及其兼容液晶显示控制器是一种带有驱动输出的图形液晶显示控制器,而在小规模点阵液晶显示模块上使用液晶显示驱动器组成液晶显示驱动控制系统是非常有益的,这将使液晶显示模块的硬件电路简单化,从而降低模块的成本,同时也提高了对软件功能的要求。许多显示功能如光标、字符库、闪烁都需要由软件编制而成。HD61203和HD61202就是这类液晶显示驱动控制器套件。之所以称它们为套件是因为HD61203和HD61202必须配套使用,通常有12864和19264两种规格。其特点如下:1. 内藏

23、64*64=4096位显示RAM,RAM中每位数据对应LCD屏上的一个点的亮、暗状态。2. HD61202及其兼容控制器是列驱动器,具有64路列驱动输出。3. HD61202及其兼容控制驱动器读、写时序与68系列微处理妻相符,因此它可直接与68系列微处理器借口相联。4. HD61202及其兼容控制器的占空比为1/321/64。下19330R20330VCCRI610KPBO1PBOCXCEJTO)(ADCOJPAaPBJ(Tl)(ADCIJPAIPB2(AINTCMINT2)(JlDC2)PA2PB3(AINT1JOOQ)t*DC3)PA3P网丽(ADC4)PA4FB5(MQSI)(*I)C5

24、)PA5(ADC6)PAePB70CKJ(ADC7JPA7PDO(RXD)(SCLJP0OPDUTXD)(SDA>PC1PD2(INT0)(TCKJPC2PD3(INT1)(TMS)PC3PD4gB)(TDO)PC4PDS(OCIA)(TDDPC5PD6(IP)(TOSC1)PC6PD7(OC2)(TOSC2)PC7VCCAVCC40VoltagePB1239CwrentPB2338TemperatuBPB3437LCD_ENPB4536LCD_RWMOS16充LCD_RSHISO734LCD_CS2SCKS3SLCD_CSi422BEN152324TCKKEY11725TMS26TDO

25、PWN1927TDIKEY22028DIRKEY32129EHRESET9W10_:C1卜嵬RESETAVREFXTAL2GKDXTAL1GKD3二®X21231104XI13L_UIATMEGA1EGHD_ICII22pGNDGNDCIO22p图4-3间接控制方式电路图间接控制方式是单片机通过自身的或系统中的并行接口与液晶显示模块连接。单片机通过对这些接口的操作,以达到对液晶显示模块的控制。这种方式的特点就是电路简单,控制时序由软件实现,可以实现高速单片机与液晶显示模块的接口。电路图如图4-3所示。在图中以P1口作为数据口,P3.4为CSAP3.3为CSBP3.2为使能端,P3.1

26、为R/W和P3.0为D/I信号。电位器用于显示对比度的调节。第五章、软件实现5.1主程序流程图在本章里,先介绍C语言开发的优势,特性等,接卜来便是最主要的整个程序的设计图5-2,图5-3所示。(取出号命令号耋雨然后介绍LCD的显示原理、模块的软件,下图式整个系统的软件流程,如图5-1,(初始枇)色算出电机转电/印苴X与设卷矗!1图5-3中断程序图5-1主程序流程图图5-2速度控制程序5.2主程序编程C语言是一种编译型的结构化程序设计语言,具有简单的语法结构和强大的处理功能,具有运行速度快、编译效率高,移植性好和可读性强等多种优点,可以实现对系统便件的直接操作。用C语言来编写目标系统软件,可以大

27、大缩短开发周期,且明显地增加软件的可读性,便于改进和扩充,从而开发出大规模、高性能的应用系统。其优势如下7网:1、省去了人工分配单片机资源的工作,在汇编语言中要为每一个子程序分配单片机的资源。在使用C语言后,只要在代码中申明一下变量的类型,编译器就会自动分配相关资源,根本不需要人工干预,从而有效地避免了人工分配单片机资源的差错。2、汇编语言的可移植性很差,而C语言只要将一些与硬件相关的代码作适当的修改,就可以方便地移植到其它种类的单片机上。3、C语言提供auto、static、flash等存储类型,针对单片机的程序存储空间、数据存储空间及EEPROM间自动为变量合理地分配空间,而且C语言提供复

28、杂的数C编译器能够自动实现中断服务程序供用户使用。并且C编译器能自动(或C编译器提供)的实时操作系统据类型,极大地增强了程序处理能力和灵活性。的现场保护和恢复,并且提供常用的标准函数库,生成一些硬件的初始化代码。4、对于一些复杂系统的开发,可以通过移植来实现。正由于C语言在系统开发中的优势,这次设计的所有程序设计都将采用C语言编写,且通过ICCAV就译器操作AVR勺硬件资源。5.2.1 主程序代码*head.h*/#ifndef_HEAD_H#define_HEAD_H#include<avr/io.h>#include<util/delay.h>#include<

29、;avr/interrupt.h>#include<avr/signal.h>#include<math.h># defineTOPOCR1A# definePWMCONREG1TCCR1A# definePWMCONREG2TCCR1B# definePWM_IODDRD|=_BV(PD5)#defineL298_DIRPORTD#defineL298_OUTDDRD|=0xfc#defineRESET0X40#defineS_CONTROLL298_DIR|=CONTROL#defineC_CONTROLL298_DIR&=CONTROL#define

30、ADC_OUTDDRA/ADC模数转换寄存器宏#defineADCWAYREGADMUX#defineADCCONREGADCSRA#defineADCIOSFRSFIOR#defineADCDATLADCL#defineADCDATHADCH#defineADCDATADC#defineAD_ENADEN#defineAD_SCADSC#defineMODE11/半步工作#defineMODE22/基本步距#defineHALFMODESTR"HALFSTEPMODE?"工作方式字符串宏#defineNORMALSTR"NORMALMODE?"*hea

31、d.h*/*PWM.c*/#include"head.hvoidPWM(unsignedpps)脉冲控制函数counter=0;vn=0;topfix=1000000/pps;n1=(10000-top巾x)/STEP+2)*(2*N);if(n<2*n1)display_str(0,0,"error!");return;n2=n-n1;TOP=10000;PWMCONREG1=0X41;/设置PWM模式PWM_IO;置PWM口为输出(PD5)SEI;/使能全局中断OPEN_CMP1A;使能输出比较匹配A中断PWMCONREG2=0X11;/设置PWM模式w

32、hile(1)if(key_value=key()='4')&&!ky)PWMCONREG2=0;CLI;return;elseif(counter<n1)display_str(0,0,"moveup.!");elseif(counter=n)display_str(0,0,"stop!");elseif(counter>n2)display_str(0,0,"movedown.!");elsedisplay_str(0,0,"isopluse!。;adcdisplay();/*

33、PWM.c*/L298.C*/*#include"head.h"voiddouble_half_mode1(void)/半步工作方式(HALF;S_CONTROL;voiddouble_full_mode2(void)/两相激磁基本步距(FULL;S_CONTROL;/on-offmode模式执行子函数voidL297_1(unsignedcharmode,chardirection,unsignedpps)(ky=0;n=0xffffffff;L298_OUT;S_RESET;switch(mode)/L298工作模式选择(case 1: double_half_mode

34、1();break;case 2: double_full_mode2();break;default:display_str(0,0,"modeerror!");switch(direction)/正反方向选择(case'+':CW;break;case'-':CCW;break;default:display_str(0,0,"directionerror!");PWM(pps);display_str(0,0,"Stop!");)/dot-placemode模式执行子函数voidL297_2(un

35、signedcharmode,chardirection,unsignedpps)ky=1;L298_OUT;S_RESET;switch(mode)/L298工作模式选择case 1: double_half_mode1();break;case 2: double_full_mode2();break;default:display_str(0,0,"modeerror!");)switch(direction)正反方向选择case'+':CW;break;case'-':CCW;break;default:display_str(0,0

36、,"directionerror!");)n=n*2;PWM(pps);调用PWM函数)*L298.c*/*main.c*#include"head.h"voidset_fre(void)/频率设定子函数clear();/清屏display_str(0,0,"1000pps");while(1)(do(key_value=key();if(key_value='4')return;while(!key_value);if(key_value='2')(ch=(ch+1>=58)?'1

37、9;:(ch+1);fre=(fre+1000>=10000)?1000:(fre+1000);elseif(key_value='3')(ch=(ch-1<=48)?'9':(ch-1);fre=(fre-1000<=0)?9000:(fre-1000);display_char(0,0,ch);5.2.2液晶显示汉字LCD本身不发光只是调节光的亮度,目前市面上的LCD显示器都是利用液晶的扭曲一向列效应制成,这是一种电场效应,夹在两片导电玻璃电极间的液晶经过一定处理,它内部的分子呈直角扭曲,当线性偏振光透过其偏振面便会旋转一个直角。当在玻璃电

38、极上加上电压后,在电场作用下,液晶的扭曲结构消失,偏振光便可以直接通过。当去掉电场后液晶分子又恢复取扭曲结构。把这样的液晶置于两个偏振片之间,改变偏振片相对位置就可以得到白底黑子或黑底白字的显示形式。1、LCD模块的说明本设计采用的LCD是北京精电蓬远显示技术公司生产的MGLS(列图形液晶显示模块,其内藏KS0108B/HD61202空制器。KS0108B及其兼容控制驱动器(HD61202)的指令系统比较简单,一共只有7条指令,从作用上可分为两类。第一条指令和第二条指令为显示状态设置类;其余指令为数据读/写操作指令。下面是各个指令的功能:表5-1读状态指令R/WRSDB7DB6DB5DB4DB

39、3DB2DB1DB010BUSY0ON/OFFREST0000状态字是计算机了解HD6120极具兼容控制驱动器当前状态,或是HD61202M其兼容控制驱动器向计算机提供其内部状态的唯一的信息渠道。状态字为一字节,其中仅有3位有效位,它们是:BUSYft示当前HD61202®口控制电路运行状态。BUSY=Hg示HD612021E在处理计算机发来的指令或数据。此时接口电路被封锁,不能接受除读状态字以外的任何操作。BUSY=0ft示HD612028口电路已处于“准备好”状态,等待计算机的访问。ON/OFFft示当前的显示状态。ON/OFF-俵示关显示状态;ON/OFF=0g示开显示状RES

40、E俵示当前HD61202勺工作状态,即反映RS础的电平X犬态。当RST为低电平状态时,HD61202处于复位工作状态,RESET=1当RST为高电平状态时,HD61202为正常工作状态,RESET=0在指令设置和数据读写时要注意状态字中的BUS而志。只有在BUSY=0寸,计算机对HD61202勺操作才能有效,因此计算机在每次对HD6120跳作之前,都要读出状态字以判断BUSY1不为“0”。若不为“0”,则计算机需要等待,直至BUSY"财止。表5-2显示开关指令R/WRSDB7DB6DB5DB4DB3DB2DB1DB00000111111/0该指令设置显示开/关触发器的状态,由此控制显

41、示数据锁存器的工作方式,从而控制显示屏上的显示状态。D位为显示开/关控制位。当D=1为开显示设置,显示数据锁存器正常工作,显示屏上呈现所需的显示效果。此时在状态字中ON/OFF=0当D=0为关显示设置,显示数据锁存器被置零,显示屏呈不显示状态,但显示存储器并没有被破坏,在状态字中ON/OFF=1表5-3显示起始行设置指令R/WRSDB7DB6DB5DB4DB3DB2DB1DB00011显示起始行(0-63)HD61202有64行显示的管理能力,03FH(164行)范围内,它规定了显如果定时间隔地,等间距地修改(如该指令设置了显示起始行寄存器的内容。该指令中L5L0为显示起始行的地址,取值在示屏

42、上最顶一行所对应的显示存储器的行地址。加1或减1)显示起始行寄存器的内容,则显示屏将呈现显示内容向上或向下平滑滚动的显示效果。表5-4页面地址设置指令R/WRSDB7DB6DB5DB4DB3DB2DB1DB00010111该指令设置了页面地址一一X地址寄存器的内容。HD61202将显示存储器分成8页,指令代码中P2-P0就是要确定当前所要选择的页面地址,取值范围为0-7H,代表第1-8页。该指令规定了以后的读/写操作将在哪一个页面上进行。表5-5列地址设置指令R/WRSDB7DB6DB5DB4DB3DB2DB1DB00001显示列地址(0-63)该指令设置了Y地址计数器的内容,C5C0=03F

43、H(1-64)代表了某一页面上的某一个单元地址,随后的一次读或写数据将在这个单元上进行。Y地址计数器具有自动加1功能,在每上次读/写数据后它将自动加1,所以在连续进行读/写数据时,Y地址计数器不必每次都设置一次。页面地址的设置和列地址的设置将显示存储器单元唯一的确定下来,为后来的显示数据的读/写作了地址的选通。表5-6写数据指令R/WRSDB7DB6DB5DB4DB3DB2DB1DB001写数据该操作将8位数据写入先前已确定的显示存储器的单元内。操作完成后列地址计数器自动加1。表5-7读数据指令R/WRSDB7DB6DB5DB4DB3DB2DB1DB011读显示数据该操作将HD61202S口部的输出寄存器内容读出,然后列地址计数器自动加一。必须注意的是,进行读操作之前,必须有一次空读操作,紧接着再读才会读出所要读的单元中的数据。2、LCD勺简单编程voidlcd_send(unsignedchartemp)LCD_DAR&=0X0F;/清高四位LCD_DAR|=(temp&0XF0);/发送高四位temp<<=4;e_h2l();/产生下降沿_delay_

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论