版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
目錄摘要 緒論 1整體方案設(shè)計(jì) 2 2 2 2 32硬件電路設(shè)計(jì) 4 42.1.1單片機(jī)AT89C52 42.1.2穩(wěn)壓芯片L7805 62.1.3射頻識(shí)別集成模塊RF01D 62.1.4片外數(shù)據(jù)存儲(chǔ)器AT24C16 82.1.5點(diǎn)陣液晶屏TS12864 9 2.2.2電源模塊 2.2.3射頻識(shí)別模塊 2.2.4預(yù)警模塊 2.2.7液晶顯示模塊 3.2各個(gè)模塊的設(shè)計(jì) 3.2.1顯示模塊 3.2.2時(shí)鐘模塊 3.2.3射頻識(shí)別模塊 4.3.1顯示模塊的調(diào)試 4.3.2時(shí)鐘模塊的調(diào)試 4.3.3射頻識(shí)別模塊的調(diào)試 結(jié)論 附錄1系統(tǒng)原理圖 附錄2硬件實(shí)物圖 附錄3系統(tǒng)軟件總程序 緒論單片機(jī)正以低廉的成本、強(qiáng)大的功能、較高的可靠性廣泛應(yīng)用于家電設(shè)備、儀器儀表、工業(yè)控制及城市建設(shè)各個(gè)領(lǐng)域中??v觀我們現(xiàn)在生活的各個(gè)領(lǐng)域,從導(dǎo)彈的導(dǎo)航裝置,到飛機(jī)上各種儀表的控制,從計(jì)算機(jī)的網(wǎng)絡(luò)通訊與數(shù)據(jù)傳輸,到工業(yè)自動(dòng)化過(guò)程的實(shí)時(shí)控制和數(shù)據(jù)處理,以及我們生活中廣泛使用的各種智能IC卡、電子寵物等,這些都離不開(kāi)單片機(jī)[1,3]。隨著技術(shù)進(jìn)步,無(wú)線通訊和無(wú)線網(wǎng)絡(luò)也迅速在我們?nèi)粘I钪械母鱾€(gè)方面擴(kuò)展。而近年來(lái),RFID無(wú)線射頻識(shí)別技術(shù)的研究與應(yīng)用也正飛速發(fā)展。射頻識(shí)別技術(shù)具有很多優(yōu)勢(shì):通過(guò)射頻信號(hào)自動(dòng)識(shí)別目標(biāo)對(duì)象,無(wú)需可見(jiàn)光源;具有穿透性,可以透過(guò)外部材料直接讀取數(shù)據(jù),保護(hù)外部包裝,節(jié)省開(kāi)箱時(shí)間;射頻產(chǎn)品可以在惡劣環(huán)境下工作,對(duì)環(huán)境要求低;讀取距離遠(yuǎn),無(wú)需與目標(biāo)接觸就可以得到數(shù)據(jù);支持寫(xiě)入數(shù)據(jù),無(wú)需重新制作新的標(biāo)簽;使用防沖突技術(shù),能夠同時(shí)處理多個(gè)射頻標(biāo)簽,適用于批量識(shí)別場(chǎng)合;可以對(duì)RFID標(biāo)簽所附著的物體進(jìn)行追蹤定位,提供位置信息。由于RFID芯片的小型化和高性能芯片的實(shí)用化,射頻識(shí)別標(biāo)簽不僅幫助不同領(lǐng)域的管理者追蹤物品的位置和搬運(yùn)情況,還可以實(shí)時(shí)報(bào)告標(biāo)簽上附帶的其他信息,比如溫度和壓力等。射頻標(biāo)簽是通過(guò)連接到數(shù)據(jù)網(wǎng)絡(luò)上的讀寫(xiě)器來(lái)提供此類信息的,迄今為止射頻識(shí)別標(biāo)簽主要作為條碼的延伸而應(yīng)用于工廠自動(dòng)化或者庫(kù)存管理等領(lǐng)域。但最終說(shuō)來(lái),尺寸更小的射頻識(shí)別標(biāo)簽將應(yīng)用于更先進(jìn)的領(lǐng)域[17,18]。編碼和識(shí)別記錄相關(guān)信息并進(jìn)行數(shù)據(jù)存儲(chǔ)和輸出顯示,這使我們能夠進(jìn)一步掌握射頻識(shí)別的原理和設(shè)計(jì)方法,對(duì)其有深入的了解和認(rèn)識(shí)。并且通過(guò)實(shí)踐,我們對(duì)所學(xué)過(guò)的理論知識(shí)有了更深刻的理解。另外,設(shè)計(jì)該課題使我掌握了51單片機(jī)的軟硬件開(kāi)發(fā)工具的使用方法,為今后從事相關(guān)行業(yè)的工作積累了經(jīng)驗(yàn)。目前我國(guó)的信息行業(yè)發(fā)展迅速,無(wú)線通信更是在發(fā)展的前沿,但同時(shí)應(yīng)該清楚的認(rèn)識(shí)到我國(guó)的信息技術(shù)雖然發(fā)展迅速但和世界先進(jìn)水平還有一定的差距。因此本課題不論是對(duì)自己的就業(yè)還是對(duì)我國(guó)射頻識(shí)別技術(shù)的發(fā)展都有非?,F(xiàn)實(shí)與積極的意義。1整體方案設(shè)計(jì)本系統(tǒng)以單片機(jī)AT89C52為控制核心,數(shù)據(jù)存儲(chǔ)模塊、開(kāi)關(guān)控制模塊和LCD液晶顯示模塊組成,它們共同完成射頻信號(hào)識(shí)別,信息讀取、記錄、查詢,報(bào)警以及顯示輸出的任務(wù)。其中電源模塊用于穩(wěn)壓;射頻識(shí)別模塊由RF01D與單片機(jī)相連接,射頻信號(hào)通過(guò)觸發(fā)外部中斷與單片機(jī)進(jìn)行通信;預(yù)警模塊由蜂鳴器和LED燈構(gòu)成,用于區(qū)分本地卡與對(duì)外來(lái)卡,并對(duì)外來(lái)卡進(jìn)行報(bào)警;數(shù)據(jù)存儲(chǔ)模塊是由AT24C16芯片構(gòu)成,進(jìn)行刷卡信息的記錄和存儲(chǔ);開(kāi)關(guān)控制模塊由4個(gè)按鍵組成,控制刷卡和時(shí)間調(diào)整;顯示模塊由TS12864液晶構(gòu)成,電源模塊以穩(wěn)壓芯片為核心,穩(wěn)定電壓的輸出;射頻識(shí)別模塊由天線接收和射頻信號(hào)解碼電路集成用以采集拾取ID卡信息并編碼輸出;預(yù)警模塊是在單片機(jī)控制下進(jìn)行本地卡和外來(lái)卡的區(qū)分和報(bào)警;數(shù)據(jù)存儲(chǔ)模塊可實(shí)現(xiàn)對(duì)刷卡信息的記錄和存儲(chǔ);開(kāi)關(guān)控制模塊主要是用來(lái)控制卡片信息的顯示、查詢和時(shí)間的調(diào)整;LCD液晶顯示模塊可根據(jù)單片機(jī)的控制顯示刷卡的不同信息。MCU圖1-1系統(tǒng)框圖我所設(shè)計(jì)的電路基本思想是這樣的,天線將刷卡的信息傳送到射頻識(shí)別模塊,在單片機(jī)控制下經(jīng)過(guò)密碼對(duì)比區(qū)分該卡是本地卡還是外來(lái)卡,若為外來(lái)卡則預(yù)警模塊啟動(dòng)報(bào)警;若為本地卡則預(yù)警模塊報(bào)安全并記錄刷卡時(shí)間存儲(chǔ)在數(shù)據(jù)存儲(chǔ)模塊中,同時(shí)將結(jié)果顯示輸出在LCD液晶屏上。通過(guò)開(kāi)關(guān)控制模塊來(lái)查詢刷卡記錄并進(jìn)行翻頁(yè)查詢以及時(shí)間的校準(zhǔn)[8]。本系統(tǒng)的總體結(jié)構(gòu)如圖1-所1示。對(duì)比區(qū)分卡的類別并將刷卡信息進(jìn)行存儲(chǔ)記錄最后送至LCD液晶屏顯示。另外,開(kāi)關(guān)控制模塊控制考勤信息的查詢和時(shí)間的校準(zhǔn)。由于刷卡時(shí)需要記錄相關(guān)信息,而單片機(jī)不支持程序操作片ROM區(qū),因此需要對(duì)數(shù)據(jù)進(jìn)行片外存儲(chǔ),鑒于89C52單片機(jī)的外部接口資源有限,可以采用AT24C16芯片進(jìn)行串行數(shù)據(jù)傳輸[12]。用開(kāi)關(guān)控制系統(tǒng)進(jìn)入查詢模式或時(shí)間校準(zhǔn)模式[13]。在查詢模式下,通過(guò)按鍵進(jìn)行上下翻屏,并從外部數(shù)據(jù)存儲(chǔ)其中調(diào)用數(shù)據(jù),查詢不校準(zhǔn)模式下,通過(guò)按鍵的組合來(lái)調(diào)整當(dāng)時(shí)的年份、月成時(shí)間的調(diào)整與校正。2硬件電路設(shè)計(jì)整個(gè)系統(tǒng)硬件主要由MCU小系統(tǒng)、電源模塊、射頻識(shí)別模塊、預(yù)警模塊、開(kāi)關(guān)控制模塊、數(shù)據(jù)存儲(chǔ)模塊及顯示模塊組成。主要的芯片和集成模塊有單片機(jī)AT89C52,穩(wěn)壓芯片L7805,射頻感應(yīng)讀卡機(jī)RF01D,數(shù)據(jù)存儲(chǔ)芯片AT24C16,ST12864點(diǎn)陣液晶屏。2.1.1單片機(jī)AT89C52(1)概述AT89C52是美國(guó)ATMEL公司生產(chǎn)的低電壓、高性能CMOS8位單片機(jī),片含8Kb的可反復(fù)擦寫(xiě)的Flash只讀程序存儲(chǔ)器和256byte的s隨機(jī)存取數(shù)據(jù)存儲(chǔ)器,器件采用 腳兼容,片置通用8位中央處理器和Flash存儲(chǔ)單元,功能強(qiáng)大的AT89C52單片機(jī)適用于許多較為復(fù)雜的控制應(yīng)用場(chǎng)合。單片機(jī)89C5引2腳圖如圖2-所1示。圖2-1單片機(jī)AT89C5引2腳圖(2)硬件結(jié)構(gòu)振蕩器及時(shí)鐘電路。AT89C5的2部結(jié)構(gòu)如圖2-所2示。圖2-2AT98C5部1結(jié)構(gòu)圖(3)引腳功能:表2-1P3口第二功能·Vcc:電源線接入。端口引腳第二功能P3.0RXDP3.0RXD(串行輸入口)P3.1TXD(串行輸出口)P3.2INT0\(外中斷0)P3.3INT1\(外中斷1)P3.4T0(定時(shí)/計(jì)數(shù)器0)P3.5T1(定時(shí)/計(jì)數(shù)器1)口除了作為一般的I/O口外,還有第二功能,P3.6WR\(外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通)如表2-所1示。P3.7RD\(外部數(shù)據(jù)存儲(chǔ)器讀選通)器中的指令。2.1.2穩(wěn)壓芯片L7805L7805(其封裝如圖2-所3示)為L(zhǎng)7800供本地片上調(diào)節(jié),消除單點(diǎn)調(diào)節(jié)相關(guān)的分圖2-3L780引5腳圖配問(wèn)題。每種類型采用部電流限流,熱停機(jī)和安全區(qū)保護(hù),使基本上堅(jiān)不可摧。如果提供足夠的散熱,就可以提供超過(guò)1A輸出電流。雖然設(shè)計(jì)主要是作為穩(wěn)定電壓的穩(wěn)壓器,這些器件可用于外部元件取得可調(diào)電壓和電流。2.1.3射頻識(shí)別集成模塊RF01D(1)概述RF01D感應(yīng)式讀卡機(jī)模塊是針對(duì)125KHz非接觸式RFID晶片而設(shè)計(jì)的讀卡機(jī)模臺(tái)科TK4001、4102以及凌航科技GK4001晶片或其它規(guī)格相近產(chǎn)品進(jìn)行資料讀取與資料判斷,使用者可以發(fā)展此感應(yīng)式讀卡機(jī)建立相關(guān)應(yīng)用系統(tǒng),產(chǎn)品主要應(yīng)用圍為人員考勤管理、門(mén)禁管制系統(tǒng)、玩具、動(dòng)物或物品辯識(shí)及產(chǎn)品管理,此讀卡機(jī)模塊主要優(yōu)點(diǎn)有:獨(dú)立性高,后段控制規(guī)劃容易,安裝簡(jiǎn)單;資料讀取穩(wěn)定性高;系統(tǒng)(2)硬件結(jié)構(gòu)感應(yīng)式讀卡機(jī)模塊硬件結(jié)構(gòu)如圖2-4所示。RF變換處理電路為125KHz解碼電路即,用來(lái)解碼的比較器線圈)電磁場(chǎng)工作圍引,起電場(chǎng)振幅變化時(shí),RF變換處理電路將這種振幅變化處理成脈沖圖2-4感應(yīng)式讀卡機(jī)模塊硬件結(jié)構(gòu)由4.000MHz晶體振蕩器產(chǎn)生的基頻信號(hào),經(jīng)32分頻、放大后,送至天線(感應(yīng)線圈),用以產(chǎn)生具有一定功率的、頻率穩(wěn)定的125KHz射頻信號(hào),處在該射頻信號(hào)的場(chǎng)強(qiáng)圍的非接觸式卡片,便可以在該場(chǎng)強(qiáng)中獲得能量,再利用非接觸式卡片IC電路自帶的電源轉(zhuǎn)換處理模塊,將電磁場(chǎng)能量轉(zhuǎn)換為直流電源,以提供整個(gè)非接觸式卡片電路用電。(3)讀卡機(jī)模塊電器特性):表2-2讀卡機(jī)模塊引出腳功能引腳號(hào)名稱功能描述2CLKWiegand26=D1;ABA=Clock;Rs232=NC3DATWiegand26=D0;ABA=DATA;Rs232=TXD4CPABA5SW1模式選擇16SW2輸出模式選擇27SW3輸出模式選擇38SW4模式選擇49LEDLED信號(hào)輸出10GND地線輸入A1A2ANTANTA1A2ANTANT天線線圈連接編碼脈沖由SW2-SW3的輸入決定輸出格式如下表所示:表表2-3SW2-SW3控制的脈沖輸出格式SW2SW3輸出格式2.1.4片外數(shù)據(jù)存儲(chǔ)器AT24C16(1)概述AT24C16是電可擦除可編程ROM,采用2048x8bit的組織結(jié)構(gòu)以及兩線串行接口。電壓可允許低至1.8V,待機(jī)電流和工作電流分別力,每頁(yè)為16字節(jié)。AT24C16具有8-pinPDIP和8-pinSOP兩種封裝形式。(2)硬件結(jié)構(gòu)AT24C16的硬件結(jié)構(gòu)如圖2-5所示。圖2-5AT24C16硬件結(jié)構(gòu)(3)AT24C16電氣特性AT24C16的引腳功能如表2-4所示。表2-4AT24C16引腳功能引腳號(hào)名稱功能描述引腳號(hào)名稱A2、A1、A0是器件地址輸入引腳。24C16未使用器件地址引腳,總線上最多可以連接一個(gè)16K器件,A2、A1、A0串行時(shí)鐘輸入。SCL同步數(shù)據(jù)傳輸,上升沿?cái)?shù)據(jù)寫(xiě)入,下降沿?cái)?shù)據(jù)讀出。寫(xiě)保護(hù)。該引腳提供硬件數(shù)據(jù)保護(hù)。接地時(shí)允許數(shù)據(jù)正常讀寫(xiě)操作;接VCC時(shí)寫(xiě)保護(hù),只讀。地線接入正電源線接入2.1.5點(diǎn)陣液晶屏TS12864(1)概述液晶顯示模塊是128×64點(diǎn)陣的漢字圖形型液晶顯示模塊,可顯示漢字及圖形,種連接方式。具有多種功能:光標(biāo)顯示、畫(huà)面移位、睡眠模式等。(2)硬件結(jié)構(gòu)TS12864硬件結(jié)構(gòu)如圖2-6所示。圖2-6TS12864硬件結(jié)構(gòu)圖(3)點(diǎn)陣液晶屏TS12864電氣特性TS12864引腳功能如表2-5所示。表表2-5TS12864引腳功能引腳號(hào)名稱功能描述1VSS接電源地線2VDD接電源正極3VO提供LCD驅(qū)動(dòng)電壓4RSH顯:示數(shù)據(jù);L顯:示指令5R/WH:讀信號(hào);L:寫(xiě)信號(hào)6E使能信號(hào)端7-14DB0-DB7數(shù)據(jù)總線15PSB模式選擇。H:并行數(shù)據(jù);L串:行數(shù)據(jù)17/RES復(fù)位信號(hào)端19LED(+)LED背光燈正極20LED(-)LDE背光燈負(fù)極整個(gè)系統(tǒng)硬件主要由MCU小系統(tǒng)、電源模塊、射頻識(shí)別模塊、預(yù)警模塊、開(kāi)關(guān)控位電路和振蕩電路構(gòu)成;電源模塊以L7805為核心構(gòu)成整個(gè)系統(tǒng)的穩(wěn)壓電源部分;射頻識(shí)別模塊包含天線部分和射頻識(shí)別集成電路部分;預(yù)警模塊由LED燈和蜂鳴器組據(jù)進(jìn)行片外存儲(chǔ);顯示模塊為ST12864點(diǎn)陣液晶屏。(1)單片機(jī)AT89C52AT89C52作為主芯片對(duì)整個(gè)系統(tǒng)進(jìn)行控制。(2)復(fù)位電路在上電或復(fù)位過(guò)程中,控制CP的U復(fù)位狀態(tài):這段時(shí)間讓CPU保持復(fù)位狀態(tài),而不是一上電或剛復(fù)位完畢就工作,防止CPU發(fā)出錯(cuò)誤的指令、執(zhí)行錯(cuò)誤操作提高電磁兼容性能。單片機(jī)復(fù)位電路設(shè)計(jì)的好壞,直接影響到整個(gè)系統(tǒng)工作的可靠性。許多用戶在設(shè)計(jì)完單片機(jī)系統(tǒng),并在實(shí)驗(yàn)室調(diào)試成功后,在現(xiàn)場(chǎng)卻出現(xiàn)了“死機(jī)”、“程序走飛”等現(xiàn)象,這主要是單片機(jī)的復(fù)位電路設(shè)計(jì)不可靠引起的。單片機(jī)在啟動(dòng)時(shí)都需要復(fù)位,以使CPU及系統(tǒng)各部件處于確定的初始狀態(tài),并從初態(tài)開(kāi)始工作。51系列單片機(jī)的復(fù)位信號(hào)是從RS引T腳輸入到芯片的施密特觸發(fā)器中的。當(dāng)系統(tǒng)處于正常工作狀態(tài)時(shí),且振蕩器穩(wěn)定后,如果RS引T腳上有一個(gè)高電平并維持2個(gè)機(jī)器周期(24個(gè)振蕩周期)以上,則CPU就可以響應(yīng)并將系統(tǒng)復(fù)位。單片機(jī)系統(tǒng)的復(fù)位方式有:手動(dòng)按鈕復(fù)位和上電復(fù)位。圖2-7手動(dòng)復(fù)位電路高電平(圖2-所7示)。一般采用的辦法是在RST端和的+5V電平就會(huì)直接加到RST端。手動(dòng)按鈕復(fù)位的電路如所示。由于人的動(dòng)作再快也會(huì)使按鈕保持接通達(dá)數(shù)十毫秒,所以,完全能夠滿足復(fù)位的時(shí)間要求。圖2-7手動(dòng)復(fù)位電路上電復(fù)位電路(如圖2-所8示只要在RST復(fù)位輸入引腳上接一電容至VCC端,下接一個(gè)電阻到地即可。對(duì)于CMOS型單片機(jī),由于在RST端部有一個(gè)下拉電阻,故可將外部電阻去掉,而將外接電容減至1μF。上電復(fù)位的工作過(guò)程是在加電時(shí),復(fù)位電路通過(guò)電容加給RST容的充電過(guò)程而逐漸回落,即RST端的高電平圖2-8上電復(fù)位電路號(hào)必須維持足夠長(zhǎng)的時(shí)間。位電路中,當(dāng)Vcc掉電時(shí),必然會(huì)使RST端電壓迅速下降到0V以下,但是,由于部電路的限制作用,這個(gè)負(fù)電壓將不會(huì)對(duì)器件產(chǎn)生損害。另外,在復(fù)位期間,端口引腳處于隨機(jī)狀態(tài),復(fù)位后,系統(tǒng)將端口置為全“l(fā)”態(tài)。如果系統(tǒng)在上電時(shí)得不到有效的復(fù)位,則程序計(jì)數(shù)器PC將得不到一個(gè)合適的初值,因此,CPU可能會(huì)從一個(gè)未被定(3)振蕩電路部的電路,產(chǎn)生單片機(jī)所必須的時(shí)鐘頻率,單片機(jī)的一切指令的執(zhí)行都是建立在這個(gè)基礎(chǔ)上的,晶振的提供的時(shí)鐘頻率越高,那單片機(jī)的運(yùn)行速度也就越快。統(tǒng)提供基本的時(shí)鐘信號(hào)。通常一個(gè)系統(tǒng)共用圖2-9振蕩電路通過(guò)電子調(diào)整頻率的方法保持同步。2.2.2電源模塊電源模塊以L7805芯片為核心,輔以相關(guān)電路構(gòu)成,其主要作用就是對(duì)外部電壓進(jìn)行轉(zhuǎn)換,輸出穩(wěn)定的+5V電壓對(duì)系統(tǒng)進(jìn)行供電[16](其電路如圖2-10所示)。2.2.3射頻識(shí)別模塊射頻識(shí)別模塊是將從天線部分拾取的刷卡信L1息進(jìn)行編碼變換,即非接觸式卡片進(jìn)入天線(TL1C應(yīng)線圈)電磁場(chǎng)工作圍引,起電場(chǎng)振幅變化時(shí),EQ\*jc3\*hps19\o\al(\s\up6(U),D)RFNI變換處理電路將這種振幅變化處理成脈沖波型變化,并送至存儲(chǔ)器等候單片機(jī)微控制器的調(diào)用。5V+5V+9V圖2-10電源模塊電路圖1VCC1VCCCLKDATLEDA1ANT5A1ANT6A27A2ANT8ANT其編碼方式選用的是韋根編碼。其硬件連圖2-11射頻識(shí)別電路連接圖接如圖2-11所示。將SW2設(shè)為高電平,SW3設(shè)為低電平,在這種模式下,射頻識(shí)別模塊編碼輸出方式為Wiegand26;將CLK和DAT分別接單片機(jī)的外部中斷引腳P3.2和P3.3采用中斷觸發(fā)單片機(jī)記錄信息,可避免查詢方式造成的信息丟失。2.2.4預(yù)警模塊LED燈閃亮,同時(shí)蜂鳴器發(fā)出聲音提示報(bào)警。整個(gè)模塊的電路如圖2-12所示。對(duì)于LED燈的電路設(shè)計(jì)我原先的設(shè)計(jì)是用單片+5VBUZZER圖2-12預(yù)警電路度較暗,經(jīng)研究發(fā)現(xiàn)是由于電路設(shè)計(jì)不夠合理,導(dǎo)致電流較大,如此設(shè)計(jì)很有可能會(huì)對(duì)單片機(jī)的部電路造成損傷,改正設(shè)計(jì)方案后問(wèn)題就得到了解決。刷卡信息進(jìn)行實(shí)時(shí)記錄,因此數(shù)據(jù)不能存儲(chǔ)于單片機(jī)部,只能進(jìn)行片外存儲(chǔ),考慮到51系列單片機(jī)的資源不是足夠豐富,因此不能進(jìn)行并行數(shù)據(jù)存儲(chǔ),選擇串行數(shù)據(jù)傳輸更為合理。串行數(shù)據(jù)存儲(chǔ)只占用單片機(jī)的2個(gè)引腳,其缺點(diǎn)在于時(shí)序有些復(fù)雜,對(duì)軟件編寫(xiě)要求比較高。配給單片機(jī)的P2.5-P2.7以及P1.0端口。開(kāi)關(guān)模塊的作用是控制屏幕的容顯示和時(shí)間的校準(zhǔn),其電路圖如圖2-13所示。會(huì)被拉低,當(dāng)檢測(cè)到某引腳為低電平時(shí)就執(zhí)行相應(yīng)的功能。開(kāi)關(guān)控制模塊的具體功能是:當(dāng)+5V+5V圖2-13開(kāi)關(guān)控制模塊電路圖S5偶數(shù)次按下時(shí)進(jìn)入查詢模式,即對(duì)刷卡信息進(jìn)行查詢,S2是向下翻屏,S3是向上翻屏;當(dāng)S奇5數(shù)次被按下時(shí)就進(jìn)入時(shí)間校準(zhǔn)功能,即用按鍵S2-S4進(jìn)行時(shí)間調(diào)節(jié),其時(shí)間校準(zhǔn)時(shí)的真值表如表2-6所示。表2-6開(kāi)關(guān)控制模塊時(shí)間校準(zhǔn)真值表S400001111S300110011S201010101功能描述無(wú)調(diào)整年份調(diào)整月份調(diào)整日期無(wú)調(diào)整時(shí)針調(diào)整分針無(wú)另外,由于鍵盤(pán)在執(zhí)行的時(shí)候是有抖動(dòng)延時(shí)的,在電子設(shè)計(jì)之中都會(huì)在硬件設(shè)置一個(gè)大約10毫秒的延時(shí)來(lái)解決鍵盤(pán)防抖動(dòng)的問(wèn)題。這部分我采用軟件延時(shí)的方法976542EEQ\*jc3\*hps21\o\al(\s\up0(54的),6)EQ\*jc3\*hps21\o\al(\s\up6(7),8)EQ\*jc3\*hps21\o\al(\s\up12(MO),M文IS)EQ\*jc3\*hps21\o\al(\s\up12(SI),O)9EQ\*jc3\*hps21\o\al(\s\up4(10),11)刷碼EQ\*jc3\*hps21\o\al(\s\up4(15),16)EQ\*jc3\*hps21\o\al(\s\up10(P3),P3)EQ\*jc3\*hps21\o\al(\s\up10(4),5)EQ\*jc3\*hps21\o\al(\s\up10(T0),T1)EQ\*jc3\*hps21\o\al(\s\up8(R),L)EQ\*jc3\*hps21\o\al(\s\up8(D),2)XTAL1XTAL1VDD器能夠使用串口和并口兩種接線方式。并口可以選擇4線和8線兩種。為了方圖2-14液晶模塊電路圖便軟件部分的處理,我選擇并口8線的連接方式,其電路如圖2-14所示。模塊和開(kāi)關(guān)控制模塊組成。整個(gè)系統(tǒng)的硬件需要軟件的驅(qū)動(dòng),才能實(shí)現(xiàn)相應(yīng)的功能。軟件控制著硬件,讓其按照指定的要求,執(zhí)行相應(yīng)的功能。主程序的流程圖如圖3-1所示。由該流程圖可以看出,在主程序中,對(duì)各模塊先進(jìn)行初始化,通過(guò)對(duì)開(kāi)關(guān)控制模塊的查詢以及各標(biāo)志位的查詢進(jìn)入相應(yīng)功能模塊,完成相關(guān)功能后將結(jié)果在液晶屏上進(jìn)行顯示。其中,時(shí)鐘模塊和射頻識(shí)別模塊涉及中斷服務(wù)。各模塊初始化是否有射頻識(shí)Y射頻識(shí)別模塊時(shí)間校準(zhǔn)模塊N刷卡查詢模塊數(shù)據(jù)存儲(chǔ)模塊顯示模塊圖3-1主程序流程圖中斷服務(wù)包括定時(shí)中斷和外部中斷2種:定時(shí)中斷使用的是定時(shí)計(jì)數(shù)器0,用于時(shí)鐘模塊的秒針的走時(shí),其流程如圖3-2a)所示;外部中斷使用了外部中斷0和外部中斷1,用于拾取射頻識(shí)別信號(hào),之后利用射頻識(shí)別子程序進(jìn)行密碼對(duì)比,其流程如圖3-2b)所示。外部中斷開(kāi)始定時(shí)中斷開(kāi)始外部中斷開(kāi)始射頻信號(hào)拾取計(jì)數(shù)加1射頻信號(hào)拾取產(chǎn)生射頻識(shí)別標(biāo)志a)定時(shí)中斷b)外部中斷圖3-2中斷服務(wù)程序流程中斷服務(wù)程序段如下:/*************定時(shí)中斷*{//定時(shí)滿1S后就調(diào)用時(shí)鐘子程序}}3.2各個(gè)模塊的設(shè)計(jì)3.2.1顯示模塊/*************外部中斷**}}液晶顯示模塊工作時(shí)顯示一個(gè)字符的主要流程是先設(shè)定工作模式,再檢測(cè)忙信號(hào),最后傳送數(shù)據(jù)。其流程如圖3-3所示。初始化檢查忙碌送命令NY圖3-3顯示模塊流程圖圖3-4顯示模塊寫(xiě)數(shù)據(jù)時(shí)序圖液晶TS12864在并行8為數(shù)據(jù)線寫(xiě)數(shù)據(jù)時(shí)的時(shí)序如圖3-4所示。顯示模塊的核心程序片段如下:/************************按指定位置顯示一串字符**************voidDisplayListChar(unsignedcharX,unsignedcharY,unsignedch}while(DData[ListLength]>=0x2{if(X<=0x0F)//在指定的行上寫(xiě)入長(zhǎng)度不大于16的字符串3.2.2時(shí)鐘模塊時(shí)鐘儲(chǔ)模塊流程圖如圖3-5所示:NN圖3-5時(shí)鐘模塊流程圖Y用軟件編寫(xiě)的時(shí)鐘其缺點(diǎn)在于掉電后時(shí)鐘不能再走,每次上電后需對(duì)當(dāng)前時(shí)間和日期進(jìn)行調(diào)整。時(shí)鐘模塊的程序片段如下:/******************************時(shí)*鐘+日期********************if(time.month==1||time.month==3h==8||time.month==10||time.month==12)}time.day=1;}}}}}}3.2.3射頻識(shí)別模塊圖3-6Wiegand26位數(shù)據(jù)輸出時(shí)序圖射頻識(shí)別模塊的軟件核心是Wiegand協(xié)議。Wiegand協(xié)議是國(guó)際上統(tǒng)一的標(biāo)準(zhǔn),有很多格式,標(biāo)準(zhǔn)的26bit應(yīng)該是最常用的格式。它適用于涉及門(mén)禁控制系統(tǒng)的讀計(jì)算卡號(hào)并對(duì)比訊的波特率、也沒(méi)有定義數(shù)據(jù)長(zhǎng)度韋根格式主要定義是數(shù)據(jù)傳輸方式:Data0和Data1兩根數(shù)據(jù)線分別傳輸0和計(jì)算卡號(hào)并對(duì)比N報(bào)警鳴笛Y據(jù)輸出由二根線組成,分別是DATA0和N報(bào)警鳴笛Y記錄信息DATA0線上出現(xiàn)負(fù)脈沖;輸出‘1’時(shí),DATA1圖3-7射頻識(shí)別模塊程序流程圖表3-1Wiegand26位輸出格式E前12bitE前12bit偶校驗(yàn)位前12位后12位后12bit奇校驗(yàn)位電子卡的Wiegand26碼的接收對(duì)時(shí)間的實(shí)時(shí)性要求比較高,如果用查詢的方法接收會(huì)出現(xiàn)丟幀的現(xiàn)象:假設(shè)查詢到DATA0為0時(shí)主程序正在指向其他任務(wù),等主程序執(zhí)行完該任務(wù)時(shí)DATA0已經(jīng)變?yōu)?了,那么這樣就導(dǎo)致了一個(gè)0bit丟了,這樣讀出的卡號(hào)肯定奇偶校驗(yàn)通不過(guò),所以表現(xiàn)出CPU接收不到ID模塊發(fā)送的卡號(hào)了。唯一的辦法是在外部中斷里接收每個(gè)bit[11,射5]頻識(shí)別模塊的子程序流程如圖3-7所示。其中關(guān)于卡號(hào)對(duì)比的部分涉及到外部中斷服務(wù)產(chǎn)生的卡號(hào)信息。射頻識(shí)別模塊的程序片段如下:/*****************************射頻識(shí)別模塊*******************for(i=0;i<16;i++)//計(jì)算刷卡}if(cardcd==57099)//本地卡號(hào)1對(duì)比GREEN=0;eeprom_wt(0,num[0]-1)}elseif(cardcd==55318)//本地卡號(hào)2對(duì)比GREEN=0;eeprom_wt(1,num[1]-1)}elseif(cardcd==58529)//本地卡號(hào)3對(duì)比GREEN=0;eeprom_wt(2,num[2]-1)}}}AT24C16的總線時(shí)序如圖3-8所示。圖3-8AT24C16總線時(shí)序圖(1)數(shù)據(jù)存儲(chǔ)的起始和終止條件起始條件,開(kāi)始進(jìn)行數(shù)據(jù)的讀或?qū)?;?dāng)SCL為高,SDA的上升沿叫做終止條件,終止數(shù)據(jù)的讀或?qū)懀鐖D3-9所示。其相應(yīng)程序如下:圖3-9數(shù)據(jù)存儲(chǔ)的起始和終止條件/*************起始條件*}/*************終止條件**}改變會(huì)被認(rèn)為是控制信號(hào)。其時(shí)序見(jiàn)圖3-10,以下代碼是送一個(gè)字節(jié)(8位)的程序片段。圖3-10位傳送時(shí)序圖/************************送一個(gè)字節(jié)(8位)的數(shù)據(jù)***********************/{}//一個(gè)字節(jié)8位,循環(huán)8次//判斷最高位為1則將數(shù)據(jù)線置1否則清0//向左移出1位,進(jìn)行下一位的傳送總線上的接收器每接收到一個(gè)字節(jié)就會(huì)產(chǎn)生一個(gè)應(yīng)答,主器件必須產(chǎn)生一個(gè)對(duì)應(yīng)的額外的時(shí)鐘脈沖。其時(shí)序如圖3-11所示。接收器拉低SDA線表示應(yīng)答,并在應(yīng)答脈沖期間保持穩(wěn)定的低電平。當(dāng)主器件做接收器時(shí),必須發(fā)出數(shù)據(jù)傳輸結(jié)束的信號(hào)給發(fā)送器,即發(fā)送器件必須釋放SDA線為高,以便主器件產(chǎn)生停止條件。其程序如下:圖3-11應(yīng)答時(shí)序圖/********************************進(jìn)行應(yīng)答********************//條件判斷,SDA=1,則沒(méi)有應(yīng)答。如果沒(méi)有應(yīng)答則延時(shí):zwhile((SDA==1)&&(z<50}其流程如圖3-12a)、3-12b)所示。其中P2表示的是單片機(jī)的P2端口。S2、S3、 S4分別與P2.5、P2.6、P2.7引腳相連。P2=6是S2按下;P2=5是S3按下;P2=3是S4 按下;P2=2是S2和S4按下;P2=2是S3和S4按下。Y調(diào)分針NNY調(diào)時(shí)針Y調(diào)時(shí)針NYNY調(diào)日期調(diào)日期a)時(shí)間日期調(diào)整流程圖NNY查詢上一頁(yè)Y查詢下一頁(yè)Y調(diào)年份Nb)翻頁(yè)流程圖圖3-12開(kāi)關(guān)控制模塊流程焊接技術(shù)。我首先找齊了所需要的芯片、芯片座、電阻、電容、三極管、發(fā)光二極管等元器件,然后就用萬(wàn)用表對(duì)這些元件進(jìn)行了相應(yīng)的測(cè)試,保證每個(gè)元件的基本功能正常之后就是對(duì)照原理圖開(kāi)始搭建電路并進(jìn)行焊接。自己搭建焊接電路時(shí)最好一個(gè)模塊一個(gè)模塊的做,這樣可以避免漏掉或多添一些線,造成不必要的錯(cuò)誤。在搭建焊接電路板的時(shí)候,不僅要對(duì)著原理圖將每個(gè)元件布置好還要特別注意一些元件的極性問(wèn)題,例如二極管,充電電容等,如果焊接反了會(huì)造成嚴(yán)重后果。飛線,使板面更美觀。另外,為了方便硬件和軟件的調(diào)試,我特意將電源線,地線,普通線用紅,黑,藍(lán)三種顏色區(qū)分;將單片機(jī)多出來(lái)的端口與跳線相連,方便檢測(cè)軟件的中間功能;給每個(gè)芯片或集成模塊都加上了芯片座和插槽,方便程序的燒錄和存儲(chǔ)數(shù)據(jù)的讀寫(xiě)以及其他模塊單獨(dú)的調(diào)試。在完成了系統(tǒng)硬件的安裝和部分軟件的編寫(xiě)以后,就要開(kāi)始系統(tǒng)硬件的調(diào)試了。因?yàn)槭鞘止ぶ谱鞯挠布娐罚€路上有問(wèn)題是不可避免的,再加上是人工焊接,虛焊或者是漏焊的情況也是有可能的發(fā)生的?,F(xiàn)象后我又對(duì)照著電路圖檢查每個(gè)元件之間應(yīng)該連接在一起之后是對(duì)其進(jìn)行上電檢測(cè)。我將空的單片機(jī)放在電路上,上電后發(fā)現(xiàn)液晶屏背光燈不亮,蜂鳴器也不響,用電壓表測(cè)電源端電壓發(fā)現(xiàn)遠(yuǎn)不到5V,經(jīng)過(guò)仔細(xì)檢查,發(fā)現(xiàn)是射頻識(shí)別模塊安裝的鏡像相反,于是這一模塊需拆掉重焊。改后的電路上電測(cè)試時(shí)每個(gè)模塊都有了相應(yīng)的反應(yīng)。件如何調(diào)試,就是沒(méi)有現(xiàn)象出來(lái),于是開(kāi)始懷疑是硬件的問(wèn)題,經(jīng)過(guò)摸排查找,發(fā)現(xiàn)問(wèn)題的癥結(jié)在于我沒(méi)有將單片機(jī)的第31引腳接電源,改過(guò)來(lái)后就基本有了顯示。后來(lái)在調(diào)試預(yù)警模塊時(shí),發(fā)現(xiàn)LED燈的亮度過(guò)暗,經(jīng)老師指點(diǎn),原因在于我設(shè)a)LED共陰極連接LED共陽(yáng)極連接圖4-1LED燈連接工作,只有在這個(gè)前提下才能進(jìn)行其他模塊的調(diào)試。因此需要先編寫(xiě)一些簡(jiǎn)單的程序?qū)纹瑱C(jī)的端口進(jìn)行檢測(cè),能正常工作則基本上沒(méi)有問(wèn)題。我使用的編程工具是keil,這是基于C語(yǔ)言的51系列單片機(jī)開(kāi)發(fā)平臺(tái)。用C51進(jìn)行程序編寫(xiě)其優(yōu)點(diǎn)在于邏輯性強(qiáng),可移植性高;其缺點(diǎn)是容易產(chǎn)生冗余代碼,延時(shí)不夠精準(zhǔn)需要調(diào)整,其效率沒(méi)有匯編高[6,14]。4.3.1顯示模塊的調(diào)試液晶屏的顯示與時(shí)序有很重要的關(guān)系,如果時(shí)序不正確屏幕上就不能進(jìn)行顯示。起初液晶沒(méi)有顯示,我認(rèn)為是時(shí)序的問(wèn)題,于是我對(duì)照示波器顯示的脈沖寬度對(duì)時(shí)序進(jìn)行了精準(zhǔn)的調(diào)試,但還是沒(méi)顯示只是偶爾會(huì)出現(xiàn)亂碼。在測(cè)試液晶的數(shù)據(jù)線,有數(shù)據(jù)傳輸?shù)珮O不穩(wěn)定,于是懷疑是硬件出現(xiàn)了問(wèn)題,最后終于找到了問(wèn)題所在,確實(shí)是硬件問(wèn)題,修改后顯示就正常了。4.3.2時(shí)鐘模塊的調(diào)試時(shí)鐘模塊涉及到單片機(jī)的定時(shí)計(jì)數(shù)中斷。在調(diào)試的時(shí)候,我為了確定中斷是否正常工作現(xiàn)在中斷里設(shè)置了一個(gè)小程序,即每定時(shí)1S就在測(cè)試引腳P1.0處輸出一是在顯示時(shí)發(fā)現(xiàn)時(shí)鐘的秒針的跳動(dòng)不規(guī)律,其原因在于主程序的循環(huán)周期會(huì)錯(cuò)過(guò)中有段時(shí)間,時(shí)鐘在走一段時(shí)間后會(huì)突然自動(dòng)復(fù)位,軟件上我檢查了沒(méi)有任何問(wèn)題,可能是系統(tǒng)在編譯的時(shí)候誤修改了相關(guān)的寄存器,后來(lái)這個(gè)問(wèn)題得到了自動(dòng)解決。4.3.3射頻識(shí)別模塊的調(diào)試射頻識(shí)別模塊在調(diào)試的時(shí)候我采用將刷卡信息顯示在液晶屏上的方法確定每卡的對(duì)應(yīng)碼,但出現(xiàn)了同一卡每次刷卡信息不一致的現(xiàn)象,究其原因是預(yù)設(shè)數(shù)組與卡碼不兼容,設(shè)定標(biāo)志位檢驗(yàn)后問(wèn)題就得到了解決。同時(shí),為了使程序運(yùn)行效率更高,我對(duì)卡號(hào)對(duì)比程序進(jìn)行了優(yōu)化,先用算法將卡號(hào)計(jì)算出來(lái)再進(jìn)行比較,之后再對(duì)計(jì)算出的卡號(hào)進(jìn)行字符化,這樣程序能夠運(yùn)行得更快。我在設(shè)計(jì)的時(shí)候是將外部數(shù)據(jù)存儲(chǔ)器分為30xa0-0xff分別用于記錄三本地卡的刷卡信息,但在調(diào)試時(shí)發(fā)現(xiàn)AT24C16中記錄的最后一卡的信息寫(xiě)地址總是不正確,仔細(xì)分析程序后發(fā)現(xiàn)是有條賦值語(yǔ)句沒(méi)寫(xiě),導(dǎo)致后續(xù)地址錯(cuò)誤,改正后就對(duì)了。由于只有四個(gè)按鍵,要完成時(shí)間校準(zhǔn)和信息查詢,不可能只用單獨(dú)按鍵,使用組合鍵就比較好。調(diào)試過(guò)程中出現(xiàn)了按鍵反應(yīng)不靈敏的現(xiàn)象,主要是按鍵防抖動(dòng)時(shí)間過(guò)長(zhǎng),將程序稍加修改就可以了。結(jié)論儲(chǔ)模塊、開(kāi)關(guān)控制模塊和LCD顯示模塊。每個(gè)模塊各自完成相應(yīng)的功能。其中射頻識(shí)別模塊是輸入部分,開(kāi)關(guān)控制模塊是轉(zhuǎn)換部分,LCD顯示模塊是輸出部分,數(shù)據(jù)存儲(chǔ)模塊是存儲(chǔ)部分。這幾個(gè)模塊都是圍繞單片機(jī)運(yùn)行的,是整個(gè)系統(tǒng)的核心。是軟件編寫(xiě)不能進(jìn)行掉電走時(shí),若采用電子鐘芯片會(huì)更完善。通過(guò)本次畢業(yè)設(shè)計(jì),我對(duì)電路的分析能力、檢測(cè)能力和用C語(yǔ)言編程的能力都進(jìn)一步得到了提升。在硬件制作的前期準(zhǔn)備階段,為了獲得一個(gè)最優(yōu)的硬件方案,我查找了大量的書(shū)籍和網(wǎng)絡(luò)資料,在老師的幫助下,通過(guò)對(duì)不同的電路原理的對(duì)比分析,最終選定了這個(gè)應(yīng)用最廣的方案。繪制電路圖階段的工作使我對(duì)Protel99SE軟件的使用更加熟練。對(duì)硬件電路的焊接使我的焊接技術(shù)得到了提升。通過(guò)對(duì)硬件電路的調(diào)試,我掌握了硬件電路一般的檢測(cè)和排錯(cuò)方法。在編寫(xiě)和調(diào)試軟件程序的過(guò)程中,我掌握了示波器和仿真器的使用方法,并且更深刻地體會(huì)到軟件的編寫(xiě)和對(duì)硬件電路的分析是分不開(kāi)的。雖然本次畢業(yè)設(shè)計(jì)已經(jīng)圓滿的結(jié)束了,但是,我知道要學(xué)習(xí)的東西還有很多,因此,在今后的學(xué)習(xí)和工作中,我一定會(huì)更加努力,不斷提升自己的價(jià)值。致謝調(diào)試以及畢業(yè)論文撰寫(xiě)在的畢業(yè)設(shè)計(jì)。在整個(gè)畢業(yè)設(shè)計(jì)的過(guò)程中,我的指導(dǎo)老師青老師一直都給予我很大的幫助。在硬件電路的分析上,老師幫我優(yōu)化方案;在硬件電路的制作上,老師幫我排除錯(cuò)誤;在軟件程序的編寫(xiě)和調(diào)試上,老師幫我理清思路??傊?,沒(méi)有老師的悉心指導(dǎo),我的畢業(yè)設(shè)計(jì)是不會(huì)這么順利就完成的。同時(shí),我也要感謝學(xué)校和系領(lǐng)導(dǎo)為我們創(chuàng)造了一個(gè)幽雅、便捷的環(huán)境,使我們可以安心的學(xué)習(xí)和生活。另外,我也感謝我的家人對(duì)我一貫的支持,無(wú)論我在設(shè)計(jì)制作上遇到多大的困難他們都耐心的安慰我,給我加油打氣,讓我在心理上度過(guò)了一個(gè)又一個(gè)難關(guān);每當(dāng)我取得一個(gè)小小的進(jìn)步,他們同我一樣興奮和高興并且鼓勵(lì)我繼續(xù)加油。最后我要感謝大學(xué)四年來(lái)所有教導(dǎo)過(guò)我的老師們的,感謝同學(xué)們的支持和鼓勵(lì),感謝學(xué)校對(duì)我的栽培,我將在以后的工作學(xué)習(xí)中繼續(xù)努力,不斷爭(zhēng)取進(jìn)步!參考文獻(xiàn)[1]朱定華.單片微機(jī)原理與應(yīng)用.:清華大學(xué),2003.[6]亮,侯國(guó)銳.單片機(jī)C語(yǔ)言編程與實(shí)例.:人民郵電,2003.[7]群芳,肖看.單片機(jī)原理、接口及應(yīng)用.:清華大學(xué),2005.[8]洪潤(rùn),亞凡等.單片機(jī)應(yīng)用設(shè)計(jì)200例.:航空航天大學(xué),2006.[10]吳向軍.匯編語(yǔ)言程序設(shè)計(jì).:高等教育,2002.[11]百度百科.韋根協(xié)議.baike.baidu./view/557637.htm,2008.[12]毅剛.新編MCS-51單片機(jī)應(yīng)用設(shè)計(jì).:工業(yè)大學(xué),2003.[13]漢才.單片機(jī)原理及其接口技術(shù)第.二版.:清華大學(xué),2004.[14]馬史梅.單片機(jī)C語(yǔ)言應(yīng)用程序設(shè)計(jì)第.三版.:航空大學(xué),2003.[15]達(dá)華電子.RF01D125KHz感應(yīng)讀卡機(jī)模塊規(guī)格說(shuō)明書(shū).aacpub.zhongshan.gd.,2001.[16]高鵬,安濤.Protel99入門(mén)與提高.:人民郵電,2003.[17]TheParliamentControl,May1991.附錄1系統(tǒng)原理圖3O2O1CTUODNG5V5FOC2OC5V58CCV1DNG7DLOXHX266KLCXX375ATADDN4nnegB50dZUK3243243DDCLACDDCLACENLGVCDGVCDTTTNNNAAAVVVEQ\*jc3\*hps20\o\al(\s\up2147483646(T),0)EQ\*jc3\*hps20\o\al(\s\up13(I),M)EQ\*jc3\*hps20\o\al(\s\up3(C),7)FEQ\*jc3\*hps20\o\al(\s\up5(A),5)EQ\*jc3\*hps20\o\al(\s\up5(A),6)EQ\*jc3\*hps20\o\al(\s\up5(A),7)K2RVVVEQ\*jc3\*hps20\o\al(\s\up1(4),A)AAAEQ\*jc3\*hps20\o\al(\s\up1(0),A)FFEQ\*jc3\*hps20\o\al(\s\up5(A),4)DEQ\*jc3\*hps20\o\al(\s\up5(A),3)EQ\*jc3\*hps20\o\al(\s\up5(A),0)DEQ\*jc3\*hps20\o\al(\s\up5(A),2)AAWGCCVKKK塊模示顯晶液統(tǒng)系小塊模制控關(guān)開(kāi)附錄2硬件實(shí)物圖射頻ID卡附錄3系統(tǒng)軟件總程序/************************#defineLCD_DataP0//LCD并行8位數(shù)據(jù)端口sbitLCD_E=P2^2;//LCD信號(hào)使能控制引腳sbitRST=P2^3;sbitSCL=P3^6;sbitSDA=P3^7;sbitt_c=P1^0;uchart_flag=0;/時(shí)ucharcount=0;//ucharcnt=0;//射頻識(shí)別ucharct1,ct2;//查codeucharname[4][11]={"職工甲","職工乙","職工丙","外來(lái)者!!!"};//對(duì)應(yīng)codeucharcard[4][11]={"57099","55318","58529","619dataucharrank1[]={":"};//LCD第一行顯示數(shù)據(jù)存儲(chǔ)單元dataucharrank2[]={"卡號(hào):"};//LCD第二行顯示數(shù)據(jù)存儲(chǔ)單元dataucharrank3[]={"日期:"};//LCD第三行顯示數(shù)據(jù)存儲(chǔ)單元dataucharrank4[]={時(shí)"間:"};//LCD第四行顯示數(shù)據(jù)存儲(chǔ)單元codeucharstuff[3]={0x00,0x50,0xa0};dataucharnum[3]={0,0,0};//structtime//時(shí)間初值//時(shí)間初值設(shè)為2010-5-27}/**************************液晶LCD顯示模塊程序*************************//**************讀狀態(tài)/******按指定位置顯示一個(gè)字符while(LCD_Data&Busy);//檢測(cè)忙信號(hào)}/**************寫(xiě)數(shù)據(jù)voidWriteDataLCD(uchar}/**************寫(xiě)指令voidWriteCommandLCD(ucharBuysC)//BuysC為0時(shí)忽略忙檢測(cè)voidDisplayOneChar(ucharX,u//LCD第一行數(shù)據(jù)首地址//LCD第二行數(shù)據(jù)首地址//LCD第三行數(shù)據(jù)首地址//LCD第四行數(shù)據(jù)首地址}WriteCommandLCD(X,0);//僅發(fā)送地址碼WriteDataLCD(DData);//寫(xiě)一個(gè)數(shù)據(jù)}/******按指定位置顯示一串字符}/************LCM初始化***********///顯示模式設(shè)置,開(kāi)始要求每次檢測(cè)忙信號(hào);功能設(shè)定基本指令集WriteCommandLCD(0x01,1);WriteCommandLCD(0x06,1);WriteCommandLCD(0x0C,1);}/***************清屏WriteCommandLCD(0x34,1);}X&=0x0F;//限制X//LCD第一行數(shù)據(jù)首地址//LCD第二行數(shù)據(jù)首地址//LCD第三行數(shù)據(jù)首地址//LCD第四行數(shù)據(jù)首地址}WriteCommandLCD(X2,1);//發(fā)送地址碼while(DData[ListLength]>=0x20)}}}voiddisp(uinttemp,ucharps,ucharbt,uchar*pp)//temp是待處理整型數(shù)據(jù);ps是要顯示的末尾位置橫坐標(biāo);bt是待處理數(shù)的位數(shù);pp指向的是輸出顯示的行存儲(chǔ)單元}}時(shí)間和校準(zhǔn)模塊/*************時(shí)間調(diào)整/*************時(shí)鐘+日期Delay5Ms(80);//400ms延時(shí)}DisplayListChar(0,4,}Delay5Ms(80);//400ms延時(shí)}disp(time.hour,6,2,DisplayListChar(0,4,}日期Delay5Ms(80);//400ms延時(shí)}disp(time.day,14,2,disp(time.sec,12,2,me.month==5||time.month==7||time.month==8||time.month==10||time.month==12)//秒針>59時(shí),分針進(jìn)位秒針清0disp(time.sec,12,2,//分針>59時(shí),時(shí)針進(jìn)位分針清0disp(time.hour,6,2,/時(shí)/針>24時(shí),日期進(jìn)位時(shí)針清0disp(time.day,14,2,disp(time.hour,6,2,數(shù)DisplayListChar(0,3,}//調(diào)月份(按鍵S4和S同2時(shí)按下)Delay5Ms(80);//400ms延時(shí)}disp(time.month,11,2,DisplayListChar(0,3,}//調(diào)年份(按鍵S4和S同3時(shí)按下)Delay5Ms(80);//400ms延時(shí)}disp(time.year,8,4,DisplayListChar(0,3,}//日期>相應(yīng)天數(shù)時(shí),月份進(jìn)位日期針置1disp(time.month,1
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 未來(lái)五年P(guān)CB專用設(shè)備企業(yè)ESG實(shí)踐與創(chuàng)新戰(zhàn)略分析研究報(bào)告
- 未來(lái)五年全自動(dòng)繞線設(shè)備企業(yè)ESG實(shí)踐與創(chuàng)新戰(zhàn)略分析研究報(bào)告
- 未來(lái)五年便攜式收錄(放)音組合機(jī)企業(yè)數(shù)字化轉(zhuǎn)型與智慧升級(jí)戰(zhàn)略分析研究報(bào)告
- 未來(lái)五年網(wǎng)絡(luò)路由器企業(yè)ESG實(shí)踐與創(chuàng)新戰(zhàn)略分析研究報(bào)告
- 初中英語(yǔ)語(yǔ)法重點(diǎn)復(fù)習(xí)題集
- 自流平地坪施工技術(shù)問(wèn)題分析報(bào)告
- 體檢渠道協(xié)議書(shū)
- 代付購(gòu)房協(xié)議書(shū)
- 供能框架協(xié)議書(shū)
- 體育公園協(xié)議書(shū)
- 放射醫(yī)學(xué)技術(shù)職稱考試 《相關(guān)專業(yè)知識(shí)》篇 考點(diǎn)匯總
- 橋梁實(shí)心墩(高墩) 翻模工程專項(xiàng)施工方案
- 地鐵資料城市軌道交通設(shè)備系統(tǒng)控制中心
- qPCR實(shí)時(shí)熒光定量PCR課件
- 企業(yè)數(shù)字化轉(zhuǎn)型發(fā)言稿
- GB/T 3089-2020不銹鋼極薄壁無(wú)縫鋼管
- GB/T 2878.2-2011液壓傳動(dòng)連接帶米制螺紋和O形圈密封的油口和螺柱端第2部分:重型螺柱端(S系列)
- GB/T 23331-2020能源管理體系要求及使用指南
- GB/T 21238-2016玻璃纖維增強(qiáng)塑料夾砂管
- 化學(xué)品安全技術(shù)說(shuō)明書(shū)氬氣MSDS
- 斯坦福手術(shù)室應(yīng)急手冊(cè)中文版
評(píng)論
0/150
提交評(píng)論