畢業(yè)論文-基于ic卡門禁系統(tǒng)【精校排版】_第1頁
已閱讀1頁,還剩35頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、<p>  本科畢業(yè)設(shè)計(論文)</p><p><b> ?。?0 屆)</b></p><p><b>  基于IC卡門禁系統(tǒng)</b></p><p><b>  目 錄</b></p><p><b>  摘要III</b></p

2、><p>  AbstractIV</p><p><b>  前 言1</b></p><p>  第一章 緒論2</p><p>  1.1 研究背景及意義2</p><p>  1.2 國內(nèi)外研究現(xiàn)狀3</p><p>  1.3 門禁系統(tǒng)的構(gòu)成4&

3、lt;/p><p>  1.4 門禁系統(tǒng)的功能4</p><p>  1.5 研究內(nèi)容5</p><p>  第二章 IC卡門禁系統(tǒng)總體分析6</p><p>  2.1 需求分析6</p><p>  2.1.1 脫機門禁系統(tǒng)分析6</p><p>  2.1.2 有線門禁系

4、統(tǒng)分析7</p><p>  2.1.3 無線門禁系統(tǒng)分析7</p><p>  2.2 中心管理軟件功能的制定8</p><p>  2.3 主控芯片8</p><p>  第三章 IC卡門禁系統(tǒng)的硬件設(shè)計11</p><p>  3.1 IC卡系統(tǒng)11</p><p>

5、  3.2  IC卡原理12</p><p>  3.2.1  IC電話卡的復(fù)位12</p><p>  3.2.2  IC電話卡的寫位12</p><p>  3.2.3  IC卡的字節(jié)擦除13</p><p>  3.2.4 IC卡的計數(shù)14</p><p> 

6、 3.3  鍵盤輸入流程14</p><p>  3.4  字符型LCD顯示模塊15</p><p>  第四章 系統(tǒng)軟件設(shè)計16</p><p>  4.1  系統(tǒng)總體理論設(shè)計方框圖16</p><p>  4.2  IC電話卡驗證、顯示及減錢程序16</p><p&g

7、t;  4.3  液晶顯示與鍵盤掃描實驗程序19</p><p>  4.3.1  液晶顯示程序20</p><p>  4.3.2 鍵盤掃描程序:21</p><p>  4.4 EEPROM讀寫程序22</p><p>  第五章 總結(jié)及展望23</p><p>  5.1 論文總

8、結(jié)23</p><p>  5.2 進(jìn)一步研究的內(nèi)容23</p><p><b>  參考文獻(xiàn)24</b></p><p><b>  附 錄25</b></p><p><b>  致 謝30</b></p><p><b>  

9、基于IC卡門禁系統(tǒng)</b></p><p><b>  摘要</b></p><p>  隨著微電子技術(shù)的發(fā)展和社會對服務(wù)行業(yè)自動化的迫切需要,越來越多的場合采用了IC卡門禁系統(tǒng)。當(dāng)前社會生活中使用的IC卡主要為非接觸式的IC卡,非接觸式IC卡是現(xiàn)代信息工程、半導(dǎo)體工業(yè)領(lǐng)域中的一個熱點。本文介紹了智能1C卡網(wǎng)絡(luò)門禁系統(tǒng)的設(shè)計與開發(fā),詳細(xì)分析了系統(tǒng)的硬件設(shè)計

10、和軟件設(shè)計,給出了電路原理圖,以及主要程序設(shè)計的流程圖和程序。</p><p>  隨著感應(yīng)卡技術(shù),生物識別技術(shù)的發(fā)展,門禁系統(tǒng)得到了飛躍式的發(fā)展,出現(xiàn)了感應(yīng)卡式門禁系統(tǒng),指紋門禁系統(tǒng)等各種技術(shù)的系統(tǒng),它們在安全性,方便性,易管理性等方面都各有特長,門禁系統(tǒng)的應(yīng)用領(lǐng)域也越來越廣。</p><p>  關(guān)鍵詞:單片機;IC電話卡讀寫;信息存儲;信息識別</p><p>

11、;  Be Based on IC Card Access Control System </p><p><b>  Abstract</b></p><p>  With the development of the microelectronic technique and the urgent demand of the society for the aut

12、omatic service trade, more and more place uses the gate control system with the IC. At the present day, the non-contact IC has been used more commonly in the society life, which is the hot spot in the areas of the modern

13、 communication engineering and the semi-conductive industry. Next, we will introduce the progress of the intelligent gate control system of the IC and analyze the system of hardw</p><p>  With the developmen

14、t of the technology for the inductive card and the biology identification, the gate control system has a great leap forward including the inductive gate control system, the fingered gate control system and so on, which h

15、ave the advantage in the safety, the convenience and the easier management, leading to more and more wide application.</p><p>  Keywords:singlechip, IC phone card , information storage,information identifica

16、tion</p><p><b>  前 言</b></p><p>  門禁,又稱出入管理控制系統(tǒng)。是一種管理人員進(jìn)出的數(shù)字化管理系統(tǒng).隨著智能化、數(shù)字化信息社會的到來,“卡”已逐漸深入到了人們生活的方方面面,人們正在一步步地適應(yīng)著卡,也漸漸地離不開卡,毫不夸張地說,人類將走向“卡”的世界??ㄊ菍崿F(xiàn)智能化管理和自動化管理工作的一種重要手段。在需要控制人員出入情況的場

17、所,比如人員階段性流動的實驗室,賓館的客房,有特殊需求的保密部門等等,如果使用卡開啟門,代替?zhèn)鹘y(tǒng)的出入證和鑰匙,就能使管理工作實現(xiàn)自動化、智能化。不但用者方便,管理者也方便,而且工作效率和安全性都可以大大地提高。下面介紹的環(huán)保型IC卡門禁系統(tǒng)就是一個安全、可靠的電子門鎖系統(tǒng)。使用該系統(tǒng),可以方便地管理和控制應(yīng)用場所的人員進(jìn)出情況,驗明出入人員的身份和出入權(quán)限。在IC卡應(yīng)用日益廣泛的今天,IC卡門禁系統(tǒng)以其門禁管理的安全、可靠、高效、靈活

18、、方便,已逐步取代其他現(xiàn)有各類門鎖,成為目前門禁系統(tǒng)的主流方式。</p><p><b>  第一章 緒論</b></p><p>  1.1 研究背景及意義</p><p>  智能卡(Intelligent Card,以下簡稱IC卡)門禁系統(tǒng)借助于計算機與電子技術(shù),以用戶IC卡的卡號為依據(jù)控制門的開啟,發(fā)卡系統(tǒng)(中央控制PC機)可將合

19、法卡號(或黑名單)下載給門控器,門控器可將開門記錄(卡號與時間)上傳給中央控制PC機[1]。此類系統(tǒng)可實現(xiàn)密碼和黑名單設(shè)置,可分級、分時控制,也可借助有線網(wǎng)絡(luò),實現(xiàn)各門禁終端的集中管理。與傳統(tǒng)的機械類門鎖相比,其門禁管理的安全性、可靠性、靈活性等方面有明顯的提高,故而在智能樓宇、酒店、政府機關(guān)等部門獲得了廣泛的應(yīng)用。</p><p>  然而門禁系統(tǒng)采用無線傳輸方式,可以節(jié)省時間、人力與布線的費用,但在目前的安防

20、市場上,無線通信在門禁系統(tǒng)上的應(yīng)用卻很少。與需要線纜的門禁系統(tǒng)相比,無線門禁系統(tǒng)的優(yōu)點不言而喻,但目前的無線門禁系統(tǒng)有明顯的缺點。首先是受通訊傳送距離的限制,一般接收器至發(fā)射端室外可以達(dá)600至1000米,室內(nèi)為100至600米,但是現(xiàn)在建筑大多采用鋼筋混凝土結(jié)構(gòu),這會大大降低通訊距離,同時建筑結(jié)構(gòu)的多彎也會影響無線通訊質(zhì)量。其次,無線通訊容易受壞境和周圍事物的影響和干擾,造成通訊的不穩(wěn)定性,這是安全系統(tǒng)的大忌。總之無線門禁的優(yōu)勢在于無

21、線遠(yuǎn)程操作管理方便,而不足之處則在于傳輸速度和穩(wěn)定性又受限于無線網(wǎng)絡(luò),網(wǎng)絡(luò)好,傳輸穩(wěn)定,否則就容易丟失數(shù)據(jù)包。</p><p>  而目前市場上應(yīng)用的無線門禁應(yīng)用主要基于GPRS、GSMN等外部無線網(wǎng)絡(luò),除了無須布線外,其最突出的特點是遠(yuǎn)程操作管理方便,可以隨時監(jiān)測門禁點的變化,并可以實時地反應(yīng)到監(jiān)測中心。而且還能與Internet接軌,永遠(yuǎn)在線。但這些系統(tǒng)由于借助于GPRS和CDMA運營商的短信服務(wù),提高了系統(tǒng)

22、成本,限制了此類系統(tǒng)的應(yīng)用范圍。</p><p>  經(jīng)過對國內(nèi)外研究現(xiàn)狀的了解,從實際需求出發(fā),研究在現(xiàn)有的脫機門禁系統(tǒng)的基礎(chǔ)上進(jìn)行技術(shù)改造,硬件上通過增加無線通信模塊,并編寫IC卡門禁系統(tǒng)無線監(jiān)控管理軟件,設(shè)計出基于無線網(wǎng)絡(luò)的IC卡門禁系統(tǒng)。該方案可以實現(xiàn)各門禁端的實時監(jiān)控,另一方面免去布線之苦,該系統(tǒng)尤其適用于老社區(qū)的智能化改造。</p><p>  為保證數(shù)據(jù)傳輸?shù)挠行院涂煽啃裕?/p>

23、根據(jù)各門禁點位置的特殊性(建筑物內(nèi)各門口位置),利用免費的ISM頻段為載波,保證無線數(shù)據(jù)傳輸?shù)目煽啃?,也是必須解決的關(guān)鍵技術(shù)。陔技術(shù)的解決也可為建筑物內(nèi)的低功耗和低成本無線通信的研究提供參考。</p><p>  能自主研發(fā)出適合中國用戶使用的低成本,高可靠性,不依賴無線通信營運商的的無線門禁系統(tǒng),具有巨大的產(chǎn)業(yè)價值。</p><p>  1.2 國內(nèi)外研究現(xiàn)狀</p>&

24、lt;p>  門禁系統(tǒng)屬于智能弱電系統(tǒng)中的一種安防系統(tǒng)。它作為一種新型現(xiàn)代化安全管理系統(tǒng),集自動識別技術(shù)和現(xiàn)代安全管理措施為一體,涉及電子、機械、光學(xué)、計算機技術(shù)、通訊技術(shù)、生物技術(shù)等諸多新技術(shù)。門禁系統(tǒng)通過在建筑物內(nèi)的主要出入口、電梯廳、設(shè)備控制中心機房、貴重物品的庫房等重要部門的通道口安裝門磁、電控鎖或控制器、讀卡器等控制裝置,由計算機或管理人員在中心控制室監(jiān)控,能夠?qū)Ω魍ǖ揽诘奈恢?、通行對象及通行時間、方向等進(jìn)行實時控制或設(shè)

25、定程序控制,從而實現(xiàn)對出入口的控制。</p><p>  門禁系統(tǒng)是隨著自動識別技術(shù)的發(fā)展而迅速發(fā)展起來的,國外門禁系統(tǒng)的知識品牌有美國的休斯(HID)、西屋(WSE)、洛泰克(NTK),以色列的DDS、英國的集寶等品牌。國內(nèi)從事門禁系統(tǒng)有門吉利、捷順、北京青云等公司。目前,國內(nèi)外研制和使用的門禁系統(tǒng)主要集中在感應(yīng)門禁系統(tǒng)和生物識別門禁系統(tǒng)。在生物識別門禁系統(tǒng)中又以指紋門禁系統(tǒng)應(yīng)用最為廣泛。隨著計算機圖像處理和模

26、式識別理論以及大規(guī)模集成電路技術(shù)的不斷發(fā)展與成熟,指紋自動識別系統(tǒng)的體積不斷縮小,其價格也不斷降低。美國生物識別市場在未來幾年中仍將會保持高速增長的趨勢,縱觀門禁市場發(fā)展,預(yù)計未來1-3 年中國門禁市場的平均增長比例將達(dá)到20%以上。 高級智能型門禁控制系統(tǒng)是當(dāng)前門禁系統(tǒng)的重要發(fā)展方向,高級智能型門禁系統(tǒng)是一種聯(lián)網(wǎng)式門禁系統(tǒng),功能也比較完善。但對于一般的企業(yè)、住宅小區(qū)來說,并不是最理想的選擇。這種門禁系統(tǒng)常用于國防、軍事等單位。

27、</p><p>  隨著計算機的迅速普及與發(fā)展,越來越多的控制設(shè)備逐漸被計算機取代,維護(hù)人員的監(jiān)視和維護(hù)也越來越集中,越來越多的系統(tǒng)逐漸向智能化發(fā)展。由于計算機網(wǎng)絡(luò)的發(fā)展,通過中心或通過一個端點就能對設(shè)備進(jìn)行監(jiān)控與維護(hù)。通過局域網(wǎng)對本地區(qū)的設(shè)備進(jìn)行集中監(jiān)控與維護(hù),可提高系統(tǒng)的可靠性,減少故障的發(fā)生率和處理時間等。</p><p>  隨著智能建筑的推廣和智能小區(qū)的安全防范工作的加強,有必

28、要建立連網(wǎng)門禁系統(tǒng),可見,門禁系統(tǒng)將有更廣闊的發(fā)展空間。</p><p>  1.3 門禁系統(tǒng)的構(gòu)成</p><p>  門禁系統(tǒng)常規(guī)由門禁控制器、門禁讀卡器、卡片、電控鎖、門禁軟件、電源和其他相關(guān)門禁設(shè)備幾部分組成[2]。 門禁控制器:門禁控制器是門禁系統(tǒng)的核心部分,其功能相當(dāng)于計算機的CPU,它負(fù)責(zé)整個系統(tǒng)的輸入、輸出信息的處理和儲存、控制等。它驗證門禁讀卡器輸入信息的可靠性

29、,并根據(jù)出入規(guī)則判斷其有效性,如若有效則對執(zhí)行部件發(fā)出動作信號。門禁控制器性能的好壞直接影響著系統(tǒng)的穩(wěn)定,而系統(tǒng)的穩(wěn)定性直接影響著客戶的生命和財產(chǎn)的安全。 門禁讀卡器:讀取卡片中的數(shù)據(jù)與生物特征信息,并將這些信息傳送到門禁控制器。</p><p>  卡片:門禁系統(tǒng)的開門電子鑰匙,這個《鑰匙》可以是磁卡、IC 卡、ID 卡和其他相關(guān)功能的卡片(卡片上能打印持卡人的個人照片,開門卡、胸卡合二為一)。<

30、/p><p>  電控鎖:門禁系統(tǒng)的執(zhí)行部件,電控鎖通常在斷電時呈開門狀態(tài),以符合消防要求,并配備多種安裝結(jié)構(gòu)類型供客戶選擇使用。按單向的木門、玻璃門、金屬防火門和雙向?qū)﹂_的電動門等不同技術(shù)要求可選取不同類別的電控鎖。</p><p>  門禁軟件:負(fù)責(zé)門禁系統(tǒng)的監(jiān)控、管理、查詢等工作。管理人員可通過調(diào)整可以擴(kuò)展完成巡更、考勤、人員定位等功能。</p><p>  電源

31、和其他相關(guān)門禁設(shè)備:電源是負(fù)責(zé)整個門禁系統(tǒng)的能源,是一個非常重要的組成部分(門禁系統(tǒng)如若無電源,整個門禁系統(tǒng)如同成癱瘓狀態(tài))。其他門禁設(shè)備如出門按鈕,按一下打開開門設(shè)備,適用于對出門無限制的情況;再如門磁,運用于檢測門的安全/開關(guān)狀態(tài)等。</p><p>  1.4 門禁系統(tǒng)的功能</p><p>  任何一種成熟的門禁系統(tǒng),都應(yīng)實現(xiàn)以下基本功能[3]:</p><p

32、>  1.對通道權(quán)限的管理對通道權(quán)限的管理主要有以下幾個方面:</p><p>  (1)進(jìn)出通道的權(quán)限:就是對每個通道設(shè)置那些人可以進(jìn)出哪些人不可以進(jìn)</p><p><b>  出。</b></p><p>  (2)進(jìn)出通道的方式:就是對可以進(jìn)出該通道的人進(jìn)行進(jìn)出方式授權(quán),進(jìn)出</p><p>  方式通常有

33、密碼、讀卡(生物識別)、讀卡+密碼三種方式。</p><p>  (3)進(jìn)出通道的時段:就是設(shè)置進(jìn)出該通道的人在什么時間范圍內(nèi)可以進(jìn)出。2.實時監(jiān)控功能</p><p>  系統(tǒng)管理人員可以微機實時察看每個門區(qū)人員的進(jìn)出情況(同時有照片顯示),每個門區(qū)的狀態(tài)(包括門的開關(guān),各種非正常狀態(tài)報警);也可以在緊急狀態(tài)下打開或關(guān)閉所有的門區(qū)。</p><p>  3.出入記

34、錄的查詢功能</p><p>  系統(tǒng)可以儲存進(jìn)出記錄,可按不同的查詢條件查詢,配備相應(yīng)軟件可實現(xiàn)門禁、巡更、考勤一卡通。</p><p><b>  4.異常報警功能</b></p><p>  在異常情況下(如非法侵入、門超時未關(guān)等)可以實現(xiàn)微機報警或報警器報警。</p><p>  此外,根據(jù)系統(tǒng)的不同門禁系統(tǒng)還可

35、以實現(xiàn)以下特殊功能:</p><p><b>  1.防尾隨功能</b></p><p>  2.消防報警和監(jiān)控聯(lián)動功能</p><p>  3.網(wǎng)絡(luò)設(shè)置管理監(jiān)控功能</p><p><b>  4.邏輯開門功能</b></p><p><b>  1.5 研究內(nèi)

36、容</b></p><p>  本文提出在脫機門禁系統(tǒng)的基礎(chǔ)上增加無線數(shù)傳模塊,實現(xiàn)門禁機的遠(yuǎn)程無線監(jiān)控,</p><p>  其主要研究內(nèi)容如下:</p><p>  構(gòu)建整個系統(tǒng)框架,明確系統(tǒng)要求,提供整體設(shè)計方案;</p><p>  研究適合系統(tǒng)工作環(huán)境的算法;</p><p>  進(jìn)行數(shù)據(jù)收發(fā)的軟

37、硬件設(shè)計,包括與PC機的連接方案;</p><p>  制定中心管理系統(tǒng)需求分析和技術(shù)路線。</p><p>  第二章 IC卡門禁系統(tǒng)總體分析</p><p><b>  2.1 需求分析</b></p><p>  2.1.1 脫機門禁系統(tǒng)分析</p><p>  經(jīng)過市場調(diào)研,調(diào)研結(jié)果

38、發(fā)現(xiàn)國內(nèi)低端市場以圖2-1結(jié)構(gòu)的IC卡門禁系統(tǒng)的開發(fā)和應(yīng)用最為普遍。該系統(tǒng)的中央管理PC機通過RS232串口與IC卡讀寫器通信連接,利用門禁系統(tǒng)管理軟件完成IC卡的初始化,設(shè)置各類IC卡,以及查詢IC卡的開門記錄等卡管理工作。做好的用戶卡可作為開門鑰匙。其易操作,低成本和高穩(wěn)定性成為政府、學(xué)校、酒店等企事業(yè)單位的首選。</p><p>  圖2.1 脫機門禁系統(tǒng)示意圖</p><p> 

39、 但系統(tǒng)也有不足之處。例如:當(dāng)下載密鑰給門禁端時,系統(tǒng)管理用戶需要做三張?zhí)厥獾腎C卡。</p><p>  (1)管理員卡:在下載密鑰前,該卡設(shè)置門禁端為可以進(jìn)行密碼更改狀態(tài)。</p><p>  (2)代理卡:將某門禁端原來的密碼刪除掉。</p><p>  (3)設(shè)碼卡:可將新的密碼寫入控制器。</p><p>  每更改一次密碼,這三張

40、卡必不可少,操作人員必須現(xiàn)場根據(jù)警報燈的指示按規(guī)定步驟寫下新的密碼,任何一步操作錯誤,下載新密鑰都將失敗。</p><p>  該系統(tǒng)還有許多不同功能的IC卡,它們各司其職,如果用戶想查詢某個門禁端的開門記錄,有兩個途徑:制作讀時卡,到門禁端采集開門記錄;拿來用戶卡,讀其存儲的開門時間。</p><p>  這些功能卡給持卡人帶來不便,系統(tǒng)管理軟件的功能項眾多,友好性不強。系統(tǒng)的上層管理軟

41、件與下層終端機只能通過各類功能卡建立監(jiān)管關(guān)系,不能實時采集各門禁端的狀態(tài),下載密鑰方式繁瑣,對系統(tǒng)管理員的要求較高,本文中將其歸類為脫機門禁系統(tǒng)。</p><p>  由于該系統(tǒng)成本相對于其它的具有實時監(jiān)控功能的產(chǎn)品,具有價格低、功耗低,布局靈活等特點,目前還是占據(jù)著大部分市場份額。</p><p>  2.1.2 有線門禁系統(tǒng)分析</p><p>  近幾年來,

42、對實時監(jiān)控要求較高的機構(gòu),多采用有線網(wǎng)絡(luò)門禁系統(tǒng),利用現(xiàn)場總線技術(shù),如RS485、CAN等。該中心管理系統(tǒng)可通過有線方式與各門禁機相互通信數(shù)據(jù),包括控制信號、密碼,開門記錄、實時圖像等信息,本文將其歸類為有線門禁系統(tǒng)。但這些有線網(wǎng)絡(luò)施工布線工作量大,網(wǎng)線易受人為破壞,線路破壞后,故障點不易查找,且易受雷擊和過壓的影響。由于該類產(chǎn)品成本和維護(hù)成本比脫機門禁系統(tǒng)較高,因此,有線門禁系統(tǒng)目前還只占有少數(shù)市場份額。</p><

43、;p>  2.1.3 無線門禁系統(tǒng)分析</p><p>  在國內(nèi)少數(shù)廠商,廣州翼峰公司和易藍(lán)斯特電子科技有限公司的解決案為門禁+無線GPRS/CDMA+中心管理系統(tǒng)+中心數(shù)據(jù)庫。但該系統(tǒng)必須借助與聯(lián)通,移動公司的短信模塊業(yè)務(wù),提高了系統(tǒng)成本,增加了維護(hù)費用。</p><p>  美國的KERI無線門禁系統(tǒng)是在有線門禁端的基礎(chǔ)上通過安裝工作于902—925Mt的無線數(shù)傳模塊的方式進(jìn)

44、行系統(tǒng)改造,但該系統(tǒng)并非獨立的無線組網(wǎng)系統(tǒng)。</p><p>  美國.ISONAS公司在2001年推出了基于TCP/IP協(xié)議的的門禁卡。2005年ISONAS將802.1lb無線通信性能連接到產(chǎn)品上。這種系統(tǒng)可以應(yīng)用ISONAS的IT軟件,在網(wǎng)絡(luò)上運行。而802.1 1b傳輸格式還可以使之將讀卡器的無線版本連接到用戶現(xiàn)有的設(shè)施上。而且,在使用900MHz通訊信號的情況下,信號傳輸還可以采用數(shù)據(jù)加密技術(shù)。<

45、/p><p>  本文介紹的門禁系統(tǒng)使用的IC卡就是電信公司的IC電話卡,無論IC電話卡內(nèi)有無余額都能做為門禁的IC卡使用,完全符合環(huán)保的概念,并能很好的解決IC卡成本高和難購買的問題。</p><p>  2.2 中心管理軟件功能的制定</p><p>  本系統(tǒng)主要按照中心管理軟件的界面,選擇軟硬件解決方案,特別是通信協(xié)議的制定。因此系統(tǒng)先確定其功能界面如下:&l

46、t;/p><p>  管理中心計算機上的軟件用可視化開發(fā)平臺VB6.0來開發(fā)。數(shù)據(jù)庫采用Microsoft Access 2000。根據(jù)門禁系統(tǒng)的功能要求,該軟件完成數(shù)據(jù)庫的建立,更改、刪除和查詢,參數(shù)的設(shè)置,下傳數(shù)據(jù)和參數(shù)給門禁終端機,從終端機上讀取數(shù)據(jù)等功能[4]。</p><p>  ◆必須輸入正確密碼才能進(jìn)入系統(tǒng)菜單設(shè)置各項功能,如:增加新的IC卡刪除已有的IC卡、修改密碼等。<

47、/p><p>  ◆能增加新的IC卡,最多可以發(fā)卡83張。</p><p>  ◆能刪除已有的IC卡</p><p>  ◆能識別IC卡并提示卡號</p><p>  ◆能識別不正確的插卡并提示</p><p>  ◆能讀出IC電話卡內(nèi)的余額,并能按設(shè)置減去卡內(nèi)相應(yīng)的余額(為防止人為誤操作,每次最高只能減去0.9元)<

48、;/p><p>  ◆以綠燈亮代表開門信號。</p><p><b>  2.3 主控芯片</b></p><p>  ATmega8是ATMEL公司推出的一款新型AVRV高檔單片機。在AVR家族中,Atmega8是一種非常特殊的單片機,它的芯片內(nèi)部集成了較大容量的存儲器和豐富強大的硬件接口電路,具備AVR高檔單片機MEGA系列的全部性能和特點。

49、Atmega8是一款采用低功耗CMOS工藝生產(chǎn)的基于AVR RISC結(jié)構(gòu)的8位單片機。AVR單片機的核心是將32個工作寄存器和豐富的指令集聯(lián)結(jié)在一起,所有的工作寄存器都與ALU(算術(shù)邏輯單元)直接相連,實現(xiàn)了在一個時鐘周期內(nèi)執(zhí)行一條指令同時訪問(讀寫)兩個獨立寄存器的操作。這種結(jié)構(gòu)提高了全碼效率,使得大部分指令的執(zhí)行時間僅為一個時鐘周期。因此,Atmega8可以達(dá)到接近1MIPS/MHz的性能,運行速度比普通CISC單片機高出10倍。&

50、lt;/p><p>  Atmega8的部分主要性能[5]如下:</p><p>  ● 高性能、低功耗的8位AVR微控制器,先進(jìn)的RISC精簡指令集結(jié)構(gòu)</p><p>  ◇ 130條功能強大的指令,大多數(shù)為單周期指令</p><p>  ◇ 32個8位通用工作寄存器</p><p>  

51、◇ 工作在16MHz時,具有16MIPS的性能</p><p>  ◇ 片內(nèi)集成硬件乘法器(執(zhí)行速度為2個時鐘周期)</p><p>  ● 片內(nèi)集成了較大容量的非易失性程序和數(shù)據(jù)存儲器以及工作存儲器</p><p>  ◇ 8K字節(jié)的Flash程序存儲器,擦寫次數(shù):>10000次</p><p>

52、;  ◇ 支持可在線編程(IPS)、可在應(yīng)用自編程(IAP)</p><p>  ◇ 帶有獨立加密位的可先BOOT區(qū),可通過BOOT區(qū)內(nèi)的引導(dǎo)程序區(qū)(用戶自己寫入)來實現(xiàn)IPA編程。</p><p>  ◇ 512個字節(jié)的EEPROM,擦寫次數(shù):100000次</p><p>  ◇ 1K字節(jié)內(nèi)部SRAM</p>

53、<p>  ◇ 可編程的程序加密位</p><p>  ● 特殊的微控制器性能</p><p>  ◇ 可控制的上電復(fù)位延時電路和可編程的欠電壓檢測電路</p><p>  ◇ 內(nèi)部集成了可選擇頻率(1/2/4/8MHz)、可校準(zhǔn)的RC振蕩器、外部和內(nèi)部的中斷源18個</p><p>  ◇

54、 最多23個可編程I/O口,可任意定義I/O的輸入/輸出方向;輸出時為推挽輸出,驅(qū)動能力強,可直接驅(qū)動LED等大電流負(fù)載;輸入口可定義為三態(tài)輸入,可以設(shè)定帶內(nèi)部上拉電阻,省去外接上拉電阻</p><p>  ◇ 寬工作電壓:2.7V~5.5V(Atmega8L)</p><p>  本系統(tǒng)使用Atmega8作為主控芯片,主要作用為:使用其I/O口讀寫IC電話卡內(nèi)的全部信

55、息,并將卡內(nèi)的全部信息存儲在Atmega8的EEPROM內(nèi),一張卡占用6個字節(jié),一共可存儲83張IC電話卡的信息,存儲地址為EEPROM(0~497);驗證插入的IC卡是否允許通行,可通行則綠燈亮;驗證輸入的登錄密碼是否與EEPROM(地址為:504~511)內(nèi)存儲的密碼相同;檢測3x4鍵盤是否有按鍵按下;將各類信息顯示到液晶1602,以進(jìn)行人機交換操作。 </p><p>  第三章 IC卡門禁系統(tǒng)的硬件設(shè)計

56、</p><p>  3.1 IC卡系統(tǒng)</p><p>  IC電話卡[6]一般采用8腳封裝和6腳封裝,如果采用6腳封裝的則無下面兩個空腳。它的存儲單元分布 :64位EPROM(8字節(jié))寫保護(hù)區(qū)  芯片數(shù)據(jù)代碼區(qū)  發(fā)行商數(shù)據(jù)代碼區(qū),40位EEPROM(5字節(jié))預(yù)置值計數(shù)區(qū)24位為1(3字節(jié))共16字節(jié)數(shù)據(jù),如圖3.1所示:</p><p>

57、  圖3-1  IC卡存儲單元分布圖</p><p>  IC電話卡消費計數(shù)的單位價格是根據(jù)各種應(yīng)用系統(tǒng)設(shè)定的,電話機以每分鐘產(chǎn)生一個扣費脈沖信號,由于扣費值是由當(dāng)?shù)豂C電話管理系統(tǒng)設(shè)定的。一般IC電話卡的引腳如圖3.2所示:</p><p>  圖3.2  IC電話卡引腳圖 </p><p> ?。ㄕf明)1:VCC-電源+5V 2

58、:Resct-復(fù)位 3:clock-時鐘</p><p>  4:NC-空 5:GND-地 6:NC-空 7:I/O-數(shù)據(jù) 8:NC-空</p><p>  3.2  IC卡原理                &

59、#160;  </p><p>  3.2.1  IC電話卡的復(fù)位</p><p>  復(fù)位:要使地址計數(shù)器復(fù)位“0”,先讓Resct復(fù)位端由“0”變成“1”,然后跟著一個Clock脈沖從“0”變成“1”再降回“0”電平,Resct復(fù)位端再至“0”,把Clock脈沖包住,隨著Reset端變低,地址0單元的數(shù)據(jù)從I/O上輸出[7]。對應(yīng) Clock端的每個脈沖,其上升沿使

60、地址計數(shù)器增加。其下降沿使被選通地址單元的數(shù)據(jù)從I/O上輸出。地址計數(shù)器增加到127后返回到0,如圖3.3:</p><p>  圖3.3  復(fù)位時序圖</p><p>  3.2.2  IC電話卡的寫位</p><p>  寫位: 在Reset和Clk端均為低的情況下,如果某地址單元允許寫操作(64-103位,且該位必需為1),則Re

61、set端上的一個脈沖(即從低到高再回低)將允許芯片進(jìn)行位寫操作。在緊跟著的時鐘脈沖期間執(zhí)行寫操作,調(diào)整寫操作維持時間至少10ms,在這個CLK脈沖期間,地址計數(shù)器不會增加,在CLK寫脈沖下降沿,數(shù)據(jù)0從I/O端輸出。從Reset脈沖的上升沿到CLK寫脈沖的下降沿期間,I/O端的數(shù)據(jù)是無效的。在下一個才CLK脈沖,且Reset為低時,地址計數(shù)器又增1,并在下降沿時,把選通的地址單元的數(shù)據(jù)送到I/O端。如圖3.4的時序圖所示:</p&

62、gt;<p>  圖3.4  寫位時序圖</p><p>  3.2.3  IC卡的字節(jié)擦除 </p><p>  字節(jié)擦除: 對位地址72-103的字節(jié)單元來說,只要在每個字節(jié)的前面一位進(jìn)行一次正常的寫操作,就可以對此字節(jié)后一字節(jié)進(jìn)行字節(jié)擦除操作。也就是說,每向高一字節(jié)進(jìn)行借位(即寫一位0),緊接著的擦除時序可以對后一字節(jié)按字節(jié)擦除(即整個字節(jié)

63、寫1)。被擦除的字節(jié)總是比借位寫的字節(jié)低一字節(jié)。從以下時序圖可以看出,首先,完成一個“位寫”操作,在CLK的寫脈沖結(jié)束后,在CLK為低電平時,在發(fā)一個Reset脈沖即啟動字節(jié)擦除操作。在第二個CLK脈沖完成字節(jié)擦除,脈沖維持時間整定為擦除周期時間(至少1ms)。芯片邏輯控制電路驗證了借位寫確已完成從“1”寫“0”后,才擦除其低位字節(jié)。從Reset的上升沿到擦除操作的CLK脈沖的下降沿,I/O腳上的數(shù)據(jù)無效。地址計數(shù)器仍然停留在借位寫的地

64、址上。如圖3.5的時序圖所示:</p><p>  圖3.5  字節(jié)擦除時序圖</p><p>  3.2.4 IC卡的計數(shù) </p><p>  計數(shù)方法:在67-103地址單元中分為5個不可重置8單元計數(shù)器,芯片初始化時,72-103地址單元所對應(yīng)的4個較低的8單元計數(shù)器中可以放0到8個“1”而67-71地址單元所對應(yīng)的第5個計數(shù)器可以放0

65、到5個“1”。所謂計數(shù)一次,就是將一個單元從“1”寫成“0”。一個計數(shù)器中8位全為“0”后,要計數(shù),需借位操作,即將高位計數(shù)器的一位從“1”寫成“0”而相應(yīng)其低位計數(shù)器整個字節(jié)從“0”擦除成“1”??梢?個8單元計數(shù)器如此逐一遞減,其最大計數(shù)為8的4次方=4096。第5個計數(shù)器中5個單元因處在最高位只能被寫“0”無法擦成“1”。因此只能計數(shù)5次。故芯片總計數(shù)為5X4096=20480。當(dāng)全部計數(shù)單元(地址67-103)都被寫成“0”時,

66、卡片就用完了,不過,芯片出廠初始化時,初置的計數(shù)值由國家不同和卡片面值不同而不同,如100元卡初置計數(shù)為1000如圖3.6所示:                            </p><p>  圖3.6  IC卡計數(shù)方法圖</p><p>  3.3  鍵盤輸入流程</p><p>  3x4行列式鍵盤 2本系統(tǒng)使用4x3行

67、列式鍵盤控制門禁系統(tǒng),從左到右(從上到下)分別為:按鍵“1”, 按鍵“2”, 按鍵“3”, 按鍵“4”, 按鍵“5”, 按鍵“6”, 按鍵“7”, 按鍵“8”, 按鍵“9”, 按鍵“0”, 按鍵“取消”, 按鍵“確定”。鍵盤輸入信息的主要過程下:</p><p> ?。?)CPU判斷是否有鍵按下。首先單片機向列掃描口PD0~PD2輸出 全為0的掃描碼F0H,然后從行檢測口PD4~PD7輸入行檢測信號,中要有一列信

68、號不為1,即PD口不為F0H,則表示有鍵按下。  </p><p> ?。?)查詢按下鍵所在的行、列位置。單片機將得到的信號取反,PD4~PD7口中為了的位便是按鍵所在的列,確定行位置原理相同。</p><p> ?。?)鍵的抖動處理。當(dāng)用手按下一個鍵時,往往會出現(xiàn)所按鍵在閉合位置和斷開位置之間跳幾下才穩(wěn)定到閉合狀態(tài)的情況;在釋放一個鍵時,也會出現(xiàn)類似的情況這就是鍵抖動。抖動的持

69、續(xù)時間不一,通常不會大于10ms。若抖動問題不解決,就會引起對閉合鍵的多次讀入。解決鍵抖動最方便的方法就是:當(dāng)發(fā)現(xiàn)有鍵按下后,不要立即進(jìn)行逐行掃描,而是延時10ms后現(xiàn)進(jìn)行。由于鍵按下的時間持續(xù)上百ms,延時后再掃描也不遲。</p><p>  3.4  字符型LCD顯示模塊 </p><p>  液晶顯示器以其微功耗、體積小、重量輕、超薄型等諸多其他顯示器件無法比擬的

70、優(yōu)點,在袖珍式登記表和低功耗系統(tǒng)中,得到越來越廣泛的應(yīng)用。本系統(tǒng)使用液晶顯示模塊作為人機交換界面顯示,采用四線接法,大大節(jié)省了單片機的I/O口。</p><p>  第四章 系統(tǒng)軟件設(shè)計</p><p>  4.1  系統(tǒng)總體理論設(shè)計方框圖 </p><p>  本系統(tǒng)最主要的部分是軟件,所有的控制都是由單片機程序控制實現(xiàn)。上電開機后,LCD顯

71、示器第一行顯示“Jason  Janito”,第二行顯“Total : 卡數(shù)/83”;然后門禁系統(tǒng)進(jìn)入等待狀態(tài),等待期間不斷檢測是否有卡插入或按鍵按下,若有卡插入則驗證該卡,若有鍵按下,在輸入正確密碼后進(jìn)入設(shè)置菜單[8]。整體操作流程圖如圖4.1所示:</p><p>  4.2  IC電話卡驗證、顯示及減錢程序</p><p>  當(dāng)系統(tǒng)檢測到有IC卡插入時,CPU

72、Atmega8首先將IC卡內(nèi)的全部數(shù)據(jù)讀出并存儲在數(shù)組IC_Codes_8[16]內(nèi),然后將數(shù)組與預(yù)先存儲在EEPROM中的IC卡數(shù)據(jù)作比較,如果全部數(shù)據(jù)相同則表示該卡允許放行,以綠燈提示,并將IC電話卡內(nèi)的余額顯示在液晶顯示器上;如果此時按下確定鍵,則進(jìn)入IC卡減錢程序,在提示處輸入要減去的金額(每次最多可減0.9元),按下確定鍵即可。部分程序如下[9]:</p><p>  void Read_Card (

73、void )         // 讀卡程序(讀取IC電話卡內(nèi)的數(shù)據(jù)){   unsigned char  I = 0 , j = 0 , k = 0 ,    // 循環(huán)用變量  </p><p>  IC_Codes_2[128] = { 0 }

74、;   // IC卡內(nèi)128bit數(shù)據(jù)   for( i = 0 ; i < 16 ; i++ )   {      IC_Codes_8[i] = 0 ;     // 上次讀卡的全局變量數(shù)據(jù)清除 }   Reset_0 ; 

75、60;                   // IC電話卡復(fù)位   CLK_0 ;             

76、0;     delay_nms(10) ;                      // 延時10ms</p><p>  SHAPE\* MERGEFORM

77、AT </p><p>  圖4.1  整體流程圖</p><p>  硬件系統(tǒng)原理圖如圖4.2:</p><p>  圖4.2 系統(tǒng)原理圖</p><p>  Reset_1 ;             

78、0;//為使地址計數(shù)器復(fù)位到0,先讓Reset端變高</p><p>  delay_nus(8) ;        //  緊跟著一個Clock脈沖(從低到高再降到0)   CLK_1 ;           &

79、#160;//  Reset重新變低,把Clock脈沖包住。隨著Reset   delay_nus(44) ;       // 端變低,地址0單元的數(shù)據(jù)從I/O上輸出。對應(yīng)</p><p>  CLK_0 ;         

80、60;  // Clock端的每個脈沖,其上升沿使地址計數(shù)器增加   delay_nus(8) ;       // 其下降沿使被選通地址單元的數(shù)據(jù)從I/O上輸出   Reset_0 ;          

81、   //  地址計數(shù)器增加到127后返回到0。   delay_nus(5) ;          if ( ( PINB & 0x02 ) == 0 )   {         IC_Cod

82、es_2[0] = 0 ;    // 讀取IC卡地址0的數(shù)據(jù)(數(shù)據(jù)為0時   }   else                        

83、{                              IC_Codes_2[0] = 1 ;   // 讀取IC卡地址0

84、的數(shù)據(jù)(數(shù)據(jù)為1時)   }   delay_nus(27) ;                      // 延時27us   for ( i = 1 ; i

85、< 128 ; i++ )   {      CLK_1 ;      delay_nus(40) ; </p><p>  }         delay_nus(20) ;   

86、;}   for( i = 0 ; i < 16 ; i++ ) // 將128bit 數(shù)據(jù)按順序轉(zhuǎn)換成16個字節(jié)</p><p>  {                    

87、0;for ( j = 0 ; j < 8 ; j++ )              {                  //  把16個字

88、節(jié)存儲到數(shù)組IC_Codes_8[16]         IC_Codes_8[i] |= ( IC_Codes_2[k] << ( 8 - j ) ) ;             k++ ;   &#

89、160;     }   }}</p><p>  4.3  液晶顯示與鍵盤掃描實驗程序</p><p>  液晶顯示與鍵盤掃描程序單片機應(yīng)用系統(tǒng)通常都需要進(jìn)行人—機對話。其中包括人對應(yīng)用系統(tǒng)的狀態(tài)干預(yù)與數(shù)據(jù)輸入,應(yīng)用系統(tǒng)向操作者顯示狀態(tài)與運行結(jié)果等信息。顯示器與鍵盤是單片機應(yīng)用系統(tǒng)中最常用的人—機交互設(shè)備。本系統(tǒng)應(yīng)用到的液晶

90、顯示與鍵盤掃描程序[10]如下:</p><p>  4.3.1  液晶顯示程序</p><p><b>  主要部分:</b></p><p>  // 液晶顯示器命令、數(shù)據(jù)寫入函數(shù)  // 命令形參 // 數(shù)據(jù)行參    </p><

91、;p>  void LCD_write_char( unsigned command , unsigned data ) {   unsigned command_temp , data_temp ;       // 變量定義   command_temp = command ;    

92、; //  命令傳遞   data_temp = data ;             //  數(shù)據(jù)傳遞   delay_nus(16) ;         

93、0;        //  延時16us   if( command == 0 )         //   如果命令為0則寫入數(shù)據(jù)   {      LCD_RS

94、_PORT |= LCD_RS ;  // RS=1      LCD_DATA_PORT& = 0Xf0 ;         // 初始化I/O口      LCD_DATA_PORT |= ( ( data_temp & 0x

95、f0 ) >> 4 ) ;        LCD_en_write() ;         //  調(diào)整位置后寫高四位數(shù)據(jù)      LCD_DAT</p><p>  4.3.2 鍵盤掃描程序:&#

96、160; </p><p>  unsigned char Key_Scan( void )    // 鍵盤掃描程序  (返回按鍵值){   unsigned char Key = 0 ;    //   定義按鍵值變量   PORTD = 0x0f ;   

97、;      //  PD0~PD3輸出低電平,PD4~PD7上拉電阻   DDRD  = 0xf0 ;        //  PD0~PD3定義為輸出,PD4~PD7定義為輸   if ( ( PIND &

98、 0x04 ) == 0 )           Key_1 = 1 ;                     //   讀取

99、相應(yīng)輸入口的電平   else if ( ( PIND & 0x02 ) == 0 )     //   以確定是否有按鍵按下      Key_1 = 2 ;           

100、60;          //   并賦予相應(yīng)的Key值   else if ( ( PIND & 0x01 ) == 0 )      Key_1 = 3 ;   delay_nms(50) ;  

101、60;                 </p><p>  4.4 EEPROM讀寫程序  </p><p>  Atmega8芯片內(nèi)集成有512個字節(jié)的EEPROM,擦寫次數(shù)高達(dá)100000次。本系統(tǒng)的全部信

102、息都存儲在此EEPROM內(nèi),包括:登錄密碼、被允許的IC卡信息。所有輸入的數(shù)據(jù)都要與EEPROM內(nèi)的數(shù)據(jù)比較,符合要求的才能被允許。所以此EEPROM在本系統(tǒng)中起著到關(guān)重要的作用。EEPROM的讀寫程序如下:</p><p>  // 寫EEPROM程序      // 寫入的地址形參    // 寫入的數(shù)據(jù)據(jù)  

103、    </p><p>  void EEPROM_write( unsigned int uiAddress ,  unsigned char ucData {   while(EECR & ( 1 << EEWE ) ) ;       // 等待上一次寫操作結(jié)束

104、   EEAR = uiAddress ;              //地址傳遞   EEDR = ucData ;             &#

105、160;       //數(shù)據(jù)傳遞   EECR |= ( 1 << EEMWE ) ;          //置位EEMWE   EECR |= ( 1 << EEWE ) ;   

106、;       //置位EEWE以啟動寫操作}//讀EEPROM程序            //讀出的地址形參{   while ( EECR  &  ( 1 << EEWE ) ) ;  &

107、#160;    // 等待上一次寫操作結(jié)束   EEAR = uiAddress ;              //地址傳遞   EECR |= ( 1 << EERE ) ;    

108、;        //設(shè)置EERE以啟動讀操作 </p><p>  第五章 總結(jié)及展望</p><p><b>  5.1 論文總結(jié)</b></p><p>  本課題涉及適合中國國情的技術(shù)創(chuàng)新,主要研究和設(shè)計低成本、低功耗、高可靠性的基于無線數(shù)傳

109、模塊的IC卡門禁系統(tǒng)。</p><p>  目前國外已有與Internet網(wǎng)絡(luò)連接基于的TCP/IP協(xié)議的的無線門禁卡,該系統(tǒng)的使用必須依靠進(jìn)口。國內(nèi)僅有的解決方案為:門禁+無線GPRS/CDMA+中心管理系統(tǒng)+中心數(shù)據(jù)庫,但該系統(tǒng)必須依靠移動/聯(lián)通的短信業(yè)務(wù),提高了系統(tǒng)的維護(hù)成本,只有少數(shù)用戶采用。</p><p>  課題是完全獨立的無線片上系統(tǒng),通過增加無線模塊nRF905,使中心管

110、理系統(tǒng)與各個門禁終端之間形成單獨無線局域網(wǎng)絡(luò),實現(xiàn)各門禁點的監(jiān)管。論文涉及了該系統(tǒng)的軟硬件設(shè)計和部分通信協(xié)議。</p><p>  由于采用通用元件完成系統(tǒng)的門禁和無線監(jiān)管功能,因此該系統(tǒng)的特點是低功耗、低成本、易于移植、因此系統(tǒng)尤其利于老社區(qū)的智能化改造,具有較大的產(chǎn)業(yè)價值。</p><p>  5.2 進(jìn)一步研究的內(nèi)容</p><p>  (1)開發(fā)的硬件系統(tǒng)

111、,只是對主要功能模塊進(jìn)行了仿真,很多參數(shù)設(shè)定留有較大余地,以便于在后期調(diào)試中查找問題。在對硬件系統(tǒng)完成以及進(jìn)行具體測試的基礎(chǔ)后,可再進(jìn)一步提高系統(tǒng)的兼容性。</p><p>  (2)在今后的研究中,可進(jìn)行有效壓縮,提高系統(tǒng)的通信效率。</p><p>  (3)系統(tǒng)全部能的實現(xiàn)仍需大量的工作,例如按照軟件需求,完成各個功能,成為一款產(chǎn)品,真正實現(xiàn)產(chǎn)業(yè)化,創(chuàng)造利潤。</p>

112、<p><b>  參考文獻(xiàn)</b></p><p>  [1] 張國耀.淺談門禁系統(tǒng)[J].江西建材科研設(shè)計院,2005(2):38~39.</p><p>  [2] 丁睿.感應(yīng)式讀卡器--門禁系統(tǒng)的使用趨勢[J].1994:41.</p><p>  [3] 賀利芳,范俊波.感應(yīng)卡門禁系統(tǒng)的研究與實現(xiàn)[J]. 信息技術(shù),2004

113、,28(4):73~75.</p><p>  [4] 林志鋒,梁志坤,王澤芳.用ATmega8單片機設(shè)計串行編程器[J].現(xiàn)代電子技術(shù),2003(15):77~79.</p><p>  [5] 呂曉龍,蔣學(xué)程,段海慶.基于ATmega8 的多路任意波形信號發(fā)生器的研制[J].應(yīng)用科技2005,32(8):23~25.</p><p>  [6] 吳克忠.IC卡技

114、術(shù)[J]. 電子部六所,1994:19~22.</p><p>  [7] 陳鈕龍,姜建國.門禁系統(tǒng)中通信平臺的應(yīng)用[J]. 電子科技,2005(5):24~27.</p><p>  [8] 夏月平.基于單片機門禁系統(tǒng)的電路設(shè)計[J]. 電腦知識與技術(shù),2010,30(6):1~2.</p><p>  [9] 郝云鵬. AVR單片機C語言總綱[J]. 鞍山師范學(xué)

115、院學(xué)報,2008, 10 ( 4 ) : 59 ~ 62.</p><p>  [10] 潘冰怡.單片機C語言應(yīng)用程序的開發(fā)[J].浙江電力,1997(5):2~5.</p><p><b>  附 錄</b></p><p>  附錄一:ATmega8/8L 介紹</p><p>  附錄二:ATmega8串口程序&l

116、t;/p><p>  //使用AVR Studio 4.12+WinAVR編輯</p><p>  //create by arcdevil @20051224</p><p>  #include <avr/io.h></p><p>  #include <avr/delay.h></p><p

117、>  #include <avr/signal.h></p><p>  #include <avr/interrypt.h></p><p><b>  //常量定義</b></p><p>  #define BAUDRATE 9600//波特率</p><p>  #defi

118、ne F_CPU 3686400 //晶振頻率3.6864MHz</p><p>  unsigned char sec,min,hour:</p><p>  unsigned int i=0:</p><p>  unsigned char temp:</p><p><b>  //向串口寫數(shù)</b></

119、p><p>  void put_c(unsigned char c)</p><p><b>  { </b></p><p>  while(!(UCSRA&(1<<UDRE))):</p><p><b>  UDR=c:</b></p><p><b&g

120、t;  }</b></p><p><b>  //從串口讀數(shù)</b></p><p>  unsigned char USART_Receive(void)</p><p><b>  {</b></p><p><b>  // 等待接受標(biāo)志</b></p

121、><p>  while(!(UCSRA&(1<<RXC))):</p><p><b>  //讀接受數(shù)據(jù)</b></p><p>  return UDR:</p><p><b>  }</b></p><p><b>  //向串口寫字符串</

122、b></p><p>  void put_s(unsignes char *ptr)</p><p>  {while(*ptr){put_c(ptr++):</p><p><b>  }</b></p><p>  put_c(0x0D)://回車</p><p>  put_c(0x

123、0A)://換行</p><p><b> ?。?lt;/b></p><p>  //串口以BCD傳送16進(jìn)數(shù)</p><p>  void dip_c(unsigned char c)</p><p><b>  {</b></p><p>  unsigned char t:

124、</p><p><b>  t=c/10:</b></p><p>  put_c(t+0x30):</p><p><b>  t=c%10:</b></p><p>  put_c(t+0x30):</p><p><b>  }</b></

125、p><p>  //初始化timer0</p><p>  void timer0_init(void)</p><p><b>  {</b></p><p>  TCCR0=0x05:</p><p>  TCNT0=0x4c://定時時間50ms</p><p>  ti

126、mer_enable_int(_BV(TOIEO)):</p><p><b>  }</b></p><p><b>  //50ms中斷</b></p><p>  SIGNAL(SIG_OVERFLOWO)</p><p><b>  {</b></p>&

127、lt;p>  TCNTO=0x4c:</p><p>  if(++i==20)</p><p><b>  {</b></p><p><b>  i=0:</b></p><p>  if(++sec==60)</p><p><b>  {</b&

128、gt;</p><p><b>  sec=0:</b></p><p>  if(++min==60)</p><p><b>  {</b></p><p><b>  min=0:</b></p><p>  if(++hour=24)</p

129、><p><b>  { </b></p><p><b>  hour=0:</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b><

130、/p><p>  put_c(0x0d):</p><p>  dip_c(hour):</p><p>  put_c(':'):</p><p>  dip_c(min):</p><p>  put_c(':'):</p><p>  dip_c(sec):&l

131、t;/p><p><b>  }</b></p><p><b>  }</b></p><p>  //USART 初始化</p><p>  void init_USART(void)</p><p><b>  {</b></p><

132、;p>  //USART 9600 8,n,1 PC上位機軟件(超級終端等)也要設(shè)成同樣的設(shè)置才能通訊</p><p>  UCSRC=(1<<URSEL)|0x06: </p><p>  //異步,8位數(shù)據(jù),無奇偶效驗,一個停止位,無倍數(shù)</p><p>  //U2X=0時的公式計算</p><p>  UBRRL=

133、(F_CPU/BAUDRATE)%256:</p><p>  UBRRL=(F_CPU/BAUDRATE)/256:</p><p>  UCSRA=0x00:</p><p>  //UCSRB=(1<<RXCIE)|(1<<RXEN)|(1<<TXEN):</p><p>  //使能接受中斷,使能接

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論