版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 本科生畢業(yè)論文(設(shè)計(jì))</p><p> 題目: IC卡電子門鎖控制系統(tǒng)硬件設(shè)計(jì)與實(shí)現(xiàn)</p><p> IC卡電子門鎖控制系統(tǒng)硬件設(shè)計(jì)與實(shí)現(xiàn)</p><p> 摘要:隨著科技的進(jìn)步,以單片機(jī)為核心的自動(dòng)門鎖控制系統(tǒng)已經(jīng)開(kāi)始進(jìn)入了人們的生活。本論文著重闡述了以MCS-51系列單片機(jī)為核心,通過(guò)可編程并行接口8255直接控制LCD液晶顯示
2、器模塊及鍵盤掃描,并與接觸式IC卡讀寫技術(shù)相結(jié)合的系統(tǒng)。為保證門鎖使用的安全性,系統(tǒng)自動(dòng)比較IC卡密碼和用戶輸入密碼,若輸入的密碼與系統(tǒng)讀出的IC卡密碼相同,門鎖自動(dòng)開(kāi)啟;若連續(xù)輸入三次錯(cuò)誤的密碼,系統(tǒng)自動(dòng)停止此卡的使用,并及時(shí)將報(bào)警信號(hào)通過(guò)RS-485串行通信總線傳往主控臺(tái)。本設(shè)計(jì)的優(yōu)點(diǎn)是硬件電路簡(jiǎn)單,軟件功能完善,控制系統(tǒng)可靠,具有一定的實(shí)用價(jià)值。該系統(tǒng)拓展后,可用于其他智能家電的控制,具有好的應(yīng)用前景。</p>&l
3、t;p> 關(guān)鍵詞:MCS-51單片機(jī),接觸式IC卡,LCD顯示器,電子門鎖</p><p> The hardware design and realization of IC card electronic door locks controlling system</p><p> Abstract:With the progress of technology, the
4、automatic door locks control system which takes the the Single Micro Chip Computer as the core is stepping into people's lives. This paper focuses on the system which takes the series Single Micro Chip Computer MCS-5
5、1 as the core, which controls Liquid Crystal Display modules and keyboard scanning through the 8255 chip directly, and contacts the IC card read-write technology. In order to guarantee the security of the door lock's
6、 use, the system desig</p><p> Key words : Single Chip Micro Computer, IC cards, Liquid Crystal Display, Electronic door locks</p><p><b> 目 錄</b></p><p> 1 系統(tǒng)分析(1
7、)</p><p> 1.1 系統(tǒng)研究的可行性(1)</p><p> 1.2 需求分析(1)</p><p> 1.3 系統(tǒng)整體設(shè)計(jì)方案(2)</p><p> 1.4 系統(tǒng)集成(3)</p><p> 2 系統(tǒng)硬件整體設(shè)計(jì)方案(3)</p><p> 2.1 所需功能模
8、塊(3)</p><p> 2.2 外圍互連的資源分配示意圖(3)</p><p> 3 MCS-51系列單片機(jī)(4)</p><p> 3.1 MCS-51單片機(jī)簡(jiǎn)介(4)</p><p> 3.2 MCS-51單片機(jī)的基本結(jié)構(gòu)(4)</p><p> 3.2.1 MCS-51單片機(jī)的基本組成(
9、4)</p><p> 3.2.2 MCS-51單片機(jī)硬件結(jié)構(gòu)特點(diǎn)(5)</p><p> 3.3 MCS-51單片機(jī)的引腳及片外總線結(jié)構(gòu)(6)</p><p> 3.3.1 MCS-51單片機(jī)芯片引腳描述(6)</p><p> 3.3.2 MCS-51單片機(jī)外總線結(jié)構(gòu)(6)</p><p> 3.
10、4 MCS-51與直接控制的外圍功能模塊互連的資源分配(6)</p><p> 4 接觸式IC卡模塊的設(shè)計(jì)與實(shí)現(xiàn)(6)</p><p> 4.1 IC卡概述(6)</p><p> 4.2 IC卡的分類(6)</p><p> 4.3 接觸式IC卡說(shuō)明(7)</p><p> 4.4 接觸式IC卡引
11、腳圖(7)</p><p> 4.5 24C01芯片引腳圖及介紹(8)</p><p> 4.6 接觸式IC卡的應(yīng)用(9)</p><p> 4.7 IC卡讀寫的調(diào)試(9)</p><p> 5 8255芯片與LCD液晶顯示、鍵盤模塊的設(shè)計(jì)與功能實(shí)現(xiàn)(11)</p><p> 5.1 8255芯片的
12、設(shè)計(jì)及功能(11)</p><p> 5.1.1 8255芯片的引入(11)</p><p> 5.1.2 8255簡(jiǎn)介及內(nèi)部結(jié)構(gòu)(11)</p><p> 5.1.3 8255的工作方式(11)</p><p> 5.1.4 8255的選通輸入、輸出時(shí)序(12)</p><p> 5.1.5 82
13、55電路原理圖及編程實(shí)現(xiàn)(12)</p><p> 5.2 LCD液晶顯示模塊設(shè)計(jì)(13)</p><p> 5.2.1 LCD的結(jié)構(gòu)設(shè)計(jì)(13)</p><p> 5.2.2 LCD的工作原理(14)</p><p> 5.2.3 點(diǎn)陣式LCD的特點(diǎn)(14)</p><p> 5.2.4 LCD硬
14、件接口協(xié)議(14)</p><p> 5.2.5 LCD引腳設(shè)計(jì)及功能(15)</p><p> 5.2.6 LCD與8255連接電路圖(17)</p><p> 5.2.7 漢字顯示原理(17)</p><p> 5.2.8 字庫(kù)的建立(18)</p><p> 5.2.9 漢字顯示的處理流程圖
15、(18)</p><p> 5.2.10 LCD液晶顯示流程圖(18)</p><p> 5.2.11 LCD液晶顯示的調(diào)試(20)</p><p> 5.3 鍵盤掃描設(shè)計(jì)與實(shí)現(xiàn)(21)</p><p> 5.3.1 鍵盤概述(21)</p><p> 5.3.2 鍵盤工作原理(21)</p&
16、gt;<p> 5.3.3 鍵盤電路圖(22)</p><p> 5.3.4 鍵盤接口電路(22)</p><p> 5.3.5 行列式鍵盤原理電路實(shí)現(xiàn)(23)</p><p> 5.3.6 鍵盤的調(diào)試(24)</p><p> 6 存儲(chǔ)器組織(27)</p><p> 6.1 存儲(chǔ)
17、器設(shè)計(jì)(27)</p><p> 6.2 AT29C010A的特點(diǎn)(27)</p><p> 6.3 工作原理(28)</p><p><b> 參考文獻(xiàn)(30)</b></p><p> 致謝(31) </p><p><b> 1 系統(tǒng)分析</b>
18、;</p><p> 1.1 系統(tǒng)研究的可行性</p><p> 任何系統(tǒng)在開(kāi)發(fā)之前,都要進(jìn)行可行性分析來(lái)確定項(xiàng)目開(kāi)發(fā)是否有必要和可行。必須分析幾種主要可能解法的利弊,從而判斷原定的系統(tǒng)規(guī)模和目標(biāo)是否能現(xiàn)實(shí),系統(tǒng)完成后所能帶來(lái)的效益是否大到值得投資開(kāi)發(fā)。因此,可行性研究實(shí)質(zhì)上是要進(jìn)行一次大大壓縮簡(jiǎn)化了的系統(tǒng)分析和設(shè)計(jì)的過(guò)程,也就是在較高層次上以較抽象的方式進(jìn)行的系統(tǒng)分析和設(shè)計(jì)的過(guò)程。&
19、lt;/p><p> 首先需要進(jìn)一步分析和澄清問(wèn)題定義,在問(wèn)題定義階段初步確定規(guī)模和目標(biāo),如果是正確的就進(jìn)一步加以肯定,如果有錯(cuò)誤就應(yīng)該及時(shí)改正,如果對(duì)目標(biāo)系統(tǒng)有任何約束和限制,也必須把它們清楚地列舉出來(lái)。在澄清了問(wèn)題定義后,導(dǎo)出系統(tǒng)的邏輯模型,然后從系統(tǒng)邏輯模型出發(fā),探討出系統(tǒng)實(shí)現(xiàn)方案,并仔細(xì)分析它的可行性。</p><p> 就本系統(tǒng)而言,在設(shè)計(jì)其邏輯模型時(shí),要先判斷該系統(tǒng)在開(kāi)發(fā)之后是
20、否能在市場(chǎng)上得到廣泛的應(yīng)用,贏得經(jīng)濟(jì)效益?,F(xiàn)今越來(lái)越多的酒店、賓館都開(kāi)始使用智能電子門代替?zhèn)鹘y(tǒng)的門,這樣既方便了客人的使用,也使賓館的客房管理更安全,即使卡丟失,通過(guò)總臺(tái)輸入相應(yīng)的客戶信息也能將門打開(kāi)。本設(shè)計(jì)成本也很低。隨著科技的進(jìn)步,當(dāng)今很多產(chǎn)品越來(lái)越智能化也是發(fā)展的必然趨勢(shì),此產(chǎn)品及時(shí)地配合上了科學(xué)的發(fā)展,還會(huì)有一定的拓展空間,比如現(xiàn)在很多高校都用校園一卡通,很大程度地方便了學(xué)生的日常生活。再有,現(xiàn)在世界上和很多科學(xué)家正在努力開(kāi)發(fā)數(shù)
21、字化家庭這個(gè)項(xiàng)目,本設(shè)計(jì)正是步入這個(gè)目標(biāo)的初級(jí)階段。它省去了攜帶鑰匙,只能一把鑰匙開(kāi)一把鎖的不便。人們?cè)谑褂脗鹘y(tǒng)的門時(shí),如果丟失了鑰匙只能將門撬開(kāi),智能門鎖系統(tǒng)就避免了這個(gè)弊端,它將每個(gè)門鎖密碼統(tǒng)一存在總臺(tái)控制中,即使IC卡丟失,也可通過(guò)總臺(tái)將門打開(kāi)。</p><p><b> 1.2 需求分析</b></p><p> 確定設(shè)計(jì)任務(wù)和設(shè)計(jì)目標(biāo),并提煉出設(shè)計(jì)規(guī)格說(shuō)
22、明書,作為正式設(shè)計(jì)指導(dǎo)和驗(yàn)收的標(biāo)準(zhǔn)。系統(tǒng)的需求分析一般分功能性需求和非功能性需求兩方面。功能性需求是指系統(tǒng)的基本功能,如輸入輸出信號(hào)、操作方式等;非功能需求包括系統(tǒng)性能、成本、功耗等因素。本設(shè)計(jì)適應(yīng)著科技的發(fā)展,有相當(dāng)一部分的科技人員正在研究開(kāi)發(fā)這個(gè)項(xiàng)目,因此本系統(tǒng)具有技術(shù)可行性。本系統(tǒng)中還包括了后臺(tái)對(duì)電子門的控制,現(xiàn)在有專門從事這種后臺(tái)操作的工作人員,統(tǒng)一對(duì)電子門鎖系統(tǒng)進(jìn)行管理和技術(shù)維護(hù),因此本系統(tǒng)還具有一定的管理可行性。</p
23、><p> 1.3 系統(tǒng)整體設(shè)計(jì)方案</p><p> 描述系統(tǒng)如何實(shí)現(xiàn)所述的功能和非功能需求,包括對(duì)硬件、軟件和執(zhí)行裝置的功能劃分以及系統(tǒng)的硬件、軟件選型等。一個(gè)好的體系結(jié)構(gòu)是設(shè)計(jì)成功的關(guān)鍵,根據(jù)上面的可行性和需求分析,我制定了系統(tǒng)基本功能的設(shè)計(jì)方案,插入卡之后:</p><p> (1)系統(tǒng)自動(dòng)讀取IC卡程序,用一個(gè)中斷程序,只可對(duì)IC卡執(zhí)行繼續(xù)工作,對(duì)其他類
24、型的卡不可識(shí)別。</p><p> (2)系統(tǒng)接著自動(dòng)讀取IC卡密碼,若此卡已經(jīng)過(guò)期,則自動(dòng)中斷,不可識(shí)別。</p><p> (3)插入卡后,若IC卡有效,則液晶屏幕顯示漢字:請(qǐng)輸入密碼。</p><p> (4)從鍵盤輸入密碼,讀入密碼,并在屏幕上以*顯示。</p><p> (5)單片機(jī)比較兩個(gè)密碼。若不同,則中斷程序,并將程序
25、跳到(4),最多循環(huán)三次,若仍不相同,則系統(tǒng)收回對(duì)IC卡的使用權(quán);若相同,則門自動(dòng)開(kāi)鎖。</p><p> 總體的流程圖見(jiàn)圖1.1。</p><p><b> 中</b></p><p><b> 斷</b></p><p><b> 3</b></p>
26、<p><b> 次</b></p><p><b> 不</b></p><p><b> 相</b></p><p> 同 相</p><p> 報(bào)
27、 同</p><p> 警 門開(kāi)鎖 </p><p> 圖1.1 系統(tǒng)總體流程示意圖</p><p><b> 1.4 系統(tǒng)集成</b></p><p> 系統(tǒng)集成是把系統(tǒng)的軟件、硬件和
28、執(zhí)行裝置集成在一起,進(jìn)行調(diào)試,發(fā)現(xiàn)并改進(jìn)單元設(shè)計(jì)過(guò)程中的錯(cuò)誤,使程序最終能正常運(yùn)行,系統(tǒng)實(shí)現(xiàn)所需的功能。</p><p> 2 系統(tǒng)硬件整體設(shè)計(jì)方案</p><p> 2.1 所需功能模塊</p><p> 通過(guò)系統(tǒng)的需求分析和可行性研究得出系統(tǒng)所要實(shí)現(xiàn)的功能,并得出實(shí)現(xiàn)這些功能需要用到以下幾個(gè)功能模塊,包括:IC卡模塊、RS-485模塊、存儲(chǔ)器模塊、8255
29、與LCD液晶顯示、鍵盤模塊、電子門鎖開(kāi)啟及報(bào)警模塊。其中的電子門鎖開(kāi)啟及報(bào)警模塊與一個(gè)發(fā)光二級(jí)管和一個(gè)報(bào)警笛相連,當(dāng)系統(tǒng)通知電子門鎖開(kāi)啟及報(bào)警模塊可以將電子門打開(kāi)時(shí),門鎖自動(dòng)打開(kāi),在本設(shè)計(jì)中用綠燈亮來(lái)表示電子門打開(kāi);當(dāng)系統(tǒng)運(yùn)行三次比較密碼程序后,若兩個(gè)密碼仍不相同,則系統(tǒng)就通過(guò)電子門鎖開(kāi)啟及報(bào)警模塊通知警笛報(bào)警。其他的功能模塊在以下的論文中會(huì)做詳細(xì)的介紹,這些功能模塊都是以MCS-51系列單片機(jī)中的8031為核心實(shí)現(xiàn)的。</p&g
30、t;<p> 2.2 外圍互連的資源分配示意圖</p><p> 系統(tǒng)總體硬件設(shè)計(jì)圖如圖2.1。</p><p> 圖2.1 系統(tǒng)總體設(shè)計(jì)示意圖</p><p> 3 MCS-51系列單片機(jī)</p><p> 3.1 MCS-51單片機(jī)簡(jiǎn)介</p><p> 大家所熟悉的8031單片機(jī)是一個(gè)8
31、位單片機(jī)。所謂8位單片機(jī),就是在單一芯片上,包括了8位微處理器、外圍接口、靜態(tài)存儲(chǔ)器等為一體高度集成的電路。在一小塊芯片上,集成了一個(gè)微型計(jì)算機(jī)的各個(gè)組成部分。每一個(gè)單片機(jī)包括:一個(gè)8位的微處理器(CPU);片內(nèi)數(shù)據(jù)存儲(chǔ)器RAM(128B/256B),用以存放可以讀/寫的數(shù)據(jù),如運(yùn)算的中間結(jié)果、最終結(jié)果以及欲顯示的數(shù)據(jù)等;片內(nèi)程序存儲(chǔ)器ROM/EPROM(4KB/8KB),用以存放程序、一些原始數(shù)據(jù)和表格。但也有一些單片機(jī)內(nèi)部不帶ROM
32、/EPROM,如8031,8032,80C31等;四個(gè)8位并行I/O接口P0~P3,每個(gè)口既可以用作輸入,也可以用作輸出;兩個(gè)定時(shí)器/計(jì)數(shù)器,每個(gè)定時(shí)器/計(jì)數(shù)器都可以設(shè)置成計(jì)數(shù)方式,用以對(duì)外部事件進(jìn)行計(jì)數(shù),也可以設(shè)置成定時(shí)方式,并可以根據(jù)計(jì)數(shù)或定時(shí)的結(jié)果實(shí)現(xiàn)計(jì)算機(jī)控制;五個(gè)中斷源的中斷控制系統(tǒng);一個(gè)全雙工UART(通用異步接收發(fā)送器)的串行I/O口,用于實(shí)現(xiàn)單片機(jī)之間或單片機(jī)與微機(jī)之間的串行通信;片內(nèi)振蕩器和時(shí)鐘產(chǎn)生電路,但石英晶體和微
33、調(diào)電容需要外接。最高允許振蕩頻率為12MH z。以上各個(gè)部分通過(guò)內(nèi)部數(shù)據(jù)總線相連接。</p><p> 3.2 MCS-51單片機(jī)的基本結(jié)構(gòu)</p><p> 3.2.1 MCS-51單片機(jī)的基本組成</p><p> MCS-51片內(nèi)總部結(jié)構(gòu)框圖如圖3.1所示。</p><p> 圖3.1 MCS-51片內(nèi)總部結(jié)構(gòu)框圖&l
34、t;/p><p> 3.2.2 MCS-51單片機(jī)硬件結(jié)構(gòu)特點(diǎn)</p><p> MCS-51單片機(jī)硬件結(jié)構(gòu):</p><p> (1)內(nèi)部程序存儲(chǔ)器(ROM)和內(nèi)部數(shù)據(jù)存儲(chǔ)器(RAM)</p><p> (2)輸入/輸出(I/O)端口 </p><p> (3)外部程序存儲(chǔ)器和外部數(shù)據(jù)存儲(chǔ)器尋址空間 </
35、p><p><b> (4)中斷與堆棧 </b></p><p> (5)定時(shí)/計(jì)數(shù)器與寄存器區(qū) </p><p><b> (6)指令系統(tǒng)</b></p><p> MCS-51單片機(jī)內(nèi)部結(jié)構(gòu)特點(diǎn):</p><p><b> (1)運(yùn)算器 </b>
36、;</p><p> 運(yùn)算器由8位算術(shù)邏輯運(yùn)算單元ALU(Arithmetic Logic Unit)、8位累加器ACC(Accumulator)、8位寄存器B、程序狀態(tài)字寄存器PSW(Program Status Word)、8位暫存寄存器TMP1和TMP2等組成。 </p><p><b> (2)控制器 </b></p><p>
37、主要由程序計(jì)數(shù)器PC、指令寄存器IR、指令譯碼器ID、堆棧指針SP、數(shù)據(jù)指針DPTR、時(shí)鐘發(fā)生器及定時(shí)控制邏輯等組成。</p><p> 3.3 MCS-51單片機(jī)的引腳及片外總線結(jié)構(gòu)</p><p> 3.3.1 MCS-51單片機(jī)芯片引腳描述</p><p> (1)主電源引腳VCC和VSS </p><p> (2)外接晶振引腳
38、XTAL1和XTAL2 </p><p> (3)控制或其他電源復(fù)用引腳RST/ VPD、ALE/、和/VPP </p><p> (4)輸入/輸出引腳P0、P1、P2、P3(共32根)</p><p> 3.3.2 MCS-51單片機(jī)外總線結(jié)構(gòu)</p><p> 微型計(jì)算機(jī)中的總線通常分為: </p><p>
39、; (1)地址總線(AB):地址總線寬度為16位,由P0口經(jīng)地址鎖存器提供低8位地址(A0-A7);P2口直接提供高8位地址(A8~A15)。地址信號(hào)是由CPU發(fā)出的,故地址總線是單方向的。 </p><p> (2)數(shù)據(jù)總線(DB):數(shù)據(jù)總線寬度為8位,用于傳送數(shù)據(jù)和指令,由P0口提供。 </p><p> (3)控制總線(CB):控制總線隨時(shí)掌握各種部件的狀態(tài),并根據(jù)需要向有關(guān)部
40、件發(fā)出命令。 </p><p> 3.4 MCS-51與直接控制的外圍功能模塊互連的資源分配</p><p> 8031CPU外圍直接控制IC卡模塊、485模塊以及存儲(chǔ)器模塊。由于8031外圍接口數(shù)目有限,因此以8255擴(kuò)展的I/O接口將8031的地址總線經(jīng)過(guò)譯碼后接到8255的CS,通過(guò)8255控制LCD液晶顯示和鍵盤的掃描。 </p><p> 4 接觸式
41、IC卡模塊的設(shè)計(jì)與實(shí)現(xiàn)</p><p><b> 4.1 IC卡概述</b></p><p> IC卡的英文全名是Integrated Circuit Card(集成電路卡),它是繼磁卡之后出現(xiàn)的又一種新型信息工具。IC卡將具有存儲(chǔ)、加密及數(shù)據(jù)處理能力的集成電路芯片鑲嵌于塑料卡片中。IC卡在有些國(guó)家和地區(qū)也稱智能卡(smart card)、智慧卡(intellig
42、ent card)、微電路卡(microcircuit card)或微芯片卡(Micro chip card)等。它是將一個(gè)微電子芯片嵌入符合ISO 7816標(biāo)準(zhǔn)的卡基中,做成卡片形式,已經(jīng)十分廣泛地應(yīng)用于包括金融、交通、社保等很多領(lǐng)域。IC卡的核心部分是一塊集成電路芯片,故它又可稱為“芯片卡”。 </p><p> 4.2 IC卡的分類</p>
43、<p> 從IC卡的外形分為有觸點(diǎn)卡和無(wú)觸點(diǎn)卡(又稱射頻卡)兩類。前者由讀寫設(shè)備的接頭與卡片上的集成電路接觸點(diǎn)相接觸,進(jìn)行信息的讀寫;后者按調(diào)制方式可分為頻率調(diào)制、幅度調(diào)制、電容耦合等幾種,與讀寫設(shè)備無(wú)電接觸,通過(guò)射頻技術(shù)進(jìn)行讀寫,成功地解決了無(wú)源(卡中無(wú)電源)和免接觸這一難題,是電子器件領(lǐng)域的一大突破,主要用于公交、輪渡、地鐵的自動(dòng)收費(fèi)系統(tǒng),也應(yīng)用在門禁管理、身份證明和電子錢包。接觸IC卡與非接觸IC卡通過(guò)卡上的模塊與系
44、統(tǒng)發(fā)生聯(lián)系,模塊本身具有記錄、計(jì)算等功能,保密性、功能強(qiáng)于磁條卡。例如:常用的電話IC卡、公交非接觸IC卡。</p><p> 4.3 接觸式IC卡說(shuō)明</p><p> 接觸式IC卡模塊分為推拉式和壓入彈出式兩種,它們的電路結(jié)構(gòu)完全相同,僅在卡座的機(jī)械結(jié)構(gòu)上有所不同,模塊的電源從接口總線引入。接觸式IC卡通常分為存儲(chǔ)器卡、邏輯加密卡、CPU卡、超級(jí)智能卡四類。存儲(chǔ)器卡是含有E2PRO
45、M及其控制電路,但無(wú)加密邏輯;邏輯加密卡是由加密邏輯電路和E2PROM組成;CPU卡的卡內(nèi)不僅有E2PROM等存儲(chǔ)器,還帶有CPU及其操作系統(tǒng)和加密算法;超級(jí)智能卡不僅帶有CPU和存儲(chǔ)器,還帶有液晶屏和微型鍵盤。IC卡的大小和磁條卡相同,在其左上方嵌有一片或若干片集成電路芯片,芯片一般是不易揮發(fā)性存儲(chǔ)器(ROM,EPROM,E2PROM),保護(hù)邏輯電路,甚至于CPU(中央處理單元)。</p><p> 4.4
46、接觸式IC卡引腳圖</p><p> 圖4.1 IC卡電源部分原理圖</p><p> IC卡的電源受POWER引腳的控制。只有當(dāng)POWER為高電平時(shí),+5V才能加到IC 卡VCC引腳上。IC卡電源部分原理圖見(jiàn)圖4.1。</p><p> 圖4.2 IC卡接口部分原理圖</p><p> 卡座的I/O對(duì)應(yīng)于24C01引腳,CLK對(duì)應(yīng)于
47、SCL引腳。RST、FUSE、PGM用于兼容其他類型的IC卡,對(duì)24C01無(wú)作用。SW1為插卡指示,不插卡時(shí)為高電平,插卡后變?yōu)榈碗娖?。IC接口部分原理圖見(jiàn)圖4.2。</p><p> 4.5 24C01芯片引腳圖及介紹</p><p> 24C01引腳圖見(jiàn)圖4.3。</p><p> 圖4.3 24C01引腳圖</p><p> 2
48、4C01為1K—BIT的串行E2PROM,其接口為I2C形式。</p><p> A0~A2:設(shè)備的地址引腳。通過(guò)接VCC或GND來(lái)表示不同的設(shè)備地址。</p><p> WC:寫保護(hù)引腳。接VCC時(shí),芯片只能讀不能寫;接GND或浮空時(shí),可以進(jìn)行正常讀寫。</p><p> SCL:串行時(shí)鐘引腳,為芯片提供讀寫時(shí)鐘。</p><p>
49、 SDA:串行數(shù)據(jù)引腳,地址、數(shù)據(jù)均由該引腳輸入或輸出。</p><p> 對(duì)24C01的寫操作有以下兩種方式:</p><p> (1)字節(jié)方式(一次一個(gè)字節(jié))</p><p> (2)頁(yè)方式(一次8個(gè)字節(jié))</p><p> 對(duì)24C01的讀操作有以下三種方式:</p><p><b> (1)
50、讀當(dāng)前地址</b></p><p><b> (2)讀隨機(jī)地址</b></p><p><b> (3)讀地址序列</b></p><p> 4.6 接觸式IC卡的應(yīng)用 </p><p> 世界上推廣IC卡成功的地區(qū)是歐洲,尤其是法國(guó)IC金融卡、IC電話卡和德國(guó)的健康卡、電話卡使
51、用最為廣泛。目前全球擁有各類IC卡7億張以上,特別在金融、運(yùn)輸、醫(yī)療、教育、娛樂(lè)、企業(yè)管理等領(lǐng)域得到普遍的應(yīng)用,并且每年以40%的速度增長(zhǎng)。</p><p> 4.7 IC卡讀寫的調(diào)試:</p><p> 關(guān)于插入IC卡后系統(tǒng)自動(dòng)讀取的程序:</p><p> ADD_W EQU10100000B;寫卡地址</p><p>
52、; ADD_REQU10100001B;讀卡地址</p><p> CLK BIT P1.0 </p><p> IO BIT P1.1 </p><p> POWER BIT P1.2 </p><p> SW
53、 BIT P1.3 </p><p> CSEG AT 0000H</p><p> JMP START0</p><p> CSEG AT 4080H</p><p> START0: CLR POWER</p><p><b> START
54、1: </b></p><p> MOV C,SW</p><p> JC START0</p><p> LCALL DELAY10</p><p> MOV C,SW</p><p> JC START0</p><p>
55、 SETB POWER ;如果有卡,則上電</p><p><b> NOP</b></p><p><b> NOP</b></p><p> MOV R6,#7FH ;寫入地址0~7F</p><p> MOV A,#0ABH ;寫入
56、的數(shù)據(jù)</p><p> LCALL WRITE_BYTE ;字節(jié)寫入方式</p><p><b> NOP</b></p><p><b> NOP</b></p><p> LCALL DELAY10 ;延時(shí)10個(gè)毫秒</p><p
57、> MOV R6,#7FH ;讀出地址</p><p> LCALL READ_BYTE ;隨機(jī)地址讀出方式</p><p><b> NOP</b></p><p> NOP ;設(shè)斷點(diǎn)處</p><p> AJ
58、MP START1</p><p> ;******字節(jié)寫:R6= =目的地址,A= =數(shù)據(jù)**********************</p><p> WRITE_BYTE:</p><p> PUSH ACC ;保存A中的數(shù)據(jù) </p><p> LCALL START
59、 ;發(fā)開(kāi)始信號(hào) </p><p> MOV A,#ADD_W ;寫入器件地址 </p><p> LCALL WR_BYTE </p><p> MOV A,R6 ;寫入字節(jié)地址 </p><p> LCALL WR_BYTE </p>
60、;<p> POP ACC ;恢復(fù)A中數(shù)據(jù) </p><p> LCALL WR_BYTE ;寫入數(shù)據(jù) </p><p> LCALL STOP </p><p><b> RET </b></p><p> ;******隨機(jī)讀:R6= =
61、源地址***********************************</p><p> READ_BYTE:</p><p> LCALL START</p><p> MOV A,#ADD_W ;執(zhí)行空字節(jié)寫序列 </p><p> LCALL WR_BYTE ;載入數(shù)
62、據(jù)地址 </p><p> MOV A,R6 </p><p> LCALL WR_BYTE </p><p> LCALL START </p><p> MOV A,#ADD_R ;立即地址讀取 </p><p> LCALL WR_BY
63、TE </p><p> LCALL RD_BYTE </p><p> LCALL STOP</p><p><b> RET</b></p><p> 5 8255芯片與LCD液晶顯示、鍵盤模塊的設(shè)計(jì)與功能實(shí)現(xiàn)</p><p> 5.1 8255芯片的設(shè)計(jì)及功能&
64、lt;/p><p> 5.1.1 8255芯片的引入</p><p> 前面章節(jié)中介紹了MCS-51系列單片機(jī),本系統(tǒng)設(shè)計(jì)用到的是MCS-51系列單片機(jī)中的8031單片機(jī)。從8031與直接控制的外圍功能模塊互連的資源分配圖中可以看出,8031的外圍引腳已經(jīng)基本被全部占用,而本設(shè)計(jì)除了用到了在圖中顯示的與CPU直接相連的IC卡、RS-485模塊以及存儲(chǔ)器外,還需要用到LCD液晶顯示模塊和鍵盤
65、,這就造成了CPU外圍引腳不夠用的現(xiàn)象。因此,將8255與CPU連接,可起到擴(kuò)展CPU的接口的作用,CPU通過(guò)控制8255來(lái)間接控制了LCD和鍵盤。</p><p> 5.1.2 8255簡(jiǎn)介及內(nèi)部結(jié)構(gòu)</p><p> 8255是微機(jī)并行接口芯片,是可編程I/O口擴(kuò)展芯片,對(duì)8255輸入不同的指令可改變I/O的工作方式。8255與單片機(jī)系統(tǒng)連接方式簡(jiǎn)單,工作方式由程序設(shè)定。</
66、p><p> 8255內(nèi)部有4個(gè)寄存器:分別為寄存器A、B、C和控制寄存器。A、B、C寄存器的數(shù)據(jù)就是引腳PA7~PA0、PB7~PB0、PC7~PC0上輸入或輸出的數(shù)據(jù)。而控制寄存器的數(shù)據(jù)則表明PA、PB、PC的工作方式。通過(guò)CS、A0、A1、RD和WR對(duì)4個(gè)寄存器進(jìn)行操作:(1)CS為低電平時(shí)選通8255;(2)A1、A0為地址選通;(3)RD和WR為讀、寫信號(hào),RD為低、WR為高時(shí)為讀方式,RD為高、WR為低
67、時(shí)為寫方式;(4)D0~D7為數(shù)據(jù)口。 </p><p> 5.1.3 8255的工作方式</p><p> 可編程并行接口芯片8255有3個(gè)8位的并行端口:A口、B口和C口。8255有3種工作方式:方式0、方式1和方式2。 方式0——直接輸入/輸出方式,8255和外設(shè)之間無(wú)需聯(lián)絡(luò)信號(hào)。A口、B口和C口均可分別由控制字規(guī)定為輸入或輸出。 方式1——選通輸入/輸出方式,此
68、時(shí),C口的3~7位為A口8位數(shù)據(jù)的傳輸提供聯(lián)絡(luò)信號(hào);C口的0~2位為B口的8位數(shù)據(jù)提供聯(lián)絡(luò)信號(hào)。</p><p> 方式2——A口的雙向工作方式,在這種工作方式下,A口既可輸入,也可輸出。由于要用到STB、IBF、OBF、ACK和INTR,共5條聯(lián)絡(luò)信號(hào)線,要占用C口的5位,C口只剩下3位了,因此,B口只能在方式0或方式1下工作,此時(shí)C口余下的3位可用作輸入/輸出線,也可做B口的聯(lián)絡(luò)信號(hào)。</p>
69、<p> 5.1.4 8255的選通輸入、輸出時(shí)序</p><p> ?。?)選通輸入的時(shí)序是:</p><p> ①外設(shè)通過(guò)STB信號(hào)將數(shù)據(jù)送入A口(或B口);②A口(或B口)的狀態(tài)標(biāo)志IBF為1,表示輸入緩沖器滿,該狀態(tài)信號(hào)可供程序查詢;③8255產(chǎn)生中斷請(qǐng)求信號(hào)INTR,用于中斷方式下,請(qǐng)求CPU從8255的A口(或B口)取走數(shù)據(jù)。</p><
70、p> ?。?)選通輸出的時(shí)序是:①當(dāng)CPU向A口(或B口)輸出數(shù)據(jù)后,OBF為0,表示輸出緩沖區(qū)滿,此信號(hào)可供程序查詢,或?qū)口(或B口)中的數(shù)據(jù)打入外設(shè);②當(dāng)外設(shè)取走數(shù)據(jù)后,向8255送來(lái)確認(rèn)信號(hào)ACK;③8255產(chǎn)生中斷請(qǐng)求INTR,告訴CPU可以輸出下一個(gè)數(shù)據(jù)到8255的A口(或B口)了。</p><p> 5.1.5 8255電路原理圖及編程實(shí)現(xiàn)</p><p>
71、圖5.1 8255電路原理圖</p><p> 8255電路原理圖見(jiàn)圖5.1。該電路由1片8255組成,8255的數(shù)據(jù)口,地址,讀寫線,復(fù)位控制線均已接好,片選輸入端插孔為8255CS,A,B,C三端口的插孔分別為:PA0~PA7,PB0~PB7,PC0~PC7。</p><p> 測(cè)試該電路時(shí),檢查復(fù)位信號(hào),通過(guò)8255并行口實(shí)驗(yàn),程序全速運(yùn)行,觀察片選、讀寫、總線信號(hào)是否正常。&l
72、t;/p><p> 8255有4個(gè)端口地址,從小到大依次為A口地址、B口地址、C口地址和控制口地址??刂瓶谟脕?lái)寫入8255的工作方式控制字,即實(shí)現(xiàn)8255芯片的初始化。在程序中可對(duì)C口按位置1或置0,方法是:D 7= 0,D 3 D 2 D 1 =所選擇位的二進(jìn)制編碼,D 0 =1或0。</p><p> 在本設(shè)計(jì)中,8255中的C口我們只用到了PC0~PC3以及PC7,PC7與液晶顯示的
73、BUSY相連,作為輸入口;PC3與液晶顯示的REQ相連,作為輸出口;PC0~PC2則與鍵盤的KA10~KA12相連,作為輸出口;PA口控制著液晶顯示模塊,作為輸出口;PB口控制著鍵盤,作為輸入口。這樣8255就直接控制了LCD與鍵盤,CPU通過(guò)控制8255間接控制著這兩個(gè)的操作。</p><p> 5.2 LCD液晶顯示模塊設(shè)計(jì)</p><p> 5.2.1 LCD的結(jié)構(gòu)設(shè)計(jì)</
74、p><p> LCD顯示器的原文是Liquid Crystal Display,取每字的第一個(gè)字母組成,中文多稱液晶平面顯示器或液晶顯示器。</p><p> LCD的好處有:與CRT顯示器相比,LCD的優(yōu)點(diǎn)主要包括零輻射、低功耗、散熱小、體積小、圖像還原精確、字符顯示銳利等。LCD有幾個(gè)基本特點(diǎn):(1)高亮度:亮度值愈高,畫面自然更亮麗,不會(huì)朦朧霧霧。亮度的單位為cd/m2,也就是每平方
75、公尺分之燭光。低階的LCD亮度值,有低到150cd/m2,而高階的顯示器,則可高達(dá)250cd/m2。(2)高對(duì)比:對(duì)比愈高,色彩更鮮艷飽和,且會(huì)顯得立體。相反的,對(duì)比低,顏色顯的貧瘠,影像也會(huì)變得平板。對(duì)比值的差別頗大,有低到100:1,也有高到600:1,甚至更高。(3)寬廣的可視范圍:可視范圍簡(jiǎn)單的說(shuō),指的是在屏幕前畫面可以看的清楚的范圍。可視范圍愈大,自然可以看的愈輕松;愈小,只要觀看者稍一變動(dòng)觀看位置,畫面可能就會(huì)看不清楚了???/p>
76、視范圍的算法是從畫面中間,至上、下、左、右四個(gè)方向畫面清楚的角度范圍。數(shù)值愈大,范圍自然愈廣,但四個(gè)方向的范圍不一定對(duì)稱。當(dāng)上下、左右對(duì)稱時(shí),可以將兩邊的角度值相加,標(biāo)示為水平:160°;垂直:160°;也可能分開(kāi)標(biāo)示為左/右:±80°;上/下:±80°。某些LCD機(jī)種的單一角度,甚至只有40°~50°。(4)快速訊號(hào)反應(yīng)時(shí)間</p><
77、p> 5.2.2 LCD的工作原理</p><p> LCD的工作原理就是利用液晶的物理特性:通電時(shí)排列變得有序,使光線容易通過(guò);不通電時(shí)排列混亂,阻止光線通過(guò),說(shuō)簡(jiǎn)單點(diǎn)就是讓液晶如閘門般地阻隔或讓光線穿透。 </p><p> 5.2.3 點(diǎn)陣式LCD的特點(diǎn)</p><p> 點(diǎn)陣式LCD顯示電路是在系統(tǒng)板上外掛的正式液晶顯示模塊,模塊的數(shù)據(jù)線、狀態(tài)
78、、控制線都通過(guò)插孔引出,可直接與系統(tǒng)相連。OCMJ的中文模塊系列液晶顯示器內(nèi)含GB 2312 16*16點(diǎn)陣國(guó)標(biāo)一級(jí)簡(jiǎn)體漢字和ASCⅡ8*8(半高)及8*16(全高)點(diǎn)陣英文字庫(kù)。用戶輸入?yún)^(qū)位碼或ASCⅡMA碼即可實(shí)現(xiàn)文本顯示,也可用作一般的點(diǎn)陣圖形顯示器之用。它提供位點(diǎn)陣和字節(jié)點(diǎn)陣兩種圖形顯示功能,用戶可在指定的屏幕位置上以點(diǎn)為單位或以字節(jié)為單位進(jìn)行圖形顯示。完全兼容一般的點(diǎn)陣模塊。OCMJ中文模塊系列液晶顯示器可以實(shí)現(xiàn)漢字、ASCⅡ
79、碼、點(diǎn)陣圖形和變化曲線的同屏顯示,并可以通過(guò)字節(jié)點(diǎn)陣圖形方式造字。本系列模塊具有上/下/左/右移動(dòng)當(dāng)前顯示屏幕及清除屏幕的命令的功能。OCMJ中文模塊所有的設(shè)置初始化工作都是在上電時(shí)自動(dòng)完成的,實(shí)現(xiàn)了“即插即用”。同時(shí)保留了一條專用的復(fù)位線,可對(duì)工作中的模塊進(jìn)行軟件或者硬件強(qiáng)制復(fù)位。</p><p> 5.2.4 LCD硬件接口協(xié)議</p><p> LCD的硬件接口協(xié)議為請(qǐng)求/應(yīng)答(
80、REQ/BUSY)握手方式。應(yīng)答 BUSY高電平(BUSY=1)表示OCMJ忙于內(nèi)部處理,不能接受用戶命令;BUSY低電平(BUSY=0)表示OCMJ空閑,等待接受用戶的命令。發(fā)送命令到OCMJ可在BUSY=0后的任意時(shí)刻開(kāi)始,先把用戶命令的當(dāng)前字節(jié)放到數(shù)據(jù)線上,接著發(fā)高電平REQ信號(hào)(REQ=1)通知OCMJ請(qǐng)求處理當(dāng)前數(shù)據(jù)線上的命令或數(shù)據(jù)。OCMJ模塊在收到外部的REQ高電平信號(hào)后立即讀取數(shù)據(jù)線上的命令或數(shù)據(jù),同時(shí)將應(yīng)答線BUSY變
81、為高電平,表明模塊已經(jīng)收到并正在忙于對(duì)此數(shù)據(jù)的內(nèi)部處理,此時(shí),用戶對(duì)模塊的寫操作已經(jīng)完成。用戶可以撤消數(shù)據(jù)線上的信號(hào)并可作模塊顯示以外的其他工作,也可不斷地查詢應(yīng)答線BUSY是否為低(BUSY=0?),如果BUSY=0,表明模塊對(duì)用戶的寫操作已經(jīng)執(zhí)行完畢,可以再送下一個(gè)數(shù)據(jù)。如果向模塊發(fā)出一個(gè)完整的顯示漢字的命令,包括坐標(biāo)及漢字代碼在內(nèi)共需5個(gè)字節(jié),模塊在接收到最后一個(gè)字節(jié)后才開(kāi)始執(zhí)行整個(gè)命令的內(nèi)部操作,因此,最后一個(gè)字節(jié)的應(yīng)答B(yǎng)USY
82、高電平(BUSY=1)持續(xù)的時(shí)間較長(zhǎng)。</p><p> 5.2.5 LCD引腳設(shè)計(jì)及功能</p><p> HK:液晶控制 </p><p><b> DI:液晶數(shù)據(jù)</b></p><p><b> SK:液晶時(shí)鐘</b></p>&l
83、t;p><b> VSS:邏輯電源地</b></p><p><b> VCC:邏輯電源正</b></p><p> LCD液晶顯示連接電路如圖5.2所示。</p><p> 圖5.2 LCD液晶顯示模塊與8031的硬件連接原理圖</p><p> LCD液晶顯示模塊不同引腳具有不同
84、的功能,表5.1清晰的表示了各引腳的功能。</p><p> 表5.1 液晶顯示模塊引腳特性表</p><p> 5.2.6 LCD與8255連接電路圖</p><p> 圖5.3 LCD液晶顯示連接圖</p><p> LCD液晶顯示連接圖見(jiàn)圖5.3。從圖中可以看出,8255的A口與LCD的數(shù)據(jù)線直接相連,作為輸出口,C口只用到了P
85、C3和PC7,分別作為輸出和輸入口。這樣,CPU就通過(guò)8255控制了LCD液晶顯示模塊。</p><p> 5.2.7 漢字顯示原理</p><p> 在LCD顯示中,本設(shè)計(jì)還增添了漢字顯示的功能,實(shí)現(xiàn)了在LCD液晶屏幕上顯示“請(qǐng)輸入密碼”的中文字樣的功能,這也用到了漢字顯示的一些設(shè)計(jì),才能得以實(shí)現(xiàn)。</p><p> 根據(jù)液晶顯示屏的控制指令及時(shí)序可知,只要
86、在對(duì)模塊寫入數(shù)據(jù)的同時(shí)保證模塊指令操作延時(shí)足夠,就可以不檢查模塊狀態(tài),達(dá)到直接控制的目的。點(diǎn)陣液晶顯示屏的一個(gè)點(diǎn)對(duì)應(yīng)存儲(chǔ)器中的一位,置位則顯示,清除則不顯示,因此只要控制相應(yīng)的數(shù)據(jù)位就可控制液晶顯示屏的顯示。</p><p> 該液晶顯示器采用16×16點(diǎn)陣漢字,液晶顯示器顯示一個(gè)16×16點(diǎn)陣需要送進(jìn)32個(gè)字節(jié),因此必須將其送入兩緩沖區(qū)中的相對(duì)列中。每一種商品都事先規(guī)定好在液晶顯示屏上的顯
87、示位置,因?yàn)樵撘壕э@示器共可顯示兩行漢字,每行漢字占兩頁(yè),所以顯示每一行漢字時(shí),先根據(jù)每個(gè)漢字的編號(hào)確定其入口地址,然后分別讀取它們的前16個(gè)字節(jié)在上半頁(yè)顯示,再分別讀取這些漢字的后16個(gè)字節(jié)在下半頁(yè)顯示,這樣即可把一行漢字全部顯示出來(lái)。 </p><p> 5.2.8 字庫(kù)的建立</p><p> 畫一個(gè)16行16列的方格,根據(jù)標(biāo)準(zhǔn)漢字字庫(kù)所提供的漢字點(diǎn)陣字模在
88、方格上分別畫出各點(diǎn)陣,是1則置1,是0則置0,構(gòu)造出漢字的字形,然后按SED1520的漢字字模排列順序依次讀出轉(zhuǎn)化后的字模,這就是我們所用的液晶顯示模塊所需要調(diào)用的漢字字模形式。按上述方法提取系統(tǒng)中所需要的漢字字模,建立由多個(gè)漢字組成的漢字庫(kù)、多個(gè)數(shù)字組成的數(shù)字庫(kù),將這兩個(gè)字庫(kù)寫入程序中,并存放在單片機(jī)的EPROM中,以備點(diǎn)陣式液晶顯示器顯示調(diào)用。</p><p> 5.2.9 漢字顯示的處理流程圖</p
89、><p> 漢字處理流程圖見(jiàn)圖5.4。</p><p> 圖5.4 漢字處理流程圖</p><p> 5.2.10 LCD液晶顯示流程圖</p><p> LCD顯示實(shí)驗(yàn)流程圖見(jiàn)圖5.5。</p><p><b> N</b></p><p><b> Y
90、</b></p><p><b> N</b></p><p><b> Y</b></p><p><b> N</b></p><p><b> Y</b></p><p> 圖5.5 LCD顯示實(shí)驗(yàn)流程圖
91、</p><p> 5.2.11 LCD液晶顯示的調(diào)試</p><p> 硬件接口電路焊接完成后,需用萬(wàn)用表檢查應(yīng)用系統(tǒng)的各部件線路、元器件安裝是否正確。特別是電源部分,其中電源不能接錯(cuò),要防止電源兩輸入端短路,電源極性不可接反。</p><p> 關(guān)于漢字顯示程序的調(diào)試:</p><p> START1: MOV R0, #
92、01H</p><p> MOV R1, #3CH</p><p> HE1: MOV DPTR, #PCC</p><p> MOVX A, @DPTR</p><p> JB ACC.3, HE1</p><p> ACALL SUB1</p><p>
93、; ACALL SUB2</p><p> DJNZ R1, HE1</p><p> ACALL DELAY</p><p> ACALL DELAY</p><p> ACALL DELAY</p><p> LJMP START1 </p><p>
94、; DELAY: MOV R2, #23H</p><p> DEL0: MOV R4, #06FH</p><p> DEL1: MOV R6, #06FH</p><p> DEL2: DJNZ R6, DEL2</p><p> DJNZ R4, DEL1</p><
95、p> DJNZ R2, DEL0</p><p><b> RET</b></p><p> SUB2: MOV DPTR, #PA</p><p> MOVX @DPTR, A</p><p> MOV DPTR, #PCTL</p><p> MOV
96、A, #STOBE1</p><p> MOVX @DPTR, A </p><p><b> INC R0</b></p><p> HE2: MOV DPTR, #PCC</p><p> MOVX A, @DPTR</p><p> JNB ACC.
97、7, HE2</p><p> MOV DPTR, #PCTL</p><p> MOV A, #STOBE0</p><p> MOVX @DPTR, A </p><p><b> RET</b></p><p> SUB1: MOV A, R0
98、;顯示“請(qǐng)輸入密碼”</p><p> MOVC A,@A+PC</p><p><b> RET</b></p><p> DB 0F0H,01D,00D,39D,75D,0F0H,02D,00D,42D,68D</p><p> DB 0F0H,03D,00D,40D,75D,0F0H,04D,0
99、0D,35D,60D</p><p> DB 0F0H,05D,00D,34D,75D</p><p><b> END</b></p><p> 5.3 鍵盤掃描設(shè)計(jì)與實(shí)現(xiàn)</p><p> 5.3.1 鍵盤概述</p><p> 鍵盤是一組按鍵的集合,它是最常用的單片機(jī)輸入設(shè)備。操作
100、人員可以通過(guò)鍵盤輸入數(shù)據(jù)或命令,實(shí)現(xiàn)簡(jiǎn)單的人-機(jī)通信。按鍵是一種常開(kāi)型按扭開(kāi)關(guān)。平時(shí)(常態(tài)時(shí)),按鍵的兩個(gè)觸點(diǎn)處于斷開(kāi)狀態(tài),按下鍵時(shí)它們才閉合(短路)。鍵盤分編碼鍵盤和非編碼鍵盤。鍵盤上閉合鍵的識(shí)別由專用的硬件譯碼器實(shí)現(xiàn),并產(chǎn)生鍵編號(hào)或鍵值才稱為編碼鍵盤,如BCD碼鍵盤、ASCⅡ碼鍵盤等;靠軟件識(shí)別的稱為非編碼鍵盤。通過(guò)鍵盤,可以將字母、數(shù)字、標(biāo)點(diǎn)符號(hào)等輸入到計(jì)算機(jī)中,從而向計(jì)算機(jī)發(fā)出命令,輸入中西文字和數(shù)據(jù)。</p>&
101、lt;p> 5.3.2 鍵盤工作原理</p><p> 鍵盤的功能就是及時(shí)發(fā)現(xiàn)被按下的鍵,并將該按鈕所對(duì)應(yīng)的代碼送入計(jì)算機(jī),用于發(fā)現(xiàn)有無(wú)按鍵按下。區(qū)分按鍵位置的是按鍵掃描電路,產(chǎn)生按鍵對(duì)應(yīng)代碼的是編碼電路,將代碼送入計(jì)算機(jī)的是接口電路。依據(jù)按鍵代碼生成的原理,可以把計(jì)算機(jī)鍵盤分為編碼鍵盤和非編碼鍵盤。編碼鍵盤的每一個(gè)按鍵的代碼都是由鍵盤直接產(chǎn)生并送入計(jì)算機(jī)的。這種鍵盤響應(yīng)速度快,但它以復(fù)雜的硬件結(jié)構(gòu)為代
102、價(jià),其復(fù)雜性隨著按鍵功能的增加而增加。而且,按鍵的代碼是固定的,不易修改和擴(kuò)充。 非編碼鍵盤的代碼生成是由鍵盤和PC機(jī)軟件共同完成的。鍵盤本身使用較為簡(jiǎn)單的硬件來(lái)識(shí)別被按下的按鍵的位置,向PC機(jī)提供的是該按鍵的位置碼(中間代碼),然后由系統(tǒng)軟件把這些中間代碼轉(zhuǎn)換成規(guī)定的編碼。這種鍵盤響應(yīng)速度不如編碼鍵盤快,但它可通過(guò)軟件為按鍵重新定義其編碼,為擴(kuò)充鍵盤功能提供了極大的方便,因而得到廣泛的使用。</p><p
103、> 5.3.3 鍵盤電路圖</p><p> 本系統(tǒng)使用的是非編碼鍵盤,鍵盤電路見(jiàn)圖5.6。</p><p> 圖5.6 鍵盤電路圖</p><p> 5.3.4 鍵盤接口電路</p><p> 掃描碼以串行方式傳輸給系統(tǒng)板上的鍵盤接口電路,兩者通過(guò)一個(gè)5芯插頭座互相連接。PC機(jī)中鍵盤接口電路主要由單片機(jī)8042組成,8042
104、芯片內(nèi)有2KB ROM和128B RAM,還有2個(gè)8位的I/O端口。2KB ROM中存放的是鍵盤管理程序,128B RAM作為數(shù)據(jù)緩存器使用。PC機(jī)啟動(dòng)后,8024在鍵盤管理程序的控制下獨(dú)立于CPU工作。CPU通過(guò)I/O指令隨時(shí)可以對(duì)8042進(jìn)行讀/寫操作。</p><p> 本設(shè)計(jì)中的鍵盤是通過(guò)8255來(lái)控制的,因此,鍵盤是與8255相連接的。鍵盤的RL10~RL17接在8255的PB0~PB7;鍵盤的KA1
105、0~KA12接8255的PC0~PC2。</p><p> 圖5.7 鍵盤與8255連接電路圖</p><p> 8255與鍵盤連接電路圖見(jiàn)圖5.7。由圖可知,鍵盤8255的B口與鍵盤相連,作為輸入,C口用了PC0~PC2作為輸出與鍵盤的KA鍵相連接,通過(guò)8255的B口和部分C口,CPU實(shí)現(xiàn)了對(duì)鍵盤的控制。</p><p> 5.3.5 行列式鍵盤原理電路實(shí)現(xiàn)
106、</p><p> 每一水平線(行線)與垂直線(列線)的交叉處不相通,而是通過(guò)一個(gè)按鍵來(lái)連通。利用這種行列矩陣結(jié)構(gòu)只需4條行線和3條列線,即可組成具有4*3個(gè)按鍵的鍵盤。在這種行列矩陣式編碼鍵盤的單片機(jī)系統(tǒng)中,鍵盤處理程序首先執(zhí)行等待按鍵并確認(rèn)有無(wú)鍵按下的程序段, 當(dāng)確認(rèn)有按鍵按下后,下一步就要識(shí)別是哪一個(gè)按鍵被按下。本設(shè)計(jì)采用逐行掃描查詢法。</p><p> 矩陣式鍵盤掃描方式工作
107、原理是在行線上有上掛電阻連接電源,因此無(wú)鍵按下時(shí),各行線均為高電平。當(dāng)采用列線輸出低電平時(shí),有鍵按下相應(yīng)行線上出現(xiàn)低電平。根據(jù)此原理,CPU對(duì)整個(gè)鍵盤進(jìn)行掃描。所謂掃描即CPU不斷對(duì)列線逐列置低電平,然后檢查行線輸入狀態(tài),確定按鍵情況。若無(wú)鍵按下時(shí),行線與列線斷開(kāi),行線上全是高電平或全為“1”。例如,當(dāng)輸出列線PA0為“0”,讀到行線PCO為“0”時(shí),則判斷是0號(hào)鍵按下;若輸出PA1為“0”,讀到PC1為“0”,則是1號(hào)鍵按下,以此類推
108、。掃描全部鍵盤時(shí)間很短,僅十幾微秒,而按鍵時(shí)間一次至少幾十毫秒,所以只要有鍵按下,都能被掃描到。</p><p> 5.3.6 鍵盤的調(diào)試</p><p> 首先判別鍵盤中有無(wú)鍵按下,由單片機(jī)I/O口向鍵盤送(輸出)全掃描字,然后讀入(輸入)列線狀態(tài)來(lái)判斷。方法是:向行線輸出全掃描字00H,把全部行線置為低電平,然后將列線的電平狀態(tài)讀入累加器A中。如果有按鍵按下,總會(huì)有一根列線電平被拉
109、至低電平,從而使列輸入不全為1。</p><p> 判斷鍵盤中哪一個(gè)鍵被按下是通過(guò)將行線逐行置低電平后,檢查列輸入狀態(tài)實(shí)現(xiàn)的。方法是:依次給行線送低電平,然后查所有列線狀態(tài),如果全為1,則所按下的鍵不在此列;如果不全為一,則所按下的鍵必在此行,而且是在與零電平列線相交的交點(diǎn)上的那個(gè)鍵。</p><p> 鍵盤上的每個(gè)鍵都有一個(gè)鍵值。鍵值賦值的最直接辦法是將行、列線按二進(jìn)制順序排列,當(dāng)某
110、一鍵按下時(shí),鍵盤掃描程序執(zhí)行到該行置零電平,若讀出各列狀態(tài)為非全1,這時(shí)的行、列數(shù)據(jù)組合成鍵值,程序流程圖見(jiàn)圖5.8。</p><p> 圖5.8 判斷有無(wú)鍵按下流程圖</p><p><b> 鍵盤測(cè)試程序:</b></p><p> PA EQU 0CFA0H</p><p> PB EQU
111、PA+1</p><p> PC0 EQU PB+1</p><p> PCTL EQU PC0+1</p><p> CSEG AT 4000H</p><p> LJMP START</p><p> CSEG AT 4100H</p><p> ST
112、ART: MOV 42H,#0FFH ;42H中放顯示的字符碼,初值為0FFH</p><p> STA1: MOV DPTR,#PCTL ;設(shè)置控制字,ABC口工作于方式0</p><p> ;AC口輸出而B口用于輸入</p><p> MOV A,#82H</p><p> MOVX
113、 @DPTR,A</p><p> LINE: MOV DPTR,#PC0 ;將字符碼從C口輸出顯示</p><p> MOV A,42H</p><p> CPL A</p><p> MOVX @DPTR,A</p><p> CLR A<
114、/p><p> MOV DPTR,#PA ;從A口輸出全零到鍵盤的列線</p><p> MOVX @DPTR,A</p><p> MOV DPTR,#PB ;從B口讀入鍵盤行線值</p><p> MOVX A,@DPTR</p><p> MOV
115、40H,A ;行線值存于40H中</p><p> CPL A ;取反后如為全零</p><p> ;表示沒(méi)有鍵閉合,繼續(xù)掃描</p><p> JZ LINE</p><p> MOV R7,#10H ;有鍵按下,延時(shí)10MS去抖動(dòng)</p
116、><p> DL0: MOV R6,#0FFH</p><p> DL1: DJNZ R6,DL1</p><p> DJNZ R7,DL0</p><p> MOV DPTR,#PCTL ;重置控制字,讓A為輸入,BC為輸出</p><p> MOV
溫馨提示
- 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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- ic卡消費(fèi)機(jī)設(shè)計(jì)—-硬件設(shè)計(jì)【畢業(yè)設(shè)計(jì)】
- 基于非接觸式ic卡的門禁控制系統(tǒng)設(shè)計(jì)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)--智能溫度控制系統(tǒng)硬件設(shè)計(jì)
- ic卡水費(fèi)系統(tǒng)畢業(yè)設(shè)計(jì)
- ic卡智能煤氣控制系統(tǒng)設(shè)計(jì)畢業(yè)論文
- 畢業(yè)設(shè)計(jì)-----智能插座控制系統(tǒng)的硬件設(shè)計(jì)
- 電梯ic門禁系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)--步進(jìn)電機(jī)控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- 畢業(yè)設(shè)計(jì)----掌紋控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 電阻爐溫度控制系統(tǒng)硬件設(shè)計(jì)【畢業(yè)設(shè)計(jì)】
- ic卡消費(fèi)機(jī)設(shè)計(jì)—-硬件設(shè)計(jì)【畢業(yè)設(shè)計(jì)+開(kāi)題報(bào)告+文獻(xiàn)綜述】
- 模糊溫度控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)
- 消聲器自動(dòng)除塵控制系統(tǒng)設(shè)計(jì)——電氣控制系統(tǒng)硬件設(shè)計(jì)【畢業(yè)設(shè)計(jì)】
- 基于89c51單片機(jī)的ic卡讀寫控制系統(tǒng)設(shè)計(jì)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---基于plc的控制系統(tǒng)軟硬件設(shè)計(jì)
- 室內(nèi)溫度智能控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)【畢業(yè)設(shè)計(jì)】
- 畢業(yè)設(shè)計(jì)--智能小車引導(dǎo)控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- ic卡計(jì)費(fèi)供水控制器畢業(yè)設(shè)計(jì)
- 電子畢業(yè)設(shè)計(jì)-智能家電控制系統(tǒng)
- 畢業(yè)設(shè)計(jì)---基于plc的控制系統(tǒng)軟硬件設(shè)計(jì)(全套)
評(píng)論
0/150
提交評(píng)論