版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PAGE4PAGE1此处贴密封纸,然后此处贴密封纸,然后掀起并折向报告背面,最后用胶水在后面粘牢。简易旋转倒立摆及控制装置(C题)2013年9月7日摘要简易旋转倒立摆系统是非线性、强耦合、多变量和自然不稳定的系统。此系统包括机械部分和控制部分。机械部分包括固定台、旋转臂、摆杆、转轴等。控制部分包括主控芯片、精密变阻器、电机等。主控芯片选用MSP430单片机,其输出PWM(脉冲调宽)和DIR(方向)信号到电机驱动电路,使旋转臂转动,并带动摆杆运动,精密变阻器WDD35D-4测量旋臂和摆杆的偏转角度的信号变化,送给主控芯片,经过A/D转换后,根据一定的状态反馈控制算法计算出控制律,单片机根据拟定的控制律计算出必要的数字控制信号,经过D/A转换,调节PWM和DIR的输出,使电机转动,带动旋转臂运动,使摆杆转动。经测试,整体功能齐全,灵敏度、抗干扰性、准确度等各项性能指标均达到设计要求。关键字:旋转倒立摆系统、MSP430单片机、精密变阻器WDD35D-4目录257191系统方案 1111421.1处理器的论证与选择 1213661.2传感器的论证与选择 1182981.3电机的论证与选择 1159741.4电机驱动的论证与选择 2239142系统理论分析与计算 3161132.1电机选型的分析 3165972.1.1直流电机模型 3248832.1.2PWM电机调速原理 34292.1.3直流电机的选定 41122.2摆杆状态检测的计算 5298872.2.1摆杆摆起的算法 5211142.2.2摆杆保持平衡的算法 692212.2.3抗干扰 6243532.3PID控制算法的计算 637782.3.1PID控制原理如图 6195692.3.1比例环节 680352.3.2积分环节 6280342.3.3微分环节 7116343电路与程序设计 8125833.1电路的设计 8215413.1.1旋转倒立摆系统总体框图 8140223.1.2硬件电路子系统框图与电路原理图 8272063.1.3光电传感器子系统框图与电路原理图 9171663.1.4电源 1037253.2程序的设计 11234183.2.1程序功能描述与设计思路 1150303.2.2程序流程图 12181044测试方案与测试结果 16126584.1测试方案 16249364.2测试条件与仪器 17197814.3测试结果及分析 18291504.3.1测试结果(数据) 18310294.3.2测试分析与结论 1815036参考文献 192737附录1:电路原理图 2019366附录2:源程序 21PAGE4PAGE1简易旋转倒立摆及控制装置(C题)1系统方案本系统主要由处理器模块、传感器模块、电机驱动模块、电源模块组成,下面分别论证这几个模块的选择。1.1处理器的论证与选择方案一:ARM处理器。采用ARM处理器进行数据处理,ARM处理器处理数据比较高,、而且端口比较多,可以处理多个任务。但是ARM价格高,入门比较困难,熟练掌握比较困难,学习周期比较长,而且在旋转倒立摆工作过程中,处理的数据量不是很大,过多的IO口反而不利于控制。方案二:采用AT89S52单片机作为系统控制中心。51系列单片机是单片机中的经典,是8位单片机,具有32个I/O接口,虽然价格低廉、性能稳定、使用方便、外围电路成熟,但是内部资源相对较少,运行速度慢,功能较为单一,ROM空间不足。方案三:采用MSP430系列单片机作为系统控制中心。MSP430系列单片机是一个16位,具有精简指令集,低功耗的混合型单片机,功能相比51系列单片机要强大,运行速度要快,但内部结构比较复杂,它只能用在3.3V环境下,与一些5V器件相连需要考虑电平是否兼容的问题。综合以上分析,MSP430功耗小、运行速度快、内存大,更适合设计要求,所以选择方案三。1.2传感器的论证与选择方案一:精密变阻器。旋转臂和摆杆通过精密变阻器相连,电动机转动带动旋转臂运动,变阻器转轴改变,从而改变电压,送到主控芯片,通过相应运算转换,来控制摆杆摆动的角度。精密变阻器数据比较稳,易于控制,灵敏度也较高。方案二:角度传感器。它的身体中有一个孔,可以安装一个轴,轴没转动一次,角度传感器就会计数一次,往一个方向转时,计数增加,往相反方向转时,计数减少。角度传感器的精度不够高。综合以上分析,由于角度传感器不如精密传感器灵敏度高,且精密传感器阻值可选、线性度可选,精度较高,所以选择方案一。1.3电机的论证与选择方案一:采用步进电机,它是通过输入脉冲信号来进行控制的、电机的总转动角度由输入脉冲数决定、电机的转速由脉冲信号频率决定,,虽然其转动角度容易控制,但在转轴连接外部重物较重时步进电机容易失步现象,且工作时震动较大,不利于平衡。方案二:采用普通小型直流电机。普通直流电机,调速范围广,且易于平滑调节,起动、制动转矩大易于控制,可靠性高,转动灵敏且转速易于控制,调速时的能量损耗较小。综合以上分析,直流电机力矩大,易于调节,更适合于旋转倒立摆,所以选用方案二。1.4电机驱动的论证与选择方案一:采用大功率晶体管组合电路构成驱动电路,这种方法结构简单,成本低、易实现,但由于在驱动电路中采用了大量的晶体管相互连接,使得电路复杂、抗干扰能力差、可靠性下降。电路如下图所示:图1-1大功率晶体管组合电路构成驱动电路图方案二:采用互补硅功率达林顿管TIP142实现电机的驱动采用该方法电路连接比较简单,稳定性好,成本低廉,但不足之处是由于使用分立元件,安装和调试相对麻烦。方案三:采用专用的电机驱动芯片L298N,由于它内部已经考虑到了电路的抗干扰能力,安全、可靠性,所以我们在应用时只需考虑到芯片的硬件连接、驱动能力等问题就可以了,所以此种方案的电路设计简单、抗干扰能力强、可靠性好。电路如下图所示:图1-2电机驱动芯片L298N电路综合以上分析,电机驱动芯片L298N电路设计简单、抗干扰能力强、可靠性好,所以选择方案三。2系统理论分析与计算2.1电机选型的分析2.1.1直流电机模型图2-1直流电机的数学模型如图2-1所示为直流电机的数学模型,,由此可见,电机的电刷电动势Ea正方向与电刷电流Ia的方向相反,Ea为反电动势;电磁转矩T的正方向与转速n的方向相同,为拖动转矩;轴上的负载转矩T2与空载转矩T0均与转速n相反,是制动转矩。根据基尔霍夫第二定律,得到电枢电压电动势平衡方程式:(2-1)直流电机的转速公式为:(2-2)由上述两式得:(2-3)由上式可以看出,已经制造好的一个电机,当励磁电压和负载转矩一定时,它的转速由加在转速两端的电压决定,电枢电压越高,电机转速就越快,电枢电压降低到零时,电机就停止转动;改变电枢电压的极性,电机就反转。2.1.2PWM电机调速原理图2-2PWM脉动电压对直流电机来说,如果加在电枢两端的电压为如图4所示的脉动电流压,可以看出在T不变的情况下,改变t1、t2的宽度,得到的电压将会发生变化。设电机加全电压U时,其转速最大为。若施加到电枢两端的脉动电压占空比为(2-4)则电枢的平均电压为:;(2-5)由上式得到:(2-6)(2-7)(2-8)图2-3为占空比与转速的关系图:图2-3占空比与转速的关系图由图2-3看出,占空比与转速并不是完全的线性关系(图中实线),原因是电枢本身有电阻,不过,一般直流电机的内阻较小,可近似为线性关系。由此可见,改变施加在电枢两端电压就可以改变转速,这就是直流电机PWM调速原理。2.1.3直流电机的选定正确选用直流电机,首先考虑直流电机的电压、转速、功率,进行直流电机的初步选型。根据输出轴功率,最终选定电机型号ZGA25RP200.。电机供电电压12V,额定转速rpm=2002.2摆杆状态检测的计算2.2.1摆杆摆起的算法图2-4倒立摆的系统结构该图为简化后的力学模型,由一个水平旋转臂和摆杆组成,在摆起前,摆杆处于下垂静止状态,正常工作状态时,摆杆平衡点为=0,摆杆的保持在一定范围内。设J0表示水平杆对Z轴的转动惯量,L0为水平杆的杆长;m1和L1分别表示摆杆的质量和摆杆质心到转轴O1的距离,t为加到水平杆上的控制力矩。设C0、C1分别为水平杆和摆杆的摩擦力矩系数;、分别为旋转臂的转角和角速度,、分别为摆杆的角和角速度。(1)旋转臂的动能、势能和耗散能分别为:(2-9)V0=0(2-10);(2-11)(2)摆杆的动能、势能和耗散能分别为:(2-12)(2-13)(2-14)(3)系统总的势能、动能和耗散能(2-15)(2-16)(2-17)根据以上公式可得出,施加的外力越大,摆杆摆起的角度就会越大,但如果施加的力过大就易导致系统紊乱,太小就不易摆起,然后逐渐加大力,最终使摆杆摆起。2.2.2摆杆保持平衡的算法设摆杆在处的速度为,在平衡处的速度为,F为施加的外力,L为摆杆距离旋转臂的垂直距离,,,分别为摆杆的角和角速度。动能定理:(2-18)动量定理:(2-19)由精密变位器测量的摆杆和旋转臂的角度变化信号,输入到主控芯片,来调节PWM的高低电平和程序中的延时函数,来改变外力F和时间t,以此来调节摆杆的角度和角速度使摆杆保持在平衡状态,在进行圆周运动时,会出现一个死角,采用一个滤波电路将多余的杂波滤除掉,避免死角的出现。2.2.3抗干扰摆起电压和控制切换点的选择对摆起控制的成败起到了关键性的作用。同时,倒立控制的抗干扰能力对于能否实现“摆起一倒立”控制也有重要影响,因为切换过程中总是存在不够平稳的现象,这需要倒立控制算法能够克服切换产生的扰动。2.3PID控制算法的计算2.3.1PID控制原理如图图2-5PID控制原理图2.3.1比例环节成比例地反映控制系统的偏差信号e(t),偏差一旦产生,控制器立即产生控制作用,以减小偏差。2.3.2积分环节主要用于消除静差,提高系统的误差度。积分作用的强弱取决于积分时间常数,时间常数越大,积分作用越弱,反之,越强。2.3.3微分环节反映偏差信号的变化趋势,并能在偏差信号变得太大之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减少调节时间。3电路与程序设计3.1电路的设计3.1.1旋转倒立摆系统总体框图旋转倒立摆系统主要包括MCU处理器模块、电机驱动模块、电源模块、红外传感器模块、精密变阻器、直流电机组成,系统总体框图如图3-1所示,图3-1旋转倒立摆系统总体框图3.1.2硬件电路子系统框图与电路原理图MSP430F5529子系统框图MSP430F5529子系统主要由时钟系统模块、12位ADC转换模块、I/O引脚模块、四通道定时器模块组成。图3-2MSP430F5529子系统框图MSP430F5529子系统电路图图3-3电源模块子系统电路3.1.3光电传感器子系统框图与电路原理图用了两个光电传感器,一个主要用来检测在受外力作用时,摆杆是否到达165°位置;另一个用来检测旋转倒立摆-165°位置,以免倒立摆进入死角。图3-4光电传感器子系统框图光电传感器子系统电路图3-5光电传感器子系统电路图3.1.4电源电源由变压部分、滤波部分、稳压部分组成。为整个系统提供5V或者12V3.3V电压,确保电路的正常稳定工作。电源模块的子系统框图:图3-6电源模块的子系统框图电源模块的子系统电路图:图3-7电源模块的子系统电路3.1.5电机驱动电路原理图采用专用的电机驱动芯片L298N,由于它内部已经考虑到了电路的抗干扰能力,安全、可靠性,所以我们在应用时只需考虑到芯片的硬件连接、驱动能力等问题就可以了,所以此种方案的电路设计简单、抗干扰能力强、可靠性好。图3-8电机驱动电路原理图3.2程序的设计3.2.1程序功能描述与设计思路1、程序功能描述根据题目要求软件部分主要实现摆杆的摆动、摆杆做圆周运动、摆杆在外力撤销后保持倒立平衡状态。(1)摆杆的摆动。当按键1按下时,摆杆就会在电机的带动下做往复摆动,并尽快使摆角达到或超过-60。~+60。,(2)摆杆做圆周运动。当按键2按下时,调节PWM,尽量增大摆杆的摆动幅度,直至完成圆周运动。(3)摆杆在外力撤销后保持倒立平衡状态。当按键三按下时,外力拉起摆杆至接近165位置,外力撤销同时,启动旋转臂使摆杆保持倒立状态,时间不少于5s。程序设计思路根据旋转倒立摆系统的要求,将程序分为几个部分,第一部分是程序的初始化模块,第二部分为MSP430F5529主控芯片来驱动电机的PWM输出模块,第三部分是根据精密传感器采集的旋转臂和摆杆的角度变化信号,进行PID算法的程序模块,第四部分为判断按键是否按下的键盘检测模块。3.2.2程序流程图主程序流程图此程序主要实现的功能是:按键1按下时,摆杆开始左右摆起,并达到要求;按键2按下时,摆杆做圆周运动;按键3按下时,若角度达到165°,则摆杆保持倒立平衡,并维持一段时间。开始开始关闭看门狗初始化关闭看门狗初始化打开中断打开中断否按键检测按键检测按键1按键1按键2按键3否按键1按下?按键3按下?按键2按下?按键1按下?按键3按下?按键2按下?否是摆杆在165°摆杆在165°摆杆做圆周运动摆杆摆动摆杆做圆周运动摆杆摆动是摆杆保持倒立摆杆保持倒立倒立摆摆杆摆动子程序流程图此程序主要实现的功能是:先进行函数的初始化,打开中断,检测是否有按键按下,如果按键1按下,则驱动电机使摆杆摆动,如果按键没有按下,则继续等待,一直到按键按下。开始初始化关闭看门狗开始初始化关闭看门狗打开中断打开中断按键检测按键检测按键1按下?否按键1按下? 是摆杆摆动摆杆摆动3、摆杆做圆周运动子程序流程图此程序主要实现的功能是:先进行函数的初始化,打开中断,检测是否有按键按下,如果按键2按下,按下,则判断摆杆是否做圆周运动,如果没有做圆周运动,则用电机调节使其达到要求。开始初始化开始初始化关闭看门狗打开中断打开中断按键检测按键检测是否按键2按下?按键2按下?是调节电机调节电机摆杆做圆周运动?摆杆做圆周运动?否是电机停止电机停止保持倒立平衡子程序流程图此程序主要实现的功能是:先进行函数的初始化,打开中断,检测是否有按键按下,如果按键3按下,按下,则判断摆杆是否在外力作用下达到165°,如果没有达到165°,则用电机调节使其达到要求,如果达到了,则使其保持倒立平衡,并维持一段时间。开始初始化关闭看门狗初始化关闭看门狗打开中断打开中断按键检测按键检测检测AD在165°否检测AD在165°是调节电机调节电机否摆杆倒立平衡?摆杆倒立平衡?是电机停止电机停止停摆停摆4测试方案与测试结果4.1测试方案1、硬件测试硬件测试主要包括:MSP430F5529最小系统板的测试、电机驱动的测试、电源匹配值的试验。软件仿真测试(1)倒立摆系统simulink仿真系统结构图图4-1倒立摆系统simulink仿真系统结构图(2)在I、D保持为零的情况下,改变P使系统稳定下来。图4-2P值得仿真结果图可见系统稳定,但响应振荡强。(3)取Kp=200,t调节Ki=100,Kd=0图4-3可见系统响应震荡减弱。(4)取Kp=200,t调节Ki=100,Kd=20图4-4可见系统响应无振荡,超调很小,满足要求。硬件软件联调示波器主要用来进行主频的显示读取,采样频率的采集;串口调试软件利用上位机将精密变阻器采集到得数据显示出来。4.2测试条件与仪器测试条件:检查多次,仿真电路和硬件电路必须与系统原理图完全相同,并且检查无误,硬件电路保证无虚焊。测试仪器:高精度的数字毫伏表,模拟示波器,数字示波器,数字万用表,指针式万用表。4.3测试结果及分析4.3.1测试结果(数据)表4-1设定摆起模式测量表测量次数第一次第二次第三次第四次第五次第六次第七次第八次设定角度(度)601204513590150155165停摆时间(秒)8.88.9表4-2倒立模式运行测试表测量次数第一次第二次第三次第四次第五次第六次第七次第八次动态倒立时间(秒)43325656表4-3设定摆起模式测试表测量次数第一次第二次第三次第四次第五次第六次第七次第八次过水平时间(度)6.090150155165动态倒立时间(秒).2测试分析与结论根据上述测试数据,由此可以得出以下结论:1、当按键1按下时,摆杆就会在电机的带动下做往复摆动,并尽快使摆角达到或超过-60。~+60。。2、当按键2按下时,调节PWM,尽量增大摆杆的摆动幅度,直至完成圆周运动。3、当按键三按下时,外力拉起摆杆至接近165位置,外力撤销同时,启动旋转臂使摆杆保持倒立状态,时间不少于5s。综上所述,本设计达到设计要求。参考文献[1]秦龙.MSP430单片机常用模块与综合系统实例精讲北京:电子工业出版社,2007年.[2]沈建华,杨艳琴.MSP430系列16位超低功耗单片机原理与.实践.北京:北京航空航天大学出版社,2008年.[3]康华光.电子技术基础(模拟部分).北京:高等教育出版社,2009.[4]康华光.电子技术基础(数字部分).北京:高等教育出版社,2009.[5]张肃文.高频电子线路.北京:高等教育出版社,2009.[6]刘杰.四轴飞行器研究与设计.北京:高等教育出版社,2009.[7]刘焕晔.小型四旋翼飞行器飞行控制系统研究与设计[D].上海交通大学,2009.[8]杨虹,向高林,周明,陈立昱.基于MSP430的智能测试仪的设计.电子制作,2013,6.[9]胡寿松.自动控制原理(第五版)北京:科学出版社,2007[10]刘卫国.MATLAB程序设计教程.北京:中国水利出版社,2005.附录1:电路原理图附录2:源程序系统主函数#include"msp430F5529.h"#include"AD.h"#include"math.h"#include"Uart.h"#include"motor_auto.h"#include"lcd_12864.h"#definekey_h_1P7IN&BIT0#definekey_h_2P7IN&BIT1#definekey_h_3P7IN&BIT2//下拉电阻#definekey_h_4P7IN&BIT3//下拉电阻floatadc_val=0;longAd0out1=0;unsignedintnum=40000;intnum1=45;intnum2=600;intflag;//intjiao;floatpwmb,pwmf;voidkey_init(){P7DIR|=0x00;P7REN|=0xff;P7OUT=0x00;//下拉电阻//P1OUT|=0xff}voidone(){unsignedinti;run(FORWARD,num);//控制方式选择;for(i=0;i<num1;i++){printf("%f\n",jiaodu);__delay_cycles(1500);}STOP;for(i=0;i<num2;i++){__delay_cycles(2500);}num2=num2+9;num1=num1+1;run(BACK,num);for(i=0;i<num1;i++){printf("%f\n",jiaodu);__delay_cycles(1500);}STOP;for(i=0;i<num2;i++){__delay_cycles(2500);}num2=num2+9;num1=num1+1;}voidthree(){if(jiaodu>=88&&jiaodu<=91){STOP}if(jiaodu>71&&jiaodu<80){run(BACK,6650);}//控制方式选择;if(jiaodu>=80&&jiaodu<88){//负小run(BACK,10000);}if(jiaodu>93&&jiaodu<100){//正小run(FORWARD,10000);}//逆时针if(jiaodu>=100&&jiaodu<108){//正大run(FORWARD,6500);}if(jiaodu>180&&jiaodu<350)STOP;}intmain(void){//Stopwatchdogtimertopreventtimeoutreset//变量初值给定,调用初始化程序,打开中断WDTCTL=WDTPW+WDTHOLD;//P1.0-Outputsflag=2;//P7DIR=0xff;P3DIR=0xff;P2DIR|=BIT2;//P2.2作为子系统时钟输出(5529数据手册83页)P2SEL|=BIT2;UART_Init(9600,'n',8,1);key_init();init_LCD12864();init_CLK();init_ADC();init_motor();//_EINT();//打开总中断while(1){if(key_h_1){__delay_cycles(80000);if(key_h_1){LCD1();while(1){one();}}}if(key_h_2){__delay_cycles(80000);if(key_h_2)while(key_h_2);LCD3();_EINT();}}}#pragmavector=ADC12_VECTOR__interruptvoidADC12ISR(void){staticlongAD0,adc;staticintcount;switch(__even_in_range(ADC12IV,34)){case0:break;//Vector0:Nointerruptcase2:break;//Vector2:ADCoverflowcase4:break;//Vector4:ADCtimingoverflowcase6:count++;//Vector12:ADC12IFG3AD0=ADC12MEM0;//MoveA0results,IFGisclearedadc+=AD0;if(count>=1){P7OUT^=0x01;count=0;Ad0out1=0;Ad0out1=adc/1;jiaodu=(float)Ad0out1/11.37777778;adc=0;}if(key_h_2)three();break;//Vector6:ADC12IFG0case8:break;//Vector8:ADC12IFG1case10:break;//Vector10:ADC12IFG2case12:break; case14:break;//Vector14:ADC12IFG4case16:break;//Vector16:ADC12IFG5case18:break;//Vector18:ADC12IFG6case20:break;//Vector20:ADC12IFG7case22:break;//Vector22:ADC12IFG8case24:break;//Vector24:ADC12IFG9case26:break;//Vector26:ADC12IFG10case28:break;//Vector28:ADC12IFG11case30:break;//Vector30:ADC12IFG12case32:break;//Vector32:ADC12IFG13case34:break;//Vector34:ADC12IFG14default:break;}}AD采集子函数#include"msp430f5529.h"#include"AD.h"voidinit_ADC(){P6SEL|=BIT0;//A0通道 ADC12CTL0=ADC12ON+ADC12MSC+ADC12SHT0_0;//打开AD ADC12CTL1=ADC12SHP+ADC12CONSEQ_2;//采样源选择采样定时器 ADC12IE=ADC12IE0;//中断 ADC12CTL0|=ADC12ENC;//转换使能 ADC12MCTL1|=ADC12INCH_0; //通道选择 //使用单通道ADC时,以下部分放在主函数中查询方式读取AD ADC12CTL0|=ADC12SC;//开始采样、转换}电机程序#include"msp430F5529.h"#include"motor_auto.h"voidinit_motor(void){STOP}/********************************************************************************时钟初始化函数******************************************************************************/voidinit_CLK(){P5SEL|=BIT2+BIT3;//PortselectXT2UCSCTL6&=~XT2OFF;//EnableXT2UCSCTL3|=SELREF_2;//FLLref=REFOUCSCTL4|=SELA_2;//ACLK=REFO,SMCLK=DCO,MCLK=DCOdo{UCSCTL7&=~(XT2OFFG+XT1LFOFFG+DCOFFG);//ClearXT2,XT1,DCOfaultflagsSFRIFG1&=~OFIFG;//Clearfaultflags}while(SFRIFG1&OFIFG);//TestoscillatorfaultflagUCSCTL6&=~XT2DRIVE0;//DecreaseXT2Driveaccordingto//expectedfrequencyUCSCTL4|=SELS_5+SELM_5;//SMCLK=MCLK=XT2 }/******************************************************************************状态分析******************************************************************************/voidrun(charstate,intSPEED){charn;n=state;switch(n)//判断相应的值,执行不同的方向函数{case0:GO_FORWARDbreak;case1:GO_BACKbreak;default:break;}TA1CTL=TASSEL_2+MC_1;//定时器选择时钟,向上计数,中断使能(用户指南403页)TA1CCR0=40000;//溢出值TA1CCTL1=OUTMOD_7;//比较值设置(用户指南397页)TA1CCR1=SPEED;P2DIR|=BIT0;P2SEL=BIT0;//输出模式选择(用户指南404页)}lcd显示程序#include"msp430F5529.h"#include"lcd_12864.h"#defineuintunsignedint#defineucharunsignedchar#defineLCD_RS_1P5OUT|=BIT1;#defineLCD_RS_0P5OUT&=~BIT1;#defineLCD_RW_1P5OUT|=BIT6;#defineLCD_RW_0P5OUT&=~BIT6;#defineLCD_EN_1P5OUT|=BIT7;#defineLCD_EN_0P5OUT&=~BIT7;uchartable[]="功能一:";uchartable1[]="功能二:";uchartable2[]="0123456789";uchartable3[]="功能叁:";uchartable4[]="天职师大";uchartable5[]="电子工程学院";uchartable6[]="摆角到60度";uchartable7[]="摆杆做圆周";uchartable8[]="偏角到平衡";ucharlcd_x,lcd_y;voiddelayms(uintz){ unsignedintx,y; for(x=0;x<z;x++) for(y=0;y<100;y++);}/*====================================================函数功能:写命令数据到lcd========================================================*/voidwrite_lcd_cmd(ucharcom){ LCD_RS_0; LCD_RW_0; LCD_EN_0; P4OUT=com; delayms(5); LCD_EN_1; delayms(5); LCD_EN_0;}/*====================================================函数功能:写显示数据到lcd========================================================*/voidwrite_lcd_date(uchardate){ LCD_RS_1; LCD_RW_0; LCD_EN_0; P4OUT=date; delayms(5); LCD_EN_1; delayms(5); LCD_EN_0;}/*====================================================函数功能:设置显示地址========================================================*/voiddisplay_pos(ucharx,uchary){ ucharpos; switch(x) { case0: pos=0x80; break; case1: pos=0x90; break; case2: pos=0x88; break; case3: pos=0x98; break; default: pos=0x80; } pos=pos+y; write_lcd_cmd(pos);}/*======
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年交通安全培训方案
- 2024-2025学年临床执业医师模拟题库带答案详解(夺分金卷)
- 2024-2025学年度辅警招聘考试模拟试题及参考答案详解(突破训练)
- T∕NMSP 106.5-2025 煤化工行业温室气体排放核算与报告要求 第5部分:煤制乙二醇企业
- 2024-2025学年度医师定期考核测试卷附答案详解(培优B卷)
- 2024-2025学年度执法资格考试彩蛋押题及完整答案详解(有一套)
- 2024-2025学年度施工员经典例题【历年真题】附答案详解
- 2024-2025学年度执业药师考前冲刺测试卷及完整答案详解【网校专用】
- 2024-2025学年仓储管理人员题库试题含答案详解【巩固】
- 2024-2025学年度环境影响评价工程师之环境影响评价相关法律法规常考点试卷附完整答案详解(全优)
- 2023年吉林大学自考生物制药专业招生简章
- GB 15630-1995消防安全标志设置要求
- 第一课冬休みの予定 单词课件-高中日语华东理工版新编日语教程2
- 中石油设备及管道定点测厚指导意见
- 文物保护学概论(全套260张课件)
- 动物微生物细菌病的实验室诊断方法培训课件
- ULA线束拉力对照表
- 红日药业新员工入职培训计划
- 装卸搬运作业安全风险告知卡
- 三乙醇胺msds安全技术说明书
- 施工晴雨表1(最终版)
评论
0/150
提交评论