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

下载本文档

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

文档简介

基于AVR单片机的步进电机控制 烟台汽车工程职业学院毕业设计论文学 生 毕 业 论 文 基于AVR单片机的步进电机控制学生姓名: 王振军 入学时间: 2007年9月 专业名称: 计算机控制技术 班 级: 07级计算机控制技术 指导教师: 姜虎强 职 称: 基于AVR单片机的步进电机控制摘 要 本文介绍了步进电动机的发展,国内的现状和步进电动机未来的发展前景。设计了一种新型的主要由AVR单片机和L298驱动器构成的电机调速控制器。详细介绍了本调速控制系统的工作原理、光电编码器接口电路、驱动接口电路和相应的各种控制软件设计。绘制了原理图和PCB板图,撰写了程序源代码。这期间主要使用protel99软件绘制原理图和制板。最后通过硬件的调试验证程序代码的实际功能,完成对控制器的设计。实验结果表明,设计的调速控制器具有良好的工作性能。关键词 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 turn 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 the electric motor turn soon, angle of control, and completion real object of creation.This period main usage the protel 99 se 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 an adjust of hardware of actual function, completion design controller.Key words AVR MCU Stepper Motor Controller 目 录第一章、绪论11.1步进电机发展11.2步进电机的应用前景11.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致 谢19参考文献20基于AVR单片机的步进电机控制 烟台汽车工程职业学院毕业设计论文(设计)第一章、绪论1.1步进电机发展步进电机又称电动机或阶跃电动机,国外一般称为 Step motor或Stepping motor 等。步进电机的机理是基于最基本的电磁铁作用, 20世纪60年代后期,随着永磁性材料的发展,各种实用性步进电动机应运而生,而半导体技术的发展则推进了步进电动机在众多领域的应用。在近30年间,步进电动机迅速地发展并成熟起来。从发展趋向来讲,步进电动机已经能与直流电动机、异步电动机,以及同步电动机并列,从而成为电动机的一种基本类型。我国步进电动机的研究及制造起始于本世纪50年代后期。自80年代中期以来,由于对步进电动机精确模型做了大量研究工作,各种混合式步进电动机及驱动器作为产品广泛利用。1.2步进电机的应用前景目前,随着电子技术、控制技术以及电动机的发展和变化,传统电机分类间的界面越来越模糊。步进电机必然会成为机电一体化元件组件的必然趋势。由于步进电机具有控制方便、体积小等特点,所以在数控系统、自动生产线、自动化仪表、绘图机和计算机外围设备中得到广泛应用。微电子学的迅速发展和微型计算机的普及与应用,为步进电动机的应用开辟了广阔前景,使得以往用硬件电路构成的庞大复杂的控制器得以用软件实现,既降低了硬件成本又提高了控制的灵活性,可靠性及多功能性。市场上有很多现成的步进电机控制机构,但价格都偏高。应用SGS公司推出的L298芯片可方便的组成步进电机驱动器,并结合Atmega16L单片机可以构成很好的步进电机控制系统12。 1.3设计内容在各类机电系统中,随着社会的快速发展,步进电机已广泛运用于工业控制、日常生活领域的各个方面。因此设计一种新的步进电机控制器,它具有调速精度高、响应速度快和耗损低等特点。本设计由AVR单片机、L298 驱动器及液晶显示构成的步进电机控制器。本设计具有扩展功能:具有通信能力,可接收其他数据设备发来的命令,或将结果传送到其他数据设备,可具备与上位机的通信能力,控制更给直观、简便。 第二章、系统工作原理步进电动机是一种将电脉冲信号转换成角位移或线位移的机电元件。步进电动机的输入量是脉冲序列,输出量则为相应的增量位移或步进运动。正常运动情况下,它每转一周具有固定的步数;做连续步进运动时,其旋转转速与输入脉冲的频率保持严格的对应关系,不受电压波动和负载变化的影响。由于步进电动机能直接接受数字量的控制,所以特别适宜采用微机进行控制。2.1步进电动机控制系统步进电动机本体、步进电动机驱动电路和控制单元构成步进电动机系统不可分割的三大部分。系统框图见下图2-1:图2-1步进电动机系统框图步进电机是数字控制电机,它将脉冲信号转变成角位移,即给一个脉冲信号,步进电机就转动一个角度,因此非常适合于单片机控制。步进电机可分为反应式步进电机(简称VR)、永磁式步进电机(简称PM)和混合式步进电机(简称HB)。步进电机区别于其他控制电机的最大特点是,它是通过输入脉冲信号来进行控制的,即电机的总转动角度由输入脉冲数决定,而电机的转速由脉冲信号频率决定。步进电机的驱动电路根据控制信号工作,控制信号由单片机产生。其基本原理作用如下:(1)控制换相顺序通电换相这一过程称为脉冲分配。例如:三相步进电机的三拍工作方式,其各相通电顺序为A-B-CD,通电控制脉冲必须严格按照这一顺序分别控制A,B,C,D相的通断。(2)控制步进电机的转向如果给定工作方式正序换相通电,步进电机正转,如果按反序通电换相,则电机就反转。(3)控制步进电机的速度如果给步进电机发一个控制脉冲,它就转一步,再发一个脉冲,它会再转一步。两个脉冲的间隔越短,步进电机就转得越快。调整单片机发出的脉冲频率,就可以对步进电机进行调速。因此选用AVR单片机控制步进电机具有优势性。2.2 控制单元控制单元 、驱动电路为控制系统的核心部分。控制单元是整个系统最核心的部分,是系统的指挥中心。用于协调各部分的运行,主要负责接收通信端口或输入电路送来的信息,并对其进行识别、译码,并做出相应的动作,发出控制信号用以控制步进电动机。控制单元实质上是具有处理能力的微处理器芯片,本文选用由ATEML公司生产的Atmega16单片机3。2.3驱动电路步进电动机不能直接接到工频交流或直流电源上工作,而必须使用专用的步进电动机驱动器,如图2-2所示,它由脉冲发生控制单元、功率驱动单元、保护单元等组成。驱动单元与步进电动机直接耦合,也可理解成步进电动机微机控制器的功率接口。驱动电路是负责将控制单元送来的微电流信号进行放大用以驱动步进电动机运转,驱动电路实质上是功率放大器。常见的驱动电路:单电压型功放电路、高低压切换型功放电路、斩波恒流功放电路等再就是采用专用的集成芯片。本文采用L298芯片,由这种芯片构成的驱动电路具有控制方便、精度高、并且不需要外围扩展。控制原理图2-2如下:图2-2 控制原理图第三章、Atmega16单片机3.1 Atmega16主要功能AVR单片机主要有ATtiny、AT90和ATmega三种系列,其结构和基本原理都相类似。本次设计所用到的Atmega16L芯片,在这里作为电机控制的核心部件。它是一种具有40引脚的高性能、低功耗的8位微处理器。其功能特性如下4: (1) 8位CPU。(2) 先进的RISC 结构:131条指令大多数指令执行时间为单个时钟周期。32个8位通用工作寄存器。全静态工作。(3) 非易失性数据和程序存储器:16K 字节的系统内可编程Flash,擦写寿命可达到10,000 次以上。具有独立锁定位的可选Boot代码区,通过片上Boot程序实现系统内编程。(4) 可通过JTAG接口实现对FLASH、EEPROM的编程。(5) 32个可编程的I/O引线,40引脚PDIP封装。(6) 两个具有独立预分频器和比较器功能的8位定时器/ 计数器,一个具有预分频器、比较功能和捕捉功能的16位定时器/ 计数器。(7) 片内/ 片外中断源。(8) 具有一个10位的AD转换器,能对来自端口A的8位单端输入电压进行采样。(9) 工作电压:2.75.5V。速度等级:08MHz。AVR单片机的主要特点如下:1.片内集成可擦写10000次以上的Flash程序存储器。由于AVR采用16位的指令,所以一个程序存储器的存储单元为16位,AVR的数据存储器还是以8个Bit(位)为一个单元,因此AVR还是属于8位单片机。2.高度保密(LOCK)。可多次擦写的FLASH具有多重密码保护锁死(LOCK)功能,因此可低成本高速度地完成产品商品化,并且可多次更改程序(产品升级)而不必浪费1C或电路板,大大提高了产品的质量及竞争力。3.超功能精简指令。具有32个通用作寄存器(相当于8051中的32个累加器),克服了单一累加器数据处理造成的瓶须现象,1284K字节SRAM可灵活使用指令计算,并可用功能很强的C语言编程,易学、易写、易移植。4.程序写入器件可以并行写入(用编程器写入),也可使用串行在线编程(ISP)方法下载写入,也就是说不必将单片机芯片从系统上拆下,拿到万用编程器上烧写,而可直接在电路板上进行程序的修改、烧写等操作,方便产品升级,尤其是采用SMD封装,更利于产品微型化。3.2 Atmega16引脚功能Atmega16L双列直插式(PDIP)引脚如图3-1:图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等的总体了解和掌握以及对各种元器件和电路图的分析和比较后,现在就进入硬件电路的设计。在本章里,主要设计液晶模块的连接和显示方式、控制电路中所用到的各种芯片和元器件的原理和一些功能,并画出总的控制原理图。4.1 步进电动机的控制原理步进电机是一种将电脉冲信号变为相应的直流位移的数字/模拟变换器。每当电机绕组接收一个脉冲时,转子就转过一个相应的角度(步距)。步进电机的角位移量和输入脉冲的个数严格成正比。在时间上与输入脉冲同步,因而只要控制输入脉冲的数量、频率和电机绕组的相序,即可获得所需要的转速和转动方向。4.2 L298芯片简介 L298芯片是一种高压、大电流双全桥式驱动器,其设计是为接受标准TTL逻辑电平信号和驱动电感负载的,例如继电器、圆筒形线圈、直流电机和步进电机,具有两抑制输入来使器件不受输入信号影响。每桥的三级管的射极是连接在一起的,相应外接线端可用来连接外设传感电阻。可安置另一输入电源,使逻辑能在低压下工作。L298芯片是具有15个引出脚的多瓦数直插封闭的集成芯片。这里使用半步工作方式和两相激励的基本步距工作方式。L298的控制和引脚如图4-156。图4-1 L298引制脚控4.3 控制电机通过不同的连接可以驱动两相步进电动和驱动四相步进电机(可承受的最高电压为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集成电路,来驱动步进电机。电路中,L298的15引脚上的两个电阻用来调节斩波器电路的参考电压。该电压通过管脚13、14所反馈的电位的大小比较,来确定是否进行斩波控制,以达到控制电机绕组电流峰值、保护步进电机的目的。综上所述:步进电机的转速取决于CLOCK的脉冲频率,角位移取决于CLOCK的脉冲个数,转矩大小则取决于参考电压Vref的大小。总的控制如图4-2所示。图4-2 系统总的控制原理图4.4 LCD液晶显示及电路 单片机与液晶显示模块之间的连接方式分为直接访问方式和为间接控制方式两种。如图4-1,其中左为单片机,右为液晶显示模块。HD61202及其兼容液晶显示控制器是一种带有驱动输出的图形液晶显示控制器,而在小规模点阵液晶显示模块上使用液晶显示驱动器组成液晶显示驱动控制系统是非常有益的,这将使液晶显示模块的硬件电路简单化,从而降低模块的成本,同时也提高了对软件功能的要求。许多显示功能如光标、字符库、闪烁都需要由软件编制而成。HD61203和HD61202就是这类液晶显示驱动控制器套件。之所以称它们为套件是因为HD61203和HD61202必须配套使用,通常有12864和19264两种规格。其特点如下:1内藏64*64=4096位显示RAM,RAM中每位数据对应LCD屏上的一个点的亮、暗状态。2HD61202及其兼容控制器是列驱动器,具有64路列驱动输出。3HD61202及其兼容控制驱动器读、写时序与68系列微处理妻相符,因此它可直接与68系列微处理器借口相联。4HD61202及其兼容控制器的占空比为1/321/64。 图4-3 间接控制方式电路图间接控制方式是单片机通过自身的或系统中的并行接口与液晶显示模块连接。单片机通过对这些接口的操作,以达到对液晶显示模块的控制。这种方式的特点就是电路简单,控制时序由软件实现,可以实现高速单片机与液晶显示模块的接口。电路图如图4-3所示。在图中以 P1口作为数据口,P3.4为CSA,P3.3为CSB,P3.2为使能端,P3.1为R/W和P3.0为D/I信号。电位器用于显示对比度的调节。第五章、软件实现5.1 主程序流程图在本章里,先介绍C语言开发的优势,然后介绍LCD的显示原理、模块的软件特性等,接下来便是最主要的整个程序的设计。下图式整个系统的软件流程,如图5-1,图5-2,图5-3所示。图5-1主程序流程图 图5-2速度控制程序 图5-3中断程序5.2主程序编程C语言是一种编译型的结构化程序设计语言,具有简单的语法结构和强大的处理功能,具有运行速度快、编译效率高,移植性好和可读性强等多种优点,可以实现对系统便件的直接操作。用C语言来编写目标系统软件,可以大大缩短开发周期,且明显地增加软件的可读性,便于改进和扩充,从而开发出大规模、高性能的应用系统。其优势如下78:1、省去了人工分配单片机资源的工作,在汇编语言中要为每一个子程序分配单片机的资源。在使用C语言后,只要在代码中申明一下变量的类型,编译器就会自动分配相关资源,根本不需要人工干预,从而有效地避免了人工分配单片机资源的差错。2、汇编语言的可移植性很差,而C语言只要将一些与硬件相关的代码作适当的修改,就可以方便地移植到其它种类的单片机上。3、C语言提供auto、static、flash等存储类型,针对单片机的程序存储空间、数据存储空间及EEPROM空间自动为变量合理地分配空间,而且C语言提供复杂的数据类型,极大地增强了程序处理能力和灵活性。C编译器能够自动实现中断服务程序的现场保护和恢复,并且提供常用的标准函数库,供用户使用。并且C编译器能自动生成一些硬件的初始化代码。4、对于一些复杂系统的开发,可以通过移植(或C编译器提供)的实时操作系统来实现。正由于C语言在系统开发中的优势,这次设计的所有程序设计都将采用C语言编写,且通过ICCAVR编译器操作AVR的硬件资源。5.2.1 主程序代码/*head.h*/#ifndef _HEAD_H#define _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 DDRA /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?/*head.h*/*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) 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 mode模式执行子函数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; 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_str(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.hvoid set_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:(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显示器都是利用液晶的扭曲一向列效应制成,这是一种电场效应,夹在两片导电玻璃电极间的液晶经过一定处理,它内部的分子呈直角扭曲,当线性偏振光透过其偏振面便会旋转一个直角。当在玻璃电极上加上电压后,在电场作用下,液晶的扭曲结构消失,偏振光便可以直接通过。当去掉电场后液晶分子又恢复取扭曲结构。把这样的液晶置于两个偏振片之间,改变偏振片相对位置就可以得到白底黑子或黑底白字的显示形式。1、LCD模块的说明本设计采用的LCD是北京精电蓬远显示技术公司生产的MGLS系列图形液晶显示模块,其内藏KS0108B/HD61202控制器。KS0108B及其兼容控制驱动器( HD61202 )的指令系统比较简单,一共只有7条指令,从作用上可分为两类。第一条指令和第二条指令为显示状态设置类;其余指令为数据读/写操作指令。下面是各个指令的功能:表5-1读状态指令R/W RSDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB01 0BUSY 0 ON/OFF REST 0 0 0 0状态字是计算机了解HD61202及其兼容控制驱动器当前状态,或是HD61202及其兼容控制驱动器向计算机提供其内部状态的唯一的信息渠道。状态字为一字节,其中仅有3位有效位,它们是:BUSY表示当前HD61202接口控制电路运行状态。BUSY=1表示HD61202正在处理计算机发来的指令或数据。此时接口电路被封锁,不能接受除读状态字以外的任何操作。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”。若不为“0”,则计算机需要等待,直至BUSY=0为止。表5-2 显示开关指令R/W RSDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB00 00 0 1 1 1 1 1 1/0该指令设置显示开关触发器的状态,由此控制显示数据锁存器的工作方式,从而控制显示屏上的显示状态。D位为显示开关控制位。当D=1为开显示设置,显示数据锁存器正常工作,显示屏上呈现所需的显示效果。此时在状态字中ON/OFF=0;当D=0为关显示设置,显示数据锁存器被置零,显示屏呈不显示状态,但显示存储器并没有被破坏,在状态字中ON/OFF=1。表5-3显示起始行设置指令R/W RSDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB00 01 1 显示起始行( 0-63 ) 该指令设置了显示起始行寄存器的内容。HD61202有64行显示的管理能力,该指令中L5L0为显示起始行的地址,取值在03FH( 164行)范围内,它规定了显示屏上最顶一行所对应的显示存储器的行地址。如果定时间隔地,等间距地修改( 如加1或减1)显示起始行寄存器的内容,则显示屏将呈现显示内容向上或向下平滑滚动的显示效果。表5-4页面地址设置指令R/W RSDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB00 01 0 1 1 1 该指令设置了页面地址X地址寄存器的内容。HD61202将显示存储器分成8页,指令代码中P2-P0就是要确定当前所要选择的页面地址,取值范围为0-7H,代表第1-8页。该指令规定了以后的读写操作将在哪一个页面上进行。表5-5列地址设置指令R/W RSDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB00 00 1 显示列地址( 063 )该指令设置了Y地址计数器的内容,C5C0=03FH( 164 )代表了某一页面上的某一个单元地址,随后的一次读或写数据将在这个单元上进行。Y地址计数器具有自动加1功能,在每上次读写数据后它将自动加1,所以在连续进行读写数据时,Y地址计数器不必每次都设置一次。页面地址的设置和列地址的设置将显示存储器单元唯一的确定下来,为后来的显示数据的读写作了地址的选通。表5-6写数据指令R/W RSDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB00 1写数据该操作将8位数据写入先前已确定的显示存储器的单元内。操作完成后列地址计数器自动加1。表5-7读数据指令R/W RSDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB01 1读显示数据该操作将HD61202接口部的输出寄存器内容读出,然后列地址计数器自动加一。必须注意的是,进行读操作之前,必须有一次空读操作,紧接着再读才会读出所要读的单元中的数据。2、LCD的简单编程void lcd_send(unsigned char temp) LCD_DAR&=0X0F; /清高四位 LCD_DAR|=(temp&0XF0); /发送高四位 temp=4; e_h2l(); /产生下降沿 _delay_us(4); LCD_DAR&=0X0F; LCD_DAR|=temp; /发送低四位 e_h2l();void lcd_com(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);毕业设计总结当毕业论文写到这里的时候,为期一学期的毕业设计基本要画上句号了,四个月的时间可以说长也可以说短,但这一百多天的时间里,在老师的耐心指导下,自己可谓有了一个全新的提高。与同组人的通力配合下,毕业设计也较顺利圆满地完成了。一开始拿到这个课题确实也是一头的雾水,不知道该如何的下手,也就在毕业设计的开始阶段,老师为我们指出了此课题的大概方向和需要查阅的相关书籍以及在后面会遇到的主要问题,当时可谓受益颇多。接下来便是查阅相关的文献资料,我用了两周左右的时间对C语言重新学习了一遍,这也为后面的实际编程打了下了基础。结合本次的设计,我也需了解控制芯片ATmega16L的相关知识,特别是它的智力指令系统,而之前我们只学习过51系列单片机,所以对于这一部分也是相当的重要。AVR单片机是一种全新配置的精简指令集单片机。它吸取了PIC和8051单片机的优点,符合了目前单片机的应用趋势。其程序可以多次更改而不必浪费单片机和电路板,而且其程序采用C语言编程,具有汇编语言编程所不可比拟的优势。在学习了相关于本次设计的知识后,我便开始了实际的设计部分,在这个过程中确实也遇到了相当的问题和困难,比如控制器件的选择,软件编程等等。 实践是检验真理的唯一标准,经过几年的理论学习而这次在即将走向工作岗位的时候能将理论与实践相结合的机会来锻炼自己可谓是难得的一次提高,感谢在此次设计过程中给与我极大帮助和理解的老师以及所有同学们。由于本人当前的知识水平有限,有些控制精度还不是很问没,无法开发上位机软件,因此只是预留了RS-232串口,以备能力具备时对控制器进行升级。也可以通过串口调试助手进行简单的联机控制,在以后的工作学习中继续努力。致 谢在本文完稿之际,我要衷心感谢我的指导老师,在论文成稿期间,无论在选题上,还是资料的应用上,都给予我耐心细致的教导,在论文研究及撰写过程中,老师提出了许多宝贵意见,我学到了许多课外的知识,使我的综合能力得到了提升。老师严谨的治学态度,一丝不苟的敬业精神,为我树立了做人、做事的楷模,对我今后的人生之旅将产生深远的影响。在此,向大学三年在各方面给予我帮助的教师、同学表示衷心的感谢。论文中的很多材料取于相关书籍和互联网,也向相关资料的作者表示衷心的感谢。由于我的能力有限,所以疏漏和错误在所难免,请各位老师批评指正,感谢各位老师。参考文献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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论