




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)實(shí)踐匯報(bào)專業(yè):電氣工程及其自動(dòng)化學(xué)生姓名:班級(jí):學(xué)號(hào):指導(dǎo)教師:實(shí)習(xí)時(shí)間:一、簡(jiǎn)樸I/O口控制1.訓(xùn)練目的和內(nèi)容熟悉并掌握對(duì)MSP430單片機(jī)的I/O口的操作以及定期器/計(jì)數(shù)器的使用措施,設(shè)計(jì)由8個(gè)LED燈構(gòu)成的“流水燈”,實(shí)現(xiàn)每隔相似的時(shí)間,循環(huán)點(diǎn)亮一種燈,一種方向結(jié)束后,反向循環(huán)。2.硬件電路圖圖1.1為msp430最小系統(tǒng)電路圖,圖1.2為8個(gè)LED燈的硬件連接圖。圖1.1msp430最小系統(tǒng)電路圖圖1.2LED硬件連接圖3.措施運(yùn)用定期器設(shè)置延時(shí),并在中斷服務(wù)程序中使P2口輸出的值向一種方向移一位,且在末位補(bǔ)‘1’(低電平點(diǎn)亮);判斷到‘0’移位到該方向第一位后,設(shè)置成向另一方向移位,且在末位(沿本次移位方向數(shù)是末位)補(bǔ)‘1’。圖1.3即為流水燈程序流程圖。圖1.3流水燈程序流程圖4.成果程序調(diào)試成功,“流水燈”正常運(yùn)行,預(yù)設(shè)功能都可實(shí)現(xiàn)。5.分析與討論初次接觸MSP430單片機(jī),體會(huì)到了其獨(dú)特的內(nèi)部構(gòu)造,以及由此帶來的新奇的編程路線,例如使用I/O口之前要先設(shè)置其輸入輸出方向。該設(shè)計(jì)屬于基礎(chǔ)類型,輕易掌握。6.附錄:源程序#include"msp430x14x.h"voidTimerA_Init(void);voidmain(void){WDTCTL=WDTPW+WDTHOLD;//StopWDTP2DIR|=0xFF;P2OUT=0xfe;//給初始化值TimerA_Init();_EINT();//Enableinterruptswhile(1);}voidTimerA_Init(void){TACTL=TASSEL0+TACLR+ID_3;//ACLK,clearTAR,8分頻TACCTL0=CCIE;//CCR0interruptenabledTACCR0=4096;//定期一秒TACTL|=MC0;//StartTimer_ainupmode}#pragmavector=TIMERA0_VECTOR__interruptvoidTimer_A(void){staticinti=0;if(i){ P2OUT>>=1;//右移一位 P2OUT|=0x80;//最終一位補(bǔ)1if(P2OUT==0xfe)i=0;}else{P2OUT<<=1;//左移一位P2OUT|=0x01;//最終一位補(bǔ)1if(P2OUT==0x7f)//檢測(cè)與否移到LED7i=1;}}二、鍵盤掃描1.訓(xùn)練目的和內(nèi)容鞏固MSP430單片機(jī)I/O口的操作措施,熟悉并掌握數(shù)碼管的使用措施,設(shè)計(jì)實(shí)現(xiàn)按下某一按鍵后,用數(shù)碼管顯示對(duì)應(yīng)的鍵值。2.硬件連接圖圖2.1為鍵盤電路原理圖,圖2.2為數(shù)碼管電路原理圖。圖2.1鍵盤電路圖圖2.2數(shù)碼管電路圖3.措施采用行掃描的方式。圖2.3即為鍵盤掃描程序流程圖。圖2.3鍵盤掃描程序流程圖4.成果表2.1列出了執(zhí)行成果。表2.1執(zhí)行成果表數(shù)值第一列第二列第三列第四列第一行123F第二行4560第三行789E第四行ABCD5.分析與討論在編程與調(diào)試過程中碰到的問題有如下幾種。問題1:顯示數(shù)值與按鍵值不一致。分析原因:沒有去抖程序,各管腳接受到的高下電平不穩(wěn)定。處理措施:加上去抖程序。調(diào)試成果:顯示數(shù)值與所按鍵值一致,程序正常運(yùn)行。問題2:估計(jì)每按一次按鍵,使數(shù)碼管各片顯示的內(nèi)容左移一片,并使最終一片數(shù)碼管顯示新讀入的按鍵值,成果每按一次按鍵所有數(shù)碼管都顯示新讀入的按鍵值。分析原因:在按鍵按下的有效時(shí)間內(nèi)足夠程序多次運(yùn)行,即多次讀入該按鍵值,數(shù)碼管顯示內(nèi)容多次移位。處理措施:在鍵盤掃描函數(shù)定義內(nèi)部變量i,初始化為零。僅當(dāng)i=0時(shí)容許讀數(shù)。每次確認(rèn)有鍵按下(延時(shí)去抖)后,若i為0,則返回鍵值并置i為1;否則返回0XFF(無效按鍵值)。確認(rèn)按鍵松開(也須有延時(shí)去抖)后,i復(fù)0。調(diào)試成果:數(shù)碼管顯示內(nèi)容隨按鍵正常移位,程序修改成功。6.附錄:程序/程序功能:實(shí)現(xiàn)按鍵讀值,數(shù)碼管顯示/#include<msp430x44x.h>#defineucharunsignedchar#defineuintunsignedintucharconstcode[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0xff};inta=0;voiddelayms(uintms){uinti=0,j=0;for(i=ms;i>0;i--)for(j=500;j>0;j--);}intkeyscan(void){intkey;charsccode,recode;P3OUT=0x00;if((P3IN&0xf0)!=0xf0){delayms(20);if((P3IN&0xf0)!=0xf0){sccode=0xfe;while((sccode&0x0f)!=0x0f){P3OUT=sccode;if((P3IN&0xf0)!=0xf0){recode=(P3IN&0xf0)|0x0f;key=(sccode&recode);returnkey;}elsesccode=(sccode<<1)|0x01;}}return0xff;}return0xff;}intgetkeyval(intnumm){intnum;switch(numm){case0xe7:num=15;break;case0xeb:num=0;break;case0xed:num=14;break;case0xee:num=13;break;case0xd7:num=3;break;case0xdb:num=6;break;case0xdd:num=9;break;case0xde:num=12;break;case0xb7:num=2;break;case0xbb:num=5;break;case0xbd:num=8;break;case0xbe:num=11;break;case0x77:num=1;break;case0x7b:num=4;break;case0x7d:num=7;break;case0x7e:num=10;break;default:num=255;}returnnum;}voidmain(){intkey;WDTCTL=WDTPW+WDTHOLD;P1DIR=0xFF;P6DIR=0xFF;P1OUT=0x00;P1OUT=0x00;P1SEL=0;P3DIR=0x0f;P6OUT=0x04;P1OUT=0x01;P6OUT=0x02;delayms(10);while(1){key=getkeyval(keyscan());if(key!=255)P1OUT=code[key];}}3.A/D轉(zhuǎn)換的應(yīng)用1.訓(xùn)練目的和內(nèi)容熟悉并掌握MSP430內(nèi)部ADC12芯片的運(yùn)行原理和操作措施,設(shè)計(jì)實(shí)現(xiàn)一種滿量程為2.5v的數(shù)字電壓表,用數(shù)碼管顯示采集到的電壓值。2.硬件原理圖Msp430最小系統(tǒng)原理圖參照試驗(yàn)一,數(shù)碼管電路原理圖參照試驗(yàn)二。圖3.1為ADC12內(nèi)部構(gòu)造圖。圖3.1ADC12內(nèi)部構(gòu)造圖3.措施(1)圖3.2即為運(yùn)用ADC12采集電壓的程序流程圖。圖3.2ADC12采集電壓程序流程圖(2)計(jì)算公式參見公式3.1。寄存器中的值/4096*2500=電壓值(mv)(3.1)4.成果表3.1列出了執(zhí)行成果。表3.1執(zhí)行成果表最小值(V)最大值(V)轉(zhuǎn)動(dòng)電位器旋鈕(V)0.0032.4990.003—2.4995.分析與討論采集到的電壓值的計(jì)算原理為:寄存器中的值/寄存器滿值*電壓表滿量程(mv)=電壓值(mv)。故,當(dāng)選用不一樣的電壓參照源時(shí),要根據(jù)不一樣的電壓表量程值修改程序中的計(jì)算公式。6.附錄:程序/ADC采集程序/#include"msp430x44x.h"unsignedintAD_Value;voidADC_Init(void);unsignedintADC_Simple_Shift(void);voiddelayms(inta){inti=500;for(;a>0;a--)while(i--);}voidmain(void){unsignedcharconstcode[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0xff};WDTCTL=WDTPW+WDTHOLD;P6DIR=0xff;P1DIR=0xff;P6OUT=0x00;P1OUT=0x00;ADC_Init();while(1){AD_Value=ADC_Simple_Shift();AD_Value=AD_Value*2500;AD_Value=AD_Value/4096;P6OUT=0x04;P1OUT=0x01;P6OUT=0x02;P1OUT=code[AD_Value/1000]&0x7f;P6OUT=0x00;P1OUT=0x00;delayms(1);P6OUT=0x04;P1OUT=0x02;P6OUT=0x02;P1OUT=code[AD_Value/100%10];P6OUT=0x00;P1OUT=0x00;delayms(1);P6OUT=0x04;P1OUT=0x04;P6OUT=0x02;P1OUT=code[AD_Value/10%10];P6OUT=0x00;P1OUT=0x00;delayms(1);P6OUT=0x04;P1OUT=0x08;P6OUT=0x02;P1OUT=code[AD_Value%10];P6OUT=0x00;P1OUT=0x00;delayms(1);}}voidADC_Init(void){P6SEL|=BIT0;ADC12CTL0=ADC12ON+SHT0_8+MSC;ADC12CTL1=SHP+CONSEQ_2;//單通道多次轉(zhuǎn)換ADC12MCTL0=INCH_0+SREF_1;//設(shè)置存儲(chǔ)控制寄存器//ADC12CTL0|=ENC;//使能轉(zhuǎn)換//ADC12CTL0|=ADC12SC;}unsignedintADC_Simple_Shift(void){unsignedintad_result;ADC12CTL0|=ENC;//使能轉(zhuǎn)換ADC12CTL0|=ADC12SC;if(ADC12CTL1&0x01);ad_result=ADC12MEM0;ADC12CTL0&=~ENC;//取消使能轉(zhuǎn)換,為下次做準(zhǔn)備returnad_result;}4、數(shù)字密碼鎖的設(shè)計(jì)與實(shí)現(xiàn)1.訓(xùn)練目的和內(nèi)容鞏固MSP430單片機(jī)試驗(yàn)箱各個(gè)基礎(chǔ)模塊的運(yùn)行原理和操作措施,設(shè)計(jì)實(shí)現(xiàn)一種可輸入密碼開鎖,按某一按鍵三次可提醒密碼,并有修改密碼功能、出錯(cuò)報(bào)警功能的數(shù)字密碼鎖。2.硬件連接圖Msp430最小系統(tǒng)原理圖和LED燈原理圖參照試驗(yàn)一,鍵盤電路原理圖參照試驗(yàn)二。3.措施圖4.1即為數(shù)字密碼鎖的程序流程圖。圖4.1數(shù)字密碼鎖程序流程圖4.成果密碼鎖預(yù)期功能都可實(shí)現(xiàn),程序運(yùn)行正常。5.分析與討論密碼鎖功能復(fù)雜,編程過程中先完畢基本的可開鎖功能,然后一項(xiàng)一項(xiàng)加功能,最終實(shí)現(xiàn)了預(yù)設(shè)的所有內(nèi)容。密碼鎖功能多,實(shí)現(xiàn)起來編程任務(wù)量大。程序中有大量的控制字變量和條件判斷語(yǔ)句,用以保證各個(gè)功能界面之間正常跳轉(zhuǎn),不發(fā)生錯(cuò)串。要實(shí)現(xiàn)密碼鎖預(yù)設(shè)的所有功能,需要對(duì)系統(tǒng)性的程序有精確把握的能力。6.附錄:程序#include<string.h>#include<msp430x44x.h>#include"ascii.h"http://用于寄存ascii碼的頭文獻(xiàn)#include"ziku.h"http://用于寄存中文字庫(kù)的頭文獻(xiàn)#defineucharunsignedchar#defineuintunsignedint#defineDIN_HP6DIR|=BIT6,P6OUT|=BIT6#defineDIN_LP6DIR|=BIT6,P6OUT&=~BIT6#defineCLK_HP6DIR|=BIT7,P6OUT|=BIT7#defineCLK_LP6DIR|=BIT7,P6OUT&=~BIT7#defineDC_HP6DIR|=BIT5,P6OUT|=BIT5#defineDC_LP6DIR|=BIT5,P6OUT&=~BIT5#defineCE_HP6DIR|=BIT4,P6OUT|=BIT4#defineCE_LP6DIR|=BIT4,P6OUT&=~BIT4#defineRST_HP6DIR|=BIT3,P6OUT|=BIT3#defineRST_LP6DIR|=BIT3,P6OUT&=~BIT3intt=2;/************************************************名稱:write_command(ucharcmd)**功能:向液晶中寫命令**闡明:cmd:要寫的命令**********************************************/voidwrite_command(ucharcmd){uchari;CE_L;//容許寫入數(shù)據(jù)DC_L;//DC=0寫入命令for(i=0;i<8;i++){if(cmd&0x80)DIN_H;elseDIN_L;CLK_L;//上升沿采樣cmd<<=1;CLK_H;}CE_H;//嚴(yán)禁寫入}/************************************************名稱:write_data(uchardat)**功能:向液晶中寫入數(shù)據(jù)**闡明:dat:待寫入的數(shù)據(jù)**********************************************/voidwrite_data(uchardat){uchari;CE_L;//DC_H;for(i=0;i<8;i++){if(dat&0x80)DIN_H;elseDIN_L;CLK_L;dat<<=1;CLK_H;}CE_H;}/************************************************名稱:set_pos(ucharx,uchary)**功能:設(shè)置RAM地址**闡明:x:0-83y:0-5**********************************************/voidset_pos(ucharx,uchary){write_command(0x40|y); write_command(0x80|x); }/************************************************名稱:LCD_clear(void)**功能:清屏**********************************************/voidLCD_clear(void){unsignedinti;write_command(0x80);//起始列地址0 write_command(0x40);//起始行地址0 for(i=0;i<504;i++)write_data(0); }/************************************************名稱:LCD_Init(void)**功能:初始化液晶**********************************************/voidLCD_Init(void){P5DIR=BIT0+BIT1+BIT2+BIT3+BIT4;//設(shè)置P5口的方向RST_L;//復(fù)位_NOP();RST_H;write_command(0x21);//工作模式,水平尋址,擴(kuò)展指令write_command(0x13);//設(shè)置偏置系統(tǒng)(BSx)1:48write_command(0xc8);//設(shè)置電壓VLCD=3.06+0.06*Vop,對(duì)比度調(diào)整write_command(0x06);//VLCD溫度系數(shù)2write_command(0x20);//工作模式,水平尋址,常規(guī)指令write_command(0x0c);//一般模式write_command(0x40);//起始頁(yè)地址0write_command(0x80);//起始列地址0LCD_clear();//清全屏}/************************************************名稱:display(ucharx,uchary,ucharc)**功能:液晶輸出字符(6*8字符)**闡明:x:0-83y:0-5 c:待顯示的字符**備注:每行最多只能顯示14個(gè)字符(6*n<=84)**********************************************/voiddisplay_char(ucharx,uchary,ucharc){uchari;c-=32;//地址x*=8;//字寬y*=1;//兩行顯示set_pos(x,y);//設(shè)置顯示地址for(i=0;i<6;i++)write_data(font6x8[c][i]);//寫入點(diǎn)陣數(shù)據(jù)}/************************************************名稱:display_string(ucharx,uchary,uchar*str)**功能:液晶輸出字符串(6*8字符)**闡明:x:0-83y:0-5 str:字符串的首地址**備注:每行最多只能顯示14個(gè)字符(6*n<=84)**********************************************/voiddisplay_string(ucharx,uchary,char*str){while((*str!='\0')&&x<14){ display_char(x++,y,*str++);}}/************************************************名稱:show_char(ucharx,uchary,ucharc)**功能:在任意位置輸出一種8*16的ASCII字符**闡明:x:0-9y:0-2 c:字符的首地址**備注:每行最多只能顯示10個(gè)字符(n*8<=84)**********************************************/voidshow_char(ucharx,uchary,ucharc){uchari,j;c-=32;//地址x*=8;//字寬y*=2;//兩行顯示for(i=0;i<2;i++){set_pos(x,y+i);//設(shè)置地址for(j=0;j<8;j++)write_data(nAsciiDot[c][j+8*i]);}}/************************************************名稱:show_string(ucharx,uchary,uchar*str)**功能:在任意位置輸出一串8*16的ASCII字符**闡明:x:0-9y:0-2 *str:字符串的首地址**備注:每行最多只能顯示10個(gè)字符(n*8<=84)**********************************************/voidshow_string(ucharx,uchary,uchar*str){while(*str!='\0'){show_char(x++,y,*str++);}}/**********************************************函數(shù)名稱:圖片顯示模式第一行中文顯示************************************************/voidWrite_hanzis1_5110(){uchari,j;for(i=0;i<10;i=i+2){for(j=0;j<16;j++){write_data(hanzi[i][j]);}}}voidWrite_hanzis2_5110(){uchari,j;for(i=1;i<11;i=i+2){for(j=0;j<16;j++){write_data(hanzi[i][j]);}}}voiddelayms(uintms)//延時(shí)ms{uinti=0,j=0;for(i=ms;i>0;i--)for(j=500;j>0;j--);}intkeyscan(void)//鍵盤掃描{intkey;staticinti=0;charsccode,recode;P3OUT=0xf0;if((P3IN&0xf0)!=0xf0){delayms(20);if((P3IN&0xf0)!=0xf0){if(i==0){sccode=0xfe;//****檢測(cè)第一行while((sccode&0x0f)!=0x0f){P3OUT=sccode;if((P3IN&0xf0)!=0xf0){recode=(P3IN&0xf0)|0x0f;key=(sccode&recode);i=1;returnkey;}elsesccode=(sccode<<1)|0x01;}}}}else{delayms(20);if((P3IN&0xf0)==0xf0)i=0;}return0xff;}uintgetkeyval(intnumm)//鍵盤掃描生成液晶碼值{uintnum;switch(numm){case0xe7:num=70;break;case0xeb:num=48;break;case0xed:num=69;break;case0xee:num=68;break;case0xd7:num=51;break;case0xdb:num=54;break;case0xdd:num=57;break;case0xde:num=67;break;case0xb7:num=50;break;case0xbb:num=53;break;case0xbd:num=56;break;case0xbe:num=66;break;case0x77:num=49;break;case0x7b:num=52;break;case0x7d:num=55;break;case0x7e:num=65;break;default:num=257;}returnnum;}voidTimerA_Init(void)//啟動(dòng)定期器A,并啟動(dòng)中斷{TACTL=TASSEL0+TACLR+ID_3;//ACLK,clearTAR,8分頻TACCTL0=CCIE;_EINT();//CCR0interruptenabledTACCR0=4096;//定期一秒TACTL|=MC0;//StartTimer_ainupmodeP2OUT=0xfe;}#pragmavector=TIMERA0_VECTOR//定期器A中斷服務(wù)程序__interruptvoidTimer_A(void){staticinti=8;i--;P2OUT=P2OUT<<1;P2OUT|=0x01;if(i==0){TACTL=0x0004;//定期器停止,定期器復(fù)位TACCTL0&=~CCIE;//關(guān)中斷i=8;//中斷次數(shù)反復(fù)初值t=1;P2OUT=0xff;}}voidmain(){charss[11]="input";charbb[11]="password";charaa[11]="";charcc[11]="";chardd[11]="";charee[11]="";charff[11]="";charxx[11]="----------";charyy[11]="----------";intd=56,m=56,i=0,n=0,k=0,h=3,r=0;P3DIR=0x0f;P2DIR=0xff;WDTCTL=WDTPW+WDTHOLD;LCD_Init();aa[10]='\0';bb[10]='\0';cc[10]='\0';ss[10]='\0';while(1){m=getkeyval(keyscan());if(m!=257){if(n==0)//*****輸入密碼界面**************************{if(i==0){strcpy(ss,"");strcpy(bb,"----------");strcpy(xx,"----------");strcpy(yy,"----------");}if(i<10){if(m!=69)if(m!=70){d=m;i++;aa[0]=aa[1];aa[1]=aa[2];aa[2]=aa[3];aa[3]=aa[4];aa[4]=aa[5];aa[5]=aa[6];aa[6]=aa[7];aa[7]=aa[8];aa[8]=aa[9];aa[9]=d;ss[0]=ss[1];ss[1]=ss[2];ss[2]=ss[3];ss[3]=ss[4];ss[4]=ss[5];ss[5]=ss[6];ss[6]=ss[7];ss[7]=ss[8];ss[8]=ss[9];ss[9]=42;}else{d=32;i--;aa[9]=aa[8];aa[8]=aa[7];aa[7]=aa[6];aa[6]=aa[5];aa[5]=aa[4];aa[4]=aa[3];aa[3]=aa[2];aa[2]=aa[1];aa[1]=aa[0];aa[0]=d;ss[9]=ss[8];ss[8]=ss[7];ss[7]=ss[6];ss[6]=ss[5];ss[5]=ss[4];ss[4]=ss[3];ss[3]=ss[2];ss[2]=ss[1];ss[1]=ss[0];ss[0]=d;}if(i==3){if(strcmp(aa,"555")==0)n=3;}}elseif(m==70){d=32;i--;aa[9]=aa[8];aa[8]=aa[7];aa[7]=aa[6];aa[6]=aa[5];aa[5]=aa[4];aa[4]=aa[3];aa[3]=aa[2];aa[2]=aa[1];aa[1]=aa[0];aa[0]=d;ss[9]=ss[8];ss[8]=ss[7];ss[7]=ss[6];ss[6]=ss[5];ss[5]=ss[4];ss[4]=ss[3];ss[3]=ss[2];ss[2]=ss[1];ss[1]=ss[0];ss[0]=d;}elseif(m==69)if(strcmp(aa,cc)==0)//*****密碼輸入對(duì)的***************{strcpy(ss,"isright");strcpy(bb,"password");strcpy(xx,"-*-*-*-*-*");strcpy(yy,"*-*-*-*-*-");P2OUT=0x7e;n=1;i=0;h=3;}else//*****密碼輸入不對(duì)的*******************{if(h>1){strcpy(ss,"timesleft");strcpy(bb,"ERROR!!!");strcpy(aa,"");h--;bb[9]=h+48;strcpy(xx,"##########");strcpy(yy,"##########");i=0;}else{strcpy(ss,"Roomalarm");strcpy(bb,"ERROR!!!");strcpy(xx,"##########");strcpy(yy,"##########");P2OUT=0xe7;n=2;TimerA_Init();//*****定期8秒,鎖鍵盤***************}}}elseif(n==1)//*****密碼輸入對(duì)的后********************************、{if(i==0){if(m==70)//*****回刪鍵,返回輸入密碼初始界面*****************{n=0;strcpy(ss,"input");strcpy(bb,"password");strcpy(xx,"----------");strcpy(yy,"----------");strcpy(aa,"");P2OUT=0xff;}elseif(m==69)//*****確認(rèn)鍵,進(jìn)入修改密碼界面**********************{strcpy(ss,"wordinput");strcpy(bb,"Newpass-");strcpy(xx,"-.-.-.-.-.");strcpy(yy,".-.-.-.-.-");i++;}}else//*****開始輸入新密碼***********************{if(k==0)//*****初次輸入新密碼********************{if(i==1){strcpy(ss,"");strcpy(aa,"");strcpy(bb,"----------");strcpy(xx,"-.-.-.-.-.");strcpy(yy,".-.-.-.-.-");}if(i<11){if(m!=69)if(m!=70){d=m;i++;aa[0]=aa[1];aa[1]=aa[2];aa[2]=aa[3];aa[3]=aa[4];aa[4]=aa[5];aa[5]=aa[6];aa[6]=aa[7];aa[7]=aa[8];aa[8]=aa[9];aa[9]=d;ss[0]=ss[1];ss[1]=ss[2];ss[2]=ss[3];ss[3]=ss[4];ss[4]=ss[5];ss[5]=ss[6];ss[6]=ss[7];ss[7]=ss[8];ss[8]=ss[9];ss[9]=42;}else{d=32;i--;aa[9]=aa[8];aa[8]=aa[7];aa[7]=aa[6];aa[6]=aa[5];aa[5]=aa[4];aa[4]=aa[3];aa[3]=aa[2];aa[2]=aa[1];aa[1]=aa[0];aa[0]=d;ss[9]=ss[8];ss[8]=ss[7];ss[7]=ss[6];ss[6]=ss[5];ss[5]=ss[4];ss[4]=ss[3];ss[3]=ss[2];ss[2]=ss[1];ss[1]=ss[0];ss[0]=d;}}elseif(m==70){d=32;i--;aa[9]=aa[8];aa[8]=aa[7];aa[7]=aa[6];aa[6]=aa[5];aa[5]=aa[4];aa[4]=aa[3];aa[3]=aa[2];aa[2]=aa[1];aa[1]=aa[0];aa[0]=d;ss[9]=ss[8];ss[8]=ss[7];ss[7]=ss[6];ss[6]=ss[5];ss[5]=ss[4];ss[4]=ss[3];ss[3]=ss[2];ss[2]=ss[1];ss[1]=ss[0];ss[0]=d;}elseif(m==69)//*****新密碼初次確認(rèn)***************{strcpy(dd,aa);strcpy(ss,"again");strcpy(bb,"input");k=1;i=1;}}else//*****再次輸入新密碼**********************{if(i==1){strcpy(ss,"");strcpy(aa,"");strcpy(bb,"----------");}if(i<11){if(m!=69)if(m!=70){d=m;i++;aa[0]=aa[1];aa[1]=aa[2];aa[2]=aa[3];aa[3]=aa[4];aa[4]=aa[5];aa[5]=aa[6];aa[6]=aa[7];aa[7]=aa[8];aa[8]=aa[9];aa[9]=d;ss[0]=ss[1];ss[1]=ss[2];ss[2]=ss[3];ss[3]=ss[4];ss[4]=ss[5];ss[5]=ss[6];ss[6]=ss[7];ss[7]=ss[8];ss[8]=ss[9];ss[9]=42;}else{d=32;i--;aa[9]=aa[8];aa[8]=aa[7];aa[7]=aa[6];aa[6]=aa[5];aa[5]=aa[4];aa[4]=aa[3];aa[3]=aa[2];aa[2]=aa[1];aa[1]=aa[0];aa[0]=d;ss[9]=ss[8];ss[8]=ss[7];ss[7]=ss[6];ss[6]=ss[5];ss[5]=ss[4];ss[4]=ss[3];ss[3]=ss[2];ss[2]=ss[1];ss[1]=ss[0];ss[0]=d;}}elseif(m==70){d=32;i--;aa[9]=aa[8];aa[8]=aa[7];aa[7]=aa[6];aa[6]=aa[5];aa[5]=aa[4];aa[4]=aa[3];aa[3]=aa[2];aa[2]=aa[1];aa[1]=aa[0];aa[0]=d;ss[9]=ss[8];ss[8]=ss[7];ss[7]=ss[6];ss[6]=ss[5];ss[5]=ss[4];ss[4]=ss[3];ss[3]=ss[2];ss[2]=ss[1];ss[1]=ss[0];ss[0]=d;}elseif(m==69)//*****新密碼再次確認(rèn)***************{strcpy(ee,aa);if(strcmp(dd,ee)==0)//*****新密碼兩次輸入一致******{strcpy(cc,ee);strcpy(ss,"successful");strcpy(bb,"Resetis");strcpy(xx,"-*-*-*-*-*");strcpy(yy,"*-*-*-*-*-");i=0;k=0;}else//*****新密碼兩次輸入不一致*****{i=1;k=0;strcpy(ss,"Rsetagain");strcpy(bb,"ERROR!!!");strcpy(xx,"##########");strcpy(yy,"##########");}}}}}elseif(n==2)//*****密碼輸錯(cuò)3次后來*****************{if(t==1){if(m==70)//*****進(jìn)入解除警報(bào)界面**************{strcpy(ss,"Roomalarm");strcpy(bb,"Release");strcpy(xx,"----------");strcpy(yy,"input");i=0;t--;}}elseif(t==0)//*****開始輸入警報(bào)解除密碼************{if(i==0){strcpy(ss,"");strcpy(aa,"");strcpy(bb,"-----input");strcpy(xx,"Release---");strcpy(yy,"----------");}if(i<10){if(m!=69)if(m!=70){d=m;i++;aa[0]=aa[1];aa[1]=aa[2];aa[2]=aa[3];aa[3]=aa[4];aa[4]=aa[5];aa[5]=aa[6];aa[6]=aa[7];aa[7]=aa[8];aa[8]=aa[9];aa[9]=d;ss[0]=ss[1];ss[1]=ss[2];ss[2]=ss[3];ss[3]=ss[4];ss[4]=ss[5];ss[5]=ss[6];ss[6]=ss[7];ss[7]=ss[8];ss[8]=ss[9];ss[9]=42;}else{d=32;i--;aa[9]=aa[8];aa[8]=aa[7];aa[7]=aa[6];aa[6]=aa[5];aa[5]=aa[4];aa[4]=aa[3];aa[3]=aa[2];aa[2]=aa[1];aa[1]=aa[0];aa[0]=d;ss[9]=ss[8];ss[8]=ss[7];ss[7]=ss[6];ss[6]=ss[5];ss[5]=ss[4];ss[4]=ss[3];ss[3]=ss[2];ss[2]=ss[1];ss[1]=ss[0];ss[0]=d;}}elseif(m==70){d=32;i--;aa[9]=aa[8];aa[8]=aa[7];aa[7]=aa[6];aa[6]=aa[5];aa[5]=aa[4];aa[4]=aa[3];aa[3]=aa[2];aa[2]=aa[1];aa[1]=aa[0];aa[0]=d;ss[9]=ss[8];ss[8]=ss[7];ss[7]=ss
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 印刷企業(yè)市場(chǎng)調(diào)研方法考核試卷
- 家庭裝飾畫框批發(fā)考核試卷
- 園藝陶瓷的公共空間裝飾效果考核試卷
- 印刷設(shè)備生產(chǎn)過程的智能化技術(shù)應(yīng)用案例考核試卷
- 圖書出租業(yè)務(wù)的服務(wù)標(biāo)準(zhǔn)化培訓(xùn)考核試卷
- 影視錄放設(shè)備的智能鏡頭切換考核試卷
- 暖氣施工合同范本
- 簽訂重大銷售合同范本
- 口腔消毒培訓(xùn)課件
- 電商行業(yè)產(chǎn)品描述免責(zé)協(xié)議承諾書
- 八年級(jí)英語(yǔ)初中英語(yǔ)閱讀理解閱讀專項(xiàng)練習(xí)試卷附答案
- 固定資產(chǎn)清查盤點(diǎn)明細(xì)表
- 人教版八年級(jí)數(shù)學(xué)下冊(cè)課件【全冊(cè)】
- 物聯(lián)網(wǎng)管理平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)
- 1例妊娠糖尿病的個(gè)案護(hù)理
- 光伏發(fā)電職業(yè)病危害預(yù)評(píng)價(jià)方案方案
- 財(cái)務(wù)報(bào)表涉稅分析
- 立式單軸木工銑床安全操作規(guī)程
- 重癥患者識(shí)別課件
- 《計(jì)算機(jī)組成原理》全冊(cè)詳解優(yōu)秀課件
- 高中物理新課標(biāo)人教必修252平拋運(yùn)動(dòng)(帶動(dòng)畫和投彈游戲)課件
評(píng)論
0/150
提交評(píng)論