




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 本科畢業(yè)論文(設(shè)計(jì))題 目: 基于射頻卡的收費(fèi)系統(tǒng)研究 學(xué) 院: 自動(dòng)化工程學(xué)院 專 業(yè): 電子信息科學(xué)與技術(shù) 班 級(jí): 2006級(jí)1班 姓 名: # 指導(dǎo)教師: # 2010年 6 月 8日the research of a fare system based on rf card青島大學(xué)本科生畢業(yè)論文(設(shè)計(jì))摘 要射頻卡又叫做非接觸式ic卡,成功地解決了無源(卡中無電源)和免接觸這兩個(gè)問題,是電子器件領(lǐng)域的一大突破。主要用于公交、地鐵、輪渡等的自動(dòng)收費(fèi)系統(tǒng),也應(yīng)用在身份證明、門禁管理和電子錢包等。本設(shè)計(jì)為基于射頻卡的收費(fèi)系統(tǒng)研究,設(shè)計(jì)一套方便快捷的收費(fèi)系統(tǒng),該系統(tǒng)可廣泛應(yīng)用于各種收費(fèi)場(chǎng)合
2、,代替繁瑣的人工收費(fèi),節(jié)約人力物力。設(shè)計(jì)的硬件部分主要包括單片機(jī)(stc89c52)、射頻卡讀寫模塊,配合鍵盤輸入、數(shù)碼顯示等幾部分。其中,單片機(jī)主要起控制作用,以完成對(duì)射頻卡讀寫模塊的配置以及對(duì)按鍵的處理從而實(shí)現(xiàn)對(duì)射頻卡的操作以及顯示等控制;多功能數(shù)字鍵盤作為輸入設(shè)備,使扣費(fèi)方便快捷完成;顯示部分通過hd7279控制數(shù)碼管來實(shí)現(xiàn)。關(guān)鍵詞 讀卡器 zlg522s mifare1卡 stc89c52abstractradio frequency card is also called non-contact ic card.it successfully resolved problem wit
3、hout source and contact. rf card is mainly used for charging system of bus、subway or the ferry. it is also used in access management, proof of identity and electronic purse. this design is research of a fare system based on rf card.the hardware design is mainly composed of stc89c52,reader,keyboard c
4、ircuit,digital tube display circuit. stc89c52 is the main control in order to finish reading modules for rf card to the configuration and the key of rf card with the operation and display control. digital keyboard the input device, can be convenient for the input buckle expense. hd7279a controls dig
5、ital tube to realize display section. keywords reader zlg522s mifare one card stc89c52目 錄前 言1第1章 概述21.1 論文背景21.2 方案概述2第2章 硬件組成描述52.1 mifare1卡簡(jiǎn)介52.1.1 主要指標(biāo)52.1.2 存儲(chǔ)結(jié)構(gòu)62.2 zlg522s模塊簡(jiǎn)介72.1.1 功能特點(diǎn)72.1.2 技術(shù)參數(shù)72.3 stc89c52單片機(jī)簡(jiǎn)介82.4 hd7279a簡(jiǎn)介102.4.1 特點(diǎn)102.4.2 引腳說明112.4.3 串行接口11第3章 開發(fā)環(huán)境keil介紹133.1 系統(tǒng)概述133.2
6、 keil工程的建立14第4章 系統(tǒng)電路的設(shè)計(jì)及原理184.1 原理框圖184.2 各模塊具體實(shí)現(xiàn)原理分析和說明184.2.1 讀寫模塊184.2.2 按鍵模塊214.2.3 數(shù)碼管顯示模塊21第5章 軟件實(shí)現(xiàn)245.1 讀寫模塊通信設(shè)計(jì)245.1.1 數(shù)據(jù)通信格式245.1.2 應(yīng)用命令詳述265.1.3 函數(shù)庫的使用275.2 射頻扣費(fèi)設(shè)計(jì)295.3 鍵盤和顯示功能325.4 扣費(fèi)記錄存儲(chǔ)34總 結(jié)36謝 辭37參 考 文 獻(xiàn)39青島大學(xué)本科生畢業(yè)論文(設(shè)計(jì))前 言當(dāng)今的信息技術(shù)又到了一個(gè)關(guān)鍵的十字路口。單獨(dú)的pc甚至局域網(wǎng)的時(shí)代已為“全球化網(wǎng)絡(luò)”時(shí)代所代替?;ヂ?lián)網(wǎng)internet的產(chǎn)生和
7、今天的飛速發(fā)展和廣泛滲透就是典范。非接觸ic卡以其高度的信息集成化,高度的安全性,正在并已經(jīng)融入到當(dāng)今信息技術(shù)的主流,正日漸其輝煌和燦爛。隨著金融行業(yè)的不斷發(fā)展,社會(huì)經(jīng)濟(jì)的日新月異,特別是公共交通行業(yè),無線通信領(lǐng)域,封閉式場(chǎng)所管理,衛(wèi)生保健行業(yè),身份識(shí)別,電話通信,大樓保安系統(tǒng)等等,人們已愈來愈多地開始接受和使用非接觸ic卡。當(dāng)今世界上非接觸式ic射頻卡中的主流是已經(jīng)被制定為國(guó)際標(biāo)準(zhǔn):iso/iec 14443 type a標(biāo)準(zhǔn)的philips公司的mifare技術(shù)。歐洲一些較大的ic卡片制造商以及ic卡片讀寫器制造商大都以mifare技術(shù)為標(biāo)準(zhǔn),而發(fā)展和推進(jìn)ic卡行業(yè)。國(guó)外對(duì)ic卡的研究已有
8、多年,但真正在非接觸ic卡方面的研究?jī)H有12年的成熟期。非接觸ic卡代表了整個(gè)“刷卡”領(lǐng)域的發(fā)展方向,前景光明,應(yīng)用領(lǐng)域非常廣泛,例如,門禁控制系統(tǒng)(door access system),停車場(chǎng)收費(fèi)管理系統(tǒng),高速公路不停車收費(fèi)系統(tǒng),地鐵非接觸ic卡的“刷卡”讀寫器,機(jī)關(guān)/企業(yè)內(nèi)部考勤管理系統(tǒng),公共交通收費(fèi)管理系統(tǒng),醫(yī)療保險(xiǎn)管理系統(tǒng),出租車收費(fèi)管理系統(tǒng),銀行服務(wù)“一卡通”等等。目前,國(guó)內(nèi)已有幾家公司正在引進(jìn)國(guó)外的先進(jìn)技術(shù),開發(fā)自己的射頻識(shí)別系統(tǒng)?,F(xiàn)在,在錦山的一條高速公路上已實(shí)現(xiàn)使用非接觸射頻卡自動(dòng)收費(fèi),上海的公共汽車已經(jīng)使用電子月票,北京的機(jī)場(chǎng)高速公路上、深圳的皇崗口岸等也使用了射頻識(shí)別系統(tǒng)
9、收費(fèi)。本課題主要研究基于zlg522s讀寫模塊的卡識(shí)別、增值、扣費(fèi)、卡掛失等功能的實(shí)現(xiàn)。第1章 概述1.1 論文背景射頻卡(radio frquency card,簡(jiǎn)稱rf卡)又叫做非接觸式ic卡,誕生于90年代初,是一種以無線方式傳送數(shù)據(jù)的集成電路卡片,它具有數(shù)據(jù)處理及安全認(rèn)證功能等特有的優(yōu)點(diǎn)。射頻卡是最近幾年發(fā)展起來的一項(xiàng)新技術(shù),它成功地將射頻識(shí)技術(shù)和ic卡技術(shù)結(jié)合起來,解決了無源(卡中無電源)和免接觸這兩個(gè)問題,是電子器件領(lǐng)域的一大突破。它存在著磁卡和接觸式ic卡不可比擬的優(yōu)點(diǎn),所以一經(jīng)問世,便立即引起廣泛的關(guān)注, 并以驚人的速度得到推廣和應(yīng)用。 1994年射頻卡(rfid)進(jìn)入中國(guó),引
10、發(fā)了中國(guó)rfid卡的應(yīng)用革命,在國(guó)內(nèi),其應(yīng)用領(lǐng)域越來越廣,涉及各行各業(yè)。先后歷經(jīng)了磁卡、tm卡、接觸式ic卡、非接觸式id卡、非接觸式可讀寫ic卡。其中為了適應(yīng)小區(qū)、智能大廈的防范系統(tǒng)要求,門禁系統(tǒng)由單一的門禁功能發(fā)展到門禁、考勤、消費(fèi)、巡更、三表抄送等綜合性一卡通系統(tǒng);為適應(yīng)遠(yuǎn)距離感應(yīng)的要求,國(guó)內(nèi)出現(xiàn)了有源卡、微波卡遠(yuǎn)距離感應(yīng)系統(tǒng)。另外,rfid技術(shù)在高速公路自動(dòng)收費(fèi)、會(huì)員制收費(fèi)卡、員工就餐卡、商店收費(fèi)、電話卡、儲(chǔ)蓄卡等等中比較有發(fā)展前景。當(dāng)然在這里僅僅羅列了rfid技術(shù)應(yīng)用的一部分,但都是可行的且十分重大。rfid將是未來一個(gè)新的經(jīng)濟(jì)增長(zhǎng)點(diǎn)。射頻識(shí)別技術(shù)在中國(guó)處于一個(gè)剛剛起步的階段,但是它
11、的發(fā)展?jié)摿κ蔷薮蟮?,它的前景非常誘人。在信息社會(huì),對(duì)于各種信息的獲取及處理要求快速、準(zhǔn)確,在不久的將來rfid技術(shù)就將同其它識(shí)別技術(shù)一樣深入和改善我們的生活。對(duì)于這樣一個(gè)新技術(shù),我們應(yīng)該增強(qiáng)宣傳力度,爭(zhēng)取能夠盡早普及它,利用它,提高我們的工作效率和經(jīng)濟(jì)效益。1.2 方案概述隨著居民生活水平提高,居民在各項(xiàng)日常支出及支出種類上也相應(yīng)增加。例如,某地居民日常需要繳納水電費(fèi)、煤氣費(fèi)、電話費(fèi)、有線電視費(fèi);出行乘坐交通工具的費(fèi)用;超市購物、就餐、自動(dòng)售販機(jī)以及各種商店的消費(fèi)支出。支出項(xiàng)目眾多,種類復(fù)雜,造成了很多不便與麻煩:1、身上時(shí)常攜帶小額現(xiàn)金、硬幣沉重不方便;有些消費(fèi)場(chǎng)合收費(fèi)數(shù)目較小但是卻為此需要
12、特別準(zhǔn)備零錢以完成收費(fèi),比如乘坐公交車,時(shí)常是1元、2元的小額支出,沒有零錢卻難以乘坐,非常不方便;還有些場(chǎng)合如自動(dòng)飲料售販機(jī)可能只支持硬幣,想喝杯飲料卻因?yàn)闆]有硬幣而掃興而歸時(shí)有發(fā)生。2、水電費(fèi)、煤氣費(fèi)、電話費(fèi)等繳納可能需要在不同收費(fèi)點(diǎn)完成繳費(fèi),居民為了繳齊各種費(fèi)用要跑去很多地方,雖然也有銀行代為辦理,但是由于銀行上班時(shí)間的限制,很多人無法抽空前去繳費(fèi),并且,排隊(duì)繳納人數(shù)眾多,銀行專用窗口少、人工收費(fèi)效率低,居民常常需要等待很長(zhǎng)時(shí)間,而且,占用銀行窗口空間資源,許多銀行都不愿做代收水電費(fèi)等業(yè)務(wù)。atm機(jī)繳費(fèi)方式雖然可以不受時(shí)間限制,但步驟也較為復(fù)雜,老年人難以操作。3、超市等地方收銀需要大量
13、現(xiàn)金交換、找零、刷卡也會(huì)占用相當(dāng)一部分時(shí)間,在節(jié)假日購物人多的情況下,許多人難以忍受。為解決以上諸多不便,本設(shè)計(jì)提出一套基于射頻卡的收費(fèi)系統(tǒng),他的特點(diǎn)是方便快捷,適用于多種應(yīng)用場(chǎng)合,甚至可以將水電費(fèi)、有線電視費(fèi)、電話費(fèi)等集成在一臺(tái)收費(fèi)機(jī)完成,省去跑各個(gè)收費(fèi)點(diǎn)的不便,而且操作簡(jiǎn)單,整個(gè)過程只需刷卡或按12鍵完成,老年人也能輕松上手;充分解放錢包空間,出門只需攜帶一張射頻卡即可完成大部分日常支出;由于其特性定位于小額支出,又加入了單筆最高限額,全天消費(fèi)限額等設(shè)置,當(dāng)超過這些限定需要輸入密碼。建立這樣一個(gè)收費(fèi)系統(tǒng),首先有個(gè)發(fā)卡機(jī)構(gòu)(如銀行)它同時(shí)負(fù)責(zé)對(duì)金錢的管理,企業(yè)和個(gè)人向該機(jī)構(gòu)申請(qǐng)賬戶,個(gè)人用戶
14、向申請(qǐng)的賬戶中存入若干錢。當(dāng)用戶在收費(fèi)機(jī)上刷卡扣費(fèi),收費(fèi)機(jī)根據(jù)收費(fèi)項(xiàng)目將從用戶卡中扣除的金額分類存儲(chǔ),卡發(fā)行機(jī)構(gòu)最終會(huì)將扣費(fèi)金額根據(jù)收費(fèi)項(xiàng)目轉(zhuǎn)入相應(yīng)企業(yè)賬戶。該系統(tǒng)使用時(shí),首先確定它的應(yīng)用場(chǎng)合及收費(fèi)類型??梢酝ㄟ^程序設(shè)定它為多應(yīng)用場(chǎng)合還是單一應(yīng)用場(chǎng)合,扣費(fèi)又可以分為人工扣費(fèi)和自動(dòng)扣費(fèi),人工扣費(fèi)下(如超市收銀),收銀員通過與控制器連接的鍵盤輸入需要扣費(fèi)的金額,扣費(fèi)的金額在收費(fèi)機(jī)的數(shù)碼顯示管上顯示供顧客確認(rèn),確認(rèn)無誤后,顧客將卡至于扣費(fèi)區(qū),收費(fèi)機(jī)根據(jù)金額在顧客的射頻卡上減去相應(yīng)金額。自動(dòng)扣費(fèi)下(如水電費(fèi)等繳納)消費(fèi)者選擇扣費(fèi)項(xiàng)目,然后將卡置于刷卡有效范圍,讀寫模塊讀取卡的序列號(hào),該序列號(hào)相當(dāng)于該卡
15、的身份認(rèn)證且其號(hào)碼為全球唯一,控制器得到這個(gè)序列號(hào)后查詢數(shù)據(jù)庫相應(yīng)收費(fèi)條目,從卡中減去相應(yīng)金額,并將數(shù)據(jù)庫條目標(biāo)記為已扣費(fèi),避免重復(fù)收?。蝗绻菃我粦?yīng)用場(chǎng)合則直接刷卡扣費(fèi)。該系統(tǒng)也可通過設(shè)定一個(gè)固定的金額以自動(dòng)扣費(fèi),實(shí)現(xiàn)定額消費(fèi)。當(dāng)單筆扣費(fèi)額或全天消費(fèi)總額超過一定限度,收費(fèi)機(jī)會(huì)提示輸入密碼,以免卡丟失情況下被拾到者不法利用,最大限度保證持卡人資金安全。圖1.1即為基于射頻卡收費(fèi)系統(tǒng)的原理框圖。系統(tǒng)的核心是單片機(jī)控制下的射頻卡讀寫模塊以及讀寫模塊支持的射頻卡(本系統(tǒng)采用mifare1 s50卡)。在硬件組成上采用了stc89c52單片機(jī)作為控制芯片,周立功zlg522s模塊完成射頻卡的讀寫過程,
16、鍵盤輸入扣費(fèi)項(xiàng)目或扣費(fèi)金額,數(shù)碼管用于顯示扣費(fèi)額以及各種提示信息, hd7279智能驅(qū)動(dòng)芯片同時(shí)驅(qū)動(dòng)數(shù)碼管顯示和鍵盤,它能將顯示信息以及按鍵輸入進(jìn)行處理,與控制器配合共同完成相應(yīng)功能;用戶持mifare1卡靠近讀寫模塊驅(qū)動(dòng)下的感應(yīng)天線區(qū),當(dāng)進(jìn)入刷卡有效范圍即完成相應(yīng)操作。圖1.1 系統(tǒng)硬件框圖 第2章 硬件組成描述2.1 mifare1卡簡(jiǎn)介mifare1卡(簡(jiǎn)稱m1卡)的卡片的電氣部分是由一個(gè)天線和asic組成。其中,天線是只有幾組繞線組成的線圈,很適合封裝到is0卡片中??ㄆ腶sic由一個(gè)高速(106kb波特率)的rf接口,一個(gè)控制單元和一個(gè)8k位eeprom組成。射頻卡的內(nèi)部結(jié)構(gòu)如圖2
17、.1所示:圖2.1 射頻卡內(nèi)部結(jié)構(gòu)工作原理:讀寫模塊向m1卡發(fā)一組固定頻率(13.56mhz)的電磁波,卡片內(nèi)有一個(gè)lc串聯(lián)諧振電路,其頻率與讀寫模塊發(fā)射的頻率相同,在電磁波的激勵(lì)下,lc諧振電路產(chǎn)生共振,從而使電容內(nèi)有了電荷,在這個(gè)電容的另一端,接有一個(gè)單向?qū)ǖ碾娮颖茫瑢㈦娙輧?nèi)的電荷送到另一個(gè)電容內(nèi)儲(chǔ)存,當(dāng)所積累的電荷達(dá)到2v時(shí),此電容可作為電源為其它電路提供工作電壓,將卡內(nèi)數(shù)據(jù)發(fā)射出去或接收讀寫器的數(shù)據(jù)。2.1.1 主要指標(biāo)l 容量為8k位eeprom。l 分為16個(gè)扇區(qū),每個(gè)扇區(qū)分為4塊,每塊16個(gè)字節(jié),以塊為存取單位。l 每個(gè)扇區(qū)有獨(dú)立的一組密碼及訪問控制。l 每張卡有唯一的序列號(hào),
18、為32位。l 具有防沖突機(jī)制,支持多卡操作。l 無電源,自帶天線,內(nèi)含加密控制邏輯和通訊邏輯電路。l 數(shù)據(jù)保存期為10年,可改寫10萬次,讀無限次。l 工作溫度:-2050(溫度為90%)。l 工作頻率:13.56mhz。l 通信速率:106kbps。l 讀寫距離:10cm以內(nèi)(與讀寫器有關(guān))。2.1.2 存儲(chǔ)結(jié)構(gòu)1、m1卡分為16個(gè)扇區(qū),每個(gè)扇區(qū)由4塊(塊0、塊1、塊2、塊3)組成,我們也將16個(gè)扇區(qū)的64個(gè)塊按絕對(duì)地址編號(hào)為063,存儲(chǔ)結(jié)構(gòu)如圖2.2所示:圖2.2 射頻卡存儲(chǔ)結(jié)構(gòu)2、第0扇區(qū)的塊0(即絕對(duì)地址0塊),用于存放廠商代碼,已經(jīng)固化,不可更改。3、每個(gè)扇區(qū)的塊0、塊1、塊2為數(shù)據(jù)
19、塊,可以用來存儲(chǔ)數(shù)據(jù);每個(gè)扇區(qū)的塊3為控制塊包括了密碼a(6字節(jié))、存取控制(4字節(jié))和密碼b(6字節(jié))。4、每個(gè)扇區(qū)的密碼和存取控制都是相互獨(dú)立的,可以根據(jù)實(shí)際需要設(shè)定各自的密碼及存取控制。存取控制為4個(gè)字節(jié),共32位,扇區(qū)中的每個(gè)塊(包括數(shù)據(jù)塊和控制塊)的存取條件是由密碼和存取控制共同決定的。2.2 zlg522s模塊簡(jiǎn)介本設(shè)計(jì)的讀寫模塊采用周立功zlg522s模塊,它基于飛利浦rc522芯片,具有體積小、支持mifare1系列射頻卡等特點(diǎn);模塊接上天線讀卡有效范圍達(dá)到50100mm;采用iic接口通信,使用單片機(jī)上任意兩條i/o口即可。2.1.1 功能特點(diǎn)l 采用超小型封裝讀卡芯片;l
20、符合iso14443-3標(biāo)準(zhǔn);l 可選擇5v或者3.3v供電;l 能接雙天線,能識(shí)別是哪一個(gè)天線上有卡;l 有iic從機(jī)接口,也有uart接口或rs-232接口;l 可主動(dòng)檢測(cè)卡進(jìn)入,檢測(cè)到卡時(shí)可產(chǎn)生中斷輸出或通過uart輸出數(shù)據(jù);l 符合iso14443-4標(biāo)準(zhǔn),可支持mifare pro、mifare desfire等cpu卡。2.1.2 技術(shù)參數(shù)表2.1 zlg522s模塊的技術(shù)參數(shù)產(chǎn)品型號(hào)zlg522s系列功率消耗平均電流:60毫安/直流5v;50毫安/直流3v峰值電流:小于160毫安工作頻率13.56mhz讀卡距離50100毫米(mifare1卡)接口iic、uart、rs-232數(shù)
21、據(jù)傳輸速率iic:80kuart/rs-232:9600230400bit/s支持卡類型mifare1 s50、mifare1 s70、mifare ultralight、mifare pro、mifare desfire物理特性尺寸:分體式25mm*16mm*6mm;天線一體化54mm*34.5mm*6mm環(huán)境工作溫度:攝氏-2080度儲(chǔ)存溫度:攝氏-4085度濕度:相對(duì)濕度5%95%2.3 stc89c52單片機(jī)簡(jiǎn)介stc89c52是一個(gè)低功耗,高性能cmos 8位單片機(jī),片內(nèi)含8 bytes isp(in-system programmable)的可反復(fù)擦寫的flash只讀程序存儲(chǔ)器,器
22、件采用stc公司的高密度、非易失性存儲(chǔ)技術(shù)制造,兼容標(biāo)準(zhǔn)mcs-51指令系統(tǒng)及80c51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和isp flash存儲(chǔ)單元,功能強(qiáng)大的微型計(jì)算機(jī)的stc89c52可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價(jià)比的解決方案。stc89c52具有如下特點(diǎn):40個(gè)引腳,8k bytes flash片內(nèi)程序存儲(chǔ)器,512 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(ram),32個(gè)外部雙向輸入/輸出(i/o)口,5個(gè)中斷優(yōu)先級(jí)2層中斷嵌套中斷,2個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,看門狗(wdt)電路,片內(nèi)時(shí)鐘振蕩器。 此外,stc89c52設(shè)計(jì)和配置了振蕩頻率可為0hz并可通
23、過軟件設(shè)置省電模式??臻e模式下,cpu暫停工作,而ram定時(shí)計(jì)數(shù)器,串行口,外中斷系統(tǒng)可繼續(xù)工作,掉電模式凍結(jié)振蕩器而保存ram的數(shù)據(jù),停止芯片其它功能直至外中斷激活或硬件復(fù)位。同時(shí)該芯片還具有pdip、tqfp和plcc等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求。1主要特性: 8位字長(zhǎng)cpu; 振蕩器和時(shí)鐘電路,全靜態(tài)操作:033mhz; 8kb系統(tǒng)內(nèi)可編程flash存儲(chǔ)器; 256kb內(nèi)部ram; 4個(gè)i/o端口共32線; 3個(gè)16位定時(shí)/計(jì)數(shù)器; 全雙工(uart)串行口通道; isp端口; 定時(shí)監(jiān)視器(看門狗); 雙數(shù)據(jù)指針(dptr); 20多個(gè)特殊功能寄存器; 電源下降標(biāo)志。2管腳說明:
24、vcc:供電電壓。gnd:接地。p0口:p0口為一個(gè)8位漏級(jí)開路雙向i/o口,每腳可吸收8ttl門電流。當(dāng)p1口的管腳第一次寫1時(shí),被定義為高阻輸入。p0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在fiash編程時(shí),p0 口作為原碼輸入口,當(dāng)fiash進(jìn)行校驗(yàn)時(shí),p0輸出原碼,此時(shí)p0外部必須被拉高。p1口:p1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向i/o口,p1口緩沖器能接收輸出4ttl門電流。p1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,p1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在flash編程和校驗(yàn)時(shí),p1口作為第八位地址接收。p2口:p2口為一個(gè)
25、內(nèi)部上拉電阻的8位雙向i/o口,p2口緩沖器可接收,輸出4個(gè)ttl門電流,當(dāng)p2口被寫“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),p2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。p2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),p2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),p2口輸出其特殊功能寄存器的內(nèi)容。p2口在flash編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。p3口:p3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向i/o口,可接收輸出4個(gè)ttl門電流。當(dāng)p3口寫入“1”后,它們被內(nèi)部上拉為高電平,
26、并用作輸入。作為輸入,由于外部下拉為低電平,p3口將輸出電流(ill)這是由于上拉的緣故。p3.0 rxd(串行輸入口)p3.1 txd(串行輸出口)p3.2 /int0(外部中斷0)p3.3 /int1(外部中斷1)p3.4 t0(記時(shí)器0外部輸入)p3.5 t1(記時(shí)器1外部輸入)p3.6 /wr(外部數(shù)據(jù)存儲(chǔ)器寫選通)p3.7 /rd(外部數(shù)據(jù)存儲(chǔ)器讀選通)p3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。管腳圖如圖2.4所示:圖2.4 stc89c52引腳圖2.4 hd7279a簡(jiǎn)介hd7279a是一片具有串行接口的,可同時(shí)驅(qū)動(dòng)8位共陰式數(shù)碼管或64只獨(dú)立led的智能顯示驅(qū)動(dòng)芯片,該芯片
27、同時(shí)還可連接多達(dá)64鍵的鍵盤矩陣,單片即可完成led顯示,鍵盤接口的全部功能。hd7279a內(nèi)部含有譯碼器,可直接接受bcd碼或16進(jìn)制碼,并同時(shí)具有2種譯碼方式,此外,還具有多種控制指令,如消隱、閃爍、左移、右移、段尋址等。hd7279a具有片選信號(hào),可方便地實(shí)現(xiàn)多于8位的顯示或多于64鍵的鍵盤接口。2.4.1 特點(diǎn)l 串行接口,無需外圍元件可直接驅(qū)動(dòng)ledl 各位獨(dú)立控制譯碼/不譯碼及消隱和閃爍屬性l (循環(huán))左移/(循環(huán))右移指令l 具有段尋址指令,方便控制獨(dú)立ledl 64鍵鍵盤控制器,內(nèi)含去抖動(dòng)電路l 有dip和soic兩種封裝形式供選擇2.4.2 引腳說明表2.2 hd7279a的
28、引腳說明引腳名稱說明1,2vdd正電源3,5nc無連接,必須懸空4vss接地6cs片選輸入端,此引腳為低電平時(shí),可向芯片發(fā)送指令及讀取鍵盤數(shù)據(jù)7clk同步時(shí)鐘輸入端,向芯片發(fā)送數(shù)據(jù)及讀取鍵盤數(shù)據(jù)時(shí),此引腳電平上升沿表示數(shù)據(jù)有效。8data串行數(shù)據(jù)輸入/輸出端,當(dāng)芯片接收指令時(shí),此引腳為輸入端;當(dāng)讀取鍵盤數(shù)據(jù)時(shí),此引腳在“讀”指令最后一個(gè)時(shí)鐘的下降沿變?yōu)檩敵龆恕?key按鍵有效輸出端,平時(shí)為高電平,當(dāng)檢測(cè)到有效按鍵時(shí),此引腳變?yōu)榈碗娖健?016sgsa端g端a驅(qū)動(dòng)輸出。17dp小數(shù)點(diǎn)驅(qū)動(dòng)輸出。1825dig0dig7數(shù)字0數(shù)字7驅(qū)動(dòng)輸出。26clk0振蕩輸出端。27rcrc振蕩器連接端。28re
29、set復(fù)位端。2.4.3 串行接口hd7279a采用串行方式與微處理器通信,串行數(shù)據(jù)從data引腳送入芯片,并由clk端同步,當(dāng)片選信號(hào)變?yōu)榈碗娖胶?,data引腳上的數(shù)據(jù)在clk引腳的上升沿被寫入hd7279a的緩沖寄存器。hd7279a的指令結(jié)構(gòu)有三種類型:1、不帶數(shù)據(jù)的純指令,指令的寬度為8個(gè)bit,即微處理器需發(fā)送8個(gè)clk脈沖。2、帶有數(shù)據(jù)的指令,寬度為16個(gè)bit,即微處理器需發(fā)送16個(gè)clk脈沖。3、讀取鍵盤數(shù)據(jù)指令,寬度為16個(gè)bit,前8個(gè)為微處理器發(fā)送到hd7279a的指令,后8個(gè)bit為hd7279a返回的鍵盤代碼。執(zhí)行此指令時(shí),hd7279a的data端在第9個(gè)clk脈沖
30、的上升沿變?yōu)檩敵鰻顟B(tài),并與第16個(gè)脈沖的下降沿恢復(fù)為輸入狀態(tài),等待接收下一個(gè)指令。串行接口的時(shí)序如圖2.5、2.6、2.7所示:1、純指令圖2.5 串行接口的時(shí)序(1)2、帶數(shù)據(jù)指令圖2.6 串行接口的時(shí)序(2)3、讀鍵盤指令圖2.7 串行接口的時(shí)序(3)第3章 開發(fā)環(huán)境keil介紹單片機(jī)開發(fā)中除必需的硬件外,同樣離不開軟件,我們寫的匯編語言源程序要變?yōu)閏pu可以執(zhí)行的機(jī)器代碼有兩種方法,一種是手工匯編,另一種是機(jī)器匯編,目前手工匯編的方法已經(jīng)很少使用了。機(jī)器匯編是通過匯編軟件將源程序變?yōu)闄C(jī)器碼,匯編軟件有早期的a51,隨著單片機(jī)開發(fā)技術(shù)的不斷發(fā)展,從普遍使用匯編語言到逐漸使用高級(jí)語言開發(fā),單
31、片機(jī)的開發(fā)軟件也在不斷發(fā)展,keil軟件是目前最流行開發(fā)mcs-51系列單片機(jī)的軟件,這從近年來各仿真機(jī)廠商紛紛宣布全面支持keil即可看出。keil提供了完整的開發(fā)方案包括c編譯器、宏匯編、連接器、庫管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等,通過一個(gè)集成開發(fā)環(huán)境(uvision)將這些部份組合在一起。3.1 系統(tǒng)概述keil c51是美國(guó)keil software公司出品的51系列兼容單片機(jī)c語言軟件開發(fā)系統(tǒng),與匯編相比,c語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢(shì),因而易學(xué)易用。用過匯編語言后再使用c來開發(fā),體會(huì)更加深刻。 keil c51軟件提供豐富的庫函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具
32、,全windows界面。另外重要的一點(diǎn),只要看一下編譯后生成的匯編代碼,就能體會(huì)到keil c51生成的目標(biāo)代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時(shí)更能體現(xiàn)高級(jí)語言的優(yōu)勢(shì)。下面詳細(xì)介紹keil c51開發(fā)系統(tǒng)各部分功能和使用。使用獨(dú)立的keil仿真器時(shí),注意事項(xiàng) :* 仿真器標(biāo)配11.0592mhz的晶振,但用戶可以在仿真器上的晶振插孔中換插其他頻率的晶振。 * 仿真器上的復(fù)位按鈕只復(fù)位仿真芯片,不復(fù)位目標(biāo)系統(tǒng)。 * 仿真芯片的31腳(/ea)已接至高電平,所以仿真時(shí)只能使用片內(nèi)rom,不能使用片外rom;但仿真器外引插針中的31腳并不與仿真芯片的31腳相連,
33、故該仿真器仍可插入到擴(kuò)展有外部rom(其cpu的/ea引腳接至低電平)的目標(biāo)系統(tǒng)中使用。3.2 keil工程的建立 首先啟動(dòng) keil 軟件的集成開發(fā)環(huán)境,這里假設(shè)已正確安裝了該軟件,可以從桌面上直接雙擊 uvision 的圖標(biāo)以啟動(dòng)該軟件。uvison啟動(dòng)后,程序窗口的左邊有一個(gè)工程管理窗口,該窗口有 3 個(gè)標(biāo)簽,分別是files、regs、和 books,這三個(gè)標(biāo)簽頁分別顯示當(dāng)前項(xiàng)目的文件結(jié)構(gòu)、cpu 的寄存器及部份特殊 功能寄存器的值(調(diào)試時(shí)才出現(xiàn))和所選 cpu 的附加說明文件,如果是第一次啟動(dòng) keil,那么這三個(gè)標(biāo)簽頁全是空的。1、源文件的建立使用菜單“file-new ”或者點(diǎn)擊
34、工具欄的新建文件按鈕,即可在項(xiàng)目窗口的右側(cè)打開一個(gè)新的文本編緝窗口, 在該窗口中輸入源程序如下:#includesbit d2=p12;unsigned int a;void main() d2=0;for(a=0;a=10000;a+);d2=1;for(a=0;anew project ”菜單,出現(xiàn)一個(gè)對(duì)話框,要求給將要建立的工程起一個(gè)名字,你可以在編緝框中輸入一個(gè)名字(設(shè)為 exam1),不需要擴(kuò)展名。點(diǎn)擊“保存”按鈕,出現(xiàn)第二個(gè)對(duì)話框,這個(gè)對(duì)話框要求選擇目標(biāo) cpu(即所用芯片的型號(hào)),keil 支持的 cpu 很多,我們選擇 atmel 公司的 89c51芯片。點(diǎn)擊 atmel前面的
35、“+”號(hào),展開該層,點(diǎn)擊其中的 89c51,然后再點(diǎn)擊“確定”按鈕,回到主界面,此時(shí),在 工程窗口的文件頁中,出現(xiàn)了“target1”,前面有“+”號(hào),點(diǎn)擊“+”號(hào)展開,可以看到下一層的“ source group1”,這時(shí)的工程還是一個(gè)空的工程,里面什么文件也沒有,需要手動(dòng)把剛才編寫好的源程序加入,點(diǎn)擊“source group1”使其反白顯示,然后,點(diǎn)擊鼠標(biāo)右鍵,出現(xiàn)一個(gè)下拉菜單。選中其中的“add file to group”source group1”,出現(xiàn)一個(gè)對(duì)話框,要求尋找源文件,注意,該對(duì)話框下面的“文件類型” 默認(rèn)為 c source file(*.c),也就是以 c 為擴(kuò)展名
36、的文件。雙擊 exam1.c 文件,將文件加入項(xiàng)目,注意,在文件加入項(xiàng)目后,該對(duì)話框并不消失,等待繼續(xù)加入其它文件,但初學(xué)時(shí)常會(huì)誤認(rèn)為操作沒有成功而再次雙擊同一文件,這時(shí)會(huì)出現(xiàn)如圖 4所示的對(duì)話框,提示你所選文件已在列表中,此時(shí)應(yīng)點(diǎn)擊“確定”,返回前一對(duì)話框,然后點(diǎn)擊“close” 即可返回主界面,返回后,點(diǎn)擊“source group 1”前的加號(hào),會(huì)發(fā)現(xiàn) exam1.c文件已在其中。雙擊文件名,即打開該源程序。3、工程的詳細(xì)設(shè)置工程建立好以后,還要對(duì)工程進(jìn)行進(jìn)一步的設(shè)置,以滿足要求。首先點(diǎn)擊左邊 project 窗口的 target 1,然后使用菜單“project-option for
37、target target1” 即出現(xiàn)對(duì)工程設(shè)置的對(duì)話框,這個(gè)對(duì)話框可謂非常復(fù)雜,共有 8 個(gè)頁面,要全部搞清可不容易,好在絕大部份設(shè)置項(xiàng)取默認(rèn)值就行了。設(shè)置對(duì)話框中的 target 頁面,xtal 后面的數(shù)值是晶振頻率值,默認(rèn)值是所選目標(biāo) cpu 的最高 可用頻率值,對(duì)于我們所選的at89c51 而言是24m,該數(shù)值與最終產(chǎn)生的目標(biāo)代碼無關(guān),僅用于軟件模擬調(diào)試時(shí)顯示程序執(zhí)行時(shí)間。正確設(shè)置該數(shù)值可使顯示時(shí)間與實(shí)際所用時(shí)間一致,一般將其設(shè)置成與硬件對(duì)目標(biāo)進(jìn)行設(shè)置所用晶振頻率相同,如果沒必要了解程序執(zhí)行的時(shí)間,也可以不設(shè),這里設(shè)置為12。memory model 用于設(shè)置ram 使用情況,有三個(gè)選
38、擇項(xiàng),small 是所有變量都在單片機(jī)的內(nèi)部 ram 中;compact 是可以使用一頁外部擴(kuò)展 ram,而 larget則是可以使用全部外部的擴(kuò)展 ram。code model用于設(shè)置 rom空間的使用,同樣也有三個(gè)選擇項(xiàng),即 small 模式,只用低于 2k的程序空間;compact 模式,單個(gè)函數(shù)的代碼量不能超過2k,整個(gè)程序可以使用64k程序空間;larget 模,可用全部 64k空間。use on-chip rom 選擇項(xiàng),確認(rèn)是否僅使用片內(nèi) rom(注意:選中該項(xiàng)并不會(huì)影響最終生成的目標(biāo)代碼量);operating 項(xiàng)是操作系統(tǒng)選擇,keil 提供了兩種操作系統(tǒng):rtx tiny
39、和 rtx full,關(guān)于操作系統(tǒng)是另外一個(gè)很大的話題了,通常我們不使用任何操作系統(tǒng),即使用該項(xiàng)的默認(rèn)值:none(不使用任何操作系統(tǒng));off chip code memory 用以確定系統(tǒng)擴(kuò)展 rom 的地址范圍,off chip xdata memory 組用于確定系統(tǒng)擴(kuò)展 ram 的地址范圍,這些選擇項(xiàng)必須根據(jù)所用硬件來決定,由于該例是單片應(yīng)用,未進(jìn)行任何擴(kuò)展,所以均不重新選擇,按默認(rèn)值設(shè)置。設(shè)置對(duì)話框中的 output 頁面,這里面也有多個(gè)選擇項(xiàng),其中 creat hex file 用于生成可執(zhí)行代碼文件(可以用編程器寫入單片機(jī)芯片的 hex 格式文件,文件的擴(kuò)展名為.hex),默認(rèn)
40、情況下該項(xiàng)未被選中,如果要寫片做硬件實(shí)驗(yàn),就必須選中該項(xiàng),這一點(diǎn)是初學(xué)者易疏忽的,在此特別提醒注意。選中 debug information 將會(huì)產(chǎn)生調(diào)試信息,這些信息用于調(diào)試,如果需要對(duì)程序進(jìn)行調(diào)試,應(yīng)當(dāng)選中該項(xiàng)。browse information 是產(chǎn)生瀏覽信息,該信息可以用菜單 view-browse 來查看,這里取默認(rèn)值。按鈕“ select folder for objects ”是用來選擇最終的目標(biāo)文件所在的文件夾,默認(rèn)是與工程文件在同一個(gè)文件夾中。name of executable 用于指定最終生成的目標(biāo)文件的名字,默認(rèn)與工程的名字相同,這兩項(xiàng)一般不需要更改。工程設(shè)置對(duì)話框中
41、的其它各頁面與 c51 編譯選項(xiàng)、a51 的匯編選項(xiàng)、bl51 連接器的連接選項(xiàng)等用法有關(guān),這里均取默認(rèn)值,不作任何修改。以下僅對(duì)一些有關(guān)頁面中常用的選項(xiàng)作一個(gè)簡(jiǎn)單介紹。listing 標(biāo)簽頁用于調(diào)整生成的列表文件選項(xiàng)。在匯編或編譯完成后將產(chǎn)生(*.lst)的列表文件,在連接完成后也將產(chǎn)生(*.m51)的列表文件,該頁用于對(duì)列表文件的內(nèi)容和形式 進(jìn)行細(xì)致的調(diào)節(jié),其中比較常用的選項(xiàng)是“c compile listing”下的“assamble code”項(xiàng),選中該項(xiàng)可以在列表文件中生成 c 語言源程序所對(duì)應(yīng)的匯編代碼。c51 標(biāo)簽頁用于對(duì)keil的c51編譯器的編譯過程進(jìn)行控制,其中比較常用的是
42、“code optimization”組,該組中 level 是優(yōu)化等級(jí),c51 在對(duì)源程序進(jìn)行編譯時(shí),可以對(duì)代碼多至 9 級(jí)優(yōu)化,默認(rèn)使用第 8 級(jí),一般不必修改,如果在編譯中出現(xiàn)一些問題,可以降低優(yōu)化級(jí)別試一試。emphasis 是選擇編譯優(yōu)先方式,第一項(xiàng)是代碼量?jī)?yōu)化(最終生成的代碼量小);第二項(xiàng) 是速度優(yōu)先(最終生成的代碼速度快);第三項(xiàng)是缺省。默認(rèn)的是速度優(yōu)先,可根據(jù)需要更改。設(shè)置完成后按確認(rèn)返回主界面,工程文件建立、設(shè)置完畢。4、編譯、連接在設(shè)置好工程后,即可進(jìn)行編譯、連接。選擇菜單 project-build target,對(duì)當(dāng)前工程進(jìn)行連接,如果當(dāng)前文件已修改,軟件會(huì)先對(duì)該文件進(jìn)
43、行編譯,然后再連接以產(chǎn)生目標(biāo)代碼;如果選擇 rebuild all target files 將會(huì)對(duì)當(dāng)前工程中的所有文件重新進(jìn)行編譯然后再連接,確保最終生產(chǎn)的目標(biāo)代碼是最新的,而 translate .項(xiàng)則僅對(duì)該文件進(jìn)行編譯,不進(jìn)行連接。以上操作也可以通過工具欄按鈕直接進(jìn)行。編譯過程中的信息將出現(xiàn)在輸出窗口中的 build 頁中,如果源程序中有語法錯(cuò)誤,會(huì)有錯(cuò)誤報(bào)告出現(xiàn),雙擊該行,可以定位到出錯(cuò)的位置,對(duì)源程序反復(fù)修改之后, 最終會(huì)得到名為exam1.hex 的文件,該文件即可被編程器讀入并寫到芯片中,同時(shí)還產(chǎn)生了一些其它相關(guān)的文件,可被用于 keil 的仿真與調(diào)試,這時(shí)可以進(jìn)入下一步調(diào)試的工
44、作。第4章 系統(tǒng)電路的設(shè)計(jì)及原理4.1 原理框圖本設(shè)計(jì)的硬件部分主要由單片機(jī)(stc89c52)、讀寫模塊、鍵盤電路,數(shù)碼管顯示四大部分組成。其中,單片機(jī)主要起控制作用,以完成對(duì)射頻卡讀寫模塊的配置從而實(shí)現(xiàn)對(duì)射頻卡的操作以及顯示等控制;數(shù)字鍵盤作為輸入設(shè)備;顯示部分主要采用數(shù)碼管顯示來實(shí)現(xiàn)。系統(tǒng)硬件框圖如圖4.1所示:圖4.1 系統(tǒng)總體框圖4.2 各模塊具體實(shí)現(xiàn)原理分析和說明4.2.1 讀寫模塊本設(shè)計(jì)的讀寫模塊采用周立功zlg522s模塊,基于飛利浦rc522芯片,體積??;支持mifare1系列射頻卡;模塊能接雙天線,并且能識(shí)別哪個(gè)天線上有卡,天線讀卡有效范圍50100mm;iic接口通信,使
45、用單片機(jī)上任意兩條i/o口即可實(shí)現(xiàn)。1、io設(shè)置本課題的讀寫模塊采用周立功zlg522s模塊,該模塊有兩種不可同時(shí)使用的通信接口:uart和iic接口。本課題采用iic接口,數(shù)據(jù)接口為j1,天線接口為j2,定義分別如表4.1、4.2所示:表4.1 j1管腳定義表管腳符號(hào)類型描述j1-1int輸出中斷輸出信號(hào),集電極開路。當(dāng)使用iic通信,當(dāng)模塊完成命令時(shí),此腳輸入低電平;當(dāng)設(shè)置為自動(dòng)檢測(cè)卡模式時(shí),當(dāng)檢測(cè)到卡時(shí),此腳也輸出低電平。j1-2scl輸入iic時(shí)鐘輸入,集電極開路。j1-3sda輸入/輸出iic數(shù)據(jù)輸入/輸出,集電極開路。j1-4gndpwr電源負(fù)端。j1-5vccpwr電源正端。若模
46、塊名后綴帶“l(fā)”,則以+3.3v供電,否則+5v供電j1-6rxd輸入uart接收端j1-7txd輸出uart發(fā)送端j1-8con表4.2 j2管腳定義表管腳符號(hào)類型描述j1-1tx1輸出天線輸出驅(qū)動(dòng)1。j1-2gnd地天線地。j1-3tx2輸出天線輸出驅(qū)動(dòng)2。j1-4rx輸入接收j1-5gnd地天線地。j1-6rx2輸入接收2。在接收雙天線時(shí)與tx2和地可組成第二個(gè)天線接口2、iic接口iic總線協(xié)議定義如下:(1) 只有在總線非忙時(shí)才被允許進(jìn)行數(shù)據(jù)傳送。(2) 在數(shù)據(jù)傳送時(shí),當(dāng)時(shí)鐘線為高電平,數(shù)據(jù)線必須為固定狀態(tài),不允許有跳變。時(shí)鐘線為高電平時(shí),數(shù)據(jù)線的任何電平變化將被當(dāng)作總線的啟動(dòng)或停止
47、條件。iic總線每一次數(shù)據(jù)傳送,都是由主器件發(fā)送起始信號(hào)開始,發(fā)送停止信號(hào)結(jié)束,當(dāng)scl時(shí)鐘線為高電平,sda數(shù)據(jù)線出現(xiàn)高電平向低電平的下降沿信號(hào)時(shí)即為總線的起始信號(hào);相反,當(dāng)sda出現(xiàn)由低向高的上升沿信號(hào)時(shí)為總線的停止信號(hào),在起始信號(hào)和停止信號(hào)之間是尋址信息和數(shù)據(jù)信息。iic總線上的數(shù)據(jù)傳輸必須遵循總線規(guī)范。主cpu發(fā)生起始信號(hào)表明一次數(shù)據(jù)傳送的開始,然后為尋址字節(jié),尋址字節(jié)由高7位地址和一位方向位組成,方向位表明主cpu與從器件之間的數(shù)據(jù)傳送方向,當(dāng)該位為“0”時(shí)表明cpu對(duì)從器件進(jìn)行寫操作,為“1”時(shí)為讀操作。尋址字節(jié)后是按指定地址讀、寫操作的數(shù)據(jù)字節(jié)與應(yīng)答位。主cpu發(fā)出尋址信號(hào)后,地
48、址與自己相符的從器件便會(huì)產(chǎn)生一個(gè)應(yīng)答信號(hào)。數(shù)據(jù)字節(jié)的后面也跟隨一個(gè)應(yīng)答信號(hào),應(yīng)答信號(hào)在第9個(gè)時(shí)鐘位上出現(xiàn)。當(dāng)從器件輸出低電平時(shí)為應(yīng)答信號(hào)(ack),輸出高電平為非應(yīng)答信號(hào)(nack)。如圖4.2所示,數(shù)據(jù)傳送完畢后主cpu必須發(fā)停止信號(hào)。圖4.2 iic總線的應(yīng)答信號(hào)利用模塊的j1.1j1.3接口可以與主機(jī)進(jìn)行iic通信。只要主機(jī)提供任意三個(gè)i/o口即可。注意本模塊的這三個(gè)管腳均為集電極開路,因此一定要加上拉電阻。本設(shè)計(jì)采用+5v供電,上拉電阻應(yīng)為4.7k,iic連接圖如圖4.3所示:圖4.3 iic接口連接圖4.2.2 按鍵模塊按鍵是人機(jī)交互很重要的一部分,也是本設(shè)計(jì)必不可少的一個(gè)模塊。本設(shè)
49、計(jì)中可以通過按鍵模塊來輸入扣費(fèi)額,例如自動(dòng)售貨機(jī)等;還可以使用按鍵來設(shè)置定額功能,供某些扣費(fèi)額固定的場(chǎng)合使用,例如餐廳里賣飲料的窗口的收費(fèi)。本設(shè)計(jì)的按鍵模塊使用的是4*4矩陣鍵盤,假設(shè)收費(fèi)機(jī)為多收費(fèi)項(xiàng)目,定義其鍵盤功能如圖4.4。圖4.4 按鍵功能定義圖鍵值說明:09為數(shù)字鍵,功能鍵有6個(gè),此收費(fèi)機(jī)可以收取水費(fèi)、電費(fèi)、電話費(fèi)等。定額功能是在按下定額鍵收費(fèi)機(jī)將按設(shè)定值扣費(fèi),確定鍵表示按下相應(yīng)功能鍵后按確定鍵才生效,清除鍵在輸入錯(cuò)誤時(shí)可以按清除鍵重新輸入,總額表示按下該鍵將顯示當(dāng)天的扣費(fèi)總額。例如,如果想要扣費(fèi)12元,只要按下數(shù)字鍵1和2,然后按確定鍵,將卡放在刷卡區(qū),即可完成扣費(fèi);當(dāng)要每次扣費(fèi)均
50、為5元時(shí),只要按下定額鍵,然后按下數(shù)字鍵5,最后再按下確定鍵即可。4.2.3 數(shù)碼管顯示模塊刷卡區(qū)要通過2位數(shù)碼管顯示該區(qū)刷卡金額,之所以采用數(shù)碼管顯示是方便需要時(shí)重新設(shè)置票價(jià);扣費(fèi)金額及余額顯示共用3位數(shù)碼管顯示。共需5位數(shù)碼管。使用sadp控制數(shù)碼管的段選,用dig0dig4控制位選。本設(shè)計(jì)采用hd7279a控制按鍵和數(shù)碼管顯示模塊,hd7279a應(yīng)連接共陰式數(shù)碼管。應(yīng)用中,無需用到的鍵盤和數(shù)碼管可以不連接,省去數(shù)碼管或?qū)?shù)碼管設(shè)置消隱屬性均不會(huì)影響鍵盤的使用。實(shí)際應(yīng)用中下拉電阻和鍵盤連接位選線dig0dig7的電阻(以下簡(jiǎn)稱位選電阻),應(yīng)遵從一定的比例關(guān)系,下拉電阻應(yīng)大于位選電阻的5倍而
51、小于其50倍,典型值為10倍;下拉電阻的取值范圍是10k到100k,位選電阻的取值范圍是1k到10k。在不影響顯示的前提下,下拉電阻應(yīng)盡可能地取較小的值,這樣可以提高鍵盤部分的抗干擾能力。因?yàn)椴捎醚h(huán)掃描的工作方式,如果采用普通的數(shù)碼管,亮度可能不夠,采用高亮或超高亮的型號(hào),可以解決這個(gè)問題。數(shù)碼管的尺寸,亦不宜選得過大,一般字符高度不宜超過1英寸,如果用大型的數(shù)碼管,應(yīng)使用適當(dāng)?shù)尿?qū)動(dòng)電路。hd7279a需要一外接的rc振蕩電路以供系統(tǒng)工作,其典型值分別為r=1.5k,c=15pf。如果芯片無法正常工作,請(qǐng)首先檢查此振蕩電路。在印刷電路板布線時(shí),所有元件,尤其是振蕩電路的元件應(yīng)盡量靠近hd72
52、79a,并盡量使電路連續(xù)最短。hd7279a的reset復(fù)位端在一般應(yīng)用情況下,可以直接與正電源連接,在需要較高可靠性的情況下,可以連接一外部的復(fù)位電路,或直接由單片機(jī)控制。在上電或reset端由低電平變?yōu)楦唠娖胶?,hd7279a大約需要經(jīng)過1825ms的時(shí)間才會(huì)進(jìn)入正常工作狀態(tài)。上電后,所有的顯示均為空,所有顯示位的顯示屬性均為“顯示”及“不閃爍”。當(dāng)有鍵按下時(shí),key引腳輸出變?yōu)榈碗娖?,此時(shí)如果接收到“讀鍵盤”指令,hd7279a將輸出所按下鍵的代碼。如果在沒有按鍵的情況下收到“讀鍵盤”指令,hd7279a將輸出ffh(255)。程序中,盡可能地減少cpu對(duì)hd7279a的訪問次數(shù),可以使
53、得程序更有效率。因?yàn)樾酒苯域?qū)動(dòng)led數(shù)碼管顯示,電流較大,且為動(dòng)態(tài)掃描方式,故如果該部分電路電源連續(xù)較細(xì)較長(zhǎng),可能會(huì)引入較大的電源噪聲干擾,將hd7279a的正負(fù)電源端上并入去耦電容可以提高電路的抗干擾能力。注意:如果有兩個(gè)鍵同時(shí)按下,hd7279a將只能給出其中一個(gè)鍵的代碼,因此,hd7279a不適于應(yīng)用在需要2個(gè)或2個(gè)以上鍵同時(shí)按下的場(chǎng)合。硬件連接如圖2.8 所示,stc89c52所用的時(shí)鐘頻率為12mhz,程序使用keil編譯通過,并經(jīng)過驗(yàn)證。程序中延時(shí)時(shí)間以hd7279a外接r=1.5k,c=15pf為準(zhǔn)。硬件連接如圖4.5所示:圖4.5 按鍵和數(shù)碼管顯示模塊連接圖第5章 軟件實(shí)現(xiàn)5.1 讀寫模塊通信設(shè)計(jì)5.1.1 數(shù)據(jù)通信格式射頻卡與單片機(jī)通信采用iic接口方式,模塊以“命令響應(yīng)”的方式工作,它在系統(tǒng)中模塊處于從屬地位,不會(huì)主動(dòng)發(fā)出數(shù)據(jù)(自動(dòng)檢測(cè)卡除外)。通常主機(jī)首先發(fā)出命令,然后等待模塊響應(yīng)。為保證通信正常進(jìn)行,數(shù)據(jù)完整有序接收,定義通信控制符如表5.1所示:表5.1 通信控制符表描述定義值開始符stx0x20終止符etx0x30應(yīng)答ack0x06無應(yīng)答nak0
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 技術(shù)標(biāo)準(zhǔn)更新培訓(xùn)宣貫管理制度
- 2025至2030年中國(guó)煤制品數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2030年中國(guó)沉香十七味丸數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2030年中國(guó)雙柄弧型奶鍋數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2024年美容師化妝技巧試題及答案
- 2025至2030年中國(guó)三輪車轉(zhuǎn)向燈數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025年中國(guó)輕型傳速帶市場(chǎng)調(diào)查研究報(bào)告
- 2025年中國(guó)神采褪黑消脂強(qiáng)效組合市場(chǎng)調(diào)查研究報(bào)告
- 2025年中國(guó)硬脂酸釹市場(chǎng)調(diào)查研究報(bào)告
- 2025年中國(guó)油壓壓底機(jī)市場(chǎng)調(diào)查研究報(bào)告
- 第5.2課《飛向太空的航程》(教學(xué)課件)-【中職專用】高一語文同步課堂
- 2025-2030中國(guó)熱電偶線行業(yè)市場(chǎng)發(fā)展趨勢(shì)與前景展望戰(zhàn)略分析研究報(bào)告
- DB50-T 1731-2024 工貿(mào)企業(yè)檢維修作業(yè)安全規(guī)范
- 機(jī)動(dòng)車檢測(cè)站安全生產(chǎn)培訓(xùn)
- 2025年河南機(jī)電職業(yè)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫及答案一套
- 大學(xué)生職業(yè)發(fā)展與就業(yè)指導(dǎo)(仁能達(dá)教育科技公司)學(xué)習(xí)通測(cè)試及答案
- 2025年境外投資融資顧問服務(wù)合同范本3篇
- 2024-2025學(xué)年人教新目標(biāo)英語八年級(jí)下冊(cè)期末綜合檢測(cè)卷(含答案)
- 331金屬晶體課件高二化學(xué)人教版選擇性必修2
- 礦山礦石采購合同模板
- 2024年浪潮數(shù)字企業(yè)技術(shù)有限公司社會(huì)招聘(105人)筆試核心備考題庫及答案解析
評(píng)論
0/150
提交評(píng)論