毕业设计(论文)-镜片剪切自动化系统设计方案.doc

上传人:来看看 文档编号:3959041 上传时间:2019-10-11 格式:DOC 页数:23 大小:12.98MB
返回 下载 相关 举报
毕业设计(论文)-镜片剪切自动化系统设计方案.doc_第1页
第1页 / 共23页
毕业设计(论文)-镜片剪切自动化系统设计方案.doc_第2页
第2页 / 共23页
毕业设计(论文)-镜片剪切自动化系统设计方案.doc_第3页
第3页 / 共23页
毕业设计(论文)-镜片剪切自动化系统设计方案.doc_第4页
第4页 / 共23页
毕业设计(论文)-镜片剪切自动化系统设计方案.doc_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《毕业设计(论文)-镜片剪切自动化系统设计方案.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)-镜片剪切自动化系统设计方案.doc(23页珍藏版)》请在三一文库上搜索。

1、目录摘要 Abstract1引言 3 1.1本设计的目的和意义 3 1.2本设计所要解决的问题及完成的主要内容 42镜片剪切自动化系统总体方案及特点 43镜片剪切自动化系统运动方案 54镜片剪切自动化系统及设计 7 4.1.1电机的选择 7 4.1.2直流电机特性 84.1.3判定机电传动系统能否稳定运行104.2 传感器的选择与布置 114.3材料选择与结构设计 154.4电机及传动机构的设计 154.5 电源支架设计 165参考文献 17附录一:主控电路原理图 18附录二:PWM直流电动机调速代码19摘要本剪片剪切自动化系统以机电一体化形式出现,它以钢为支架、铅蓄电池为电源、直流电机为驱动

2、、51单片机为控制核心,加以传感器及各功能电路共同构成。系统由单片机控制剪切运动模式,用传感器识别物体,用二自由度云台及传感器进行扫描定位,用小电机驱动剪切装置。关键词:镜片剪切、自动化、机械系统AbstractThe intelligent robot finally appears in the form of a machanics. It is base-frame is made of iron. And it takes lead-acid batteries as its power supply, is controled by 51 SCM .It also consists

3、 of tires and various functional circuits. The pattern of its movements is controled by the single-chip microcomputer .It is with two degrees of freedom and far-infrared flame sensors-scanning and positioning the flame, furthermore, driving the fire-extinguished device.Key words: Intelligence, Autom

4、atic, Mechanical System1引言1.1镜片剪切工作的现状被镜片主要应用于手机摄像头上,需要很高的光洁度,对磨损程度要求较高。而镜片生产过程中,由于塑料模具结构限制无法避免的产生废料,而废料必须去除,且剪切镜片需要在剪钳有一定工作温度。这就需要在去除废料剪切镜片的过程中,既保证效率又要不能磨损破坏镜片。目前镜片剪切工作以人工为主。造成工作效率底下,容易磨损镜片的缺点。且由于剪钳需要一定的工作温度,所以人工手工的工作无法满足镜片剪切效率与质量的要求。图-废料形状1.2本设计的目的和意义自动化系统是的机电一体化产品,具有良好的实用前景。它主要应用在一些不适合或者是不需要人工工作的

5、地方(如精密工厂、生产流水线、自动化生产车间、生产车间等),实现自动化检测和自动化工作并及时调整工作状态。想达到这些目的,就需要镜片剪切自动化系统应该具有以下功能:检测材料形状,自动匹配工作温度,自动剪切工作等。该课题的主要设计目的是完成镜片剪切自动化系统实物的制作,实现从模型到实物的跨越。我的主要任务是完成镜片剪切自动化系统方案设计,并结合镜片剪切自动化系统的软硬件系统进行综合调试,最终实现上述功能并完成设计说明书。1.3本设计的研究内容原来本设计课题拟解决的关键问题有智能检测、定位、自动调节温度与自动剪切等功能模块设计与制作,并综合机械系统、硬件电路和软件程序进行整体功能调试。而这次课程设

6、计中主要针对一体化课程设计,因此完成的主要内容有:1)工作机械结构有关方面的设计; 2)电源安装与固定方案的设计;3)传感器的选择; 4)底板的材料选择与结构设计;5)运动机构的设计;8)电源支架设计及螺栓校核。1.4 镜片剪切自动化系统的预期效果镜片剪切自动化系统以机电一体化的形式出现,体统在工作过程中有自动检测功能,识别废料形状,进行精确剪切;并在工作时自动调节剪钳的温度,并将剪切后的镜片与废料分离分装好。其中完成本次课程设计的部分为:镜片剪切自动化系统首要解决的是机电运转的问题,即实现镜片剪切自动化系统能够进行基本的剪切运动。 图-人手工作设备2镜片剪切自动化系统控制系统总体方案及特点该

7、镜片剪切自动化系统硬件部分主要由控制模块、电机驱动模块、检测模块开启装置电机模块及报警模块组成;其中控制模块以单片机为控制核心、电机驱动模块由左右两个型号一样的直流电机及其电路组成、检测由4个红外传感器及其电路组成。各个组成部分关系具有如图2-1:单片机控制模块电源模块大电机模块检测模块机械运动模块温度模块小电机模块图2-1开启电源后该镜片剪切自动化系统能够自动检测废料形状,按事先设定好的程序进行精确剪切。并自动调控剪钳的温度,以适合剪切镜片的工作要求。再将废料与镜片分离。实现高效率低磨损的工作。3镜片剪切自动化系统运动方案机械形式方案选择根据镜片剪切自动化系统的基本功能对总体方案如下:方案1

8、:利用现成物品基本的机械支架。利用的组装完整的机械支架、如玩具内的电机及其驱动电路。但是一般的说来,具有如下缺点:首先,玩具由于装配紧凑,使得各种所需传感器的安装十分不方便。其次,一般都是机械部分都是按设计好的运转自由度,不能方便迅速的实现90度甚至180度的运动操作,无法达到高精度剪切的要求。再次,玩具的电机多为小转矩直流电机,力矩小,空载转速快,负载性能差,不易调速。方案2:自己制作机械及电路零部件。考虑到该机械外型及布置的关系,通过自己设计可以很明显的知道设计的合理性,也可以按照自己设计的意愿来控制机械体的尺寸,电机也可以自己按照负载量和灵敏性来选择。但是这个方案量很大,风险也相应增大。

9、比较方案1和方案2,可以知道方案1比方案2简单,省时间,但是费用较高,灵活性不强,有很大的局限性。综合两个方案的优缺点,决定采用方案2对自动化机械体进行下一步的设计。4智能灭火机器人控制系统方案及设计4.1.1电机的选择1)直流减速电机直流减速电机是以直流电作为电源。直流减速电机转动力矩大,体积小,重量轻,装配简单,使用方便。由于其内部由高速电动机提供原始动力,带动变速(减速)齿轮组,可以产生大扭力,且通过脉宽调制可以较容易控制电机转动速度。一般而言同样的体积直流电机可以输出较大功率,而且直流电机转速不受电源频率限制可以制做出高速电机,速度控制也只要控制电压即可,较简单容易。 2)步进电机步进

10、电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点。使得在速度、位置等控制领域用步进电机来控制变的非常的简单。但是步进电机的输出力矩随转速升高而下降,且在较高转速时会急剧下降,所以其最高工作转速一般在300600RPM,另外步进电机一般也不具有过载能力。 3)伺服电机一般伺服电机采用交流电驱动,有电压和脉冲两种控制方式。它的控制过程最精确,也正因此伺服电机的价格最高。综合比较以上3种电机

11、,虽然步进电机已被广泛地应用,但步进电机并不能象普通的直流电机、交流电机那样在常规下使用,它的应用条件相对比较复杂;而伺服电机大多采用交流电控制,而且价格昂贵;因此通过以上对比我们决定选用直流减速电机。4.1.2直流电机的机械特性分析:直流他励电动机的机械特性:电枢回路中的电压平衡方程(4-1)U=E+IaRa图4-1 直流电动机的机械特性以E=Ken代入上式并略加整理后,得(4-2)再以带入上式,即可得直流电机的机械特性的一般表达式:(4-3)当T=0时的转速成为理想空载转速。Ke与电机结构有关的常数;K 与电机有关的常数,K=9.55 K图4-2 直流电机正反转时的固有机械特性固有机械特性

12、固有特性又称为自然特性,它是指在额定条件下的曲线。当,时,且Ke、Kt、Ra都为常数,故是一条直线。直流他励电动机正反转时的固有机械特性如图4-2所示:改变电枢电压U时的人为机械特性:图4-3改变电枢电压U时的人为机械特性当,改变电枢电压U(即)时,理想空载转速要随U的变化而变化,但转速降不变。所以在不同的电枢电压U时,可得一族平行于固有机械特性曲线的人为机械特性曲线,如右图所示。由于电动机绝缘耐压强度的限制,电枢电压值只允许在其额定值以下调节,所以,不同U值时的人为机械特性曲线均在固有机械特性曲线之下。改变电枢电压U时的人为机械特性曲线如图4-3所示。直流他励电动机改变电枢电压U时的调速特性

13、改变电枢电压U可得到人为机械特性(如图4-3)。然而改变电枢电压U时,从图4-4中可看出,在一定负载转矩TL下,加上不同的电压UN、U1、U2、U3可以得到不同的转速na、nb、nc、nd即改变电枢电压可以达到调速的目的。图4-4 改变电枢电压U时的调速特性现以电压由U1突然升高至UN为例说明其升速的几点过程。电压为U1时,电动机工作在U1特性的点b,稳定转速为nb,当电压突然上升为UN时的一瞬间,由于系统机械惯性的作用,转速n不能突变,相应的反电动势E=Ken也不能突变,仍为nb和Eb。在不考虑电枢电路的电感时,电图4-5 能耗制动状态下的机械特性枢电流将随U的突然上升由突然增至,则电动机的

14、转矩也由突然增至,即在突增的一瞬间,电动机的工作点由U1特性的点过渡到UN特性的点(实际上平滑调节时,是不大的)。由于,所以系统开始加速,反电动势也随转速的上升而增大,电枢电流则逐渐减小,电动机转矩也相应减小,电动机的工作点将沿UN特性由点向点移动,直到时又下降到,此时电动机已工作在一个新的稳定转速na。直流他励电动机的制动特性电动机的制动是与启动相对的一种工作状态,启动是从静止加速到某一稳定转速,而制动则是从某一稳定转速减速到停止或是限制位能负载下降速度的一种运转状态。在该设计中,电动机带动的是反抗性负载,它只具有惯性能量(动能),能耗制动的作用是消耗掉传动系统储存的动能,使电动机迅速停车,

15、其制动过程如右图所示。设电动机原来运行在点,转速为,刚开始制动时不变,但制动特性为曲线,工作点由点转到点。这时电动机的转矩为负值(因此时在电动势的作用下,电枢电流反向),是制动转矩,在制动转矩和负载转矩共同作用下,拖动系统减速。电动机工作点沿特性曲线上的箭头方向变化,随着转速的下降,制动转矩也逐渐减小,直至时,电动机产生的制动转矩也下降到零,制动作用自行结束。镜片剪切自动化系统的负载特性镜片剪切自动化系统电机负载特性实际曲线如图4-6所示,其负载特性满足恒功率型负载特性。当电机从0开始启动时负载转矩最高为Tmax,负载转矩随着转速的提高而降低。4.1.3判定机电传动系统能否稳定运行比较系统的负

16、载特性曲线和电机的机械特性曲线(图4-7)可知:图4-6 系统负载特性曲线电动机的机械特性曲线和系统的负载特性曲线有交点(即拖动系统的平衡点)。转速大于平衡点所对应的转速时,。图4-7 电机拖动负载时的特性因此该机电传动系统满足系统稳定运行的两个充分必要条件,因此该机电传动系统满足系统稳定运行。综合比较分析以上内容可得直流电机符合该设计要求。4.2传感器的选择及布置 1.传感器的类型1)电阻式传感器电阻式传感器是将被测量,如位移、形变、力、加速度、湿度、温度等这些物理量转换式成电阻值这样的一种器件。2)称重传感器 称重传感器是一种能够将重力转变为电信号的力-电转换装置,是电子衡器的一个关键部件

17、。3)电阻应变式传感器 该传感器中的电阻应变片具有金属的应变效应,即在力作用下产生机械形变,从而使电阻值随之发生相应的变化。电阻应变片主要有金属和半导体两类,金属应变片有金属丝式、箔式、薄膜式之分。半导体应变片具有灵敏度高(通常是丝式、箔式的几十倍)、横向效应小等优点。4)压阻式传感器 是根据半导体材料的压阻效应在半导体材料的基片上经扩散电阻而制成的器件。其基片可直接作为测量传感元件,扩散电阻在基片内接成电桥形式。当基片受到外力作用而产生形变时,各电阻值将发生变化,电桥就会产生相应的不平衡输出。热电阻传感器 热电阻测温是基于金属导体的电阻值随温度的增加而增加这一特性来进行温度测量的。热电阻大都

18、由纯金属材料制成,目前应用最多的是铂和铜,此外,现在已开始采用镍、锰和铑等材料制造热电阻。热电阻传感器主要是利用电阻值随温度变化而变化这一特性来测量温度及与温度有关的参数。在温度检测精度要求比较高的场合,这种传感器比较适用。目前较为广泛的热电阻材料为铂、铜、镍等,它们具有电阻温度系数大、线性好、性能稳定、使用温度范围宽、加工容易等特点。用于测量-200+500范围内的温度。基于以上各种传感器分析,结合本设计的具体要求,检测模块的作用是使系统能否检测到一定距离形状,并且定位,所以检测模块是非常重要的部分,它的准确性直接决定本次毕业设计的成功与否,所以基于这个模块的重要性,我选择了红外传感器作为检

19、测模块的传感器。红外传感器能够探测到波长在760纳米1100纳米范围内的红外光,探测角度为60,其中红外光波长在940纳米附近时,其灵敏度达到最大。它的工作温度为-25摄氏度85摄氏度。红外传感器探测角度为60,探头的检测范围内如图4-8所示:红外传感器将外界红外线的强弱变化转化为电流的变化,通过A/D转换器反映为0255范围内数值的变化。外界的红外线越强,其数值越小;红外线越弱,其数值越大。这样,只要对A/D值进行相应处理就可以判断出位置。为了减小误差,提高准确度我共用了4个红外传感器,安装在前部正上方,分“十”字排列,这样可以消除放置的各种特殊情况,减少程序编写的量。下面是该火焰传感器的接

20、口图4-9和外形图4-10 图4-9 图4-102.针对这个传感器的形状我也考虑了两种传感器的布置方式:第一种布置方式是比较紧凑,在竖直方向的检测范围较小,这些都是优点,可是传感器布置完的整个装置在运行的过程当中存在线路很乱、外观难看等缺点。 图4-11第二种布置方式是建立在第一种方式的基础上,合理的把第一种方式的缺点改善,但是就存在了加工难度复杂的缺点。 图4-12红外传感器的电路如下图所示: 图4-134.3底板的材料选择与结构设计底板作为所有零部件的载体,需要具备一定的强度,同时应尽量减轻其质量,因此我们最初选定用铝合金板。然而在和金工厂的师傅沟通后,因金工厂没有现成的铝板,定做一块铝板

21、最小尺寸是1mX2m,所以从经济性的角度考量很浪费。为了既经济又满足强度要求,我们决定用2mm的铁板,另外用角铁在适当位置布置框架作为加强筋。4.5电机及传动机构的设计电机锁在电机固定架上,同时用螺栓将固定架锁在底板上。在设计过程中为尽可能缩短电机输出轴到轮毂的距离,同时避免轮子与底板之间的摩擦,因此我们将电机固定螺栓孔的起始位置钻孔在离边缘10mm的地方,其他螺栓孔钻孔位置按照电机固定座上螺栓孔位置相应布置。在该固定方案中因螺栓受力较大,因此需对螺栓强度进行安全校核,这里暂时没有进行校核。传动机构主要是将电机的输出动力传递给轮毂,为减小摆动,因此传动装置越短越好。已知电机的输出轴直径为25m

22、m,键的型号为GB/T 1096 键5X5X25,轮毂的中心孔直径为40mm,另外传动机构与电机输出轴以及轮毂均采用过盈配合,而且为了实现对轮子能起到轴向定位,传动机构的一段采用轴肩,另一端采用端盖,在端盖的边缘内测做4个小螺纹孔并用螺栓将其与传动机构连接达到限制轮子的轴向窜动的目的。设计出来的传动机构最后的尺寸如下: 图4-14 传动轴4.6 电源支架设计电源有两个12V.20A/h的铅蓄电池组成,总质量,尺寸为(=70mm,=170mm,=140mm)为了电源的固定牢固同时降低电源的重心减少电源突出底板的高度,我们决定在底板上开槽(槽尺寸大小为150mmX180mm )。参考文献1 龚溎义

23、,潘沛霖,陈秀,严国良.机械设计课程设计图册M.3版.北京:高等教育出版社,2009;2 吴宗泽,罗圣国.机械设计课程设计手册M.3版.北京:高等教育出版社,2009; 3 大连理工大学工程图学教研室.机械制图M.6版.北京:高等教育出版社,2007;4 邓星钟等.机电传动控制M.4版.武汉:华中科技大学出版社,2009;5 张爱梅,巩琦,赵艳霞,李玉林.AutoCAD2007计算机绘图实用教程M.北京:高等教育出版社,2007;6 西北工业大学机械原理及机械零件教研室.机械设计M.8版.北京:高等教育出版社,2009;7 刘鸿文.材料力学IM.4版.北京:高等教育出版社,2004;8 哈尔滨

24、工业大学理论力学教研室.理论力学I、IIM.6版.北京:高等教育出版社,2007。附录一:控制电机原理图附录二:PMW直流电动机调速代码/PMW直流电动机调速*/#include#include #define BUSY 0x80 /常量定义#define DATAPORT P0#define TIME_CYLC 100 /12MHz,定时器10ms 中断一次,采用1s计算一次转速#define PLUS_PER 160 /码盘的孔数,即传感器检测到160个脉冲,为1圈#define K 0 /校准系数#define KeyPort P1 /定义行列式按键口/=sbit P37=P36; /脉

25、冲输出口sbit run1=P30; /正反转sbit run2=P31; /正反转 /=sbit LCM_RS=P25; /定义1602的端口sbit LCM_RW=P26; /定义1602的端口 sbit LCM_EN=P27; /定义1602的端口/=#define uchar unsigned char;bit Flag_Fresh=0; / 刷新标志 bit Flag_clac=0; /计算转速标志 bit Flag_Err=0; /超量程标志/=unsigned int Tcounter = 0; /时间计数器unsigned char str016;unsigned int sp

26、eed=0;unsigned int stepcount=100;unsigned int timercount;unsigned int keycount=100;/=void Delayms(unsigned int n);void Delay(unsigned int i);void ddelay(uint);void lcd_wait(void);void display();void initLCM();void WriteCommandLCM(unsigned char WCLCM,unsigned char BusyC);void STR();void account();/=u

27、nsigned char index=0; /rate数组下标定义unsigned char keyscan(void); /键盘扫描程序定义unsigned char keyset,keyget;/keyset是按键标志定义void delay10ms(void) ;/ 延时子程序定义void keyprocess(void) ; /定义键值处理程序unsigned char code rateTH0=0xF4, 0x0EC,0x0E4, 0x0D8;/占空比 0.3-0.5-0.7-1.0unsigned char code rateTL0=0x48, 0x78,0x0A8,0x0F1;u

28、nsigned char KeyPro(void);/*主函数*/void main() initLCM(); WriteCommandLCM(0x01,1);/清显示屏 TMOD = 0x51; /T0计数和T1定时,都工作工作方式1 TH0 = 0x0E0;TL0 = 0x0C0;TH1 = 0x00;TL1 = 0x00; TH2 = 0x0D8; /T2赋初值,定时10ms周期 TL2 = 0x0F0; EA = 1;T2CON=0X04;/开定时器2 ET0 = 1; ET1 = 1;ET2 = 1; TR0 = 1; /同时启动T0 T1 TR1 = 1;TR2 = 1; P37=

29、1; /P37口赋初值 while(1) account(); display(); keyget=keyscan(); if (keyset=1)/ 有键按下 keyset=0; keyprocess() ; /*T2中断子程序*/void Int_time2()interrupt 5/产生基准10毫秒 TR2=0;/关中断ctc2TF2=0; TH2=0xD8; TL2=0xF0;P37=P37;/输出取反Tcounter+; /时间计数器加一用于定时1s(与TIME_CYLC=100相比) if(TcounterTIME_CYLC) /Tcounter清零在计算转速后进行 Flag_cl

30、ac=1; /1s周期到,计算转速标志位=1,转去计算转速了 TR2=1;/开中断ctc2TR0=1;/开中断ctc1/=T1中断=void int_timer1() interrupt 3 using 1 TF1 = 0; /定时器T1用于单位时间内收到的脉冲数 Flag_Err = 1; /防止溢出 /*T0中断子程序*/void Int_time0()interrupt 1 TR0=0; TH0=rateTH0index; TL0=rateTL0index; P37=P37;/按键扫描函数返回键值unsigned char keyscan(void) if(P1!=0xff) delay

31、10ms(); if(P1!=0xff) keyset=1;switch(P1)case 0xfe:return 0;break; case 0xfd:return 1;break; case 0xfb:return 2;break; case 0xf7:return 3;break; case 0xef:return 4;break; case 0xdf:return 5;break; case 0xbf:return 6;break; case 0x7f:return 7;break;default: break; /*键值处理程序*/void keyprocess() switch(ke

32、yget) case 0 : /正转 run1=0;run2=1;break; case 1 : /反转run1=1;run2=0;break; case 2 : /占空比为0.2 index=0; break; case 3 : /占空比为0.5 index=1; break; case 4: /占空比为0.8 index=2; break; case 5 : /占空比为1 index=3; break; case 6 : /停止 run1=0;run2=0; break; default : break; /*延时子函数*/void delay10ms(void) /误差 0us unsi

33、gned char a,b,c; for(c=1;c0;c-) for(b=38;b0;b-) for(a=130;a0;a-);/=void account()unsigned int PlusCounter; / CTC1计数值 if(Flag_clac=1) Flag_clac = 0; /计算转速标志清零 PlusCounter = TH1*256 + TL1;/ CTC1计数值 if(PlusCounter4800)speed=60*(PlusCounter/PLUS_PER)-K;/校准系数,如速度不准,调节K的大小 / speed=speed*60; /码盘的孔数PLUS_PER

34、=160 Tcounter = 0; / T2重加用于1s标志 TH1=TL1 = 0x00;/脉冲计数清零 if(Flag_Err) #define TIME_CYLC 70 /超量程处理缩短计算转速时间0.7s计算一次/=void STR() str00=S;str01=P;str02=E; str03=E;str04=D;str05=:;str06=speed/10000+0x30; str07=(speed/1000)%10+0x30;str08=(speed/100)%10+0x30;str09=(speed/10)%10+0x30;str010=speed%10+0x30; str

35、011=r;str012=/;str013=m;str014=i;str015=n;/*写指令到LCD子函数*/void WriteCommandLCM(unsigned char WCLCM,unsigned char BusyC) if(BusyC)lcd_wait();DATAPORT=WCLCM; LCM_RS=0; /* 选中指令寄存器*/ LCM_RW=0; / 写模式 LCM_EN=1;_nop_();_nop_();_nop_(); LCM_EN=0;/*写数据到LCD子函数*/void WriteDataLCM(unsigned char WDLCM) lcd_wait( )

36、; /检测忙信号DATAPORT=WDLCM; LCM_RS=1; /* 选中数据寄存器 */ LCM_RW=0; / 写模式 LCM_EN=1; _nop_();_nop_();_nop_(); LCM_EN=0;/*lcd内部等待函数*/void lcd_wait(void)DATAPORT=0xff; /读LCD前若单片机输出低电平,而读出LCD为高电平,则冲突,Proteus仿真会有显示逻辑黄色LCM_EN=1; LCM_RS=0; LCM_RW=1; _nop_(); _nop_();_nop_(); while(DATAPORT&BUSY) LCM_EN=0; _nop_(); _

37、nop_(); LCM_EN=1; _nop_(); _nop_(); LCM_EN=0;/*LCD初始化子函数*/void initLCM( ) DATAPORT=0;ddelay(15);WriteCommandLCM(0x38,0); /三次显示模式设置,不检测忙信号 ddelay(5);WriteCommandLCM(0x38,0); ddelay(5);WriteCommandLCM(0x38,0); ddelay(5); WriteCommandLCM(0x38,1); /8bit数据传送,2行显示,5*7字型,检测忙信号 WriteCommandLCM(0x08,1); /关闭显

38、示,检测忙信号 WriteCommandLCM(0x01,1); /清屏,检测忙信号 WriteCommandLCM(0x06,1); /显示光标右移设置,检测忙信号 WriteCommandLCM(0x0c,1); /显示屏打开,光标不显示,不闪烁,检测忙信号/*显示指定坐标的一个字符子函数*/void DisplayOneChar(unsigned char X,unsigned char Y,unsigned char DData) Y&=1;X&=15; if(Y)X|=0x40; /若y为1(显示第二行),地址码+0X40 X|=0x80; /指令码为地址码+0X80 WriteCo

39、mmandLCM(X,0); WriteDataLCM(DData);/*显示指定坐标的一串字符子函数*/void DisplayListChar(unsigned char X,unsigned char Y,unsigned char *DData) unsigned char ListLength=0; Y&=0x01; X&=0x0f; while(X16)DisplayOneChar(X,Y,DDataListLength); ListLength+; X+; /-void display()STR(); DisplayListChar(0,0,str0);/只显示一行 /=void ddelay(unsigned int n) unsigned int i,j; for(i=0;in;i+) for(j=0;j60;j+); /=void Delayms(unsigned int n)/延时10*n 毫秒 unsigned int i,j; for(i=0;in;i+) for(j=0;j2000;j+); /=void Delay(unsigned int i)/延时while(-i);23

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1