首页 单片机---直流电机控制实验

单片机---直流电机控制实验

举报
开通vip

单片机---直流电机控制实验成都学院(成都大学)课程设计报告直流电机控制实验摘要:直流电动机在交通、机械、纺织、航空等领域中已经得到广泛的应用。而以往直流电动机的控制只是简单的控制,很难进行调速,不能实现智能化。如今,直流电动机的调速控制已经离不开单片机的控制,单片机应用技术的飞速发展促进了自动控制技术的发展,使人类社会步入了自动化时代,单片机应用技术与其他学科领域交叉融合,促进了学科发展和专业更新,引发了新兴交叉学科与技术的不断涌现。现代科学技术的飞速发展,改变了世界,也改变了人类的生活。由于单片机的体积小、重量轻、功能强、抗干扰能力强、控...

单片机---直流电机控制实验
成都学院(成都大学)课程设计报告直流电机控制实验摘要:直流电动机在交通、机械、纺织、航空等领域中已经得到广泛的应用。而以往直流电动机的控制只是简单的控制,很难进行调速,不能实现智能化。如今,直流电动机的调速控制已经离不开单片机的控制,单片机应用技术的飞速发展促进了自动控制技术的发展,使人类社会步入了自动化时代,单片机应用技术与其他学科领域交叉融合,促进了学科发展和专业更新,引发了新兴交叉学科与技术的不断涌现。现代科学技术的飞速发展,改变了世界,也改变了人类的生活。由于单片机的体积小、重量轻、功能强、抗干扰能力强、控制灵活、应用方便、价格低廉等特点,计算机性能的不断提高,单片机的应用也更加广泛特别是在各种领域的控制、自动化等方面。关键词:STC89C52PWM电机控制DCmotorcontrolexperimentSummary:DCmotorsintransportation,machinery,textiles,aviationandotherfieldshasbeenwidelyused.TheconventionalDCmotorcontrolsimplycontrol,difficulttocontrol,notintelligent.Today,theDCmotorspeedcontrolhasbeeninseparablefromthecontrolofthemicrocontroller,therapiddevelopmentofmicrocomputerapplicationtechnologytopromotethedevelopmentofautomaticcontroltechnology,thehumansocietyenteredtheeraofautomation,microcomputerapplicationtechnologyandotherdisciplinesintersect,promotionoftheacademicdevelopmentandprofessionalupdate,sparkednewinterdisciplinaryandemergingtechnologies.Therapiddevelopmentofmodernscienceandtechnology,haschangedtheworld,butalsochangethewaypeoplelive.Asthedevicesmallsize,lightweight,powerful,stronganti-interferenceability,flexiblecontrol,easytouse,lowcostcharacteristics,computerperformancecontinuestoimprove,SCMapplicationsaremorewidelyespeciallycontrolinvariousareasofautomationandsoon.Keywords:STC89C52PWMmotorcontrol目录第1章引言11.1电机的研究意义11.2 设计方案 关于薪酬设计方案通用技术作品设计方案停车场设计方案多媒体教室设计方案农贸市场设计方案 1第2章供电模块的设计22.1集成直流稳压电源芯片LM7805的介绍22.2供电模块的构成2第3章主控制模块的设计33.189C52单片机的介绍33.289C52的主要特性和结构特点33.389C52的IO口介绍4第4章键盘输入模块的设计54.1键盘的电路及原理5第5章显示模块的设计65.1数码管及二极管的电路及原理65.2PWM简介6第6章直流电机控制模块的设计76.1直流电机的介绍76.2数模转换器DAC08327第7章课程设计总结9致谢10参考文献11附录12主程序12子程序18第1章引言1.1电机的研究意义电气传动是现代最主要的机电能量变化形式之一,在当今社会中广泛使用着各式各样的电气传动系统。直流调速系统因其变流方式及控制方法简单,调速性能好,长期以来在调速传动中占统治地位。而现在随着微电子技术的发展,微机功能的不断提高以及电力电子、计算机控制技术的发展,电气传动领域出现了以微机为核心的数字控制系统。计算机的发展可以使复杂的控制规律较方便的实现,以计算机为核心的数字控制技术成为自控领域的主流,也给直流电气传动的发展注入了新的活力,使电气传动进入了更新的发展阶段。与传统控制系统相比,计算机控制具有很多独特的优点。长期以来,直流电动机因其转速调节比较灵活,方法简单,易于大范围平滑调速,控制性能好等特点,一直在传动领域占有统治地位。它广泛应用于数控机床、工业机器人等工厂自动化设备中。随着现代化生产规模的不断扩大,各个行业对直流电机的需求愈益增大,并对其性能提出了更高的要求。为此,研究并制造高性能、高可靠性的直流电机控制系统有着十分重要的现实意义。1.2设计 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 论文 政研论文下载论文大学下载论文大学下载关于长拳的论文浙大论文封面下载 设计的系统以单片机为控制核心,通过键盘设置各段运行参数,也可通过电脑设置下载到单片机。单片机输出二进制控制量,经D/A转换电路将对应模拟电压送到直流放大器的输入端。放大器根据输入的模拟电压而输出对应的电压来控制直流电机的转速。显示部分显示各段设定的转速值。单片机主要完成参数设置、参数显示和控制输出等功能。第2章供电模块的设计2.1集成直流稳压电源芯片LM7805的介绍LM7805是目前市场上非常常见的三端稳压器件。一般使用的是TO-220封装,能提供DC5V的输出电压,应用范围广,内含过流和过载保护电路。带散热片时能持续提供1A的电流,如果使用外围器件,它还能提供不同的电压和电流。7805的主要特点有:输出电流大,一般可以达到1A;输出电压稳定,基本能一直维持在5V;具有各种保护功能,过热保护、短路保护、输出晶体管SOA保护。7805还具有非常广的输入范围从5V~18V。工作结的温度范围更是可以从0~125℃无论多恶劣的环境7805也能轻松胜任。这么全面的一个芯片实在是堪称全能,而且价格非常便宜。对于这么优秀的稳压电源芯片,我们还有什么理由不去选用它呢。7805管脚及外形如图2.1所示。图2.17805管脚2.2供电模块的构成整个电源供电模块由一片7805和4个电容构成。这是一个输出正5V直流电压的稳压电源电路。IC采用集成稳压器7805,C1、C2为输入端滤波电容,C3、C4为输出端滤波电容。如图2.2所示,7805的1脚接正9V的输入,2脚接地,3脚为输出。在1脚和2脚间接两个滤波电容。3脚和2脚间也接两个滤波电容。图2.2供电模块电路第3章主控制模块的设计3.189C52单片机的介绍89C52是一种带8K字节闪烁可编程可擦除只读存储器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的89C52是一种高效微控制器,89C2051是它的一种精简版本。89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。3.289C52的主要特性和结构特点89C52的主要特性有:1.与MCS-51兼容;2.有8K字节可编程闪烁存储器;3.寿命长1000写/擦循环.数据保留时间可以达到10年;4.三级程序存储器锁定5.具有128*8位内部RAM;5.32可编程I/O线和两个16位定时器/计数器还有5个中断源;6.可编程串行通道,低功耗的闲置和掉电模式,片内振荡器和时钟电路。图3.1AT89C523.389C52的IO口介绍P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。第4章键盘输入模块的设计4.1键盘的电路及原理本设计采用了4x4的行列式键盘。行列式键盘的接法比独立式键盘的接法复杂,编程实现上也会比较复杂。但是,在占用相同的I/O端口的情况下,行列式键盘的接法会比独立式接法允许的按键数量多。图4.1中硬件采用中断方式工作,用一个8位I/O口构成4×4键盘。具体做法如下将P1.3~P1.0设为列输入线,P1.7~P1.4设为行输出线,并使I/O输出信号P1.7~P1.4为0000。若有键按下,与门的输出端变为低电平,向CPU 申请 关于撤销行政处分的申请关于工程延期监理费的申请报告关于减免管理费的申请关于减租申请书的范文关于解除警告处分的申请 中断,表示键盘中有键按下。CPU执行中断程序对键盘进行扫描,判断键值。CPU在中断程序中先将P1.3~P1.0的数值读入以此判断出列值。然后再分别令P1.7~P1.4逐行输出低电平,并再次扫描P1.3~P1.0,以确定行值。如此就完成了键盘的输入扫描。图4.1键盘输入电路第5章显示模块的设计5.1数码管及二极管的电路及原理为了让使用者能直观地知道系统的运行状态,显示设备是必不可少的。这里采用了两个七段数码管和七个发光二极管对系统运行过程的状态及结果进行显示。没有按键按下的时候,数码管将不显示。而发光二极管将轮流点亮形成漂亮的跑马灯。由于红色发光二极管的一般工作电流为20mA,压降1.7V。而单片机的管脚最大输出电流一般只有10mA。为了保护单片机使其温度及功耗不会过高,因此在二极管和单片机之间要接一个74HC573锁存器进行锁存,然后再驱动二极管。发光二极管的反向击穿电压约5伏。它的正向伏安特性曲线很陡,使用时必须串联限流电阻以控制通过管子的电流。限流电阻R可用下式计算:R=(E-UF)/IF式中E为电源电压,UF为LED的正向压降,IF为LED的一般工作流。5.2PWM简介PWM(脉冲宽度调制)是按一个固定的频率来接通和断开电源,并且根据需要改变一个周期内“接通”和“断开”时间的长短。通过改变直流电机电枢上电压的“占空比”来达到改变平均电压大小的目的,从而来控制电动机的转速。也正因为如此,PWM又被称为“开关驱动装置”。PWM控制电路:图5.1PWM控制电路图5.2PWM控制流程图第6章直流电机控制模块的设计6.1直流电机的介绍定义输出或输入为直流电能的旋转电机,称为直流电机,它是能实现直流电能和机械能互相转换的电机。直流电机是电机的主要类型之一。直流电动机以其良好的启动性和调速性能著称,直流发电机供电质量较好,常常作为励磁电源。与交流电机相比直流电机的结构较复杂,成本较高,可靠性较差,使它的应用受到限制。近年来,与电力电子装置结合而具有直流电机性能的电机不断涌现,使直流电机有被取代的趋势。尽管如此,直流电机仍有一定的理论意义和实用价值。直流电机的结构由定子和转子两大部分组成。直流电机运行时静止不动的部分称为定子,定子的主要作用是产生磁场,由机座、主磁极、换向极、端盖、轴承和电刷装置等组成。运行时转动的部分称为转子,其主要作用是产生电磁转矩和感应电动势,是直流电机进行能量转换的枢纽,所以通常又称为电枢,由转轴、电枢铁心、电枢绕组、换向器和风扇等组成。6.2数模转换器DAC0832DAC0832是采用CMOS工艺制成的单片直流输出型8位数/模转换器。一个8位D/A转换器有8个输入端(其中每个输入端是8位二进制数的一位),有一个模拟输出端。输入可有28=256个不同的二进制组态,输出为256个电压之一,即输出电压不是整个电压范围内任意值,而只能是256个可能值。D0~D7:数字信号输入端。ILE:输入寄存器允许,高电平有效。CS:片选信号,低电平有效。WR1:写信号1,低电平有效。XFER:传送控制信号,低电平有效。WR2:写信号2,低电平有效。IOUT1、IOUT2:DAC电流输出端。Rfb:是集成在片内的外接运放的反馈电阻。Vref:基准电压(-10~10V)。Vcc:是源电压(+5~+15V)。AGND:模拟地NGND:数字地,可与AGND接在一起使用。第7章课程设计总结通过本次课程设计,使我学到了许多书本上无法学到的知识,也使我深刻体会到单片机技术应用领域的广泛。不仅让我对学过的单片机知识有了很多的巩固,同时也对单片机这一门课程产生了更大的兴趣。在本次课程设计过程中,我学会了在网络上查找有关本设计的各硬件的资源,其中包括:直流电机PWM调速、AT89C52单片机、L289引脚图及其引脚功能等,LED数码管显示,为本次课程设计提供了一定的资料。在做课程设计的初期阶段,难度很大,没有头绪。通过求助于杨老师、理清了思路。同时,在图书馆里、网上查阅资料,攻克了课程设计中的道道难题。无论是在硬件还是软件设计上,我都遇到了不少的问题,在克服困难的过程中,我学到了许多,特别是在课堂上学不到的东西如(PWM)。致谢非常感谢杨老师给我的指导,从最初的定题,到资料收集,到写作、修改,到课程的定稿,他给了我耐心的指导和无私的帮助。为了指导我们的课程设计,他放弃了自己的休息时间,他的这种无私奉献的敬业精神令人钦佩,在此我向他表示我诚挚的谢意。同时,也感谢身边的同学和朋友给我的支持和帮助参考文献[1]. 教材:《单片机原理与应用及C51程序设计第3版》 谢维成、杨加国 主编 清华大学出版社[2]. 参考书: 《通用单片机系统综合实训平台》《金鹏字符液晶显示模块使用说明书》附录程序:#include<reg52.h>#include<12864.c>#defineucharunsignedchar#defineuintunsignedint#defineCIRCLE25//速度可调节的档位设置ucharcount=1,last=10;uchartemp,key;uinttime,speed;bitPWM,flag=0;ucharkt=0;sbitMoto1=P3^0;sbitMoto2=P3^1;voidmDelay(uintDelay)//延时{uinti;for(;Delay>0;Delay--)for(i=0;i<110;i++);}voidTimer0(void)interrupt1//定时器0溢出中断服务子程序,用于产生PWM波{count++;if(count>CIRCLE){count=1;}if(count<=last)PWM=0;elsePWM=1;TH0=0xFC;TL0=0x66;}voidINT_0(void)interrupt0//外部中断0中断服务子程序,用于记录测速器模块产生的脉冲数目{EX0=0;//禁止外部中断0中断time++;EX0=1;//允许外部中断0中断}voidTimer1(void)interrupt3//定时器1溢出中断服务子程序,用于获取速度值{TH1=0x4C;//重装定时初值TL1=0x00;//50ms定时time=time*300;//防止个位被去除speed=(time/3)*20;//速度:r/sspeed=speed/300;time=0;}voidINT_Init()//系统初始化函数,初始化定时器T0、T1和外部中断0{TMOD=0x10;//选择T1工作于方式1TH1=0x4C;TL1=0x00;//50ms定时ET1=1;//允许T1中断TR1=1;//启动T1中断ET0=1;//允许T0中断TH0=0xFC;TL0=0x66;TR0=1;//启动T0中断IT0=1;//下降沿触发EX0=1;//允许外部中断0中断EA=1;//开所有中断LCD12864_Init();LCD12864_Clear();Display();}/**********************************************************///键扫描子程序voidkeyscan(void){P1=0xF0;//行线为输入,列线为输出,并置列线输出全为0temp=P1;//读P1口temp=temp&0xF0;temp=~((temp>>4)|0xF0);if(temp==1)key=0;elseif(temp==2)key=1;elseif(temp==4)key=2;elseif(temp==8)key=3;P1=0x0F;//列线为输入,行线为输出,并置行线输出全为0temp=P1;//读P1口temp=temp&0x0F;temp=~(temp|0xF0);if(temp==1)key=key+0;elseif(temp==2)key=key+4;elseif(temp==4)key=key+8;elseif(temp==8)key=key+12;while(temp){P1=0x0F;temp=P1;temp=temp&0x0F;temp=~(temp|0xF0);}}/*************************************************************///判断键是否按下voidkeydown(void){P1=0xF0;mDelay(5);if(P1!=0xF0){keyscan();switch(mm[key]){case0:kt=1;break;case2:last--;if(last<1)last=25;break;case4:flag=0;break;case5:kt=0;break;case6:flag=1;break;case8:last++;if(last>=25)last=1;break;default:break;}}}voidmain(void)//主函数{INT_Init();while(1){keydown();display(key,speed);if(kt){if(flag)//正传{Moto1=PWM;Moto2=0;}if(!flag)//反传{Moto2=PWM;Moto1=0;}}else{Moto2=0;Moto1=0;}}}子程序:#defineucharunsignedchar#defineuintunsignedintsbitLCD_E=P2^4;//定义管脚sbitLCD_RW=P2^3;sbitLCD_RS=P2^2;sbitLCD_CS2=P2^1;sbitLCD_CS1=P2^0;#defineData_PortP0ucharcodemm[]={1,2,3,11,4,5,6,12,7,8,9,13,15,0,16,14};ucharcodeDot[][32]=//数据表{//-0-直--{0x00,0x04,0x04,0xE4,0xA4,0xA4,0xA4,0xBF,0xA4,0xA4,0xA4,0xF4,0x26,0x04,0x00,0x00,0xC0,0xC0,0xC0,0xFF,0xCA,0xCA,0xCA,0xCA,0xCA,0xCA,0xCA,0xFF,0xC0,0xE0,0xC0,0x80},//-1-流--{0x10,0x22,0x64,0x0C,0x80,0x44,0x44,0x64,0x55,0x4E,0x44,0x54,0x66,0xC4,0x00,0x00,0x84,0x84,0xFE,0x81,0x80,0x80,0xC0,0xBF,0x80,0xFF,0x80,0xBF,0xC0,0xC0,0xF0,0x80},//-2-电--{0x00,0xF8,0x48,0x48,0x48,0x48,0xFF,0x48,0x48,0x48,0x48,0xFC,0x08,0x00,0x00,0x00,0x80,0x87,0x82,0x82,0x82,0x82,0xBF,0xC2,0xC2,0xC2,0xC2,0xC7,0xC0,0xF0,0x80,0x80},//-3-机--{0x10,0x10,0xD0,0xFF,0x90,0x10,0x00,0xFC,0x04,0x04,0x04,0xFE,0x04,0x00,0x00,0x00,0x84,0x83,0x80,0xFF,0x80,0xC1,0xA0,0x9F,0x80,0x80,0x80,0xBF,0xC0,0xC0,0xF0,0x80},//-4-控--{0x10,0x10,0x10,0xFF,0x90,0x50,0x0C,0x44,0x24,0x15,0x06,0x14,0x24,0x54,0x0C,0x00,0x82,0xC2,0x81,0xFF,0x80,0xC0,0xC2,0xC2,0xC2,0xC2,0xFE,0xC2,0xC3,0xE2,0xC0,0x80},//-5-制--{0x40,0x60,0x5E,0x48,0x48,0xFF,0x48,0x4C,0x68,0x40,0xF8,0x00,0x00,0xFF,0x00,0x00,0x80,0x80,0xBF,0x81,0x81,0xFF,0x91,0xA1,0x9F,0x80,0x87,0xC0,0x80,0xFF,0x80,0x80},//-6-按--{0x10,0x10,0x90,0xFF,0x90,0xA0,0x98,0x88,0x88,0xE9,0x8A,0x88,0x88,0xA8,0x98,0x00,0x81,0xC1,0x80,0xFF,0x80,0x80,0x80,0x84,0xCB,0xB0,0x90,0xA8,0xC7,0xC0,0x80,0x80},//-7-键--{0x10,0x28,0xE7,0x24,0x24,0xC2,0xB2,0x8E,0x10,0x54,0x54,0xFF,0x54,0x7C,0x10,0x00,0x81,0x81,0xFF,0xA1,0xD1,0xA4,0x98,0xA7,0xC8,0x89,0x89,0xFF,0x89,0xCD,0xC8,0x80},//-8-正--{0x00,0x02,0x02,0xC2,0x02,0x02,0x02,0xFE,0x82,0x82,0x82,0xC2,0x83,0x02,0x00,0x00,0xC0,0xC0,0xC0,0xFF,0xC0,0xC0,0xC0,0xFF,0xC0,0xC0,0xC0,0xC0,0xC0,0xE0,0xC0,0x80},//-9-反--{0x00,0x00,0xFC,0x24,0x24,0xE4,0x24,0x24,0x24,0x22,0x22,0xA3,0x62,0x00,0x00,0x00,0xC0,0xB0,0x8F,0x80,0x80,0xC0,0xA3,0x94,0x88,0x94,0xA2,0xA1,0xC0,0xC0,0xC0,0x80},//-10-转--{0x08,0xC8,0xB8,0x8F,0xE8,0x88,0x40,0x48,0xC8,0x7F,0x48,0x48,0x4C,0x68,0x40,0x00,0x88,0x98,0x88,0x84,0xFF,0x84,0x80,0x82,0x93,0xA2,0xE2,0x9A,0x86,0x82,0x80,0x80},//-11-加--{0x10,0x10,0x10,0xFF,0x10,0x10,0xF8,0x10,0x00,0xF8,0x08,0x08,0x08,0xFC,0x08,0x00,0xC0,0xA0,0x9E,0x81,0xA0,0xC0,0xBF,0x80,0x80,0xFF,0xA0,0xA0,0xA0,0xFF,0x80,0x80},//-12-减--{0x00,0x02,0x04,0x8C,0x40,0xF8,0x08,0x48,0x48,0x48,0x08,0xFF,0x0A,0x8C,0x08,0x00,0x82,0x82,0xBF,0x80,0xC0,0xBF,0x80,0xBF,0x91,0xDF,0xA0,0x9F,0xA8,0xC7,0xE0,0x80},//-13-速--{0x40,0x42,0x44,0xCC,0x00,0xF4,0x94,0x94,0x94,0xFF,0x94,0x94,0x94,0xF6,0x04,0x00,0x80,0xC0,0xA0,0x9F,0xA0,0xD1,0xC8,0xC4,0xC2,0xFF,0xC2,0xC4,0xCC,0xE1,0xA0,0x80},//-14-开--{0x80,0x82,0x82,0x82,0xFE,0x82,0x82,0x82,0x82,0x82,0xFE,0x82,0x83,0xC2,0x80,0x00,0x80,0x80,0xC0,0xB0,0x8F,0x80,0x80,0x80,0x80,0x80,0xFF,0x80,0x80,0x80,0x80,0x80},//-15-始--{0x10,0x10,0xF0,0x1F,0x10,0xF0,0x40,0x60,0x58,0x47,0x40,0x40,0x50,0x60,0xC0,0x00,0xC0,0xA2,0x95,0x88,0x96,0xE1,0x80,0xFE,0xC2,0xC2,0xC2,0xC2,0xC2,0xFF,0x82,0x80},//-16-停--{0x40,0x20,0xF8,0x07,0x00,0x04,0x74,0x54,0x55,0x56,0x54,0x54,0x76,0x04,0x00,0x00,0x80,0x80,0xFF,0x84,0x83,0x81,0x85,0xC5,0x85,0xFD,0x85,0x85,0x81,0x85,0x83,0x80},//-17-止--{0x00,0x00,0x00,0xF8,0x00,0x00,0x00,0xFF,0x40,0x40,0x40,0x60,0x40,0x00,0x00,0x00,0xC0,0xC0,0xC0,0xFF,0xC0,0xC0,0xC0,0xFF,0xC0,0xC0,0xC0,0xC0,0xC0,0xE0,0xC0,0x80},//-18---{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},//-19-度--{0x00,0x00,0xFC,0x24,0x24,0x24,0xFC,0xA5,0xA6,0xA4,0xFC,0x24,0x34,0x26,0x04,0x00,0xC0,0xA0,0x9F,0x80,0xC2,0xC2,0xA6,0xAA,0x92,0xAA,0xA6,0xC2,0xC0,0xC0,0xC0,0x80}};ucharcodenum[][16]=//ASCII{{0xF8,0xFC,0x04,0xC4,0x24,0xFC,0xF8,0x00,0x87,0x8F,0x89,0x88,0x88,0x8F,0x87,0x80},//-0-{0x00,0x10,0x18,0xFC,0xFC,0x00,0x00,0x00,0x80,0x88,0x88,0x8F,0x8F,0x88,0x88,0x80},//-1-{0x08,0x0C,0x84,0xC4,0x64,0x3C,0x18,0x00,0x8E,0x8F,0x89,0x88,0x88,0x8C,0x8C,0x80},//-2-{0x08,0x0C,0x44,0x44,0x44,0xFC,0xB8,0x00,0x84,0x8C,0x88,0x88,0x88,0x8F,0x87,0x80},//-3-{0xC0,0xE0,0xB0,0x98,0xFC,0xFC,0x80,0x00,0x80,0x80,0x80,0x88,0x8F,0x8F,0x88,0x80},//-4-{0x7C,0x7C,0x44,0x44,0xC4,0xC4,0x84,0x00,0x84,0x8C,0x88,0x88,0x88,0x8F,0x87,0x80},//-5-{0xF0,0xF8,0x4C,0x44,0x44,0xC0,0x80,0x00,0x87,0x8F,0x88,0x88,0x88,0x8F,0x87,0x80},//-6-{0x0C,0x0C,0x04,0x84,0xC4,0x7C,0x3C,0x00,0x80,0x80,0x8F,0x8F,0x80,0x80,0x80,0x80},//-7-{0xB8,0xFC,0x44,0x44,0x44,0xFC,0xB8,0x00,0x87,0x8F,0x88,0x88,0x88,0x8F,0x87,0x80},//-8-{0x38,0x7C,0x44,0x44,0x44,0xFC,0xF8,0x00,0x80,0x88,0x88,0x88,0x8C,0x87,0x83,0x80},//-9-{0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,0x80,0x80,0x80,0x86,0x86,0x80,0x80,0x80},//10-:-{0xE0,0xF0,0x98,0x8C,0x98,0xF0,0xE0,0x00,0x8F,0x8F,0x80,0x80,0x80,0x8F,0x8F,0x80},//11-A-{0x04,0xFC,0xFC,0x44,0x44,0xFC,0xB8,0x00,0x88,0x8F,0x8F,0x88,0x88,0x8F,0x87,0x80},//12-B-{0xF0,0xF8,0x0C,0x04,0x04,0x0C,0x18,0x00,0x83,0x87,0x8C,0x88,0x88,0x8C,0x86,0x80},//13-C-{0x04,0xFC,0xFC,0x04,0x0C,0xF8,0xF0,0x00,0x88,0x8F,0x8F,0x88,0x8C,0x87,0x83,0x80},//14-D-{0x80,0xA0,0xE0,0xC0,0xC0,0xE0,0xA0,0x80,0x80,0x82,0x83,0x81,0x81,0x83,0x82,0x80},//15-*-{0x20,0xF8,0xF8,0x20,0xF8,0xF8,0x20,0x00,0x82,0x8F,0x8F,0x82,0x8F,0x8F,0x82,0x80},//16-#-{0x20,0xE0,0xC0,0x60,0x20,0x60,0xC0,0x00,0x88,0x8F,0x8F,0x88,0x80,0x80,0x80,0x80},//17-r-{0x40,0xE0,0xA0,0x20,0x20,0x60,0x40,0x00,0x84,0x8C,0x89,0x89,0x8B,0x8E,0x84,0x80},//18-s-{0x00,0x00,0x00,0x80,0xC0,0x60,0x30,0x00,0x8C,0x86,0x83,0x81,0x80,0x80,0x80,0x80}//19-/-};/*-------------------------------------------------------函数名称:Write_Com()函数功能:向LCD12864里写命令参数:left左边芯片选通位right右边芯片选通位Com要写的命令返回值:无---------------------------------------------------------*/voidWrite_Com(ucharcom){LCD_E=0;LCD_RS=0;LCD_E=1;Data_Port=com;}/*-------------------------------------------------------函数名称:Write_Data()函数功能:向LCD12864里写数据参数:left左边芯片选通位right右边芯片选通位Data要写的数据返回值:无---------------------------------------------------------*/voidWrite_Data(ucharData){LCD_E=0;LCD_RS=1;LCD_E=1;Data_Port=Data;}/*-----------------------------------------函数名称:LCD12864_Disp()函数功能:在任意位置上显示汉字参数:XX地址位置YY地址位置*P指针数据的首地址返回值:无------------------------------------------*/voidLCD12864_Disp(ucharx,uchary,uchar*p){uchari,j;chark;for(i=0;i<32;i++){if(i>=16){j=1;k=-16;}elsej=0,k=0;Write_Com(0xb8+j+x);//设置X地址Write_Com(0x40+i+y+k);//设置Y地址Write_Data(p[i]);//送数据}}/*-----------------------------------------函数名称:LCD12864_DispNum()函数功能:在任意位置上显示数字参数:XX地址位置YY地址位置*P指针数据的首地址返回值:无------------------------------------------*/voidLCD12864_DispNum(ucharx,uchary,uchar*p){uchari,j;chark;for(i=0;i<16;i++){if(i>=8){j=1;k=-8;}elsej=0,k=0;Write_Com(0xb8+x+j);//设置X地址Write_Com(0x40+i+y+k);//设置Y地址Write_Data(p[i]);//送数据}}/*-------------------------------------------------------函数名称:LCD12864_Init()函数功能:LCD12864初始化参数:返回值:无---------------------------------------------------------*/voidLCD12864_Init(){Data_Port=0xFF;LCD_CS1=0;LCD_CS2=0;LCD_E=1;LCD_RW=0;Write_Com(0x3e);//显示关Write_Com(0x3f);//显示开Write_Com(0xc0);//显示起始行Write_Com(0xb8);//设置X地址Write_Com(0x40);//设置Y地址、}/*---------------------------------------------------函数名称:LCD12864_Clear()函数功能:清屏参数:left清左屏right清右屏返回值:无【说明】:00不清屏11清全屏01清右屏10清左屏-----------------------------------------------------*/voidLCD12864_Clear(){ucharaa,bb;//aa控制X地址bb控制Y地址for(aa=0;aa<8;aa++){Write_Com(0xb8+aa);LCD_CS1=0;LCD_CS2=1;for(bb=0;bb<64;bb++){Write_Data(0x00);}LCD_CS1=1;LCD_CS2=0;for(bb=0;bb<64;bb++){Write_Data(0x00);}}}voidDisplay(){LCD_CS1=0;LCD_CS2=1;LCD12864_Disp(0,16,Dot[0]);LCD12864_Disp(0,32,Dot[1]);LCD12864_Disp(0,48,Dot[2]);LCD_CS1=1;LCD_CS2=0;LCD12864_Disp(0,0,Dot[3]);LCD12864_Disp(0,16,Dot[4]);LCD12864_Disp(0,32,Dot[5]);LCD_CS1=0;LCD_CS2=1;LCD12864_Disp(3,16,Dot[6]);LCD12864_Disp(3,32,Dot[7]);LCD12864_DispNum(3,56,num[10]);LCD12864_Disp(6,16,Dot[13]);LCD12864_Disp(6,32,Dot[19]);LCD12864_DispNum(6,48,num[10]);LCD_CS1=1;LCD_CS2=0;LCD12864_DispNum(6,24,num[17]);LCD12864_DispNum(6,32,num[19]);LCD12864_DispNum(6,40,num[18]);}voiddisplay(uchardis,uintv){LCD_CS1=0;LCD_CS2=1;LCD12864_DispNum(3,48,num[mm[dis]]);LCD_CS1=1;LCD_CS2=0;switch(mm[dis]){case0:LCD12864_Disp(3,8,Dot[14]);LCD12864_Disp(3,24,Dot[15]);break;case2:LCD12864_Disp(3,8,Dot[11]);LCD12864_Disp(3,24,Dot[13]);break;case4:LCD12864_Disp(3,8,Dot[8]);LCD12864_Disp(3,24,Dot[10]);break;case5:LCD12864_Disp(3,8,Dot[16]);LCD12864_Disp(3,24,Dot[17]);break;case6:LCD12864_Disp(3,8,Dot[9]);LCD12864_Disp(3,24,Dot[10]);break;case8:LCD12864_Disp(3,8,Dot[12]);LCD12864_Disp(3,24,Dot[13]);break;default:LCD12864_Disp(3,8,Dot[18]);LCD12864_Disp(3,24,Dot[18]);break;}LCD12864_DispNum(6,0,num[v/100]);LCD12864_DispNum(6,8,num[v/10%10]);LCD12864_DispNum(6,16,num[v%10]);}
本文档为【单片机---直流电机控制实验】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
机构认证用户
壹笑先生
致力于服务广大学子、教师、社考人员等一份学习的资料!
格式:doc
大小:535KB
软件:Word
页数:0
分类:工学
上传时间:2020-08-24
浏览量:1