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

正文內(nèi)容

基于單片機(jī)語音智能密碼鎖設(shè)計(jì)(專業(yè)版)

2025-04-28 17:50上一頁面

下一頁面
  

【正文】 if(key==0x0e)goto START。 while(P1==0xf0)。 //5ms 定時(shí)初值 TL0=0x00。//存入鍵值 lcd_wcmd((0x49+lcd_x)|0x80)。 if(code_n=3) { 50 CodeInErr()。 lcd_wdat(0x2a)。) { lcd_wdat(setok_line2[i])。 while(modify_line2[i] != 39。 } lcd_wcmd(0x40|0x80)。) { lcd_wdat(inerr_line1[i])。 while(in_line1[i] != 39。 lcd_wcmd(0x00|0x80)。 temp=temp amp。 temp=temp amp。 case 0xb7:key=11。 } } } P1=0xff。 if (temp!=0x0f) { temp=P1。 } temp=P1。 temp=P1。 //重新設(shè)定密碼 //const uchar suoding[]=G 請(qǐng)稍后再試。 } } } 密碼鎖工作程序 include include include include define uchar unsigned char define uint unsigned int uchar code_buf[6]。 i = 0。 i = 0。 i = 0。 lcd_wcmd((0x44+lcd_x)|0x80)。 temp=temp amp。 34 temp=temp amp。 case 0xb7:key=11。 } } } P1=0xff。 if (temp!=0x0f) { temp=P1。 } temp=P1。 temp=P1。 lcd_wcmd(0x0c)。 _nop_()。 _nop_()。 _nop_()。 bit lcd_busy()。 if(ack==0) return(0)。 SendByte(SLA)。 _nop_()。 i 8。 } void I2C_init() { SCL = 0。 void delayNOP() { _nop_()。在這次設(shè)計(jì)中還讓 ,讓我了解了實(shí)時(shí)控制的原理,懂得怎樣合理的使用芯片,發(fā)揮其功能。再把密碼鎖工作程序生成的 hex 導(dǎo)入單片機(jī)中, E 鍵位功能復(fù)位鍵,按下 A 鍵系統(tǒng)進(jìn)入密碼輸入狀態(tài),輸入密碼后,按下 B 鍵后系統(tǒng)進(jìn)入密碼重設(shè)狀態(tài)。 //調(diào)用密碼輸入函數(shù) while(1) { if(flag_p==1) { MatrixKey()。 //液晶初始化 I2C_init()。 if(key==0x0c)WriteCode()。 lcd_init()。本設(shè)計(jì)通過對(duì)電平頻率的控制從而實(shí)現(xiàn)不同的響聲。出現(xiàn)開始信號(hào)以后,總線被認(rèn)為 “忙 ”。 BUSY:語音處理忙信號(hào),忙為高電平,不忙為低電平。 2) 密碼鎖工作部部分:開始時(shí) LCD 顯示初始狀態(tài),鎖處于關(guān)的狀態(tài),紅色 LED亮,等待鍵盤掃描。 3.一次性只允許三次密碼輸入操作,支持密碼修改。 6) 當(dāng)密碼輸入錯(cuò)誤時(shí),系統(tǒng)自行報(bào)警,并在連續(xù)輸入超過三次密碼錯(cuò)誤時(shí), 將對(duì)鍵盤鎖定一段時(shí)間。本單片機(jī)具有 40個(gè)引腳, 6個(gè)中斷源, 20個(gè) I/O接口。本設(shè)計(jì)以 P1^0P^3為行掃描信號(hào),在通過 P1^4P^7作為列線讀入。主器件在應(yīng)答時(shí)鐘周期高電平期間釋放 SDA線,轉(zhuǎn)由從器件控制,從器件在這個(gè)時(shí)鐘周期的高電平期間必須拉低 SDA線,并使之為穩(wěn)定的低電平,作為有效的應(yīng)答信號(hào)。若密碼輸入正確,蜂鳴器響四聲, LCD 顯示鎖已打開,紅色 LED滅、綠色 LED 亮,若按下 E 鍵系統(tǒng)將會(huì)進(jìn)入初始狀態(tài);如果此時(shí)按下 B 鍵,系統(tǒng)將會(huì)進(jìn)入重設(shè)密碼進(jìn)程,可以自定義重設(shè)六位的數(shù)字密碼,設(shè)定后按下 E 鍵,系統(tǒng)進(jìn)入初始狀態(tài)。 i = 0。//打開定時(shí)器 0 SCON = 0x50。 //若按下的不是 A 鍵 ,跳轉(zhuǎn)到標(biāo)號(hào) SCAN 處繼續(xù)掃描 //Uart_SendString(shuru)。 count_5ms++。 19 圖 連續(xù)三次密碼輸入錯(cuò)誤仿真圖 圖 重設(shè)密碼輸入仿真圖 20 圖 輸入密碼正確后,按下 B 鍵,系統(tǒng)進(jìn)入重設(shè)密碼狀態(tài), LCD 提示請(qǐng)輸入密碼,仿真圖如圖 所示,密碼重設(shè)成功如圖 所示。 void I2C_init()。 SCL = 0。 delayNOP()。 return(read_data)。 if(SDA==1) ack=0。 26 } I2C_stop()。 } I2C_NAck()。j0。 LCD_RW = 0。 LCD_RS = 1。 } void lcd_init() { Delay_ms(15)。 sbit BEEP=P3^7。break。 temp=P1。 } temp=P1。 if (temp!=0x0f) { temp=P1。 } } } P1=0xff。 case 0x77:key=15。 void CodeIn() { 35 static uchar lcd_x=0。 lcd_wcmd(0x00|0x80)。 lcd_wcmd(0x00|0x80)。 lcd_wdat(code_buf[j]+0x30)。) { lcd_wdat(line2_data[i])。 const uchar shuru[]=G 請(qǐng)輸入密碼。 //清零發(fā)送標(biāo)志位 } */ /********串口發(fā)送一個(gè)字符串函數(shù) ****************/ void Uart_SendString( uchar *trdata) { uchar i=0。break。 temp=P1。 } temp=P1。 if (temp!=0x0f) { temp=P1。 } } } P1=0xff。 case 0x77:key=15。 uchar code inerr_line2[] = { INPUT ERR }。\039。 i++。 lcd_clr()。 i = 0。\039。 if(P1!=0xf0)//若有按鍵按下 { MatrixKey()。beep()。 //語音播報(bào)重設(shè)密碼 do{ P1=0xf0。beep()。 lcd_init()。 //若 2s到 ,則將 2s標(biāo)志位清 0 PassIn()。 TR0=0。 if(flag_2s==1)flag_2s=0。 ES = 1。} beep()。 //調(diào)入清屏函數(shù) CodeSetDisp()。 //語音 播報(bào)密碼輸入正確提示 CodeInOk()。//閉鎖 CodeInDisp()。 i = 0。 lcd_clr()。 i++。\039。 i = 0。 uchar code inok_line2[] = { INOPUT OK }。 case 0x7b:key=14。 temp=temp amp。 temp=temp amp。 case 0xd7:key=7。 } } } P1=0xff。 if (temp!=0x0f) { temp=P1。 //待發(fā)送的數(shù)據(jù)寫入緩沖區(qū) while(!TI)。 bit flag_2s=0。 while(line2_data[i] != 39。j6。 } void ReadCode() { uchar i,j。} } void WriteCode() { uchar i。 uchar code R_line1_data[] = { READ CODE }。 case 0x7b:key=14。 temp=temp amp。 temp=temp amp。 case 0xd7:key=7。 } } } P1=0xff。 if (temp!=0x0f) { temp=P1。 uchar key。 } void lcd_clr() { lcd_wcmd(0x01)。 LCD_EN = 0。 28 } void lcd_wcmd(uchar cmd) { while(lcd_busy())。i0。 I2C_Ack()。 if(ack==0) return(0)。 SCL = 1。 } SCL = 0。 } void I2C_NAck() { SDA = 1。 SDA = 0。 void I2C_start()。按下 E 鍵,系統(tǒng)初始狀態(tài),仿真圖同圖 所示。 //若按下了 E 鍵 ,則跳轉(zhuǎn)到標(biāo)志 START 處重新開始 } } } /**********定時(shí)中斷 ****************/ void timer0() interrupt 1 { TH0=0xee。//等待按鍵按下 SCAN: MatrixKey()。 EA=1。 i++。 2)密碼鎖工作部分產(chǎn)生: LCD 顯示初始狀態(tài),系統(tǒng)進(jìn)入鍵盤掃描。接著再發(fā)送數(shù)據(jù)字節(jié),可以是單字節(jié)數(shù)據(jù),也可以是一組數(shù)據(jù),由主器件來決定。 然后再通過從列線讀入的信號(hào)來識(shí)別是哪一列的按鍵閉合。從而保證芯片在正常電壓范圍內(nèi)工作,保證了整個(gè)電路的正常工作。 4) 能夠快速、準(zhǔn)確的采集鍵盤上的輸入信息。 指導(dǎo)教師簽名 2021 年 月 日 二、指導(dǎo)教師評(píng)語: 指導(dǎo)教師簽名 : 2021 年 月 日 三、成績 驗(yàn)收蓋章 2021 年 月 日 目錄 目錄 ................................................................................................................................ 2 1 設(shè)計(jì)目的 .................................................................................................................... 1 2 設(shè)計(jì)的主要內(nèi)容和要求 ............................................................................................ 1 3 整體設(shè)計(jì) 方案 ............................................................................................................ 1 4 硬件電路設(shè)計(jì) ............................................................................................................. 2 系統(tǒng)總電路的設(shè)計(jì) .......................................................................................... 2 5V 直流穩(wěn)壓電源模塊 .................................................................................. 3 控制電路的設(shè)計(jì) .
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1