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

正文內(nèi)容

基于單片機的遙控密碼鎖設(shè)計論文(編輯修改稿)

2025-07-17 12:44 本頁面
 

【文章內(nèi)容簡介】 顯示字母、數(shù)字、符號等的點型液晶模塊 它有若干個57或者511等點陣字符位組成,每個點陣字符位都可以顯示一個字符。每位之間有一個點距的間隔,每行之間也有也有間隔,起到了字符間距和行間距的作用。1602的驅(qū)動電路帶有11條指令,可以很方便的控制液晶的現(xiàn)實效果如:清屏、左移右移、光標顯示。而且1602顯示的字符在下一條指令為到來之前不會改變,也就是能夠維持顯示的字符,1602液晶占用的系統(tǒng)資源也少。綜合比較上述兩種方案,應(yīng)采用1602液晶組成本設(shè)計的顯示模塊。 鍵盤矩陣模塊STC89C52單片機P2引腳外接44矩陣鍵盤,按鍵有0~9,還有回格鍵、清屏、設(shè)初始密碼、修改密碼等按鍵。開機后液晶屏顯示提示語,按數(shù)字鍵即可輸入密碼,按修改密碼鍵,在正確輸入舊密碼的前提下,即可修改密碼。4 硬件設(shè)計流程本設(shè)計為紅外遙控密碼鎖,硬件部分總共分為以下幾個模塊: 單片機最小系統(tǒng)電路單片機最小系統(tǒng)電路原理圖如圖8所示。圖8 單片機最小系統(tǒng)電路 報警電路報警電路原理圖如圖9所示。圖9 報警模塊電路 紅外發(fā)射電路紅外發(fā)射電路原理圖如圖10所示。圖10 紅外發(fā)送電路 紅外接收電路紅外接收模塊原理圖如圖11所示。圖11 紅外接收電路 液晶顯示器液晶顯示屏的引腳圖如圖12所示。圖12 液晶顯示屏引腳圖5 軟件設(shè)計流程系統(tǒng)的軟件設(shè)計才用C語言,對單片機進行編程實現(xiàn)各項功能。在軟件設(shè)計過程中,采用模塊化設(shè)計思想,利用“化整為零”、“化零為整”的方法,分別設(shè)計各個子模塊的流程圖,然后按照流程圖去編寫對應(yīng)程序,并在此過程中,分模塊進行編譯與調(diào)試。 Keil uVision3軟件簡介Keil C51是美國Keil Software公司出品的51系列兼容單片機C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學易用。用過匯編語言后再使用C來開發(fā),體會更加深刻。Keil C51軟件提供豐富的庫函數(shù)和功能強大的集成開發(fā)調(diào)試工具,全Windows界面。另外重要的一點,只要看一下編譯后生成的匯編代碼,就能體會到Keil C51生成的目標代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)勢。C51工具包的整體結(jié)構(gòu),其中uVision與Ishell分別是C51 for Windows和for Dos的集成開發(fā)環(huán)境(IDE),可以完成編輯、編譯、連接、調(diào)試、仿真等整個開發(fā)流程。開發(fā)人員可用IDE本身或其它編輯器編輯C或匯編源文件。然后分別由C51及A51編譯器編譯生成目標文件(.OBJ)。目標文件可由LIB51創(chuàng)建生成庫文件,也可以與庫文件一起經(jīng)L51連接定位生成絕對目標文件(.ABS)。ABS文件由OH51轉(zhuǎn)換成標準的Hex文件,以供調(diào)試器dScope51或tScope51使用進行源代碼級調(diào)試,也可由仿真器使用直接對目標板進行調(diào)試,也可以直接寫入程序存貯器如EPROM中(王為青等,2007)。 紅外發(fā)射模塊編碼在發(fā)射模塊編碼過程中,一定要嚴格按照NEC協(xié)議的標準進行設(shè)計。因此,在編碼之前,必須理解并掌握NEC編解碼的定義。 紅外遙控編碼思想遙控發(fā)射器專用芯片很多,根據(jù)編碼格式可以分成兩大類,這里我們以運用比較廣泛,解碼比較容易的一類來加以說明,現(xiàn)以日本NEC的uPD6121G組成發(fā)射電路為例說明編碼原理, 我們使用的超薄型紅外線遙控器使用的就是6121 編碼。當發(fā)射器按鍵按下后,即有遙控碼發(fā)出,所按的鍵不同遙控編碼也不同。這種遙控碼具有以下特征: 采用脈寬調(diào)制的串行碼,、“0”;、“1”, 其波形如圖13所示。圖13 數(shù)據(jù)波形編碼上述“0”和“1”組成的32位二進制碼經(jīng)38kHz的載頻進行二次調(diào)制以提高發(fā)射效率,達到降低電源功耗的目的。然后再通過紅外發(fā)射二極管產(chǎn)生紅外線向空間發(fā)射。UPD6121G產(chǎn)生的遙控編碼是連續(xù)的32位二進制碼組,其中前16位為用戶識別碼,能區(qū)別不同的電器設(shè)備,防止不同機種遙控碼互相干擾,如我們可以同時使用電視機、機頂盒、功放等遙控器,但它們不會產(chǎn)生誤觸發(fā)。該芯片的用戶識別碼固定為十六進制01H;后16位為8位操作碼(功能碼)及其反碼。UPD6121G 最多額128種不同組合的編碼。 遙控器在按鍵按下后,周期性地發(fā)出同一種32位二進制碼,周期約為108ms。一組碼本身的持續(xù)時間隨它包含的二進制“0”和“1”的個數(shù)不同而不同,大約在45~63ms之間。如下圖14所示。圖14 遙控編碼波形當一個鍵按下超過36ms,振蕩器使芯片激活,將發(fā)射一組108ms編碼脈沖,這108ms發(fā)射代碼由一個起始碼(9ms),一個結(jié)果碼(),低8位地址碼(9ms~18ms),高8位地址碼(9ms~18ms),8位數(shù)據(jù)碼(9ms~18ms)和這8位數(shù)據(jù)的反碼(9ms~18ms)組成。如果鍵按下超過108ms仍未松開,接下來發(fā)射的代碼(連發(fā)代碼)將僅由起始碼(9ms)和結(jié)束碼()組成。代碼格式(以接收代碼為準,接收代碼與發(fā)射代碼反向。位定義 如圖15所示。圖15 “0”碼編碼波形單發(fā)代碼格式 如圖16所示。圖16 32位碼編碼波形連發(fā)代碼格式 如圖17所示。圖17 重復(fù)碼編碼波形由于本設(shè)計中,我們需要自己設(shè)計并制作紅外遙控系統(tǒng),并在編碼中使用NEC協(xié)議。 軟件程序資源分配在程序開始以前,首先要根據(jù)電路及設(shè)計的需要進行必要的位定義變量、無符號變量、符號變量以及數(shù)據(jù)表格變量。位定義變量本設(shè)計中位定義變量共有多個,包括按鍵、紅外發(fā)射端口、紅外指示燈的位定義變量以及各種功能標志位。特殊定義函數(shù),如鍵盤掃描函數(shù)uchar key(),紅外發(fā)射函數(shù)void send_hw(uchar c),發(fā)射引導(dǎo)碼函數(shù)void send_star(),數(shù)據(jù)編碼函數(shù)void send_char(uchar c)等。無字符局部變量及全局變量根據(jù)在程序中設(shè)計到的全局變量,可以同時賦初值,若沒有賦初值則程序自動賦0。本程序中設(shè)計到的全局變量包括時間變量、按鍵標志變量、地址變量、顯示標志變量、紅外收發(fā)標志變量等。bit hw。 //紅外發(fā)射標志位bit key_bit。 //按鍵重復(fù)標記sbit led=P3^7。 //這是紅外指示燈的位定義sbit out=P3^6。 ////這是紅外數(shù)據(jù)發(fā)射端口的位定義define port P2 //這是鍵盤按鍵的接口定義 程序設(shè)計子模塊分析鍵盤實際上是一組按鍵開關(guān)的集合,在鍵的閉合和斷開過程中,會產(chǎn)生抖動,抖動時間長短和開關(guān)的機械特性有關(guān)。鍵的閉合與斷開,反映在行線輸出電壓上就是呈現(xiàn)高電平或低電平。為準確判定按鍵的位置,我們必須消除抖動期的影響(馬忠梅等,2003)。常用軟件的方法來消除按鍵抖動。其基本思想就是:在第一次檢測到有鍵按下時,該鍵所對應(yīng)的行線為低電平,執(zhí)行一段1ms的延時子程序后,確認該行線電平是否仍為低電平,如果仍為低電平,則確認該行確實有按鍵按下。當按鍵松開時,行線的低電平變?yōu)楦唠娖?,?zhí)行一段1ms的延時子程序,檢測該行線為高電平,說明按鍵確實已經(jīng)松開(李明喜,2004)。采取以上方法,即可消除抖動的影響,延時消抖程序如下。void delay() //1ms 誤差 {unsigned char a,b。for(b=102。b0。b)for(a=3。a0。a)。} 鍵盤掃描模塊本設(shè)計中采用了44矩陣鍵盤。其工作原理為:按建設(shè)在行、列線交點上。行線經(jīng)過上拉電阻接到+5V上。無鍵按下時,行線處于高電平狀態(tài);當有按鍵按下時,行線電平狀態(tài)將由與此行線相連的列線的電平?jīng)Q定。按鍵的識別方法:掃描法第一步,首先要識別有無鍵按下。將所有的列線均置為0電平,然后檢查各行線電平是否都為高電平,如果不全為高電平,則有鍵按下,否則說明無鍵按下。此時也只能判定按鍵的所在行。第二步,識別出按鍵的具體位置用掃描法。在某一時刻,只讓一條列線處于低電平,其余所有列線處于高電平。以此類推,若此過程中,有行線電平由高電平變成低電平,則該時刻的列線即為按鍵所在列。由此,可以判斷出按下的按鍵具體位置。線反轉(zhuǎn)
點擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1