AVR单片机的步进电机

上传人:suij****uang 文档编号:148904710 上传时间:2022-09-06 格式:DOCX 页数:25 大小:233.22KB
收藏 版权申诉 举报 下载
AVR单片机的步进电机_第1页
第1页 / 共25页
AVR单片机的步进电机_第2页
第2页 / 共25页
AVR单片机的步进电机_第3页
第3页 / 共25页
资源描述:

《AVR单片机的步进电机》由会员分享,可在线阅读,更多相关《AVR单片机的步进电机(25页珍藏版)》请在装配图网上搜索。

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

2、器的设计。实验结果表明,设计的调速控制器具有良好的工作性能。关键词AVR单片机步进电动机控制器Based on MCU of Stepping Motor controlAbstract Introduction step enter electric motor of development history, and local present condition and step enter electric motor future of application foreground.And elaborated a step to enter electric motor to tur

3、n soon, angle, turn Ju of control principle.This text elaborated a kind of step enter electrical engineering controller of design project, and drew principle diagram and PCB plank diagram, composed a procedure source a code.Realization to step enter theelectric motor turn soon, angle of control, and

4、 completion real object of creation.Thisperiod main usage the protel 99se the software draw principle diagram and make plank, usage proteus 7.1 softwares carry on an imitate of procedure code true with the theories of the function verification.The end experiment certificate procedure a code through

5、an adjust of hardware of actual function, completion design controller.Key WOrdsAVR MCUStepper MotorController第一章、绪论41.1步进电机发展41.2步进电机的应用前景41.3设计容4第二章、系统工作原理52.1步进电动机控制系统52.2控制单元5第三章、Atmega16单片机73.1 Atmega16主要功能73.2 Atmega16引脚功能8第四章、硬件系统设计94.1步进电动机的控制原理94.2 L298芯片简介94.3控制电机104.4 LCD液晶显示与电路11第五章、软件实现

6、125.1主程序流程图125.2主程序编程135.2.1主程序代码135.2.2液晶显示汉字18毕业设计总结21致22参考文献23第一章、绪论1.1步进电机发展步进电机又称电动机或阶跃电动机,国夕般称为Step motor或Steppingmotor等。步进电机的机理是基于最基本的电磁铁作用,20世纪60年代后期,随 着永磁性材料的发展,各种实用性步进电动机应运而生,而半导体技术的发展则推进 了步进电动机在众多领域的应用。在近30年间,步进电动机迅速地发展并成熟起来。 从发展趋向来讲,步进电动机已经能与直流电动机、异步电动机,以与同步电动机并 列,从而成为电动机的一种基本类型。我国步进电动机的

7、研究与制造起始于本世纪 50年代后期。自80年代中期以来,由于对步进电动机精确模型做了大量研究工作, 各种混合式步进电动机与驱动器作为产品广泛利用。1.2步进电机的应用前景目前,随着电子技术、控制技术以与电动机的发展和变化,传统电机分类间的界 面越来越模糊。步进电机必然会成为机电一体化元件组件的必然趋势。由于步进电机 具有控制方便、体积小等特点,所以在数控系统、自动生产线、自动化仪表、绘图机 和计算机外围设备中得到广泛应用。微电子学的迅速发展和微型计算机的普与与应用, 为步进电动机的应用开辟了广阔前景,使得以往用硬件电路构成的庞大复杂的控制器 得以用软件实现,既降低了硬件成本又提高了控制的灵活

8、性,可靠性与多功能性。市 场上有很多现成的步进电机控制机构,但价格都偏高。应用SGS公司推出的L298芯片 可方便的组成步进电机驱动器,并结合Atmega16L单片机可以构成很好的步进电机控 制系统121.3设计容在各类机电系统中,随着社会的快速发展,步进电机已广泛运用于工业控制、日 常生活领域的各个方面。因此设计一种新的步进电机控制器,它具有调速精度高、响 应速度快和耗损低等特点。本设计由AVR单片机、L298驱动器与液晶显示构成的步进电机控制器。本设计具有扩展功能:具有通信能力,可接收其他数据设备发来的命令,或将结果传送到其他数据设备, 可具备与上位机的通信能力,控制更给直观、简便。第二章

9、、系统工作原理步进电动机是一种将电脉冲信号转换成角位移或线位移的机电元件。步进电动机 的输入量是脉冲序列,输出量则为相应的增量位移或步进运动。正常运动情况下,它 每转一周具有固定的步数;做连续步进运动时,其旋转转速与输入脉冲的频率保持严 格的对应关系,不受电压波动和负载变化的影响。由于步进电动机能直接接受数字量 的控制,所以特别适宜采用微机进行控制。2.1步进电动机控制系统步进电动机本体、步进电动机驱动电路和控制单元构成步进电动机系统不可分割 的三大部分。系统框图见下图2-1:图2-1步进电动机系统框图步进电机是数字控制电机,它将脉冲信号转变成角位移,即给一个脉冲信号,步 进电机就转动一个角度

10、,因此非常适合于单片机控制。步进电机可分为反应式步进电 机(简称VR)、永磁式步进电机(简称PM)和混合式步进电机(简称HB)。步进电机区别于其他控制电机的最大特点是,它是通过输入脉冲信号来进行控制 的,即电机的总转动角度由输入脉冲数决定,而电机的转速由脉冲信号频率决定。步进电机的驱动电路根据控制信号工作,控制信号由单片机产生。其基本原理作 用如下:(1)控制换相顺序通电换相这一过程称为脉冲分配。例如:三相步进电机的三拍工作方式,其各相 通电顺序为A-B-C-D,通电控制脉冲必须严格按照这一顺序分别控制A,B,C, D相的 通断。(2) 控制步进电机的转向如果给定工作方式正序换相通电,步进电机

11、正转,如果按反序通电换相,则电机 就反转。(3) 控制步进电机的速度如果给步进电机发一个控制脉冲,它就转一步,再发一个脉冲,它会再转一步。 两个脉冲的间隔越短,步进电机就转得越快。调整单片机发出的脉冲频率,就可以对 步进电机进行调速。因此选用AVR单片机控制步进电机具有优势性。2.2控制单元控制单元、驱动电路为控制系统的核心部分。控制单元是整个系统最核心的部分,是系统的指挥中心。用于协调各部分的运行, 主要负责接收通信端口或输入电路送来的信息,并对其进行识别、译码,并做出相应 的动作,发出控制信号用以控制步进电动机。控制单元实质上是具有处理能力的微处 理器芯片,本文选用由ATEML公司生产的A

12、tmega16单片机32.3驱动电路步进电动机不能直接接到工频交流或直流电源上工作,而必须使用专用的步进电 动机驱动器,如图2-2所示,它由脉冲发生控制单元、功率驱动单元、保护单元等组 成。驱动单元与步进电动机直接耦合,也可理解成步进电动机微机控制器的功率接口。驱动电路是负责将控制单元送来的微电流信号进行放大用以驱动步进电动机运 转,驱动电路实质上是功率放大器。常见的驱动电路:单电压型功放电路、高低压切 换型功放电路、斩波恒流功放电路等再就是采用专用的集成芯片。本文采用L298芯 片,由这种芯片构成的驱动电路具有控制方便、精度高、并且不需要外围扩展。控制 原理图2-2如下:计算机使推-1方向1

13、_2驱图2-2控制原理图第三章、Atmega16单片机3.1 Atmega16主要功能AVR单片机主要有ATtiny、AT90和ATmega三种系列,其结构和基本原理都相类 似。本次设计所用到的Atmega16L芯片,在这里作为电机控制的核心部件。它是一种 具有40引脚的高性能、低功耗的8位微处理器。其功能特性如下(1) 8 位 CPU。(2) 先进的RISC结构:131条指令-大多数指令执行时间为单个时钟周期。32个8位通用工作寄存器。全静态工作。(3) 非易失性数据和程序存储器:16K字节的系统可编程Flash,擦写寿命可达到10,000次以上。具有独立锁定位 的可选Boot代码区,通过片

14、上Boot程序实现系统编程。(4) 可通过JTAG接口实现对FLASH、EEPROM的编程。(5) 32个可编程的I/O引线,40引脚PDIP封装。(6) 两个具有独立预分频器和比较器功能的8位定时器/计数器,一个具有预分频器、 比较功能和捕捉功能的16位定时器/计数器。(7) 片/片外中断源。(8) 具有一个10位的AD转换器,能对来自端口A的8位单端输入电压进行采样。(9) 工作电压:2.7-5.5V。速度等级:0 8MHz。AVR单片机的主要特点如下:1. 片集成可擦写10000次以上的Flash程序存储器。由于AVR采用16位的指令, 所以一个程序存储器的存储单元为16位,AVR的数据

15、存储器还是以8个Bit(位)为一 个单元,因此AVR还是属于8位单片机。2. 高度(LOCK)。可多次擦写的FLASH具有多重密码保护锁死(LOCK)功能,因此可 低成本高速度地完成产品商品化,并且可多次更改程序(产品升级)而不必浪费1C或 电路板,大大提高了产品的质量与竞争力。3. 超功能精简指令。具有32个通用作寄存器(相当于8051中的32个累加器), 克服了单一累加器数据处理造成的瓶须现象,1284K字节SRAM可灵活使用指令计算, 并可用功能很强的C语言编程,易学、易写、易移植。4. 程序写入器件可以并行写入(用编程器写入),也可使用串行在线编程(ISP )方 法下载写入,也就是说不

16、必将单片机芯片从系统上拆下,拿到万用编程器上烧写,而 可直接在电路板上进行程序的修改、烧写等操作,方便产品升级,尤其是采用SMD 封装,更利于产品微型化。3.2 Atmega16引脚功能Atmega16L双列直插式(PDIP)引脚如图3-1 :(XCK.TO; PB0 匚(T1:: PB1 匚 i;INT2,AIN0; PB2 匚 (OCO.Aim; PB3 匚(SSJ PB4 匚 iMOSI:: PB5 匚 (MISO:: PBij 匚 (SCK; PB7 匚 RESET 匚IVCC 匚 GND匚 XTAL2 匚 XTAL1 匚 fRXDi PD0 匚 (TXDj PD1 匚 (INTO::

17、 PD2 匚 i;INT l:i PD3 匚 (OC lBi PD4 匚 (OClAj PD5 匚 (ICP li PDI3 匚14023933843753663573483393210311130122913281427152616251724182319222021PAO (ADCO)PA1 (ADC1)PA2 (ADC2)PA3 (ADC3)PA4 (ADC4)PA5 (ADC5)PA6 (ADC6)PA7 (ADC7)AREFGNDAVCCPC7 (TOSC2)PCS (TQSC I)PC5 (TDI)PC4 (TDOiPC3 (TMSiPC2 (TCK)PC1 (SDA)PCO (S

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

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

20、级管的射极是连接在一起的,相应 外接线端可用来连接外设传感电阻。可安置另一输入电源,使逻辑能在低压下工作。 L298芯片是具有15个引出脚的多瓦数直插封闭的集成芯片。这里使用半步工作方式和 两相激励的基本步距工作方式。L298的控制和引脚如图4-1 56图4-1 L298引制脚控inputsFunct ionC= H ; =1.ForwardC =L. D= HReverseC= DFast Motor StopC = K; =旗Free Running I4otor StopL - LwH = High X = Den t tare4.3控制电机通过不同的连接可以驱动两相步进电动和驱动四相步

21、进电机(可承受的最高电压 为45V,每相电流可达2A)。单片机(简称mcu)发出时钟信号、正反转信号、工作模 式信号、复位信号、使能信号与控制信号CW/CCW控制电机的转向,取1和取0时转向 相反。CLOCK为步进脉冲信号输入端,在每一个脉冲的下降沿,电机产生一步步进。 HALF/FULL为半步或基本步距模式设置,为1时是半步模式,为0时是基本步距CONTORL 斩波控制,当为0时,控制INH1和INH2;当为1时控制ABCD。ENABLE使能输入,当为0 时,INH1、INH2、A,B,C和D都为0。RESET输入,当为0时,脉冲分配器回到初状态 (HOME)L297通过控制L298双H集成

22、电路,来驱动步进电机。电路中,L298的15引脚 上的两个电阻用来调节斩波器电路的参考电压。该电压通过管脚13、14所反馈的电位 的大小比较,来确定是否进行斩波控制,以达到控制电机绕组电流峰值、保护步进电 机的目的。综上所述:步进电机的转速取决于CLOCK的脉冲频率,角位移取决于CLOCK的脉冲 个数,转矩大小则取决于参考电压Vref的大小。总的控制如图4-2所示。上 TXD-位 RXD*机 GND-F CRYSTAL4M 27pFM 寸 r IPDO 23 P07PDl 打 E PB6PD2PBSPD3PB4PD4PRlrrajPD5PB2PD6FBIGNDPBO/RESTVCCL5(0CD

23、13(AIN1)12(AIND)(RXD)2L8(M1SO)vcc17(M0SI)+519(SCK)1 (TXD)3(INTO)g(NT1)7图4-2系统总的控制原理图4.4 LCD液晶显示与电路单片机与液晶显示模块之间的连接方式分为直接访问方式和为间接控制方式两 种。如图4-1,其中左为单片机,右为液晶显示模块。HD61202与其兼容液晶显示控制器是一种带有驱动输出的图形液晶显示控制器, 而在小规模点阵液晶显示模块上使用液晶显示驱动器组成液晶显示驱动控制系统是 非常有益的,这将使液晶显示模块的硬件电路简单化,从而降低模块的成本,同时也 提高了对软件功能的要求。许多显示功能如光标、字符库、闪烁

24、都需要由软件编制而 成。HD61203和HD61202就是这类液晶显示驱动控制器套件。之所以称它们为套件是因 为HD61203和HD61202必须配套使用,通常有12864和19264两种规格。其特点如下:1. 藏64*64=4096位显示RAM, RAM中每位数据对应LCD屏上的一个点的亮、暗状态。2. HD61202与其兼容控制器是列驱动器,具有64路列驱动输出。3. HD61202与其兼容控制驱动器读、写时序与68系列微处理妻相符,因此它可直接 与68系列微处理器借口相联。4. HD61202与其兼容控制器的占空比为1/321/64。15IE小i1JDiichuse15FWM19KE暨2

25、DKOI21RESET9im:X212 1HPEotKCFrroj(ADCOJPAOpBifni(ADCl)PALp 眺颂 Tontm)(ADC2)PA2rB3(AtrTC0)(ADC3)PA3PE邮,(1DCJJPA4PE(MO)(ADC5)PA5PE6CMI5O:I(ADC6JPA6PB-7(SCK)fADC7)PA7PD0(EKD)(SCL)PCOPD(TZE-)(SDA)PCLPD2(NT0)(TCK)PC2PD3CINT:I(TM5:IPC3PD4(CC1B1(TDO)PC4PD5(CC1A)i:TD)PC5PD6(ICP)(TOSClJPCfiPD7(OZ2)(rOGC2)PC?V

26、CCA7CC:RESETA.VREFXTkL2GNDXTALLG1WATMEGA16明Comiit38 Tempeiaft37LCD_EH36LCD_RB3SLCD_EW34LCDJ:S233LCD_CS122BEH2334TCKIMS2e5TTO27TDI2SDIR29EN牝仕铮图4-3间接控制方式电路图间接控制方式是单片机通过自身的或系统中的并行接口与液晶显示模块连接。单 片机通过对这些接口的操作,以达到对液晶显示模块的控制。这种方式的特点就是电 路简单,控制时序由软件实现,可以实现高速单片机与液晶显示模块的接口。电路图 如图4-3所示。在图中以P1 口作为数据口,P3.4为CSA,P3.

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

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

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

30、ne _HEAD_H#include#include#include#include#include#define TOP OCR1A#define PWMCONREG1 TCCR1A#define PWMCONREG2 TCCR1B#define PWM_IO DDRD|=_BV(PD5)#define L298_DIR PORTD#define L298_OUT DDRD|=0xfc#define RESET 0X40#define S_CONTROL L298_DIR|=CONTROL#define C_CONTROL L298_DIR&=CONTROL#define ADC_OUT D

31、DRA/ADC模数转换寄存器宏#define ADCWAYREG ADMUX#define ADCCONREG ADCSRA#define ADCIOSFR SFIOR#define ADCDATL ADCL#define ADCDATH ADCH#define ADCDAT ADC#define AD_EN ADEN#define AD_SC ADSC#define MODE1 1半步工作#define MODE2 2基本步距#define HALFMODESTR HALF STEP MODE?/工作方式字符串宏#define NORMALSTR NORMAL MODE?/*headh*/*

32、PWM.c*/#includehead.hvoid PWM(unsigned pps)/脉冲控制函数 counter=0; vn=0;topfix=1000000/pps;n1 = (10000-topfix)/STEP+2)*(2*N);if(n2*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 模式while(1)

33、 if(key_value二key() = 4)&!ky) PWMCONREG2=0; CLI; return ; else if(countern2) display_str(0,0,move down.! ) ; else display_str(0,0,isopluse.!);adcdisplay();/*PWM.c*/*L298.c*/#includehead.hvoid double_half_mode1(void)/半步工作方式HALF;S_CONTROL;void double_full_mode2(void) /两相激磁基本步距FULL;S_CONTROL;/on-off mo

34、de模式执行子函数void L297_1(unsigned char mode ,char direction,unsigned pps) ky=0;n=0xffffffff;L298_OUT;S_RESET;switch(mode) /L298工作模式选择case 1: double_half_mode1(); break;case 2: double_full_mode2(); break;default : display_str(0,0,mode error!);switch(direction) /正反方向选择case +: CW; break;case -: CCW; break;

35、default : display_str(0,0,direction error!);PWM(pps);display_str(0,0, Stop!);/ dot-place mode 模式执行子函数void L297_2(unsigned char mode ,char direction,unsigned pps) ky=1;L298_OUT;S_RESET;switch(mode)/L298工作模式选择 case 1: double_half_mode1(); break; case 2: double_full_mode2(); break; default : display_st

36、r(0,0,mode error!);switch(direction) /正反方向选择 case +: CW; break; case -: CCW; break;default : display_str(0,0,direction error!); n=n*2;PWM(pps);/调用 PWM 函数 /*L298.c*/ / /七七七七七七七七七七七七七七七七七七七七七七七七七七七七一*_七七七七七七七七七七七七七七七七七七七七七七七七七七七七七七/ /*main.c*/ #includehead.h void set_fre(void)频率设定子函数clear();清屏display_

37、str(0,0,1000pps);while(1) dokey_value=key();if(key_value=4) return ;while(!key_value);if(key_value=2)ch=(ch+1=58)?1:(ch+1);fre=(fre+1000=10000)?1000:(fre+1000);else if(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条指

39、令,从作用上可分为两类。第一条指令和第二条指令为 显示状态设置类;其余指令为数据读/写操作指令。下面是各个指令的功能:表5-1读状态指令R/WRSDB7DB6DB5 DB4 DB3 DB2 DB1 DB010BUSY0ON/OFF REST 0000状态字是计算机了解HD61202与其兼容控制驱动器当前状态,或是HD61202与其 兼容控制驱动器向计算机提供其部状态的唯一的信息渠道。状态字为一字节,其中仅 有3位有效位,它们是:BUSY表示当前HD61202接口控制电路运行状态。BUSY=1表示HD61202正在处理计 算机发来的指令或数据。此时接口电路被封锁,不能接受除读状态字以外的任何操作

40、。 BUSY=0表示HD61202接口电路已处于“准备好”状态,等待计算机的访问。ON/OFF表示当前的显示状态。ON/OFF=1表示关显示状态;ON/OFF=0表示开显示状 态。RESET表示当前HD61202的工作状态,即反映RST端的电平状态。当RST为低电平 状态时,HD61202处于复位工作状态,RESET=1 ;当RST为高电平状态时,HD61202 为正常工作状态,RESET=0。在指令设置和数据读写时要注意状态字中的BUSY标志。只有在BUSY=0时,计算机 对HD61202的操作才能有效,因此计算机在每次对HD61202操作之前,都要读出状态 字以判断BUSY是不为“0”。若

41、不为“0”,则计算机需要等待,直至BUSY=0为止。表5-2显示开关指令R/WRSDB7DB6 DB5DB4DB3DB2DB1DB00000111111/0该指令设置显示开/关触发器的状态,由此控制显示数据锁存器的工作方式,从 而控制显示屏上的显示状态。D位为显示开/关控制位。当D=1为开显示设置,显示 数据锁存器正常工作,显示屏上呈现所需的显示效果。此时在状态字中ON/OFF=0; 当D=0为关显示设置,显示数据锁存器被置零,显示屏呈不显示状态,但显示存储器 并没有被破坏,在状态字中ON/OFF=1。表5-3显示起始行设置指令R/W RSDB7 DB6 DB5 DB4 DB3 DB2 DB1

42、 DB00011显示起始行(0-63 )该指令设置了显示起始行寄存器的容。HD61202有64行显示的管理能力,该 指令中L5L0为显示起始行的地址,取值在03FH( 164行)围,它规定了显示屏上 最顶一行所对应的显示存储器的行地址。如果定时间隔地,等间距地修改(如加1 或减1)显示起始行寄存器的容,则显示屏将呈现显示容向上或向下平滑滚动的显示 效果。表5-4页面地址设置指令R/WRSDB7DB6DB5DB4DB3DB2DB1DB00010111该指令设置了页面地址X地址寄存器的容。HD61202将显示存储器分成8 页,指令代码中P2-P0就是要确定当前所要选择的页面地址,取值围为0-7H,

43、代表第1-8页。该指令规定了以后的读/写操作将在哪一个页面上进行。表5-5列地址设置指令R/W RSDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB00001显示列地址(063 )该指令设置了 Y地址计数器的容,C5C0=03FH( 164 )代表了某一页面上的某 一个单元地址,随后的一次读或写数据将在这个单元上进行。Y地址计数器具有自动 加1功能,在每上次读/写数据后它将自动加1,所以在连续进行读/写数据时,Y 地址计数器不必每次都设置一次。页面地址的设置和列地址的设置将显示存储器单元唯一的确定下来,为后来的显 示数据的读/写作了地址的选通。表5-6写数据指令R/W RSDB7

44、DB6 DB5 DB4 DB3 DB2 DB1 DB001写 数据该操作将8位数据写入先前已确定的显示存储器的单元。操作完成后列地址计数 器自动加1。表5-7读数据指令R/W RSDB7 DB6DB5 DB4 DB3 DB2 DB1DB011读显 示 数 据该操作将HD61202接口部的输出寄存器容读出,然后列地址计数器自动加一。必 须注意的是,进行读操作之前,必须有一次空读操作,紧接着再读才会读出所要读的 单元中的数据。2、LCD的简单编程void lcd_send(unsigned char temp)LCD_DAR&=0X0F;清高四位LCD_DAR| = (temp&0XF0); /发

45、送高四位temp=4;e_h2l();/产生下降沿_delay_us(4);LCD_DAR&=0X0F;LCD_DAR|二temp;/发送低四位e_h2l();void lcd_(unsigned char comm)RS_L;选择指令寄存器_delay_us(20);lcd_send(comm);void lcd_data(unsigned char dat)RS_H;_delay_us(20);lcd_send(dat);毕业设计总结当毕业论文写到这里的时候,为期一学期的毕业设计基本要画上句号了,四个月 的时间可以说长也可以说短,但这一百多天的时间里,在老师的耐心指导下,自己可 谓有了一个

46、全新的提高。与同组人的通力配合下,毕业设计也较顺利圆满地完成了。一开始拿到这个课题确实也是一头的雾水,不知道该如何的下手,也就在毕业设计的开始阶段,老师为我们指出了此课题的大概方向和需要查阅的相关书籍以与在后 面会遇到的主要问题,当时可谓受益颇多。接下来便是查阅相关的文献资料,我用了 两周左右的时间对C语言重新学习了一遍,这也为后面的实际编程打了下了基础。结 合本次的设计,我也需了解控制芯片ATmega16L的相关知识,特别是它的智力指令系 统,而之前我们只学习过51系列单片机,所以对于这一部分也是相当的重要。AVR 单片机是一种全新配置的精简指令集单片机。它吸取了 PIC和8051单片机的优

47、点, 符合了目前单片机的应用趋势。其程序可以多次更改而不必浪费单片机和电路板, 而且其程序采用C语言编程,具有汇编语言编程所不可比拟的优势。在学习了相 关于本次设计的知识后,我便开始了实际的设计部分,在这个过程中确实也遇到 了相当的问题和困难,比如控制器件的选择,软件编程等等。实践是检验真理的唯一标准,经过几年的理论学习而这次在即将走向工作岗 位的时候能将理论与实践相结合的机会来锻炼自己可谓是难得的一次提高,感在 此次设计过程中给与我极大帮助和理解的老师以与所有同学们。由于本人当前的知识水平有限,有些控制精度还不是很问没,无法开发上位机软 件,因此只是预留了RS-232串口,以备能力具备时对控

48、制器进行升级。也可以通过串 口调试助手进行简单的联机控制,在以后的工作学习中继续努力。在本文完稿之际,我要衷心感我的指导老师,在论文成稿期间,无论在选题上, 还是资料的应用上,都给予我耐心细致的教导,在论文研究与撰写过程中,老师提出 了许多宝贵意见,我学到了许多课外的知识,使我的综合能力得到了提升。老师严谨22 / 25的治学态度,一丝不苟的敬业精神,为我树立了做人、做事的楷模,对我今后的人生 之旅将产生深远的影响。在此,向大学三年在各方面给予我帮助的教师、同学表示衷心的感。论文中的很 多材料取于相关书籍和互联网,也向相关资料的作者表示衷心的感。由于我的能力有 限,所以疏漏和错误在所难免,请各位老师批评指正,感各位老师。参考文献1群芳,肖看,单片机原理、接口与应用一嵌入式系统技术基础,:清华大学,2005.32王岚,机电接口技术M,:中央广播电视大学,20033王晓明,电动机的单片机控制M,:航空航天大学,20024文,AVR单片机C语言入门指导,:清华大学,20035清源计算机工作室,Protel99电路设计与仿真,:机械工业,2001.56何小艇,电子系统设计,大学,2004.67丁化成等,AVR单片机应用设计M,:航空航天大学出版,2002.8谭浩强,语言程序设计(第二版),:清华大学,2005.1

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!