機(jī)電一體化系統(tǒng)設(shè)計(jì)課件(第7章)中國電力出版社王丁_第1頁
機(jī)電一體化系統(tǒng)設(shè)計(jì)課件(第7章)中國電力出版社王丁_第2頁
機(jī)電一體化系統(tǒng)設(shè)計(jì)課件(第7章)中國電力出版社王丁_第3頁
機(jī)電一體化系統(tǒng)設(shè)計(jì)課件(第7章)中國電力出版社王丁_第4頁
機(jī)電一體化系統(tǒng)設(shè)計(jì)課件(第7章)中國電力出版社王丁_第5頁
已閱讀5頁,還剩80頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、第7章 軟件設(shè)計(jì)技術(shù) 7.1 軟件的總體功能2 軟件運(yùn)行于微處理器,其功能由微處理器來決定。 微處理器功能由系統(tǒng)的功能結(jié)構(gòu)、與微處理器相連的三個(gè)子系統(tǒng)和控制算法所決定。 這些功能也可以分成兩部分:控制算法功能和一般控制功能 3軟件功能的實(shí)時(shí)性 意義:強(qiáng)調(diào)在規(guī)定的時(shí)間里執(zhí)行相應(yīng)的操作 ,誤時(shí)操作會(huì)導(dǎo)致嚴(yán)重的后果。 軟件的實(shí)時(shí)性要滿足兩方面的要求:一是實(shí)時(shí)動(dòng)作響應(yīng)。二是實(shí)時(shí)數(shù)據(jù)處理。 472 機(jī)電一體化系統(tǒng)軟件的任務(wù)和任務(wù)管理 為了便于分析和編程,把各種軟件功能化分為小的、單元式的子功能。軟件功能是由子功能某種方式組合在一起的。 由此,從學(xué)術(shù)的角度,把子功能提練為任務(wù)(類似:進(jìn)程),軟件功能就是任

2、務(wù)的組合。 軟件的編程就包含兩個(gè)技術(shù),任務(wù)的編程和任務(wù)的管理。5任務(wù)的劃分原則 1每個(gè)任務(wù)必須是獨(dú)立的; 2 每個(gè)任務(wù)不再可分; 3 所有任務(wù)的集合能滿足整個(gè)系統(tǒng)的功能要求。 4 劃分得到的任務(wù)常常按程序運(yùn)行方式來加以分類描述,如驅(qū)動(dòng)程序、初始化程序、中斷程序、控制算法程序、顯示程序和鍵盤(或觸摸)輸入程序等。 5 還可以按分層結(jié)構(gòu)來理解。6基于任務(wù)的編程方法 1 前后臺(tái)編程方法:如果編程人員將全部程序都自行編制,即把任務(wù)和任務(wù)的管理看做后臺(tái)程序,中斷處理看做前臺(tái)程序,就是前后臺(tái)程序編程方法。這是初級的、然而應(yīng)用很多的編程方法。 2.操作系統(tǒng)編程方法:如果任務(wù)的管理有通用的、現(xiàn)成的程序,即操作

3、系統(tǒng),而編程人員只編制任務(wù)程序,就稱為操作系統(tǒng)編程方法。但是有時(shí)也需要 編寫驅(qū)動(dòng)程序。 7 3.設(shè)定式編程方法:這是一種近幾年剛剛出現(xiàn)的編程方法,如聯(lián)發(fā)科技推出的MTK平臺(tái)的軟件編程方法。任務(wù)和任務(wù)的管理均已完成,方便地提供給了開發(fā)人員。設(shè)定式編程方法編程簡單、節(jié)省開發(fā)時(shí)間、程序系統(tǒng)穩(wěn)定可靠和功能強(qiáng)大,是今后程序編制方法的發(fā)展方向。73 機(jī)電一體化系統(tǒng)的程序設(shè)計(jì)方法731 程序設(shè)計(jì)方法9 1確定程序功能:根據(jù)控制系統(tǒng)設(shè)計(jì)方案確定控制軟件功能,根據(jù)系統(tǒng)的功能結(jié)構(gòu)確定前面沒有提到的其它軟件功能。 2劃分任務(wù):將各類軟件功能劃分成具體的任務(wù)。 3確定軟件編程要素:任務(wù)的組合方式 和編程方法 使用和前

4、邊類似的產(chǎn)生和選擇方法。(產(chǎn)生與選擇)10732 模塊化編程技術(shù) 應(yīng)用領(lǐng)域:單片機(jī)、操作系統(tǒng)和S7-300 分成不同的程序,即不同的模塊 由單獨(dú)的程序(頭文件)組合到一起。有全局變量問題 優(yōu)點(diǎn):模塊不用更改,結(jié)構(gòu)清晰 區(qū)分:子程序在一個(gè)程序。733 運(yùn)水機(jī)器人編程實(shí)例1 軟件功能12運(yùn)水機(jī)器人功能結(jié)構(gòu)(用文字簡單敘述) 主要事件是將水裝入容器、微處理器控制電機(jī)驅(qū)動(dòng)輪式行走機(jī)構(gòu)運(yùn)輸容器和從容器卸水。使用鋰電池作為能源輸入,分別為驅(qū)動(dòng)電機(jī)和電控部分提供電能,有克服摩擦力和電氣部件能耗等能量損失。有循跡和開關(guān)機(jī)等輸入信號送微處理器處理,顯示水量和時(shí)間等。13外圍部件軟件功能 使用C8051F020單

5、片機(jī)??刂?62字符點(diǎn)陣液晶顯示器顯示水容量和運(yùn)水時(shí)間。以PWM方式控制電機(jī)驅(qū)動(dòng)芯片L298N驅(qū)動(dòng)兩路直流減速電機(jī),以開關(guān)方式控制微型繼電器卸水。對循跡開關(guān)信號進(jìn)行采集。 14控制算法功能 對運(yùn)水機(jī)器人行走軌跡進(jìn)行閉環(huán)控制,采用比例(P)調(diào)節(jié)。 15任務(wù)劃分 任務(wù)劃分為:初始化配置(config),延時(shí)(delay1ms),PCA初始化(PCA_Init ),產(chǎn)生PWM脈寬調(diào)制的兩個(gè)任務(wù)(PWM0_set、PWM1_set),電機(jī)正反轉(zhuǎn)及速度的控制的六個(gè)任務(wù)(L_FORD、R_FORD、L_BACK、R_BACK、L_BREAK、 R_BREAK),八路尋跡(Founding_Line),給l

6、cd送命令(sendc),給lcd送數(shù)據(jù)(sendd),顯示地址定位函數(shù)(lcd_pos),lcd初始化函數(shù)(lcd_ini),第一次水量顯示(lcddisplay1),第二次水量顯示(lcddisplay2),顯示時(shí)間(lcddisplay3)。16任務(wù)的組合 在八路尋跡(Founding_Line)中根據(jù)取入的八路傳感數(shù)字信號調(diào)用產(chǎn)生PWM脈寬調(diào)制的兩個(gè)任務(wù)(PWM0_set、PWM1_set)和電機(jī)正反轉(zhuǎn)及速度的控制的六個(gè)任務(wù)(L_FORD、R_FORD、L_BACK、R_BACK、L_BREAK、 R_BREAK),并按控制問題的要求調(diào)用第一次水量顯示(lcddisplay1)、第二次

7、水量顯示(lcddisplay2)和顯示時(shí)間(lcddisplay3)。17 第一次水量顯示(lcddisplay1)、第二次水量顯示(lcddisplay2)和顯示時(shí)間(lcddisplay3)中使用給lcd送命令(sendc)、給lcd送數(shù)據(jù)(sendd)和顯示地址定位函數(shù)(lcd_pos)。 加入延時(shí)(delay1ms)以保證外圍部件的響應(yīng)。 任務(wù)管理進(jìn)行初始化配置(config)、PCA初始化(PCA_Init )、電機(jī)正轉(zhuǎn)(L_FORD、R_FORD)和調(diào)用八路尋跡(Founding_Line)。18編程方法 使用前后臺(tái)編程方法。 195具體編程(1)資源分配 P00電機(jī) 1 PWM

8、輸出 左輪 P01電機(jī) 2 PWM輸出 右輪 L_DIR1A=P22左輪電機(jī)方向控制 L_DIR1B=P21左輪電機(jī)方向控制 R_DIR1A=P25右輪電機(jī)方向控制 R_DIR1B=P26右輪電機(jī)方向控制20 P10-水泵控制 P11蜂鳴器控制 PCA0CPM0 電機(jī) 1 PWM 輸出,工作在8位定時(shí)器模式,允許比較器匹配中斷,每次中斷加載新的比較值,實(shí)現(xiàn)電機(jī)輸出的脈寬控制。 PCA0CPM1 電機(jī) 2 PWM 輸出,工作在8位定時(shí)器模式,允許比較器匹配中斷,每次中斷加載新的比較值,實(shí)現(xiàn)電機(jī)輸出的脈寬控制。 P6.0-P6.7;傳感器接口 lcdrw=P32;-讀寫控制5 lcdcs=P37;

9、-E使能 6 lcdrs=P36;-命令數(shù)據(jù)選擇控制 4 21傳感器規(guī)定 前四個(gè)傳感器在低四位,后四個(gè)傳感器在高四位 左右各兩個(gè)傳感器 不壓黑線為低電平頭:低四位尾:高四位22記錄行走情況 遇垂直黑線次數(shù):int fb=0 微偏:0100/0010 中偏:1100/0011 大偏:1000/000123(2)引用與定義 #include #include #include typedef unsigned char uchar; typedef unsigned long ulong; typedef unsigned int uint; #define L_MOTO_BREAK L_DIR1

10、A=L_DIR1B #define L_MOTO_BACK L_DIR1A=0;L_DIR1B=1 #define L_MOTO_FORD L_DIR1A=1;L_DIR1B=0 #define R_MOTO_BREAK R_DIR1A=R_DIR1B #define R_MOTO_BACK R_DIR1A=0;R_DIR1B=1 #define R_MOTO_FORD R_DIR1A=1;R_DIR1B=024 sbit L_DIR1A=P22; sbit L_DIR1B=P21; sbit R_DIR1A=P25; sbit R_DIR1B=P26; sbit P1_0=P10; sbit

11、 P1_1=P11; sbit P1_2=P12;25 int fb=0;/控制前后方向 sbit lcdrw=P32;/5 sbit lcdcs=P37;/6 sbit lcdrs=P36;/4 void lcddisplay3(void); void lcddisplay1(void); void lcddisplay2(void);26 此部分包括頭文件的定義、宏定義、位定義等,此部分包括頭文件的定義、宏定義、位定義等,例如定義例如定義#define L_MOTO_BREAK L_DIR1A=L_DIR1B,即表示在程序中以,即表示在程序中以L_MOTO_BREAK來表示來表示L_DIR

12、1A=L_DIR1B;L_DIR1A代表代表P22口,表示左輪電機(jī)方向的控口,表示左輪電機(jī)方向的控制;制;L_DIR1B代表代表P21口,亦表示左輪電機(jī)方口,亦表示左輪電機(jī)方向控制;當(dāng)向控制;當(dāng)L_DIR1A=L_DIR1B,即,即L_DIR1A與與L_DIR1B都為都為1或都為或都為0時(shí),即以時(shí),即以L_MOTO_BREAK來表示。下面還有液晶顯示屏來表示。下面還有液晶顯示屏的的I/O配置以及液晶顯示屏的顯示等。配置以及液晶顯示屏的顯示等。 27(3)初始化配置, 以保證單片機(jī)控制功能工作 void config (void) WDTCN = 0 x07; WDTCN = 0 xde; /看

13、門狗禁止 WDTCN = 0 xad;/看門狗禁止 XBR0 = 0 x50; /配置交叉開關(guān), XBR1 = 0 x00; XBR2 = 0 x40; /交叉開關(guān)允許P0MDOUT=0 x00; /p0.4p0.5為推挽輸出28 P1MDOUT=0 xff; P2MDOUT=0 xff;P3MDOUT=0 xFF;P74OUT=0 x00; /p4-p6 P6=0 xff; OSCXCN = 0 x00; OSCICN = 0 x16; /采用內(nèi)部晶振,頻率為 8MHZ 29 此部分主要進(jìn)行初始化配置,以保證單片機(jī)的控此部分主要進(jìn)行初始化配置,以保證單片機(jī)的控制功能制功能 WDTCN即為看門

14、狗定時(shí)器控制寄存器,此處通即為看門狗定時(shí)器控制寄存器,此處通過過WDTCN各位的設(shè)置使看門狗禁止各位的設(shè)置使看門狗禁止 XBR0、XBR1、XBR2是用來配置交叉開關(guān)是用來配置交叉開關(guān)的特殊功能寄存器。的特殊功能寄存器。XBR0 = 0 x50即把即把XBR0的的位位6和位和位4置置1,表示,表示PCA0外部計(jì)數(shù)器輸入連接端外部計(jì)數(shù)器輸入連接端口引腳及口引腳及CEX0和和CEX1鏈接兩個(gè)端口引腳;鏈接兩個(gè)端口引腳;XBR1 = 0 x00表示此特殊功能寄存器各位全置表示此特殊功能寄存器各位全置0,即各使能位不連接端口引腳;即各使能位不連接端口引腳;XBR2 = 0 x40表示表示位位6置置1,

15、即交叉開關(guān)使能。,即交叉開關(guān)使能。 30 P0MDOUT是端口是端口0輸出方式寄存器,輸出方式寄存器,P0MDOUT=0 x00表示端口引腳的輸出方式為漏表示端口引腳的輸出方式為漏極開路方式。極開路方式。 P1MDOUT、P2MDOUT、P2MDOUT分別是端分別是端口口1、2、3輸出方式寄存器,各端口設(shè)置為輸出方式寄存器,各端口設(shè)置為0 xff表示端口引腳的輸出方式為推挽方式。表示端口引腳的輸出方式為推挽方式。 P74OUT是端口是端口47的輸出方式寄存器,各位置的輸出方式寄存器,各位置0即表示輸出方式配置為漏極開路輸出方式即表示輸出方式配置為漏極開路輸出方式 此處表示采用內(nèi)部振蕩器作為系統(tǒng)

16、時(shí)鐘,此處表示采用內(nèi)部振蕩器作為系統(tǒng)時(shí)鐘,OSCICN = 0 x16表示對內(nèi)部振蕩器使能,并使內(nèi)表示對內(nèi)部振蕩器使能,并使內(nèi)部振蕩器典型頻率為部振蕩器典型頻率為8MHZ。31(4) 延時(shí) void delay1ms(uint time)/延遲子程序0.5MSuint ii;uint jj;for (ii=0;iitime;ii+) for(jj=0;jj=4) P1_0=1; lcddisplay2(); delay1ms(210);/延時(shí)4s P1_0=0; P1_1=1; lcddisplay3(); 43 當(dāng)滿足當(dāng)滿足fb=4時(shí)時(shí),執(zhí)行下面的程序執(zhí)行下面的程序,先進(jìn)行水先進(jìn)行水泵放水泵

17、放水,然后進(jìn)行第二次液晶顯示屏顯示然后進(jìn)行第二次液晶顯示屏顯示,延延時(shí)時(shí)4s,關(guān)閉水泵關(guān)閉水泵, P1_1=1表示蜂鳴器響表示蜂鳴器響,然然后再進(jìn)行延時(shí)后再進(jìn)行延時(shí)44 if(fb=1)|(fb=3) P1_2=1; delay1ms(600); P1_2=0; delay1ms(25); R_FORD(229); delay1ms(1); L_FORD(236); delay1ms(50);/延時(shí)0.5s 45 當(dāng)當(dāng)fb=1或者是或者是fb=3時(shí)時(shí),小車回到起點(diǎn)位置小車回到起點(diǎn)位置, P1_2=1表示對小車進(jìn)行注水表示對小車進(jìn)行注水,然后延時(shí)一然后延時(shí)一段時(shí)間段時(shí)間,注水停止注水停止,再延時(shí)

18、再延時(shí)25ms,小車前進(jìn)小車前進(jìn)46 if(fb=2) L_BACK(240); R_BACK(249);delay1ms(50);/延時(shí)0.5s 47 else if(fb=1)|(fb=3) if(P6=0 x00) R_FORD(229); L_FORD(236); 此語句與前面此語句與前面if(P6&0 x0F)=0 x0F)對應(yīng)對應(yīng),當(dāng)不滿足條件時(shí)當(dāng)不滿足條件時(shí),執(zhí)行下面的程序執(zhí)行下面的程序48 P6=0 x00,用二進(jìn)制表示即為用二進(jìn)制表示即為00000000,即即各路傳感器返回值均為各路傳感器返回值均為0,表示表示8路傳感器均路傳感器均未壓黑線未壓黑線,小車前進(jìn)未跑偏小車

19、前進(jìn)未跑偏49 if(P6&0 x02) PWM0_set(245); PWM1_set(220); 當(dāng)當(dāng)P6=0 x02,用二進(jìn)制表示為用二進(jìn)制表示為00000010時(shí)時(shí),即前四即前四路傳感器的右邊第二位壓黑線路傳感器的右邊第二位壓黑線,此種情況下即表示此種情況下即表示小車左小偏小車左小偏,然后重新調(diào)整然后重新調(diào)整PWM值對小車進(jìn)行調(diào)值對小車進(jìn)行調(diào)整整50 if(P6&0 x04) PWM0_set(235); PWM1_set(230); if(P6&0 x02) PWM0_set(245); PWM1_set(220); 51 當(dāng)當(dāng)P6=0 x04,用二進(jìn)制表示為

20、用二進(jìn)制表示為00000100時(shí)時(shí),即前四路傳感器的右邊第三位壓黑線即前四路傳感器的右邊第三位壓黑線,此種此種情況下即表示小車右小偏情況下即表示小車右小偏,然后重新調(diào)整然后重新調(diào)整PWM值對小車進(jìn)行調(diào)整值對小車進(jìn)行調(diào)整52 if(P6&0 x04)&(P6&0 x08) PWM0_set(235); PWM1_set(245); if(P6&0 x02)&(P6&0 x01) PWM0_set(255); PWM1_set(215); 53 (P6&0 x04)&(P6&0 x08)即表示前四路尋即表示前四路尋跡的右邊第三

21、、四位尋跡壓黑線,此種情跡的右邊第三、四位尋跡壓黑線,此種情況下即表示小車右中偏況下即表示小車右中偏,然后重新調(diào)整然后重新調(diào)整PWM值對小車進(jìn)行調(diào)整值對小車進(jìn)行調(diào)整54 if(P6&0 x02)&(P6&0 x01) PWM0_set(255); PWM1_set(215); (P6&0 x02)&(P6&0 x01)即表示前四路尋跡的右即表示前四路尋跡的右邊第一、二位尋跡壓黑線,此種情況下即表示小邊第一、二位尋跡壓黑線,此種情況下即表示小車左中偏車左中偏,然后重新調(diào)整然后重新調(diào)整PWM值對小車進(jìn)行調(diào)整值對小車進(jìn)行調(diào)整55 if(P6&0

22、 x08) PWM0_set(215); PWM1_set(240); if(P6&0 x01) PWM0_set(255); PWM1_set(200); 56 當(dāng)當(dāng)P6=0 x08,用二進(jìn)制表示為用二進(jìn)制表示為00001000時(shí)時(shí),即前四路傳感器的右邊第四位壓黑線即前四路傳感器的右邊第四位壓黑線,此種此種情況下即表示小車右大偏情況下即表示小車右大偏,然后重新調(diào)整然后重新調(diào)整PWM值對小車進(jìn)行調(diào)整值對小車進(jìn)行調(diào)整57 if(P6&0 x01) PWM0_set(255); PWM1_set(200); 當(dāng)當(dāng)P6=0 x01,用二進(jìn)制表示為用二進(jìn)制表示為00000001時(shí)時(shí),即

23、前四即前四路傳感器的右邊第一位壓黑線路傳感器的右邊第一位壓黑線,此種情況下即表示此種情況下即表示小車左大偏小車左大偏,然后重新調(diào)整然后重新調(diào)整PWM值對小車進(jìn)行調(diào)值對小車進(jìn)行調(diào)整整58 if(fb=2) if(P6=0 x00) L_BACK(240); R_BACK(250); if(P6&0 x40) PWM0_set(230); PWM1_set(250); 59 P6=0 x00,用二進(jìn)制表示即為用二進(jìn)制表示即為00000000,即即各路傳感器返回值均為各路傳感器返回值均為0,表示表示8路傳感器均路傳感器均未壓黑線未壓黑線,小車后退未跑偏小車后退未跑偏 當(dāng)當(dāng)P6=0 x40,用

24、二進(jìn)制表示為用二進(jìn)制表示為01000000時(shí)時(shí),即后四路傳感器的右邊第三位壓黑線即后四路傳感器的右邊第三位壓黑線,此種此種情況下即表示小車右小偏情況下即表示小車右小偏,然后重新調(diào)整然后重新調(diào)整PWM值對小車進(jìn)行調(diào)整值對小車進(jìn)行調(diào)整60 if(P6&0 x20) PWM0_set(250); PWM1_set(250); if(P6&0 x40)&(P6&0 x80) PWM0_set(220); PWM1_set(250); 61 當(dāng)當(dāng)P6=0 x20,用二進(jìn)制表示為用二進(jìn)制表示為00100000時(shí)時(shí),即后四路傳感器的右邊第二位壓黑線即后四路傳感器的右邊第二位壓

25、黑線,此種此種情況下即表示小車左小偏情況下即表示小車左小偏,然后重新調(diào)整然后重新調(diào)整PWM值對小車進(jìn)行調(diào)整值對小車進(jìn)行調(diào)整 (P6&0 x40)&(P6&0 x80)即表示后四路尋即表示后四路尋跡的右邊第三、四位尋跡壓黑線,此種情跡的右邊第三、四位尋跡壓黑線,此種情況下即表示小車右中偏況下即表示小車右中偏,然后重新調(diào)整然后重新調(diào)整PWM值對小車進(jìn)行調(diào)整值對小車進(jìn)行調(diào)整62 if(P6&0 x20)&(P6&0 x10) PWM0_set(250); PWM1_set(240); if(P6&0 x80) PWM0_set(200); PW

26、M1_set(250); 63 (P6&0 x20)&(P6&0 x10)即表示后四路尋即表示后四路尋跡的右邊第一、二位尋跡壓黑線,此種情跡的右邊第一、二位尋跡壓黑線,此種情況下即表示小車左中偏況下即表示小車左中偏,然后重新調(diào)整然后重新調(diào)整PWM值對小車進(jìn)行調(diào)整值對小車進(jìn)行調(diào)整 當(dāng)當(dāng)P6=0 x80,用二進(jìn)制表示為用二進(jìn)制表示為10000000時(shí)時(shí),即后四路傳感器的右邊第四位壓黑線即后四路傳感器的右邊第四位壓黑線,此種此種情況下即表示小車右大偏情況下即表示小車右大偏,然后重新調(diào)整然后重新調(diào)整PWM值對小車進(jìn)行調(diào)整值對小車進(jìn)行調(diào)整64 if(P6&0 x10) P

27、WM0_set(240); PWM1_set(210); 65 當(dāng)當(dāng)P6=0 x10,用二進(jìn)制表示為用二進(jìn)制表示為00010000時(shí)時(shí),即前四路傳感器的右邊第一位壓黑線即前四路傳感器的右邊第一位壓黑線,此種此種情況下即表示小車左大偏情況下即表示小車左大偏,然后重新調(diào)整然后重新調(diào)整PWM值對小車進(jìn)行調(diào)整值對小車進(jìn)行調(diào)整66循跡反饋形成分析b=1b=2b=3b=467垂線檢測偏移檢測占空比L298驅(qū)動(dòng)車輪軌跡TCRT循跡68(9)LCD控制 void sendc(uchar c)/給lcd送命令 P4=c;lcdrs=0;/RS=Llcdrw=0;/RW=LEA=0;/關(guān)中斷 delay1ms(1

28、);lcdcs=0;/E的高脈沖lcdcs=1;/E的高脈沖69 delay1ms(1);lcdrw=1;P4=0 xff;/先置1,后讀取delay1ms(1);EA=1; /開中斷 70 void sendd(uchar c)/給lcd送數(shù)據(jù) EA=0;P4=c;lcdrs=1;lcdrw=0;delay1ms(1);lcdcs=1;lcdcs=0;lcdcs=1;delay1ms(1);71 lcdrw=1;P4=0 xff;/先置1,后讀取lcdrs=0;delay1ms(1);while(P4=0 x80);lcdcs=0;lcdcs=1;EA=1; /* if(c=c)delay1

29、ms(3);*/ 72 void lcd_pos(uchar pos)/顯示地址定位函數(shù) sendc(pos|0 x80); 73 void lcd_ini(void)/lcd初始化函數(shù) delay1ms(100);lcdcs=1; delay1ms(5); lcdrs=0;delay1ms(5); lcdrw=0;delay1ms(5); 74 sendc(0 x38);/8位,2行,5*7字體delay1ms(30);sendc(0 x38);/8位,2行,5*7字體 delay1ms(30); sendc(0 x38);/8位,2行,5*7字體delay1ms(30);sendc(0 x

30、08);/顯示開,光標(biāo)關(guān);不閃delay1ms(30); sendc(0 x01);/清屏delay1ms(30);75 /sendc(0 x01);/清屏 /delay1ms(30);sendc(0 x06);/delay1ms(30); sendc(0 x0C);/ delay1ms(30); 76(10)第一次顯示 void lcddisplay1(void)/顯示主函數(shù) uchar i=0; uchar line1=once:550ml; uchar line2=all:550ml; sendc(0 x01); i=0; lcd_pos(0 x00);/容量顯示 delay1ms(5);77 while(line1i!=0) sendd(line1i+); delay1ms(10); i=0; lcd_

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論