《單片機(jī)原理及應(yīng)用》實(shí)驗(yàn)報(bào)告

上傳人:jun****875 文檔編號(hào):17746119 上傳時(shí)間:2020-12-04 格式:DOC 頁(yè)數(shù):39 大?。?37.91KB
收藏 版權(quán)申訴 舉報(bào) 下載
《單片機(jī)原理及應(yīng)用》實(shí)驗(yàn)報(bào)告_第1頁(yè)
第1頁(yè) / 共39頁(yè)
《單片機(jī)原理及應(yīng)用》實(shí)驗(yàn)報(bào)告_第2頁(yè)
第2頁(yè) / 共39頁(yè)
《單片機(jī)原理及應(yīng)用》實(shí)驗(yàn)報(bào)告_第3頁(yè)
第3頁(yè) / 共39頁(yè)

下載文檔到電腦,查找使用更方便

9.9 積分

下載資源

還剩頁(yè)未讀,繼續(xù)閱讀

資源描述:

《《單片機(jī)原理及應(yīng)用》實(shí)驗(yàn)報(bào)告》由會(huì)員分享,可在線(xiàn)閱讀,更多相關(guān)《《單片機(jī)原理及應(yīng)用》實(shí)驗(yàn)報(bào)告(39頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、 《單片機(jī)原理及應(yīng)用》實(shí)驗(yàn)報(bào)告 2017/2018 學(xué)年 第 1 學(xué)期 系 別 計(jì)算機(jī)學(xué)院 專(zhuān) 業(yè) 軟件工程 班 級(jí) 17軟件工程班 姓 名 XXXXXX 學(xué) 號(hào) 8888888888 授課老師 ****** 實(shí)驗(yàn)一:流水燈實(shí)驗(yàn) 1.實(shí)驗(yàn)?zāi)康? (1)學(xué)習(xí)編譯和仿真環(huán)境使用 (2)學(xué)習(xí)

2、P3口的使用方法 (3)學(xué)習(xí)延時(shí)子程序的編寫(xiě) 2實(shí)驗(yàn)內(nèi)容 (1)通過(guò)對(duì)P3口地址的操作控制8位LED流水點(diǎn)亮,從而認(rèn)識(shí)單片機(jī)的接口; (2)通過(guò)改變并行口輸出電平控制LED燈的點(diǎn)亮與否,通過(guò)延時(shí)程序控制亮燈時(shí)間。 3.實(shí)驗(yàn)運(yùn)行結(jié)果圖 4.源代碼 //流水燈實(shí)驗(yàn) #include //包含單片機(jī)寄存器的頭文件 sfr x=0xb0; //P3口在存儲(chǔ)器中的地址是b0H, 通過(guò)sfr可定義8051內(nèi)核單片機(jī) //的所有內(nèi)部8位特殊功能寄存器,對(duì)地址x的操作也就是對(duì)P1口的操作 /*******************

3、********************* 函數(shù)功能:延時(shí)一段時(shí)間 *****************************************/ void delay(void) { unsigned char i,j; for(i=0;i<255i++) for(j=0;j<255j++) ; //利用循環(huán)等待若干機(jī)器周期,從而延時(shí)一段時(shí)間 } /***************************************** 函數(shù)功能:主函數(shù) ******************************

4、************/ void main(void) { while(1) { x=0xfe; //第一個(gè)燈亮 delay(); //調(diào)用延時(shí)函數(shù) x=0xfd; //第二個(gè)燈亮 delay(); //調(diào)用延時(shí)函數(shù) x=0xfb; //第三個(gè)燈亮 delay(); //調(diào)用延時(shí)函數(shù) x=0xf7; //第四個(gè)燈亮 delay(); //調(diào)用延時(shí)函數(shù) x=0xef; //第五個(gè)燈亮 delay(); //調(diào)用延時(shí)函數(shù) x=0xdf;

5、 //第六個(gè)燈亮 delay(); //調(diào)用延時(shí)函數(shù) x=0xbf; //第七個(gè)燈亮 delay(); //調(diào)用延時(shí)函數(shù) x=0x7f; //第八個(gè)燈亮 delay(); //調(diào)用延時(shí)函數(shù) } } 實(shí)驗(yàn)二:中斷實(shí)驗(yàn) 1.實(shí)驗(yàn)?zāi)康? (1)熟悉51單片機(jī)中斷初始化編程方法。 (2)掌握51單片機(jī)外部中斷源的設(shè)計(jì)使用。 (3)中斷處理應(yīng)用程序的設(shè)計(jì)與調(diào)試技巧。 2.實(shí)驗(yàn)內(nèi)容 通過(guò)對(duì)P3.2、P3.3引腳的電平控制,實(shí)現(xiàn)外部中斷處理,從而控制輸出口P1的輸出效果變化。 3.實(shí)驗(yàn)運(yùn)行

6、結(jié)果圖 4.源代碼 /用外中斷0的中斷方式進(jìn)行數(shù)據(jù)采集和處理 #include //包含51單片機(jī)寄存器定義的頭文件 sbit S=P3^2; //將S位定義為P3.2, /******************************************* 函數(shù)功能:主函數(shù) ******************************************/ void main(void) { EA=1; //開(kāi)放總中斷 EX0=1; //允許使用外中斷 IT0=1; //選擇負(fù)跳變來(lái)

7、觸發(fā)外中斷 P1=0xff; while(1) ; //無(wú)限循環(huán), 防止程序跑飛 } /************************************************************** 函數(shù)功能:外中斷T0的中斷服務(wù)程序 **************************************************************/ void int0(void) interrupt 0 using 0 //外中斷0的中斷編號(hào)為0 { P1=~P1; //每產(chǎn)生一次中斷請(qǐng)求,P1取反一次。 }

8、//用外中斷0的中斷方式進(jìn)行數(shù)據(jù)采集和處理 #include //包含51單片機(jī)寄存器定義的頭文件 #define uchar unsigned char void Delay(unsigned int i) { uchar j; for(;i>0;i--) for(j=0;j<125;j++) {;} } //sbit S=P3^2; //將S位定義為P3.2, /******************************************* 函數(shù)功能:主函數(shù) *****************************

9、*************/ void main(void) { uchar display[9]={0xff,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; unsigned int a; while(1){ EA=1; //開(kāi)放總中斷 EX0=1; //允許使用外中斷 EX1=1; IT0=1; //選擇負(fù)跳變來(lái)觸發(fā)外中斷 IT1=1; IP=0; for(a=0;a<9;a++){ Delay(500); P1=display[a];

10、 } } } /************************************************************** 函數(shù)功能:外中斷T0的中斷服務(wù)程序 **************************************************************/ void int0_isr(void) interrupt 0 using 1 //外中斷0的中斷編號(hào)為1 { uchar n; for(n=0;n<10;n++){ p1=0x0f; Delay(500); P1=0xf0; Delay(50

11、0); } } void int1_isr (void) interrupt 2 using 2{ uchar n; for(n=0;n<10;n++){ p1=0xff; Delay(500); P1=0; Delay(500); } } 實(shí)驗(yàn)三:定時(shí)器/計(jì)數(shù)器實(shí)驗(yàn) 1.實(shí)驗(yàn)?zāi)康? (1)熟悉51單片機(jī)中斷初始化編程方法 (2)熟悉51單片機(jī)定時(shí)計(jì)數(shù)器的初始化編程方法 (3)掌握定時(shí)計(jì)數(shù)器的應(yīng)用 2.實(shí)驗(yàn)內(nèi)容 通過(guò)使用定時(shí)器T0的中斷來(lái)控制P2.0引腳的的LED的燈閃爍,要求閃爍時(shí)間2S,既亮1 S

12、,滅1 S。 3.實(shí)驗(yàn)運(yùn)行結(jié)果圖 4.源代碼 #include // 包含51單片機(jī)寄存器定義的頭文件 sbit D1=P1^4; //將D1位定義為P1.4引腳 unsigned char Countor; //設(shè)置全局變量,儲(chǔ)存定時(shí)器T0中斷次數(shù) /************************************************************** 函數(shù)功能:主函數(shù) **************************************************************/

13、void main(void) { EA=1; //開(kāi)總中斷 ET0=1; //定時(shí)器T0中斷允許 TMOD=0x01; //使用定時(shí)器T0的模式2 TH0=(65536-15536)/256; //定時(shí)器T0的高8位賦初值 TL0=(65536-15536)%256; //定時(shí)器T0的高8位賦初值 TR0=1; //啟動(dòng)定時(shí)器T0 Countor=0; //從0開(kāi)始累計(jì)中斷次數(shù) while(1)

14、//無(wú)限循環(huán)等待中斷 ; } /************************************************************** 函數(shù)功能:定時(shí)器T0的中斷服務(wù)程序 **************************************************************/ void Time0(void) interrupt 1 using 0 //"interrupt"聲明函數(shù)為中斷服務(wù)函數(shù) //其后的1為定時(shí)器T0的中斷編號(hào);0表示使用第0組工作寄存器 { Coun

15、tor++; //中斷次數(shù)自加1 if(Countor==20) //若累計(jì)滿(mǎn)20次,即計(jì)時(shí)滿(mǎn)1s { D1=~D1; //按位取反操作,將P2.0引腳輸出電平取反 Countor=0; //將Countor清0,重新從0開(kāi)始計(jì)數(shù) } TH0=(65536-15536)/256; //定時(shí)器T0的高8位重新賦初值 TL0=(65536-15536)%256; //定時(shí)器T0的高8位重新賦初值 } 實(shí)驗(yàn)四:串行口實(shí)驗(yàn) 1.實(shí)驗(yàn)?zāi)康? (1)掌握單片機(jī)的串行口的工作原理 (2)掌握單片機(jī)串行口收發(fā)數(shù)據(jù)的方法 2.實(shí)驗(yàn)

16、內(nèi)容 本實(shí)驗(yàn)要求單片機(jī)U1通過(guò)其串行口TXD向單片機(jī)U2發(fā)送數(shù)據(jù)。單片機(jī)U1的P1口接8個(gè)開(kāi)關(guān),U2的P1口接8個(gè)發(fā)光二極管。U1設(shè)置為只能發(fā)送不能接收,U1讀入P1口的8個(gè)開(kāi)關(guān)狀態(tài)后,通過(guò)串行口發(fā)送到U2,U2將接收到的數(shù)據(jù)送入P1口,由P1口上連接的8個(gè)發(fā)光二極管顯示8個(gè)開(kāi)關(guān)的狀態(tài)。 3.實(shí)驗(yàn)運(yùn)行結(jié)果圖 4.源代碼 /*********發(fā)送單片機(jī)的發(fā)送程序***********/ #include //包含寄存器的頭文件 /*********向PC發(fā)送一個(gè)字節(jié)數(shù)據(jù)**************/ void Send(unsigne

17、d char date) { SBUF=date; while(TI==0); TI=0; } /*********延時(shí)約150ms*********/ void delay(void) { unsigned char m,n; for(m=0;m<200;m++) for(n=0;n<250;n++) ; } /*******函數(shù)功能:主函數(shù)*********/ void main(void) { unsigned char temp; TMOD=0x20; //定時(shí)

18、器T1工作于方式2 SCON=0x40; //串口工作方式1 PCON=0x00; //波特率9600 TH1=0xfd; //根據(jù)規(guī)定給定時(shí)器T1賦初值 TL1=0xfd; //根據(jù)規(guī)定給定時(shí)器T1賦初值 TR1=1; //啟動(dòng)定時(shí)器T1 P1=0xff; //讀取P1端口數(shù)據(jù) while(1) { temp=P1; Send(temp); //發(fā)送數(shù)據(jù)i delay(); //50ms發(fā)送一次檢測(cè)數(shù)據(jù) } } /********

19、**接收單片機(jī)的接收程序***********/ #include //包含單片機(jī)寄存器的頭文件 /**接收一個(gè)字節(jié)數(shù)據(jù)******/ unsigned char Receive(void) { unsigned char date; while(RI==0) ; //只要接收中斷標(biāo)志位RI沒(méi)有被置“1” //等待,直至接收完畢(RI=1) RI=0; //為了接收下一幀數(shù)據(jù),需將RI清0 date=SBUF; //將接收緩沖器中的數(shù)據(jù)存于dat return date;

20、 } /*****主函數(shù)*******/ void main(void) { TMOD=0x20; //定時(shí)器T1工作于方式2 SCON=0x50; //SCON=0101 0000B,串口工作方式1,REN=1 PCON=0x00; //PCON=0000 0000B,波特率9600 TH1=0xfd; //根據(jù)規(guī)定給定時(shí)器T1賦初值 TL1=0xfd; //根據(jù)規(guī)定給定時(shí)器T1賦初值 TR1=1; //啟動(dòng)定時(shí)器T1 REN=1; //允許接收 while(1) {

21、 P1=Receive(); //將接收到的數(shù)據(jù)送P1口顯示 } } 實(shí)驗(yàn)五:輸入接口實(shí)驗(yàn) 1.實(shí)驗(yàn)?zāi)康? (1)掌握共陰極、共陽(yáng)極LED的使用方法 (2)掌握矩陣鍵盤(pán)輸入掃描和識(shí)別程序編寫(xiě) 2.實(shí)驗(yàn)內(nèi)容 設(shè)計(jì)一個(gè)4X4的矩陣鍵盤(pán),鍵盤(pán)的號(hào)碼0~15,要求編寫(xiě)出一個(gè)鍵盤(pán)輸入掃描程序,要求單片機(jī)能根據(jù)鍵盤(pán)排列順序,能將按下去鍵盤(pán)號(hào)正確識(shí)別出來(lái),并采用兩個(gè)數(shù)碼管分別鍵盤(pán)號(hào)碼的個(gè)位和十位。 3.實(shí)驗(yàn)運(yùn)行結(jié)果圖 4.源代碼 #include //包含51單片機(jī)寄存器定義的頭文件 sbit P14=P1^4;

22、 sbit P15=P1^5; sbit P16=P1^6; sbit P17=P1^7; unsigned char code Tab[ ]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //數(shù)字0~9的段碼 unsigned char keyval; /************************************************************** 函數(shù)功能:數(shù)碼管動(dòng)態(tài)掃描延時(shí) **************************

23、************************************/ void led_delay(void) { unsigned char j; for(j=0;j<200;j++) ; } /************************************************************** 函數(shù)功能:按鍵值的數(shù)碼管顯示子程序 **************************************************************/ void display(unsigned char k

24、) { P2=0xbf; P0=Tab[k/10]; led_delay(); P2=0x7f; P0=Tab[k%10]; led_delay(); } /************************************************************** 函數(shù)功能:軟件延時(shí)子程序 **************************************************************/

25、 void delay20ms(void) { unsigned char i,j; for(i=0;i<100;i++) for(j=0;j<60;j++) ; } /************************************************************** 函數(shù)功能:主函數(shù) **************************************************************/ void main(void) { EA=1;

26、 ET0=1; TMOD=0x01; TH0=(65536-500)/256; TL0=(65536-500)%256; TR0=1; keyval=0x00; while(1) { display(keyval); } } /************************************************************** 函

27、數(shù)功能:定時(shí)器0的中斷服務(wù)子程序,進(jìn)行鍵盤(pán)掃描,判斷鍵位 **************************************************************/ void time0_interserve(void) interrupt 1 using 1 { TR0=0; P1=0xf0; if((P1&0xf0)!=0xf0) delay20ms(); if((P1&0xf0)!=0xf0)

28、 { P1=0xfe; if(P14==0) keyval=1; if(P15==0) keyval=2; if(P16==0) keyval=3; if(P17==0) keyval

29、=4; P1=0xfd; if(P14==0) keyval=5; if(P15==0) keyval=6; if(P16==0) keyval=7; if(P17==0) keyval=8;

30、 P1=0xfb; if(P14==0) keyval=9; if(P15==0) keyval=10; if(P16==0) keyval=11; if(P17==0) keyval=12; P1=0xf7; if(P14==0)

31、 keyval=13; if(P15==0) keyval=14; if(P16==0) keyval=15; if(P17==0) keyval=16; } TR0=1; TH0=(65536-500)/256;

32、 TL0=(65536-500)%256; } 實(shí)驗(yàn)六:LCD循環(huán)顯示實(shí)驗(yàn) 1.實(shí)驗(yàn)?zāi)康? (1)掌握單片機(jī)驅(qū)動(dòng)顯示屏的方法 (2)掌握LCD1602的使用方法 2.實(shí)驗(yàn)內(nèi)容 采用1602型LCD循環(huán)顯示字符串“Welcome to Heifei Normal University”。其中LCD顯示模式為:16*2顯示、5*7點(diǎn)陣、8位數(shù)據(jù)口;顯示開(kāi)、有光標(biāo)開(kāi)且光標(biāo)閃爍;光標(biāo)右移,字符不移。 3.實(shí)驗(yàn)運(yùn)行結(jié)果圖 4.源代碼 #include //包含單片機(jī)寄存器的頭文件 #include

33、s.h> //包含_nop_()函數(shù)定義的頭文件 sbit RS=P2^0; //寄存器選擇位,將RS位定義為P2.0引腳 sbit RW=P2^1; //讀寫(xiě)選擇位,將RW位定義為P2.1引腳 sbit E=P2^2; //使能信號(hào)位,將E位定義為P2.2引腳 sbit BF=P0^7; //忙碌標(biāo)志位,,將BF位定義為P0.7引腳 unsigned char code string[ ]={"Welcome to China "}; /***************************************************** 函數(shù)

34、功能:延時(shí)1ms (3j+2)*i=(333+2)10=1010(微秒),可以認(rèn)為是1毫秒 ***************************************************/ void delay1ms() { unsigned char i,j; for(i=0;i<10;i++) for(j=0;j<33;j++) ; } /***************************************************** 函數(shù)功能:延時(shí)若干毫秒 入口參數(shù):n *******************

35、********************************/ void delay(unsigned char n) { unsigned char i; for(i=0;i

36、ned char BusyTest(void) { bit result; RS=0; //根據(jù)規(guī)定,RS為低電平,RW為高電平時(shí),可以讀狀態(tài) RW=1; E=1; //E=1,才允許讀寫(xiě) _nop_(); //空操作 _nop_(); _nop_(); _nop_(); //空操作四個(gè)機(jī)器周期,給硬件反應(yīng)時(shí)間 result=BF; //將忙碌標(biāo)志電平賦給result E=0; return result; } /***************

37、************************************** 函數(shù)功能:將模式設(shè)置指令或顯示地址寫(xiě)入液晶模塊 入口參數(shù):dictate ***************************************************/ void WriteInstruction (unsigned char dictate) { while(BusyTest()==1); //如果忙就等待 RS=0; //根據(jù)規(guī)定,RS和R/W同時(shí)為低電平時(shí),可以寫(xiě)入指令 RW=0; E=0;

38、 //E置低電平(根據(jù)表8-6,寫(xiě)指令時(shí),E為高脈沖, // 就是讓E從0到1發(fā)生正跳變,所以應(yīng)先置"0" _nop_(); _nop_(); //空操作兩個(gè)機(jī)器周期,給硬件反應(yīng)時(shí)間 P0=dictate; //將數(shù)據(jù)送入P0口,即寫(xiě)入指令或地址 _nop_(); _nop_(); _nop_(); _nop_(); //空操作四個(gè)機(jī)器周期,給硬件反應(yīng)時(shí)間 E=1;

39、 //E置高電平 _nop_(); _nop_(); _nop_(); _nop_(); //空操作四個(gè)機(jī)器周期,給硬件反應(yīng)時(shí)間 E=0; //當(dāng)E由高電平跳變成低電平時(shí),液晶模塊開(kāi)始執(zhí)行命令 } /***************************************************** 函數(shù)功能:指定字符顯示的實(shí)際地址 入口參數(shù):x ***************************************************/ void Writ

40、eAddress(unsigned char x) { WriteInstruction(x|0x80); //顯示位置的確定方法規(guī)定為"80H+地址碼x" } /***************************************************** 函數(shù)功能:將數(shù)據(jù)(字符的標(biāo)準(zhǔn)ASCII碼)寫(xiě)入液晶模塊 入口參數(shù):y(為字符常量) ***************************************************/ void WriteData(unsigned char y) { while(BusyTe

41、st()==1); RS=1; //RS為高電平,RW為低電平時(shí),可以寫(xiě)入數(shù)據(jù) RW=0; E=0; //E置低電平(根據(jù)表8-6,寫(xiě)指令時(shí),E為高脈沖, // 就是讓E從0到1發(fā)生正跳變,所以應(yīng)先置"0" P0=y; //將數(shù)據(jù)送入P0口,即將數(shù)據(jù)寫(xiě)入液晶模塊 _nop_(); _nop_(); _nop_(); _nop_(); //空操作四個(gè)機(jī)器周期,給硬件反應(yīng)時(shí)間 E=1;

42、 //E置高電平 _nop_(); _nop_(); _nop_(); _nop_(); //空操作四個(gè)機(jī)器周期,給硬件反應(yīng)時(shí)間 E=0; //當(dāng)E由高電平跳變成低電平時(shí),液晶模塊開(kāi)始執(zhí)行命令 } /***************************************************** 函數(shù)功能:對(duì)LCD的顯示模式進(jìn)行初始化設(shè)置 ***************************************************/ void LcdInitiate(void) {

43、 delay(15); //延時(shí)15ms,首次寫(xiě)指令時(shí)應(yīng)給LCD一段較長(zhǎng)的反應(yīng)時(shí)間 WriteInstruction(0x38); //顯示模式設(shè)置:162顯示,57點(diǎn)陣,8位數(shù)據(jù)接口 delay(5); //延時(shí)5ms  WriteInstruction(0x38); delay(5); WriteInstruction(0x38); delay(5); WriteInstruction(0x0f); //顯示模式設(shè)置:顯示開(kāi),有光標(biāo),光標(biāo)閃爍 delay(5); WriteInstruction(0x06);

44、//顯示模式設(shè)置:光標(biāo)右移,字符不移 delay(5); WriteInstruction(0x01); //清屏幕指令,將以前的顯示內(nèi)容清除 delay(5); } void main(void) //主函數(shù) { unsigned char i; LcdInitiate(); //調(diào)用LCD初始化函數(shù) delay(10); while(1) { WriteInstruction(0x01);//清顯示:清屏幕指令 WriteAddress(0x00); // 設(shè)置顯

45、示位置為第一行的第5個(gè)字 i = 0; while(string[i] != \0) { // 顯示字符 WriteData(string[i]); i++; delay(150); } for(i=0;i<4;i++) delay(250); } } 實(shí)驗(yàn)七:簡(jiǎn)易計(jì)算器設(shè)計(jì)實(shí)驗(yàn) 1.實(shí)驗(yàn)?zāi)康? (1)學(xué)會(huì)將單片機(jī)的輸入、輸出和內(nèi)部定時(shí)計(jì)數(shù)器等功能綜合應(yīng)用 (2)掌握各部分功能綜合調(diào)試能力 2.實(shí)驗(yàn)內(nèi)容 設(shè)計(jì)一個(gè)簡(jiǎn)

46、易計(jì)算器,能夠進(jìn)行加減乘除運(yùn)算。 3.實(shí)驗(yàn)運(yùn)行結(jié)果圖 4.源代碼 #include //包含單片機(jī)寄存器的頭文件 #include //包含_nop_()函數(shù)定義的頭文件 //#include sbit P0_4 = 0x84; sbit P0_5 = 0x85; sbit P0_6 = 0x86; sbit P0_7 = 0x87; void delay10ms() { unsigned char a,b; for(a=100;a>0;a--) for(b=50;b>0;b--)

47、; } void delay1ms() { unsigned char a,b; for(a=10;a>0;a--) for(b=50;b>0;b--); } unsigned char code tab[]= { 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f, 0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71 }; void main() { unsigned char m,i,j,k,l,p,cc2,cc3,cc4,cc5,o; unsigned long c1,c2,cc; unsig

48、ned int cc1; unsigned char aa0,aa1,aa2,aa3,bb0,bb1,bb2,bb3; unsigned char a0,a1,a2,a3,b0,b1,b2,b3; bit q,n; while(1) { static dian=0x80,fuhao=0; for (j=0;j<=3;j++) { k=0xfe<>(8-j); P0=k|l; if(P0_4==0) { delay10

49、ms(); if(P0_4==0) { while(P0_4==0) { P2=b0; P1=0xfe; delay1ms(); P2=0; P2=b1; P1=0xfd; delay1ms(); P2=0; P2=b2; P1=0xfb; delay1ms(); P2=0;

50、 P2=b3; P1=0xf7; delay1ms(); P2=0; P2=a0; P1=0xef; delay1ms(); P2=0; P2=a1; P1=0xdf; delay1ms(); P2=0; P2=a2; P1=0xbf; delay1ms(); P2=0;

51、 P2=a3; P1=0x7f; delay1ms(); P2=0; P2=dian; P1=0xef; delay1ms(); P2=0; P2=fuhao; P1=0xef; delay1ms(); P2=0; } if(tab[4*j]==0x39) {

52、n=1; i=3; } else { m++; if(m<=4&n==0) { a3=a2; a2=a1; a1=a0; a0=tab[4*j]; aa3=aa2; aa2=aa1; aa1=aa0; aa0=4*j;

53、 } else { if(p<=3&n==1) { b3=b2; b2=b1; b1=b0; b0=tab[4*j]; bb3=bb2; bb2=bb1; bb1=bb0; bb0=4*j; p++;

54、 } } } } } if(P0_5==0) { delay10ms(); if(P0_5==0) { while(P0_5==0) { P2=b0; P1=0xfe; delay1ms(); P2=0; P2=b1; P1=0xfd; delay1ms(); P2

55、=0; P2=b2; P1=0xfb; delay1ms(); P2=0; P2=b3; P1=0xf7; delay1ms(); P2=0; P2=a0; P1=0xef; delay1ms(); P2=0; P2=a1; P1=0xdf; delay1ms(); P2=0;

56、 P2=a2; P1=0xbf; delay1ms(); P2=0; P2=a3; P1=0x7f; delay1ms(); P2=0; P2=dian; P1=0xef; delay1ms(); P2=0; P2=fuhao; P1=0xef; delay1ms();

57、P2=0; } if(tab[4*j+1]==0x5e) { i=4; n=1; } else { m++; if(m<=4&n==0) { a3=a2; a2=a1; a1=a0; a0=tab[4*j+1]; aa3=aa2; aa2=aa1;

58、 aa1=aa0; aa0=4*j+1; } else { if(p<=3&n==1) { b3=b2; b2=b1; b1=b0; b0=tab[4*j+1]; bb3=bb2; bb2=bb1; bb1=bb0;

59、 bb0=4*j+1; p++; } } } } } if(P0_6==0) { delay10ms(); if(P0_6==0) { while(P0_6==0) { P2=b0; P1=0xfe; delay1ms(); P2=0; P

60、2=b1; P1=0xfd; delay1ms(); P2=0; P2=b2; P1=0xfb; delay1ms(); P2=0; P2=b3; P1=0xf7; delay1ms(); P2=0; P2=a0; P1=0xef; delay1ms(); P2=0; P2=a1;

61、 P1=0xdf; delay1ms(); P2=0; P2=a2; P1=0xbf; delay1ms(); P2=0; P2=a3; P1=0x7f; delay1ms(); P2=0; P2=dian; P1=0xef; delay1ms(); P2=0; P2=fuhao

62、; P1=0xef; delay1ms(); P2=0; } if(tab[4*j+2]==0x77) { i=1; n=1; } else { if(tab[4*j+2]==0x79) { q=1; n=1; } else { m++; if(m<=4&n==0)

63、 { a3=a2; a2=a1; a1=a0; a0=tab[4*j+2]; aa3=aa2; aa2=aa1; aa1=aa0; aa0=4*j+2; } else { if(p<=3&n==1) { b3=b2;

64、 b2=b1; b1=b0; b0=tab[4*j+2]; bb3=bb2; bb2=bb1; bb1=bb0; bb0=4*j+2; p++; } } } } } } if(P0_7==0) { dela

65、y10ms(); if(P0_7==0) { while(P0_7==0) { P2=b0; P1=0xfe; delay1ms(); P2=0; P2=b1; P1=0xfd; delay1ms(); P2=0; P2=b2; P1=0xfb; d

66、elay1ms(); P2=0; P2=b3; P1=0xf7; delay1ms(); P2=0; P2=a0; P1=0xef; delay1ms(); P2=0; P2=a1; P1=0xdf; delay1ms(); P2=0; P2=a2; P1=0xbf; delay1ms(); P2=0; P2=a3; P1=0x7f; delay1ms(); P2=0; P2=dian;

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

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話(huà):18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶(hù)上傳的文檔直接被用戶(hù)下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!