




已閱讀5頁(yè),還剩8頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
IC卡門禁系統(tǒng) 摘 要 常見(jiàn)的門禁系統(tǒng)有:密碼門禁系統(tǒng),IC卡門禁系統(tǒng),指紋識(shí)別門禁系統(tǒng)等。密碼門禁系統(tǒng)由于安全性弱和便捷性差已經(jīng)面臨淘汰 ,指紋識(shí)別門禁系統(tǒng)安全性高,但由于成本高等問(wèn)題而沒(méi)有得到廣泛的市場(chǎng)認(rèn)同。現(xiàn)在流行和通用的還是IC卡門禁系統(tǒng)。IC卡由于其較高的安全性、便捷性和性價(jià)比成為門禁系統(tǒng)的主流,但市面上的門禁系統(tǒng)都要配置相應(yīng)的IC卡才能使用,如果由于遺失或各種原因?qū)е聸](méi)有足夠的IC卡,便要再聯(lián)系廠商購(gòu)買,不但帶來(lái)不便 ,而且價(jià)格昂貴。本文介紹的環(huán)保型IC卡門禁系統(tǒng)使用的是中國(guó)電信公司的IC電話卡作為門禁的IC卡 ,不但成本低 ,而且到處都能買到,很好的解決了IC卡成本高和難購(gòu)買的問(wèn)題。關(guān)鍵詞 單片機(jī) ;IC電話卡讀寫(xiě) ;信息存儲(chǔ) ;信息識(shí)別Recycle IC Card JanitorAbstract:Pass Word Gate Controller、IC Card Gate Controller and Fingerprint Validate Gate Controller are familiar to us . Pass Word Gate Controller has been falled into disuse because of its weakness of security . Fingerprint Validate Gate Controller is very safe , but it is too expensive to use. So , IC Card Gate Controller still is the most popular . But nearlly all the IC Card Gate Contoller needs the homologous IC Card and the homologous IC Card is expensive and hard to buy . This text is tell you how to use the IC Telephone Card to design Recycle IC Card Janitor . So , you never need to worry about the problems of money and hard to buy , because the IC Telephone Card is cheap and easy to buy .Key words: MCU ; Read and Write IC Telephone Card ; Information Save ; Information Validate1引言門禁,又稱出入管理控制系統(tǒng)。是一種管理人員進(jìn)出的數(shù)字化管理系統(tǒng).隨著智能化、數(shù)字化信息社會(huì)的到來(lái),“卡”已逐漸深入到了人們生活的方方面面,人們正在一步步地適應(yīng)著卡,也漸漸地離不開(kāi)卡,毫不夸張地說(shuō),人類將走向“卡”的世界??ㄊ菍?shí)現(xiàn)智能化管理和自動(dòng)化管理工作的一種重要手段。在需要控制人員出入情況的場(chǎng)所,比如人員階段性流動(dòng)的實(shí)驗(yàn)室,賓館的客房,有特殊需求的保密部門等等,如果使用卡開(kāi)啟門,代替?zhèn)鹘y(tǒng)的出入證和鑰匙,就能使管理工作實(shí)現(xiàn)自動(dòng)化、智能化。不但用者方便,管理者也方便,而且工作效率和安全性都可以大大地提高。下面介紹的環(huán)保型IC卡門禁系統(tǒng)就是一個(gè)安全、可靠的電子門鎖系統(tǒng)。使用該系統(tǒng),可以方便地管理和控制應(yīng)用場(chǎng)所的人員進(jìn)出情況,驗(yàn)明出入人員的身份和出入權(quán)限。在IC卡應(yīng)用日益廣泛的今天,IC卡門禁系統(tǒng)以其門禁管理的安全、可靠、高效、靈活、方便,已逐步取代其他現(xiàn)有各類門鎖,成為目前門禁系統(tǒng)的主流方式。2系統(tǒng)功能設(shè)計(jì)必須輸入正確密碼才能進(jìn)入系統(tǒng)菜單設(shè)置各項(xiàng)功能,如:增加新的IC卡、刪除已有的IC卡、修改密碼等。能增加新的IC卡,最多可以發(fā)卡83張。能刪除已有的IC卡能識(shí)別IC卡并提示卡號(hào)能識(shí)別不正確的插卡并提示能讀出IC電話卡內(nèi)的余額,并能按設(shè)置減去卡內(nèi)相應(yīng)的余額(為防止人為誤操作,每次最高只能減去0.9元)以綠燈亮代表開(kāi)門信號(hào)3系統(tǒng)硬件原理3.1 系統(tǒng)原理圖系統(tǒng)原理圖如圖1所示:圖1 系統(tǒng)原理圖3.2 主控芯片:ATmega8ATmega8是ATMEL公司推出的一款新型AVR高檔單片機(jī)。在AVR家族中,Atmega8是一種非常特殊的單片機(jī),它的芯片內(nèi)部集成了較大容量的存儲(chǔ)器和豐富強(qiáng)大的硬件接口電路,具備AVR高檔單片機(jī)MEGA系列的全部性能和特點(diǎn)。Atmega8是一款采用低功耗CMOS工藝生產(chǎn)的基于AVR RISC結(jié)構(gòu)的8位單片機(jī)。AVR單片機(jī)的核心是將32個(gè)工作寄存器和豐富的指令集聯(lián)結(jié)在一起,所有的工作寄存器都與ALU(算術(shù)邏輯單元)直接相連,實(shí)現(xiàn)了在一個(gè)時(shí)鐘周期內(nèi)執(zhí)行一條指令同時(shí)訪問(wèn)(讀寫(xiě))兩個(gè)獨(dú)立寄存器的操作。這種結(jié)構(gòu)提高了全碼效率,使得大部分指令的執(zhí)行時(shí)間僅為一個(gè)時(shí)鐘周期。因此,Atmega8可以達(dá)到接近1MIPS/MHz的性能,運(yùn)行速度比普通CISC單片機(jī)高出10倍。Atmega8的部分主要性能如下: 高性能、低功耗的8位AVR微控制器,先進(jìn)的RISC精簡(jiǎn)指令集結(jié)構(gòu) 130條功能強(qiáng)大的指令,大多數(shù)為單周期指令 32個(gè)8位通用工作寄存器 工作在16MHz時(shí),具有16MIPS的性能 片內(nèi)集成硬件乘法器(執(zhí)行速度為2個(gè)時(shí)鐘周期) 片內(nèi)集成了較大容量的非易失性程序和數(shù)據(jù)存儲(chǔ)器以及工作存儲(chǔ)器 8K字節(jié)的Flash程序存儲(chǔ)器,擦寫(xiě)次數(shù):10000次 支持可在線編程(IPS)、可在應(yīng)用自編程(IAP) 帶有獨(dú)立加密位的可先BOOT區(qū),可通過(guò)BOOT區(qū)內(nèi)的引導(dǎo)程序區(qū)(用戶自己寫(xiě)入)來(lái)實(shí)現(xiàn)IPA編程。 512個(gè)字節(jié)的EEPROM,擦寫(xiě)次數(shù):100000次 1K字節(jié)內(nèi)部SRAM 可編程的程序加密位 特殊的微控制器性能 可控制的上電復(fù)位延時(shí)電路和可編程的欠電壓檢測(cè)電路 內(nèi)部集成了可選擇頻率(1/2/4/8MHz)、可校準(zhǔn)的RC振蕩器、外部和內(nèi)部的中斷源18個(gè) 最多23個(gè)可編程I/O口,可任意定義I/O的輸入/輸出方向;輸出時(shí)為推挽輸出,驅(qū)動(dòng)能力強(qiáng),可直接驅(qū)動(dòng)LED等大電流負(fù)載;輸入口可定義為三態(tài)輸入,可以設(shè)定帶內(nèi)部上拉電阻,省去外接上拉電阻 寬工作電壓:2.7V5.5V(Atmega8L)本系統(tǒng)使用Atmega8作為主控芯片,主要作用為:使用其I/O口讀寫(xiě)IC電話卡內(nèi)的全部信息,并將卡內(nèi)的全部信息存儲(chǔ)在Atmega8的EEPROM內(nèi),一張卡占用6個(gè)字節(jié),一共可存儲(chǔ)83張IC電話卡的信息,存儲(chǔ)地址為EEPROM(0497);驗(yàn)證插入的IC卡是否允許通行,可通行則綠燈亮;驗(yàn)證輸入的登錄密碼是否與EEPROM(地址為:504511)內(nèi)存儲(chǔ)的密碼相同;檢測(cè)3x4鍵盤(pán)是否有按鍵按下;將各類信息顯示到液晶1602,以進(jìn)行人機(jī)交換操作。3.3 IC電話卡90年代的初期IC電話卡的出現(xiàn),就已經(jīng)取代了當(dāng)時(shí)獨(dú)霸一時(shí)的電話磁卡了,由于電話磁卡存在嚴(yán)重的安全性問(wèn)題,所以推出不久就被黑客破解,所以訖今亦徹底淘汰了。IC電話卡實(shí)質(zhì)是一個(gè)帶串行輸出的128位的EPROM,片內(nèi)的前64位已經(jīng)寫(xiě)了保護(hù),在出廠時(shí)已經(jīng)編程而且其熔絲位已被加密,所以無(wú)法更改片內(nèi)的數(shù)據(jù),。而其后的40位計(jì)數(shù)單元是受內(nèi)部邏輯控制的,在讀寫(xiě)時(shí)卡片內(nèi)只能作減法計(jì)數(shù),不能作加法計(jì)數(shù),直至存儲(chǔ)單元內(nèi)裝入的預(yù)置值減到0為止,因?yàn)镮C電話卡是一種一次性的計(jì)數(shù)卡片,所以卡片內(nèi)的存儲(chǔ)單元減至空,卡片也就用完了,也就是作廢了。很多人都會(huì)把用完的IC卡扔掉,但是電信公司發(fā)行的IC電話卡不計(jì)其數(shù),這樣一來(lái)就會(huì)對(duì)環(huán)境造成污染。本文介紹的門禁系統(tǒng)使用的IC卡就是電信公司的IC電話卡,無(wú)論IC電話卡內(nèi)有無(wú)余額都能作為門禁的IC卡使用,完全符合環(huán)保的概念,并能很好的解決門禁IC卡成本高和難購(gòu)買的問(wèn)題。IC電話卡消費(fèi)計(jì)數(shù)的單位價(jià)格是根據(jù)各種應(yīng)用系統(tǒng)設(shè)定的,例如:30元面值的IC電話卡,對(duì)應(yīng)的片內(nèi)的存儲(chǔ)單元的預(yù)置是#300,那每單位值就是0.1元了,IC電話機(jī)以每分鐘產(chǎn)生一個(gè)扣費(fèi)脈沖信號(hào),扣費(fèi)值是由當(dāng)?shù)豂C電話管理系統(tǒng)設(shè)定的。一般是0.3元和0.8元,卡片內(nèi)被減值是3次或8次了。而其它國(guó)家的IC電話卡也是如此。一般IC電話卡的引腳如圖2所示:圖2 IC電話卡引腳圖IC電話卡一般采用8腳封裝和6腳封裝,如果采用6腳封裝的則無(wú)下面兩個(gè)空腳。它的存儲(chǔ)單元分布 :64位EPROM(8字節(jié))寫(xiě)保護(hù)區(qū) 芯片數(shù)據(jù)代碼區(qū) 發(fā)行商數(shù)據(jù)代碼區(qū),40位EEPROM(5字節(jié))預(yù)置值計(jì)數(shù)區(qū)24位為1(3字節(jié))共16字節(jié)數(shù)據(jù),如圖3所示:3.4 IC電話卡的原理: 圖3 IC卡存儲(chǔ)單元分布圖3.4.1 復(fù)位: 要使地址計(jì)數(shù)器復(fù)位“0”,先讓Resct復(fù)位端由“0”變成“1”,然后跟著一個(gè)Clock脈沖從“0”變成“1”再降回“0”電平,Resct復(fù)位端再至“0”,把Clock脈沖包住,隨著Reset端變低,地址0單元的數(shù)據(jù)從I/O上輸出。對(duì)應(yīng) Clock端的每個(gè)脈沖,其上升沿使地址計(jì)數(shù)器增加。其下降沿使被選通地址單元的數(shù)據(jù)從I/O上輸出。地址計(jì)數(shù)器增加到127后返回到0,如圖4的時(shí)序圖所示: 圖4 復(fù)位時(shí)序圖3.4.2 寫(xiě)位: 在Reset和Clk端均為低的情況下,如果某地址單元允許寫(xiě)操作(64-103位,且該位必需為1),則Reset端上的一個(gè)脈沖(即從低到高再回低)將允許芯片進(jìn)行位寫(xiě)操作。在緊跟著的時(shí)鐘脈沖期間執(zhí)行寫(xiě)操作,調(diào)整寫(xiě)操作維持時(shí)間至少10ms,在這個(gè)CLK脈沖期間,地址計(jì)數(shù)器不會(huì)增加,在CLK寫(xiě)脈沖下降沿,數(shù)據(jù)0從I/O端輸出。從Reset脈沖的上升沿到CLK寫(xiě)脈沖的下降沿期間,I/O端的數(shù)據(jù)是無(wú)效的。在下一個(gè)才CLK脈沖,且Reset為低時(shí),地址計(jì)數(shù)器又增1,并在下降沿時(shí),把選通的地址單元的數(shù)據(jù)送到I/O端。如圖5的時(shí)序圖所示: 圖5 寫(xiě)位時(shí)序圖3.4.3 字節(jié)擦除: 對(duì)位地址72-103的字節(jié)單元來(lái)說(shuō),只要在每個(gè)字節(jié)的前面一位進(jìn)行一次正常的寫(xiě)操作,就可以對(duì)此字節(jié)后一字節(jié)進(jìn)行字節(jié)擦除操作。也就是說(shuō),每向高一字節(jié)進(jìn)行借位(即寫(xiě)一位0),緊接著的擦除時(shí)序可以對(duì)后一字節(jié)按字節(jié)擦除(即整個(gè)字節(jié)寫(xiě)1)。被擦除的字節(jié)總是比借位寫(xiě)的字節(jié)低一字節(jié)。從以下時(shí)序圖可以看出,首先,完成一個(gè)“位寫(xiě)”操作,在CLK的寫(xiě)脈沖結(jié)束后,在CLK為低電平時(shí),在發(fā)一個(gè)Reset脈沖即啟動(dòng)字節(jié)擦除操作。在第二個(gè)CLK脈沖完成字節(jié)擦除,脈沖維持時(shí)間整定為擦除周期時(shí)間(至少1ms)。芯片邏輯控制電路驗(yàn)證了借位寫(xiě)確已完成從“1”寫(xiě)“0”后,才擦除其低位字節(jié)。從Reset的上升沿到擦除操作的CLK脈沖的下降沿,I/O腳上的數(shù)據(jù)無(wú)效。地址計(jì)數(shù)器仍然停留在借位寫(xiě)的地址上。如圖6的時(shí)序圖所示: 圖6 字節(jié)擦除時(shí)序圖3.4.4 計(jì)數(shù)方法: 在67-103地址單元中分為5個(gè)不可重置8單元計(jì)數(shù)器,芯片初始化時(shí),72-103地址單元所對(duì)應(yīng)的4個(gè)較低的8單元計(jì)數(shù)器中可以放0到8個(gè)“1”而67-71地址單元所對(duì)應(yīng)的第5個(gè)計(jì)數(shù)器可以放0到5個(gè)“1”。所謂計(jì)數(shù)一次,就是將一個(gè)單元從“1”寫(xiě)成“0”。一個(gè)計(jì)數(shù)器中8位全為“0”后,要計(jì)數(shù),需借位操作,即將高位計(jì)數(shù)器的一位從“1”寫(xiě)成“0”而相應(yīng)其低位計(jì)數(shù)器整個(gè)字節(jié)從“0”擦除成“1”??梢?jiàn)4個(gè)8單元計(jì)數(shù)器如此逐一遞減,其最大計(jì)數(shù)為8的4次方=4096。第5個(gè)計(jì)數(shù)器中5個(gè)單元因處在最高位只能被寫(xiě)“0”無(wú)法擦成“1”。因此只能計(jì)數(shù)5次。故芯片總計(jì)數(shù)為5X4096=20480。當(dāng)全部計(jì)數(shù)單元(地址67-103)都被寫(xiě)成“0”時(shí),卡片就用完了,不過(guò),芯片出廠初始化時(shí),初置的計(jì)數(shù)值由國(guó)家不同和卡片面值不同而不同,如100元卡初置計(jì)數(shù)值為1000。如圖7所示: 圖7 IC卡計(jì)數(shù)方法圖3.5 3x4行列式鍵盤(pán) 本系統(tǒng)使用4x3行列式鍵盤(pán)控制門禁系統(tǒng),從左到右(從上到下)分別為:按鍵“1”, 按鍵“2”, 按鍵“3”, 按鍵“4”, 按鍵“5”, 按鍵“6”, 按鍵“7”, 按鍵“8”, 按鍵“9”, 按鍵“0”, 按鍵“取消”, 按鍵“確定”。 鍵盤(pán)輸入信息的主要過(guò)程如下: 3.5.1 CPU判斷是否有鍵按下。 首先單片機(jī)向列掃描口PD0PD2輸出 全為0的掃描碼F0H,然后從行檢測(cè)口PD4PD7輸入行檢測(cè)信號(hào),中要有一列信號(hào)不為1,即PD口不為F0H,則表示有鍵按下。 3.5.2 查詢按下鍵所在的行、列位置。 單片機(jī)將得到的信號(hào)取反,PD4PD7口中為了的位便是按鍵所在的列,確定行位置原理相同。 3.5.3 鍵的抖動(dòng)處理。 當(dāng)用手按下一個(gè)鍵時(shí),往往會(huì)出現(xiàn)所按鍵在閉合位置和斷開(kāi)位置之間跳幾下才穩(wěn)定到閉合狀態(tài)的情況;在釋放一個(gè)鍵時(shí),也會(huì)出現(xiàn)類似的情況這就是鍵抖動(dòng)。抖動(dòng)的持續(xù)時(shí)間不一,通常不會(huì)大于10ms。若抖動(dòng)問(wèn)題不解決,就會(huì)引起對(duì)閉合鍵的多次讀入。解決鍵抖動(dòng)最方便的方法就是:當(dāng)發(fā)現(xiàn)有鍵按下后,不要立即進(jìn)行逐行掃描,而是延時(shí)10ms后現(xiàn)進(jìn)行。由于鍵按下的時(shí)間持續(xù)上百ms,延時(shí)后再掃描也不遲。 3.6 字符型LCD顯示模塊 液晶顯示器以其微功耗、體積小、重量輕、超薄型等諸多其他顯示器件無(wú)法比擬的優(yōu)點(diǎn),在袖珍式登記表和低功耗系統(tǒng)中,得到越來(lái)越廣泛的應(yīng)用。本系統(tǒng)使用液晶顯示模塊作為人機(jī)交換界面顯示,采用四線接法,大大節(jié)省了單片機(jī)的I/O口。4系統(tǒng)軟件設(shè)計(jì) 4.1 系統(tǒng)總體理論設(shè)計(jì)方框圖 本系統(tǒng)最主要的部分是軟件,所有的控制都是由單片機(jī)程序控制實(shí)現(xiàn)。上電開(kāi)機(jī)后,LCD顯示器第一行顯示“Jason Janito”,第二行顯“Total : 卡數(shù)/83”;然后門禁系統(tǒng)進(jìn)入等待狀態(tài),等待期間不斷檢測(cè)是否有卡插入或按鍵按下,若有卡插入則驗(yàn)證該卡,若有鍵按下,在輸入正確密碼后進(jìn)入設(shè)置菜單。整體操作流程圖如圖8所示。YESYESYESliver1028SYESliver1028SYESliver1028SNONOYESNOYESNOYESliver1028SYES開(kāi)門(綠色LED燈亮)檢測(cè)是否有卡插入檢測(cè)是否已取出卡NO檢測(cè)是否按下確定NO確定是否允許該卡進(jìn)入減錢程序檢測(cè)是否按下取消檢測(cè)是否有鍵按下檢測(cè)密碼是否正確NO進(jìn)入設(shè)置菜單退出增加新IC卡刪除已有IC卡修改登錄密碼檢測(cè)機(jī)內(nèi)是否有該卡信息增加或刪除該卡輸入新密碼再次輸入新密碼檢測(cè)兩次輸入密碼是否相同NO門禁系統(tǒng) (等待狀態(tài))退回主程序門禁系統(tǒng) (等待狀態(tài))返回設(shè)置菜單退回主程序門禁系統(tǒng) (等待狀態(tài))NO 圖8 整體流程圖4.2 IC電話卡驗(yàn)證、顯示及減錢程序當(dāng)系統(tǒng)檢測(cè)到有IC卡插入時(shí),CPU Atmega8首先將IC卡內(nèi)的全部數(shù)據(jù)讀出并存儲(chǔ)在數(shù)組IC_Codes_816內(nèi),然后將數(shù)組與預(yù)先存儲(chǔ)在EEPROM中的IC卡數(shù)據(jù)作比較,如果全部數(shù)據(jù)相同則表示該卡允許放行,以綠燈提示,并將IC電話卡內(nèi)的余額顯示在液晶顯示器上;如果此時(shí)按下確定鍵,則進(jìn)入IC卡減錢程序,在提示處輸入要減去的金額(每次最多可減0.9元),按下確定鍵即可。部分程序如下:void Read_Card ( void ) / 讀卡程序(讀取IC電話卡內(nèi)的數(shù)據(jù)) unsigned char I = 0 , j = 0 , k = 0 , / 循環(huán)用變量 IC_Codes_2128 = 0 ; / IC卡內(nèi)128bit數(shù)據(jù) for( i = 0 ; i 16 ; i+ ) IC_Codes_8i = 0 ; / 上次讀卡的全局變量數(shù)據(jù)清除 Reset_0 ; / IC電話卡復(fù)位 CLK_0 ; delay_nms(10) ; / 延時(shí)10ms Reset_1 ; / 為使地址計(jì)數(shù)器復(fù)位到0,先讓Reset端變高。 delay_nus(8) ; / 緊跟著一個(gè)Clock脈沖(從低到高再降到0), CLK_1 ; / Reset重新變低,把Clock脈沖包住。隨著Reset delay_nus(44) ; / 端變低,地址0單元的數(shù)據(jù)從I/O上輸出。對(duì)應(yīng) CLK_0 ; / Clock端的每個(gè)脈沖,其上升沿使地址計(jì)數(shù)器增加。 delay_nus(8) ; / 其下降沿使被選通地址單元的數(shù)據(jù)從I/O上輸出。 Reset_0 ; / 地址計(jì)數(shù)器增加到127后返回到0。 delay_nus(5) ; if ( ( PINB & 0x02 ) = 0 ) IC_Codes_20 = 0 ; / 讀取IC卡地址0的數(shù)據(jù)(數(shù)據(jù)為0時(shí)) else IC_Codes_20 = 1 ; / 讀取IC卡地址0的數(shù)據(jù)(數(shù)據(jù)為1時(shí)) delay_nus(27) ; / 延時(shí)27us for ( i = 1 ; i 128 ; i+ ) CLK_1 ; delay_nus(40) ; / IC卡時(shí)鐘脈沖 CLK_0 ; delay_nus(20) ; if ( ( PINB & 0x02 ) = 0 ) IC_Codes_2i = 0 ; / 讀取IC卡地址1127的數(shù)據(jù)(數(shù)據(jù)為0時(shí)) else IC_Codes_2i = 1 ; / 讀取IC卡地址1127的數(shù)據(jù)(數(shù)據(jù)為1時(shí)) delay_nus(20) ; for( i = 0 ; i 16 ; i+ ) / 將128bit 數(shù)據(jù)按順序轉(zhuǎn)換成16個(gè)字節(jié) for ( j = 0 ; j 8 ; j+ ) / 把16個(gè)字節(jié)存儲(chǔ)到數(shù)組IC_Codes_816 IC_Codes_8i |= ( IC_Codes_2k 4 ) ; LCD_en_write() ; / 調(diào)整位置后寫(xiě)高四位數(shù)據(jù) LCD_DATA_PORT &= 0Xf0 ; / 初始化I/O口 LCD_DATA_PORT |= data_temp & 0x0f ; LCD_en_write() ; / 寫(xiě)低四位數(shù)據(jù) else / 如果命令為1則寫(xiě)入命令 LCD_RS_PORT& = LCD_RS ; / RS=0 LCD_DATA_PORT &= 0Xf0 ; / 初始化I/O口 LCD_DATA_PORT |= ( ( command_temp & 0xf0 ) 4 ) ; LCD_en_write() ; / 調(diào)整位置后寫(xiě)高四位命令 LCD_DATA_PORT &= 0xf0 ; / 初始化I/O口 LCD_DATA_PORT |= command_temp & 0x0f ; LCD_en_write() ; / 寫(xiě)低四位命令 4.3.2 鍵盤(pán)掃描程序: unsigned char Key_Scan( void ) / 鍵盤(pán)掃描程序 (返回按鍵值) unsigned char Key = 0 ; / 定義按鍵值變量 PORTD = 0x0f ; / PD0PD3輸出低電平,PD4PD7上拉電阻 DDRD = 0xf0 ; / PD0PD3定義為輸出,PD4PD7定義為輸入 if ( ( PIND & 0x04 ) = 0 ) Key_1 = 1 ; / 讀取相應(yīng)輸入口的電平 else if ( ( PIND & 0x02 ) = 0 ) / 以確定是否有按鍵按下 Key_1 = 2 ; / 并賦予相應(yīng)的Key值 else if ( ( PIND & 0x01 ) = 0 ) Key_1 = 3 ; delay_nms(50) ; / 延時(shí)50ms PORTD = 0xf0 ; / PD4PD7輸出低電平,PD0PD3上拉電阻 DDRD = 0x0f ; / PD4PD7定義為輸出,PD0PD3定義為輸入 if ( ( PIND & 0x80 ) = 0) Key_1 += 0 ; else if ( ( PIND & 0x40 ) =0 ) / 讀取相應(yīng)輸入口的電平 Key_1 += 3 ; else if ( ( PIND & 0x20 ) = 0 ) / 以確定是否有按鍵按下 Key_1 += 6 ; else if ( ( PIND & 0x10 ) = 0 ) / 并賦予相應(yīng)的Key值 Key_1 += 9 ; return Key ; / 返回按鍵值4.4 EEPROM讀寫(xiě)程序 Atmega8芯片內(nèi)集成有512個(gè)字節(jié)的EEPROM,擦寫(xiě)次數(shù)高達(dá)100000次。本系統(tǒng)的全部信息都存儲(chǔ)在此EEPROM內(nèi),包括:登錄密碼、被允許的IC卡信息。所有輸入的數(shù)據(jù)都要與EEPROM內(nèi)的數(shù)據(jù)比較,符合要求的才能被允許。所以此EEPROM在本系統(tǒng)中起
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 文化旅游產(chǎn)業(yè)發(fā)展合同
- 廣東省陽(yáng)江市高新區(qū)2024-2025學(xué)年高一上學(xué)期1月期末地理試題 含解析
- 家電行業(yè)智能家電互聯(lián)互通方案
- 企業(yè)采購(gòu)原材料采購(gòu)協(xié)議
- 水電站建設(shè)運(yùn)營(yíng)合作協(xié)議
- 旅游行業(yè)服務(wù)質(zhì)量保障協(xié)議
- 網(wǎng)絡(luò)科技行業(yè)數(shù)據(jù)安全使用承諾書(shū)
- 企業(yè)員工福利計(jì)劃與服務(wù)支持方案
- 私人教練健身訓(xùn)練合同協(xié)議
- 產(chǎn)品銷售代理合同集
- 電梯日常維護(hù)保養(yǎng)流程與技巧培訓(xùn)
- JJF 2210-2025取水計(jì)量數(shù)據(jù)質(zhì)量控制技術(shù)規(guī)范
- 商業(yè)綜合體物業(yè)管理目標(biāo)及實(shí)施措施
- 環(huán)保局“十三五”規(guī)劃中期評(píng)估報(bào)告
- (一模)日照市2022級(jí)(2025屆)高三校際聯(lián)合考試歷史試卷
- 數(shù)學(xué)口算乘除法練習(xí)題1000道隨時(shí)打印
- 2024浙江寧波朗辰新能源有限公司招聘3人筆試參考題庫(kù)附帶答案詳解
- 2025年四川省高職單招計(jì)算機(jī)類職業(yè)技能測(cè)試題庫(kù)(供參考)
- 2024年01月舟山普陀農(nóng)村商業(yè)銀行2024年春季招考信息筆試歷年參考題庫(kù)附帶答案詳解
- 第22課《陳涉世家》課件(共71張)
- JGJ_T231-2021建筑施工承插型盤(pán)扣式鋼管腳手架安全技術(shù)標(biāo)準(zhǔn)(高清-最新版)
評(píng)論
0/150
提交評(píng)論