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

正文內(nèi)容

基于89c51電子密碼鎖設(shè)計(jì)附程序-文庫吧資料

2025-07-04 00:18本頁面
  

【正文】 rdata[k]。i++) //處理4個(gè)字節(jié) { for(j=1。 for(i=0。 unsigned char cord,value。 //清除輸入數(shù)據(jù) irpro_ok=0。 //清除輸入數(shù)據(jù) IRcord[2]=0。 } IRcord[0]=0。 break。 break。 break。 break。 break。 break。 break。 break。 break。 break。 break。 break。 break。 break。 //使能外部中斷 EA = 1。 }void EX0init(void){ IT0 = 1。 //初始化值 ET0=1。//定時(shí)器0工作方式2,TH0是重裝值,TL0是初值 TH0=0x00。 startflag=1。 i=0。 i++。 irdata[i]=irtime。amp。 //接收紅外信號(hào)處理 static bit startflag。} //寫入數(shù)據(jù) }void tim0_isr (void) interrupt 1 using 1{ irtime++。} //第二行 while (*s) // {write_date( *s)。}//指定x,y寫入字符串函數(shù) void LCD_Write_String(unsigned char x,unsigned char y,unsigned char *s) { if (y == 0){write_(0x80 + x)。 write_(0x01)。 write_(0x0c)。 lcden=0。 }void init_lcd(void) //初始化液晶,及畫面初始化{// uchar num。 delayms(2)。 delayms(1)。 lcden=0。 lcden=0。 lcden=1。 P1=。}void write_(uchar ) //1602液晶寫指令{ rs=0。y0。x0。//1602void delayms(uint z) //延時(shí)N ms{ uint x,y。void Ir_work(void)。unsigned char IRcord[4]。unsigned char irtime。//sbit IR=P3^2。 //使用者密碼uchar OnePassword[8]=。 //顯示緩沖uchar UserPassword[8]=。uchar IIC_Password[8]=。 //數(shù)據(jù) bit ack。 define C02_write 0xa0 //寫define C02_read 0xa1 //讀sbit SCL=P3^4。 //1602液晶sbit wela = P3^6。 //蜂鳴器sbit JDQ=P3^1。最后,感謝老師和同學(xué)在我們的課程設(shè)計(jì)中所提供的悉心指導(dǎo),此次長達(dá)將近一學(xué)期的課程設(shè)計(jì)的點(diǎn)點(diǎn)滴滴,電路焊接失誤的苦悶,一個(gè)個(gè)小功能實(shí)現(xiàn)時(shí)的喜悅,讓我們終生難以忘記,我們一定會(huì)在未來的學(xué)習(xí)、工作中,繼續(xù)保持這種認(rèn)真的態(tài)度,繼續(xù)努力,期待未來遇見更好的自己。在整個(gè)設(shè)計(jì)中,組員分工協(xié)作非常重要,團(tuán)隊(duì)進(jìn)行任務(wù)要有規(guī)劃,要充分發(fā)揮每組員的長處,從而調(diào)動(dòng)個(gè)人的積極性和提高團(tuán)隊(duì)的效率。而在做實(shí)物的時(shí)候,既要了解自己選擇的電子器件對(duì)電壓和電流要求的同時(shí),還要考慮到這個(gè)參數(shù)的設(shè)定對(duì)自己設(shè)計(jì)方案其他方面的影響。在這次電子設(shè)計(jì)的電路設(shè)計(jì)和制作的時(shí)候,我們發(fā)現(xiàn)Proteus并不是很好學(xué)習(xí)的,特別是要做一個(gè)可以使自己滿意的電路更是很難了。使我們找到了與他人的差距。接下來,我們采購元件,進(jìn)行實(shí)物焊接,由于在大二已經(jīng)進(jìn)行電子工藝實(shí)習(xí)課程的訓(xùn)練,焊接實(shí)物比較順利地實(shí)現(xiàn),但繼電器開鎖部分不能實(shí)現(xiàn)功能,經(jīng)過我們向老師、學(xué)長請(qǐng)教,組員查找資料改進(jìn)電路,多次對(duì)實(shí)物調(diào)試,最終實(shí)物功能實(shí)現(xiàn)了仿真要求。再對(duì)知識(shí)歸納總結(jié)、分析整理。 七、課程設(shè)計(jì)總結(jié) 電子設(shè)計(jì)綜合技術(shù)課程是在學(xué)習(xí)模電、數(shù)電、單片機(jī)等課程基礎(chǔ)上所設(shè)計(jì)的一門提高我們對(duì)理論應(yīng)用、設(shè)計(jì)能力的一門綜合實(shí)踐課程,寓教學(xué)于實(shí)物實(shí)踐,使我們可以充分發(fā)揮自己的創(chuàng)新能力、動(dòng)手能力,提高我們對(duì)所學(xué)專業(yè)的認(rèn)識(shí)。通過這兩個(gè)軟件,我把整個(gè)的程序調(diào)試正確。Proteus是一個(gè)單片機(jī)的仿真軟件,通過它可以不用連接硬件就能檢查程序是否好使。采取自下到上的方法,單獨(dú)調(diào)好每一個(gè)模塊,最后完成一個(gè)完整的系統(tǒng)調(diào)試。根據(jù)每個(gè)模塊的工作情況依次查找直到電路正常工作為止。//處理完畢標(biāo)志位置1}(6)器件采購元件名稱數(shù)量元件名稱數(shù)量STC89C52RC芯片一個(gè)12MHZ晶振一個(gè)LCD顯示屏一個(gè)二極管一個(gè)三極管兩個(gè)按鍵十七個(gè)LED一個(gè)103滑動(dòng)變阻器一個(gè)蜂鳴器一個(gè)SRA06VDC繼電器一個(gè)AT24C02芯片一個(gè)紅外遙控器一個(gè)紅外接收頭一個(gè)導(dǎo)線若干六、系統(tǒng)調(diào)試:一)、硬件調(diào)試: 電子密碼鎖演示電路的調(diào)試:此電路板由多個(gè)部分組成,接線繁瑣,極易出錯(cuò)。 value=0。 } k++。 if(cord7)//大于某值為1,這個(gè)和晶振有絕對(duì)關(guān)系,這里使用12M計(jì)算,此值可以有一定誤差 value|=0x80。j=8。i4。 k=1。 //處理完成標(biāo)志 }void Ircordpro(void)//紅外碼值處理函數(shù){ unsigned char i, j, k。 //清除輸入數(shù)據(jù) IRcord[3]=0。 //清除輸入數(shù)據(jù) IRcord[1]=0。//遙控按鍵200+ default: KeyNo = 16。//遙控按鍵100+ case 0x0d: KeyNo = 11。//遙控按鍵9 case 0x19: KeyNo = 10。//遙控按鍵8 case 0x4a: KeyNo = 9。//遙控按鍵7 case 0x52: KeyNo = 8。//遙控按鍵6 case 0x42: KeyNo = 7。//遙控按鍵5 case 0x5a: KeyNo = 6。//遙控按鍵4 case 0x1c: KeyNo = 5。//遙控按鍵3 case 0x08: KeyNo = 4。//遙控按鍵2 case 0x5e: KeyNo = 3。//遙控按鍵1 case 0x18: KeyNo = 2。//遙控按鍵0 case 0x0c: KeyNo = 1。解碼程序部分如下:void Ir_work(void){ switch(IRcord[2]) { case 0x16: KeyNo = 0。 startflag=1。 i=0。i++。 irdata[i]=irtime。amp。 //接收紅外信號(hào)處理 static bit startflag。 I2C_stop()。 IIC_Password[counter]=I2C_receiveB()。 I2C_sendB(C02_read)。 if(ack==0) return(0)。 if(ack==0) return(0)。counter++) { I2C_start()。 for(counter=0。 } return(1)。 I2C_stop()。 if(ack==0) return(0)。 if(ack==0) return(0)。counter++) { I2C_start()。 for(counter=0。 return(temp)。 } _nop_()。 _nop_()。 SCL=0。 _nop_()。 if(SDA_EEPROM==1) temp=(temp1)|0x01。 _nop_()。 _nop_()。 _nop_()。counter++) { _nop_()。 for(counter=0。 _nop_()。 temp=0。} uchar I2C_receiveB(void){ uchar temp。 _nop_()。 else ack=0。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 byte=1。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。0x80) SDA_EEPROM=1。counter8。}void I2C_sendB(uchar byte){ uchar counter。 _nop_()。 SCL=0。 _nop_()。 _nop_()。 SCL=1。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。}void I2C_ackownledge(void){ SDA_EEPROM=0。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。}void I2C_stop(void){ SDA_EEPROM=0。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。(4) 存儲(chǔ)器24C02:(模塊化程序,可以直接拿來用,需要自己定義的就是SDA和SCK的控制引腳)void I2C_start(void){ SDA_EEPROM=1。若有按鍵按下,則低四位中會(huì)有一個(gè)1翻轉(zhuǎn)為0,高四位不會(huì)變,此時(shí)即可確定被按下的鍵的列位置。 return KeyNO。 case 8: KeyNO += 12。 case 4: KeyNO += 8。 case 2: KeyNO += 4。 switch(Tmp) { case 1: KeyNO += 0。 delayms(1)。 default: KeyNO = 16。 case 8: KeyNO = 3。 case 4: KeyNO = 2。 case 2: KeyNO = 1。 switch(Tmp) { case 1: KeyNO = 0。 delayms(1)。uchar Keys_Scan(){ uchar Tmp,KeyNO=0。在確定某根行線位置為低電平后,再逐行檢測各列線的電平狀態(tài)。判斷閉合鍵所在的位置 在確認(rèn)有鍵按下后,即可進(jìn)入確定具體閉合鍵的過程。只要有一列的電平為低,則表示鍵盤中有鍵被按下,而且閉合的鍵位于低電平線與4根行線相交叉的4個(gè)按鍵之中。我們小組通過先寫了這些程序,作用是以后想要往1602的某一行某一列讀寫數(shù)據(jù)的時(shí)候可以直接調(diào)用LCD_Write_String(unsigned char x,unsigned char y,unsigned ch
點(diǎn)擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1