freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

單片機數(shù)字密碼鎖課程設(shè)計(編輯修改稿)

2025-02-12 11:06 本頁面
 

【文章內(nèi)容簡介】 { P3amp。=0x17。 LCD_init()。 LCD_Write_Sentence(2,3,重置失敗)。 LED(3)。 //重置密碼失敗,LED高四位跑馬燈 bee(2)。 }} //********************LED顯示標志程序*****************void LED(unsigned int x){ unsigned int m,n。 if(x==0) {for(n=0。n4。n++) //報警,LED8路閃爍 { for(m=0。m4。m++) { pmdeng=0xff。 P0=pmdeng。 pmdeng=pmdeng8。 delay_0(32233)。 P0=pmdeng。 delay_0(32233)。 } } P0=0Xff。 } if(x==1) { pmdeng=0x0f。 for(n=0。n10。n++) //密碼正確,LED左右四位閃爍 { for(m=0。m4。m++) { P0=pmdeng。 pmdeng=pmdeng4。 if(pmdeng==0x00)pmdeng=0x0f。 delay_0(32233)。 } } P0=0Xff。 } if(x==2) { pmdeng=0xfe。 for(n=0。n5。n++) //重置密碼成功,LED低四位跑馬燈 { for(m=0。m4。m++) { P0=pmdeng。 pmdeng=pmdeng1。 pmdeng=pmdeng+1。 if(pmdeng==0xef)pmdeng=0xfe。 delay_0(22222)。 } } P0=0xff。 } if(x==3) { pmdeng=0x7f。 for(n=0。n5。n++) //重置密碼失敗,LED高四位跑馬燈 { for(m=0。m4。m++) {P0=pmdeng。 pmdeng=pmdeng1。 pmdeng=pmdeng+0x80 。 if(pmdeng==0xf7)pmdeng=0x7f。 delay_0(22222)。 } } P0=0xff。 } if(x==4) {pmdeng=0x7f。 for(n=0。n8。n++) //鍵盤鎖定標志,LED間隔一位跑馬燈 { for(m=0。m4。m++) { P0=pmdeng。 pmdeng=pmdeng2。 pmdeng=pmdeng+0xc0。 if(pmdeng==0xff)pmdeng=0x7f。 delay_0(22222)。 } } }}//********************蜂鳴器模塊**************************void bee(unsigned int b) //密碼正確的響聲{ unsigned int i。 PWMCON=0x21。 //配置pwm模塊工作在方式2, if(b==1) //報警時 { PWM0H=128。 PWM1L=256。 for(i=0。i=33333。i++) 。 } if(b==2) //報警時 { PWM0H=64。 PWM1L=128。 for(i=0。i=33333。i++) 。 for(i=0。i=33333。i++) 。 for(i=0。i=33333。i++) 。 for(i=0。i=33333。i++) 。 } PWMCON=0x01。 //關(guān)響聲 }//********************延時子程序****************************void delay_0(int numb) { unsigned char temp。 int j。 for (j=0。j=numb。j++) temp++ 。 }void init(void) //初始化{ uchar i=13。 EA=1。ET0=1。ET1=1。//開啟定時器012的中斷 TMOD=0X11。 while(i!=0) TH0=0X38。TL0=0X00。 TH1=(6553662914)/256。TL0=(6553662914)%256。 // TR0=1。TR1=1。 I2CM=1。 MDE=1。}uchar keyscan()//鍵盤掃描{ static unsigned char Key_temp = 0Xff。 unsigned char temp。 P1amp。=0xf0。 //P1口低四位作為數(shù)字輸入時應(yīng)往相應(yīng)引腳寫0 P2amp。=0xf0。 Key_temp = 0Xff。 //置列掃描信號為0 temp=P1amp。0x0f。 if(temp!=0x0f) //P1口低四位不全為1,則有鍵被按下 { delayms(10)。 //延時消抖 if(temp==(P1amp。0x0f)) //消抖后再判斷鍵值 { P2|=0x07。 // switch(P1amp。0x0f) { case 0x0e:while((P1amp。0x0f)==0x0e){Key_temp = 1。}break。 case 0x0d:while((P1amp。0x0f)==0x0d){Key_temp = 4。}break。 case 0x0b:while((P1amp。0x0f)==0x0b){Key_temp = 7。}break。 case 0x07:while((P1amp。0x0f)==0x07){Key_temp = 13。}break。 case 0x0f:break。 default:Key_temp = 0Xff。break。 } P2amp。=0xf0。 P2|=0x0b。 // switch(P1amp。0x0f) { case 0x0e:Key_temp = 2。while((P1amp。0x0f)==0x0e){}break。 case 0x0d:Key_temp = 5。while((P1amp。0x0f)==0x0d){}break。 case 0x0b:Key_temp = 8。while((P1amp。0x0f)==0x0b){}break。 case 0x07:Key_temp = 0。while((P1amp。0x0f)==0x07){}break。 case 0x0f:break。 default:Key_temp = 0Xff。break。 } P2amp。=0xf0。 P2|=0x0d。 // switch(P1amp。0x0f) { case 0x0e:Key_temp = 3。while((P1amp。0x0f)==0x0e){}break。 case 0x0d:Key_temp = 6。while((P1amp。0x0f)==0x0d){}break。 case 0x0b:Key_temp = 9。while((P1amp。0x0f)==0x0b){}break。 case 0x07:Key_temp = 14。while((P1amp。0x0f)==0x07){}break。 case 0x0f:break。 default:Key_temp = 0Xff。break。 } P2amp。=0xf0。 P2|=0x0e。 // switch(P1amp。0x0f) { case 0x0e:Key_temp = 10。while((P1amp。0x0f)==0x0e){}break。 case 0x0d:Key_temp = 11。while((P1amp。0x0f)==0x0d){}break。 case 0x0b:Key_temp = 12。while((P1amp。0x0f)==0x0b){}break。 case 0x07:Key_temp = 15。while((P1amp。0x0f)==0x07){}break。 case 0x0f:break。 default:Key_temp = 0Xff。break。 } } } return Key_temp。 }void delayms(uint n) //1ms延遲{ uchar i=222。 while(n) { while(i)。i=222。 while(i)。i=222。 while(i)。i=222。 while(i)。i=222。 }}void xianshi0(void)//顯示菜單{ LCD_Write_Sentence(0,4,功能菜單)。 LCD_write_shuzi(6,0,1)。LCD_write_fuhao(6,1,0)。 LCD_Write_Sentence(6,2,輸入)。 LCD_write_shuzi(6,10,2)。LCD_write_fuhao(6,11,0)。 LCD_Write_Sentence(6,12,重置)。}//*********************定時中斷子程序************************void time_r() interrupt 1{ TR0=0。 TH0=0X38。 TL0=0X00。 timecount。 if(timecount==0) { alarmcount=1。 timecount=1500。 P3amp。=0x17。 LED(0)。 //超時報警,LED8路閃爍 bee(1)。 } if(sjflag!=2) //sjflag=2時關(guān)定時器 TR0=1。 else TR0=0。} include include includesbit RS = P3^6。sbit RW = P3^5。sbit E = P3^3。sbit CS1 = P3^7。sbit CS2 = P2^4。void LCD_delay(){ unsigned char i。 for(i = 0。i 50。i++)。}/************檢測忙函數(shù)*************/void Check_busy(){ P0 = 0xff。 //P0口作為輸入時應(yīng)往相應(yīng)引腳寫1 RS = 0。 RW = 1。 E = 1。 LCD_delay()。 while(P0amp。0x80)。 //判斷最高位是否為1,若為1則等待 E = 0。 RW = 0。 P0 = 0x00。}/************寫指令函數(shù)*************/void Write_cmd(unsigned char cmd){ Check_busy()。 RS = 0。 RW = 0。 P0 = cmd。 LCD_delay()。 E = 1。 LCD_delay()。 E = 0。}/************寫數(shù)據(jù)函數(shù)*************/void Write_dat(unsigned char dat){ Check_busy()。 RS = 1。 RW = 0。 P0 = dat。 LCD_delay()。 E = 1。 LCD_delay()。 E = 0。}/************液晶初始化函數(shù)*************/void LCD_init(){ unsigned char i,j。 E = 0。 RS = 0。 RW = 0。 LCD_sel_all //選擇全屏 Write_cmd(Start_Line)。 //設(shè)置顯示初始行(0xc0) LCD_s
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1