版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、畢業(yè)設(shè)計論文論文題目:電子萬年歷目 錄 摘要 .3緒論 .5第1章 設(shè)計要求與方案論證.71.1 引言.71.2 功能要求.71.3方案論證.7第2章 系統(tǒng)硬件電路設(shè)計 .112.1 電路設(shè)計.112.2 系統(tǒng)硬件概述.152.3主要單元電路的設(shè)計.15第3章 系統(tǒng)的軟件設(shè)計.223.1程序設(shè)計.223.2程序設(shè)計流程圖.22第4章 結(jié)束語.24參考文獻.26附錄一(電路原理圖) . 附錄二(程序清單).27摘要隨著社會、科技的發(fā)展,人類得知時間,從觀太陽、擺鐘到現(xiàn)在電子鐘,不斷研究、創(chuàng)新。為了在觀測時間的同時,能夠了解其它與人類密切相關(guān)的信息,比如溫度、星期、日期等,電子萬年歷誕生了,它集時
2、間、日期、星期和溫度功能于一身,具有讀取方便、顯示直觀、功能多樣、電路簡潔等諸多優(yōu)點,符合電子儀器儀表的發(fā)展趨勢,具有廣闊的市場前景。該電子萬年歷主要采用at89c51單片機作為主控核心,由ds1302時鐘芯片提供時鐘、led動態(tài)掃描顯示屏顯示。at89c51單片機是由atmel公司推出的,功耗小,電壓可選用46v電壓供電;ds1302時鐘芯片是美國dallas公司推出的具有涓細電流充電功能的低功耗實時時鐘芯片,它可以對年、月、日、星期、時、分、秒進行計時,還具有閏年補償?shù)榷喾N功能,而且ds1302的使用壽命長,誤差?。粩?shù)字顯示是采用的led液晶顯示屏來顯示,可以同時顯示年、月、日、星期、時、
3、分、秒和溫度等信息。此外,該電子萬年歷還具有時間校準等功能。關(guān)鍵詞:時鐘電路; 時鐘芯片ds1302;led動態(tài)掃描; 單片機at89c51;max7219;abstractwith the society, science and technology, mankind learned that time, from the view of the sun, to the present electronic clock pendulum clock, continuous research and innovation. observation time in the same time,
4、 be able to understand other human beings is closely related to information, such as temperature, week, date and so on, the birth of the electronic calendar, and it set the time, date, week and temperature-in-one, with easy to read, intuitive display functional diversity, and many other advantages o
5、f simple circuit with the electronic instrumentation of the development trend of the. market prospects are broad the main use of the electronic calendar at89c51 single-chip microcomputer as the main core, provided by the ds1302 clock chip clock, ds18b20 the temperature chip acquisition transition te
6、mperature, led display shows the dynamic scan. at89c51 single-chip microcomputer is introduced by atmel corporation, a small power consumption, voltage can be selected 4 6v power supply voltage; ds1302 clock chip is introduced dallas fine with trickle charge function of current low-power real-time c
7、lock chip, which can of the year, month, day, week, hour, minute, second for time, also has multiple functions, such as a leap year compensation, and long life of the ds1302, a small error; ds18b20 temperature chip is a digital temperature sensor with a measurement accuracy high, a simple circuit to
8、 connect the characteristics of such sensors only need a data cable for data transmission; digital led display is used to display lcd screen, can display year, month, day, week, hour, minute, second and temperature, etc. information. in addition, the electronic calendar is also a time-calibration fu
9、nctions. keywords: clock circuit; clock chip ds1302; led dynamic scanning; single-chipat89c51;max7219緒論 隨著人們生活水平的提高和生活節(jié)奏的加快,對時間的要求越來越高,精準數(shù)字計時的消費需求也是越來越多。二十一世紀的今天,最具代表性的計時產(chǎn)品就是電子萬年歷,它是近代世界鐘表業(yè)界的第三次革命。第一次是擺和擺輪游絲的發(fā)明,相對穩(wěn)定的機械振蕩頻率源使鐘表的走時差從分級縮小到秒級,代表性的產(chǎn)品就是帶有擺或擺輪游絲的機械鐘或表。第二次革命是石英晶體振蕩器的應(yīng)用,發(fā)明了走時精度更高的石英電子鐘表,使鐘表的
10、走時月差從分級縮小到秒級。第三次革命就是單片機數(shù)碼計時技術(shù)的應(yīng)用(電子萬年歷),使計時產(chǎn)品的走時日差從分級縮小到1/600萬秒,從原有傳統(tǒng)指針計時的方式發(fā)展為人們?nèi)粘8鼮槭煜さ囊构鈹?shù)字顯示方式,直觀明了,并增加了全自動日期、星期、溫度以及其他日常附屬信息的顯示功能,它更符合消費者的生活需求!因此,電子萬年歷的出現(xiàn)帶來了鐘表計時業(yè)界跨躍性的進步我國生產(chǎn)的電子萬年歷有很多種,總體上來說以研究多功能電子萬年歷為主,使萬年歷除了原有的顯示時間,日期等基本功能外,還具有鬧鈴,報警等功能。商家生產(chǎn)的電子萬年歷更從質(zhì)量,價格,實用上考慮,不斷的改進電子萬年歷的設(shè)計,使其更加的具有市場。本設(shè)計為軟件,硬件相結(jié)
11、合的一組設(shè)計。在軟件設(shè)計過程中,應(yīng)對硬件部分有相關(guān)了解,這樣有助于對設(shè)計題目的更深了解,有助于軟件設(shè)計。基本的要了解一些主要器件的基本功能和作用。除了采用集成化的時鐘芯片外,還有采用mcu的方案,利用at89系列單片微機制成萬年歷電路,采用軟件和硬件結(jié)合的方法,控制led數(shù)碼管輸出,分別用來顯示年、月、日、時、分、秒,其最大特點是:硬件電路簡單,安裝方便易于實現(xiàn),軟件設(shè)計獨特,可靠。at89c51是由atmel公司推出的一種小型單片機。95年出現(xiàn)在中國市場。其主要特點為采用flash存貯器技術(shù),降低了制造成本,其軟件、硬件與mcs-51完全兼容,可以很快被中國廣大用戶接受。 本文介紹了基于at
12、89c51單片機設(shè)計的電子萬年歷。首先我們在緒論中簡單介紹了單片機的發(fā)展與其在中低端領(lǐng)域中的優(yōu)勢以及課題的開發(fā)意義;接著介紹了at89c51單片機的硬件結(jié)構(gòu)和本畢業(yè)設(shè)計所要外擴的led顯示及其驅(qū)動方法,并在此基礎(chǔ)上實現(xiàn)了萬年歷基本電路的設(shè)計;然后使用單片機匯編語言進行萬年歷程序的設(shè)計,程序采用模塊化結(jié)構(gòu),使得邏輯關(guān)系簡單明了,維護方便。 第1章 設(shè)計要求與方案論證1.1 引言隨著電子技術(shù)的發(fā)展,人類不斷研究,不斷創(chuàng)新紀錄。萬年歷目前已經(jīng)不再局限于以書本形式出現(xiàn)。以電腦軟件或者電子產(chǎn)品形式出現(xiàn)的萬年歷被稱為電子萬年歷。與傳統(tǒng)書本形式的萬年歷相比,電子萬年歷得到了越來越廣泛的應(yīng)用,采用電子時鐘作為
13、時間顯示已經(jīng)成為一種時尚。目前市場上各式各樣的電子時鐘數(shù)不勝數(shù),但多數(shù)是只針對時間顯示,功能單一不能滿足人們?nèi)粘I钚枨蟆?本文提出了一種基于at89c51單片機的萬年歷設(shè)計方案,本方案以at89c51單片機作為主控核心,與時鐘芯片ds1302、按鍵、led顯示等模塊組成硬件系統(tǒng)。在硬件系統(tǒng)中設(shè)有獨立按鍵和led顯示器,能顯示豐富的信息,根據(jù)使用者的需要可以隨時對時間進行校準、選擇時間等,綜上所述此萬年歷具有讀取方便、顯示直觀、功能多樣、電路簡潔、成本低廉等諸多優(yōu)點,符合電子儀器儀表的發(fā)展趨勢,具有廣闊的市場前景。1.2功能要求本電子萬年歷能動態(tài)顯示年、月、日、星期、小時、分鐘、秒1.3方案論
14、證1.3.1 技術(shù)可行性 隨著國內(nèi)超大規(guī)模集成電路的出現(xiàn),微處理器及其外圍芯片有了迅速的發(fā)展。集成技術(shù)的最新發(fā)展之一是將cpu和外圍芯片,如程序存儲器、數(shù)據(jù)存儲器、并行i/o口、串行i/o口、定時/計數(shù)器、中斷控制器及其他控制部件集成在一個芯片之中,制成單片計算機(single-chip microcomputer)。而近年來推出的一些高檔單片機還包括有許多特殊功能單元,如a/d、d/a轉(zhuǎn)換器、調(diào)制解調(diào)器、通信控制器、鎖相環(huán)、dma、浮點運算單元、pwm控制輸出單元、pwm輸出時的死區(qū)可編程控制功能等。因此,只要外加一些擴展電路及必要的通道接口就可以構(gòu)成各種計算機應(yīng)用系統(tǒng),如工業(yè)流水線控制系統(tǒng)
15、、作為家用電器的主控制器、分布式控制系統(tǒng)的終端節(jié)點或作為其主控制節(jié)點起中繼的作用、數(shù)據(jù)采集系統(tǒng)、自動測試系統(tǒng)等。單片機的出現(xiàn),并在各技術(shù)領(lǐng)域中得到如此迅猛的發(fā)展,與單片機構(gòu)成計算機應(yīng)用系統(tǒng)所形成的下述特點有關(guān): 1、單片機構(gòu)成的應(yīng)用系統(tǒng)有較大的可靠性。這些可靠性的獲得除了依靠單片機芯片本身的高可靠性以及應(yīng)用有最少的聯(lián)接外,還可以方便地采用軟、硬件技術(shù)。2、系統(tǒng)擴展、系統(tǒng)配置較典型、規(guī)范,容易構(gòu)成各種規(guī)模的應(yīng)用系統(tǒng),應(yīng)用系統(tǒng)有較高的軟、硬件利用系數(shù)。 3、由于構(gòu)成的應(yīng)用系統(tǒng)是一個計算機系統(tǒng),相當多的測、控功能由軟件實現(xiàn),故具有柔性特征,不須改變硬件系統(tǒng)就能適當?shù)馗淖兿到y(tǒng)功能。4、有優(yōu)異的性能、價
16、格比。1.3.2 單片機的選擇方案一:采用傳統(tǒng)的at89c51作為電機的控制核心。單片機算術(shù)運算功能強,軟件編程靈活、自由度大,可用軟件編程實現(xiàn)各種算法和邏輯控制,并且由于其功耗低、體積小、技術(shù)成熟和成本低等優(yōu)點,使其在各個領(lǐng)域應(yīng)用廣泛。方案二:采用ftc10f04單片機,還帶有非易失性flash程序存儲器。它是一種高性能、低功耗的8位cmos微處理芯片,市場應(yīng)用最多。其主要特點如下:8kb flash rom,可以擦除1000次以上,數(shù)據(jù)保存10年。由于本系統(tǒng)對cpu運算速度要求很高,需要執(zhí)行很復雜的運算,方案一成本比較低,適合做設(shè)計,方案二運算速度高,性能好,所以兩種方案都有可取之處。選用
17、方案一作為主方案,方案二作為備用方案。1.3.3 顯示模塊的選擇 方案一:使用液晶顯示屏顯示時間數(shù)字。 液晶顯示屏(lcd)具有輕薄短小、低耗電量、無輻射危險,平面直角顯示以及影象穩(wěn)定不閃爍等優(yōu)勢,可視面積大,畫面效果好,分辨率高,抗干擾能力強等特點。但由于液晶是以點陣的模式顯示各種符號,需要利用控制芯片創(chuàng)建字符庫,編程工作量大,控制器的資源占用較多,其成本也偏高。在使用時,不能有靜電干擾,否則易燒壞液晶的顯示芯片,不易維護。方案二:使用傳統(tǒng)的led數(shù)碼管顯示。 數(shù)碼管具有:低能耗、低損耗、低壓、壽命長、耐老化、防曬、防潮、防火、防高(低)溫,對外界環(huán)境要求低,易于維護,同時其精度比較高,稱重
18、輕,精確可靠,操作簡單。數(shù)碼管采用bcd編碼顯示數(shù)字,程序編譯容易,資源占用較少。 根據(jù)以上的論述,采用方案二。在本系統(tǒng)中,我們采用了八段四位一體數(shù)碼管串口的動態(tài)顯示,由于顯示位數(shù)較多,故應(yīng)使用顯示驅(qū)動,在本設(shè)計中采用max7219顯示驅(qū)動芯片。1.3.4 鍵盤模塊的選擇在對日期和時間進行切換,對日期和時間進行調(diào)節(jié)校準過程中,系統(tǒng)需要產(chǎn)生激勵電流,因此需要用按鍵。 方案一:使用獨立式鍵盤。獨立式鍵盤是指直接用i/o口線構(gòu)成的單個按鍵電路。獨立式按鍵電路配置靈活,軟件結(jié)構(gòu)簡單。 方案二:使用矩陣式鍵盤。矩陣式鍵盤是由行線和列線組成,按鍵位于行、列的交叉點上,行線、列線分別連接到按鍵開關(guān)的兩端。其
19、特點是簡單且不增加成本,這種鍵盤適合按鍵數(shù)量較多的場合。 根據(jù)以上的論述,因本系統(tǒng)需要的按鍵不多,星期加1鍵,日期加1鍵,月數(shù)加1鍵,年數(shù)加1鍵,秒數(shù)加1鍵,分數(shù)加1鍵,時數(shù)加1鍵,時間/日期切換鍵,要求簡單。所以采用方案一獨立式鍵盤。1.3.5總體方案論證與選擇按照系統(tǒng)設(shè)計功能的要求,初步確定系統(tǒng)由主控模塊、時控模塊、顯示驅(qū)動及顯示模塊和鍵盤接口模塊共4個模塊組成,電路系統(tǒng)構(gòu)成框圖如圖所示。 主控芯片使用51系列at89c51單片機,時鐘芯片使用美國dallas公司推出的一種高性能、低功耗、帶ram的實時時鐘ds1302。采用ds1302作為計時芯片,可以做到計時準確。更重要的是,ds130
20、2可以在很小電流的后備電源(2.55.5v電源,再2.5v時耗電小于300na),而且ds1302可以編程選擇多種充電電流來隊后備電源進圖圖1.1電子萬年歷電路系統(tǒng)構(gòu)成框圖行慢速充電,可以保證后備電源基本不耗電。顯示驅(qū)動采用max7219,max7219 是微處理器和共陰極八段八位led 數(shù)碼管顯示、圖條/柱圖顯示或64 點陣顯示接口的小型串行輸入/輸出芯片。片內(nèi)包括bcd 譯碼器、多路掃描控制器、字和位驅(qū)動器和8×8 靜態(tài)ram。外部只需要一個電阻設(shè)置所有l(wèi)ed 顯示器字段電流。max7219 和微處理器只需三根導線連接,每位顯示數(shù)字有一個地址由微處理器寫入。允許使用者選擇每位是b
21、cd 譯碼或不譯碼。使用者還可選擇停機模式、數(shù)字亮度控制、從18 選擇掃描位數(shù)和對所有l(wèi)ed 顯示器的測試模式。顯示模塊采用普通的共陰極四位一體八段led數(shù)碼管。第2章 系統(tǒng)硬件電路的設(shè)計2.1電路設(shè)計圖示為電子萬年歷電路設(shè)計原理圖,系統(tǒng)由主控制器at89c51、時鐘電路ds1302、顯示驅(qū)動max7219電路,顯示電路及鍵掃描電路組成。圖2.1 電子萬年歷電路原理圖2.2系統(tǒng)硬件概述2.2.1 主控制器at89c51atmel公司生產(chǎn)的at89c51單片機采用高性能的靜態(tài)80c51設(shè)計,并采用先進工藝制造,還帶有非易失性flash程序存儲器。它是一種高性能、低功耗的8位cmos微處理芯片,市
22、場應(yīng)用最多。其主要特點如下:8kb flash rom,可以擦除1000次以上,數(shù)據(jù)保存10年。 256字節(jié)內(nèi)部ram; 電源控制模式; 時鐘可停止和恢復; 空閑模式; 掉電模式; 6個中斷源; 4個中斷優(yōu)先級; 4個8位i/o口; 全雙工增強型tuar; 3個16位定時/計數(shù)器:t0、t1(標準80c51)和增加的t2(捕獲和比較) 全靜態(tài)工作方式:024mhz2.2.2時鐘電路ds1302 ds1302的性能特性: 實時時鐘,可對秒、分、時、日、周、月以及帶閏年補償?shù)哪赀M行比較; 用于高速數(shù)據(jù)暫存的31*8位ram; 最少引腳的串行i/o; 2.55.5v電壓工作范圍; 2.5v時耗小于3
23、00na; 用于時鐘或ram數(shù)據(jù)讀/寫的單字節(jié)或多字節(jié)(脈沖方式)數(shù)據(jù)傳送方式; 簡單的三線接口; 可選的慢速充電(至vcc1)的能力。ds1302在任何數(shù)據(jù)傳送時必須先初始化,把rst腳置為高電平,然后把8位地址和命令字裝入移位寄存器,數(shù)據(jù)在sclk的上升沿被訪問到。在開始8個時鐘周期,把命令字節(jié)裝入移位寄存器后,另外的時鐘周期在讀操作時輸出數(shù)據(jù),在寫操作時寫入數(shù)據(jù)。時鐘脈沖的個數(shù)在單字節(jié)方式下為8+8,在多字節(jié)方式下為8+字節(jié)數(shù),最大可達248字節(jié)數(shù)。如果在傳送過程中置rst腳為低電平,則會終止本次數(shù)據(jù)傳送,并且i/o引腳變?yōu)楦咦钁B(tài)。上電運行時,在vcc2.5v之前,rst腳必須保持低電平
24、。只有在sclk為低電平時,才能將rst置為高電平。ds1302的控制字如表所示??刂谱止?jié)的最高有效位(位7)必須是邏輯1,如果它為0,則不能把數(shù)據(jù)寫入到ds1302中。位6如果為0,則表示存取日歷時鐘數(shù)據(jù);為1則表示存取ram數(shù)據(jù)。位51(a4a0)指示操作單元的地址。最低有效位(位0)如果為0,則表示藥進行寫操作;為1表示進行讀操作??刂谱止?jié)總是從最低位開始輸入/輸出。為了提高對32個地址尋址能力(地址/命令位15=邏輯1),可以把時鐘/日歷或ram寄存器規(guī)定為多字節(jié)(burst)方式。位6規(guī)定時鐘或ram,而位0規(guī)定讀或?qū)?。在時鐘/日歷寄存器中的地址931或ram寄存器中的地址31不能存
25、儲數(shù)據(jù)。在多字節(jié)方式下,讀或?qū)憦牡刂?的位0開始。必須按數(shù)據(jù)傳送的次序?qū)懽钕鹊?個寄存器。但是,當以多字節(jié)方式寫ram時,為了傳送數(shù)據(jù)不必寫所有的31字節(jié),不管是否謝了全部31字節(jié),所寫的每一字節(jié)都將傳送至ram。表2.1 ds1302控制字 ds1302共有12個寄存器,其中有7個寄存器與日歷、時鐘相關(guān),存放的數(shù)據(jù)位為bcd碼形式。其日歷、時間寄存器及其控制字如上表所示,其中奇數(shù)為讀操作,偶數(shù)為寫操作。時鐘暫停:秒寄存器的位7定義位時鐘暫停位。當它為1時,ds1302停止振蕩,進入低功耗的備份方式,通常在對ds1302進行寫操作時(如進入時鐘調(diào)整程序),停止振蕩。當它為0時,時鐘將開始啟動。
26、 am-pm/12-24小時方式:小時寄存器的位7定義為12或24小時方式選擇位。它為高電平時,選擇12小時方式。在此方式下,位5為第二個10小時位(2023h)。 ds1302的晶振選用32768hz,電容推薦值為6pf。因為振蕩頻率較低,也可以不接電容,對計時精度影響不大。2.2.3 顯示驅(qū)動max7219 max7219 和單片計算機連接有三條引線(din、clk、load),采用16 位數(shù)據(jù)串行移位接收方式 八位led 顯示、圖條/柱圖顯示或64 點陣顯示 包括bcd 譯碼器、多路掃描控制器、字和位驅(qū)動器和8×8 靜態(tài)ram 可選擇停機模式、數(shù)字亮度控制、從18 選擇掃描位數(shù)
27、和對所有l(wèi)ed 顯示器的測試模式 最多能驅(qū)動8 位led 顯示器 內(nèi)部ram 地址0108h 分別對應(yīng)于dig0dig7。 掃描界限寄存器(地址0bh):該寄存器中d0d3 位數(shù)據(jù)設(shè)定值為07h,設(shè)定值表示顯示器動態(tài)掃描個數(shù)位18。 停機寄存器(地址0ch):當d0=0 時,max721 處于停機狀態(tài);當d0=1 時,處于正常工作狀態(tài)。 顯示測試寄存器(地址0fh):當d0=0時,max7219 按設(shè)定模式正常工作;當d0=1 時,處于測試狀態(tài)。在該狀態(tài)下,不管max7219 處于什么模式,全部led 將按最大亮度顯示。 亮度寄存器(地址0ah):亮度可以用硬件和軟件兩種方法調(diào)節(jié)亮度寄存器中的
28、d0d3位可以控制led 顯示器的亮度。max7219 通過d11d84 位地址位譯碼,可尋址14 個內(nèi)部寄存器,分別是8 個led 顯示位寄存器,5 個控制寄存器和1 個空操作寄存器。led 顯示寄存器由內(nèi)部8 × 8 靜態(tài)ram 構(gòu)成,操作者可直接對位寄存器進行個別尋址, 以刷新和保持數(shù)據(jù), 只要v 超過2 v(一般為 5v)。 控制寄存器包括: 譯碼模式, 顯示亮度調(diào)節(jié), 掃描限制(選擇掃描位數(shù)),關(guān)斷和顯示測試寄存器。max7219 的驅(qū)動程序首先必須對5 個控制寄存器初始設(shè)置即初始化, 各控制寄存器設(shè)置含義如下:譯碼模式選擇寄存器(地址 f9h);max7219 有兩種譯碼
29、方式:b 譯碼方式和不譯碼方式。當選擇不譯碼時, 8 個數(shù)據(jù)為分別一一對應(yīng)7 個段和小數(shù)點位;b 譯碼方式是bcd 譯碼,直接送數(shù)據(jù)就可以顯示。實際應(yīng)用中可以按位設(shè)置選擇b 譯碼或是不譯碼方式。掃描限制寄存器: 地址 fbh;用于設(shè)置顯示的led 個數(shù)( 1 8 ) , 比如當設(shè)置為0xx4 時,led 05 顯示。亮度調(diào)節(jié)寄存器: 地址 fah;共有16 級選擇,用于led 顯示亮度的強弱設(shè)置。關(guān)斷模式寄存器:地址 fch;有兩種模式選擇:一種是關(guān)斷狀態(tài)模式(d0 0);一種是正常操作狀態(tài)(d0 1),通常選擇正常操作狀態(tài)。顯示測試寄存器:地址 ffh;有兩種選擇用于設(shè)置led 是測試狀態(tài)還
30、是正常操作狀態(tài):當在測試狀態(tài)時(d0 1)各位全應(yīng)亮,一般選擇正常操作狀態(tài)(d0 0)。2.3主要單元電路的設(shè)計2.3.1顯示電路顯示部分采用普通的共陰數(shù)碼管顯示,采用動態(tài)掃描,以減少硬件電 表2.2 max7219引腳功能路。年月日時分秒星期共需要17位數(shù)碼顯示,考慮到一次掃描17位數(shù)碼管顯示時會出現(xiàn)閃爍情況,故采用動態(tài)掃描,可將數(shù)碼管數(shù)量減少至9位,也就是兩個四位一體八段led顯示數(shù)碼管和一個一位led數(shù)碼管設(shè)計時數(shù)碼管同時掃描,顯示時采用串行口輸出段碼,用max7219驅(qū)動數(shù)碼管。 圖2.2 max7219主要引腳2.3.2鍵盤接口鍵盤在單片機系統(tǒng)中是一個很重要的部件。為了輸入數(shù)據(jù)、查詢
31、和控制系統(tǒng)的工作狀態(tài),都要用到鍵盤,鍵盤是人工干預計算機的主要手段。鍵盤可分為編碼和非編碼鍵盤兩種。編碼鍵盤采用硬件線線路來實現(xiàn)鍵盤編碼,每按下一個鍵,鍵盤能自動生成按鍵代碼,鍵數(shù)較多,而且還具有去抖動功能。這種鍵盤使用方便,但硬件較復雜,pc機所用的鍵盤就屬于這種。非編碼鍵盤僅提供按鍵開關(guān)工作狀態(tài),其他工作由軟件完成,這種鍵盤鍵數(shù)較少,硬件簡單,一般在單片機應(yīng)用系統(tǒng)中廣泛使用。此處主要介紹該類非編碼鍵盤及其與mcs51型單片機的接口。2.3.2.1按鍵開關(guān)去抖動問題按鍵開關(guān)在電路中的連接如圖所示。按鍵未按下時,a點電位為高電平5v;按鍵按下時,a點電位為低電平。a點電位就用于向cpu傳遞按鍵
32、的開關(guān)狀態(tài)。但是由于按鍵的結(jié)構(gòu)為機械彈性開關(guān),在按鍵按下和斷開時,觸點在閉合和斷開瞬間還會接觸不穩(wěn)定,引起a點電平不穩(wěn)定,如圖2-11b所示,鍵盤的抖動時間一般為510ms,抖動現(xiàn)象會引起cpu對一次鍵操作進行多次處理,從而可能產(chǎn)生錯誤。因此必須設(shè)法消除抖動的不良后果。圖2.3 鍵操作和鍵抖動消除抖動的不良后果的方法有硬、軟件兩種。為了節(jié)省硬件,通常在單片機系統(tǒng)中,一般不采用硬件方法消除鍵的抖動,而是用軟件消除抖動的方法。根據(jù)抖動特性,在第一次檢測到按鍵按下后,執(zhí)行一段延時510ms讓前延抖動消失后再一次檢測鍵的狀態(tài),如果仍保持閉合狀態(tài)電平,則確認真正有鍵按下。當檢測到按鍵釋放后,也要給510
33、ms的延時,待后延抖動消失后才轉(zhuǎn)入該鍵處理程序。2.3.2.2查詢式按鍵及其接口按照鍵盤與cpu的連接方式可以分為查詢按鍵和矩陣式鍵盤。查詢式按鍵是各按鍵相互獨立,每個按鍵占用一根i/o口線,每根i/o口線上的按鍵工作狀態(tài)不會影響其他i/o口線上按鍵的工作狀態(tài)。查詢式按鍵電路配置靈活,軟件結(jié)構(gòu)簡單,但每個按鍵必須占用一根i/o口線,在按鍵數(shù)量較多時,i/o口線浪費較大,且電路結(jié)構(gòu)顯得繁雜。故這種形式適用于按鍵數(shù)量較少的場合。2.3.2.3矩陣式鍵盤及其接口矩陣式鍵盤又稱行列式鍵盤,有n個行線和m個列線,經(jīng)限流電阻接+5v電源上,按鍵跨接在行線和列線上,n×m行列結(jié)構(gòu)可構(gòu)成mn個按鍵,
34、組成一個鍵盤。與獨立式按鍵相比,mn個按鍵只占用m+n根i/o口線,因此適用于按鍵較多的場合。當無鍵閉合時,相應(yīng)的i/o之間開路。當有鍵閉合時,與閉合鍵相連接的兩條i/o口線之間短路。判斷有無鍵按下的方法是:第一步,置列線相關(guān)i/o口為輸入態(tài),從行線相對應(yīng)的i/o口輸出低電平,讀入列線數(shù)據(jù),若某一列線為低電平,則該列線上有鍵閉合。第二步,置行線相關(guān)i/o口輸出低電平,讀入列線數(shù)據(jù),若某一列線為低電平,則該列線上有鍵閉合。綜合一二兩步的結(jié)果,可確定按鍵編號。但是鍵閉合一次只能進行一次鍵功能操作,因此須等待近按鍵釋放后,再進行鍵功能操作,否則按一次鍵,有可能會連續(xù)多次進行同樣的鍵操作。2.3.2.
35、4鍵盤掃描控制方式在單片機應(yīng)用系統(tǒng)中,對鍵盤的處理工作僅是cpu工作內(nèi)容的一部分,cpu還要進行數(shù)據(jù)處理、顯示和其他輸入輸出操作,因此鍵盤處理工作既不能占用cpu太多時間,又需要cpu對鍵盤操作及時作出響應(yīng)。cpu對鍵盤處理控制的工作方式有以下幾種:1. 程序控制掃描方式程序控制掃描方式是在cpu工作空余,調(diào)用鍵盤掃描子程序,響應(yīng)鍵輸入信號要求。2. 定時控制掃描方式定時控制掃描方式是利用定時/計數(shù)器每隔一段時間和生定時中斷,cpu響應(yīng)中斷后對鍵盤進行掃描,并在有鍵閉合時轉(zhuǎn)入該鍵的功能子程序。3. 中斷控制掃描方式中斷控制掃描方式是利用外部中斷源,響應(yīng)輸入信號。當無按鍵按下時,cpu執(zhí)行正常工
36、作程序。當有按鍵按下時,cpu立即產(chǎn)生中斷。在中斷服務(wù)子程序中掃描鍵盤,判斷是哪一個鍵被按下,然后執(zhí)行該鍵的功能子程序。這種控制方式克服了前兩種控制方式可能產(chǎn)生的空掃描和不能及時響應(yīng)鍵輸入的缺點,既能及時處理鍵輸入,又能提高cpu運行效率,但要占用一個寶貴的中斷資源。圖即工作于中斷方式的矩陣式鍵盤接口電路。在初始化時p1.4p1.7置輸出0,p1.0p1.3置為輸入態(tài),p1.0p1.3分別接至與門各輸入端。當有鍵閉合時=0,cpu中斷后,在中斷服務(wù)子程序中,再完成鍵識別和鍵功能處理。本設(shè)計提供了解2個按鈕的小鍵盤,向p1口輸出低電平,如果有鍵盤斷按下什么鍵。在有鍵按下后,有一定的延時,防止鍵盤
37、抖動。 圖2.4 工作于中斷方式的矩陣式鍵盤接口電路2.3.3時鐘電路2.3.3.1 ds1302工作方式簡介及數(shù)據(jù)操作原理ds1302可以對年、月、日、星期、時、分、秒進行計時, 且具有閏年補償功能, 工作電壓寬達2.55.5v。采用三線接口與cpu進行同步通信, 并可采用突發(fā)方式一次傳送多個字節(jié)的時鐘信號或ram數(shù)據(jù)。ds1302內(nèi)部有一個33x8的用于臨時性存放數(shù)據(jù)的ram寄存器。ds1302是的ds1202升級產(chǎn)品, 與ds1202兼容, 但增加了主電源/后背電源雙電源引腳, 同時提供了對后背電源進行涓細電流充電的能力。ds1302時鐘芯片包括實時時鐘/日歷和31字節(jié)的靜態(tài)ram。它經(jīng)
38、過一個簡單的串行接口與微處理器通信。實時時鐘/日歷提供秒、分、時、日、周、月和年等信息。對于小于31天的月和月末的日期自動進行調(diào)整,還包括閏年校正的功能。時鐘的運行可以采用24<小>時或帶am/pm的12小時格式。采用三線接口與cpu進行同步通信,并可采用突發(fā)方式一次傳送多字節(jié)的時鐘信號或ram數(shù)據(jù)。ds1302有主電源/后備電源雙電源引腳:vcc1在單電源與電池供電的系統(tǒng)中提供低電源,并提供低功率的電磁備份;vcc1在雙電池系統(tǒng)中提供主電源。在這種運行方式中,vcc1里連接到后備電源,以便在沒有主電源的情況下能保存時間信息以及數(shù)據(jù)。ds1302由vcc1或vcc2中較打大者供電。
39、當vcc2(vcc1+0.2v)時,vcc2給ds1302供電;當vcc2vcc1時,ds1302由vcc1供電。 圖2.5 ds1302ds1302在任何數(shù)據(jù)傳送時必須先初始化,把rst腳置為高電平,然后把8位地址和命令字裝入移位寄存器,數(shù)據(jù)在sclk的上升沿被訪問到。在開始8個時鐘周期,把命令字節(jié)裝入移位寄存器后,另外的時鐘周期在讀操作時輸出數(shù)據(jù),在寫操作時寫入數(shù)據(jù)。時鐘脈沖的個數(shù)在單字節(jié)方式下為8+8,在多字節(jié)方式下為8+字節(jié)數(shù),最大可達248字節(jié)數(shù)。如果在傳送過程中置rst腳為低電平,則會終止本次數(shù)據(jù)傳送,并且i/o引腳變?yōu)楦咦钁B(tài)。上電運行時,在vcc2.5v之前,rst腳必須保持低電
40、平。只有在sclk為低電平時,才能將rst置為高電平。ds1302的控制字如圖所示??刂谱止?jié)的最高有效位(位7)必須是邏輯1,如果它為0,則不能把數(shù)據(jù)寫入到ds1302中。位6如果為0,則表示存取日歷時鐘數(shù)據(jù);為1則表示存取ram數(shù)據(jù)。位51(a4a0)指示操作單元的地址。最低有效位(位0)如果為0,則表示藥進行寫操作;為1表示進行讀操作。控制字節(jié)總是從最低位開始輸入/輸出。為了提高對32個地址尋址能力(地址/命令位15=邏輯1),可以把時鐘/日歷或ram寄存器規(guī)定為多字節(jié)(burst)方式。位6規(guī)定時鐘或ram,而位0規(guī)定讀或?qū)?。在時鐘/日歷寄存器中的地址931或ram寄存器中的地址31不能
41、存儲數(shù)據(jù)。在多字節(jié)方式下,讀或?qū)憦牡刂?的位0開始。必須按數(shù)據(jù)傳送的次序?qū)懽钕鹊?個寄存器。但是,當以多字節(jié)方式寫ram時,為了傳送數(shù)據(jù)不必寫所有的31字節(jié),不管是否謝了全部31字節(jié),所寫的每一字節(jié)都將傳送至ram。ds1302共有12個寄存器,其中有7個寄存器與日歷、時鐘相關(guān),存放的數(shù)據(jù)位為bcd碼形式。其日歷、時間寄存器及其控制字如下表所示,其中奇數(shù)為讀操作,偶數(shù)為寫操作。表2.3 ds1302控制字 時鐘暫停:秒寄存器的位7定義位時鐘暫停位。當它為1時,ds1302停止振蕩,進入低功耗的備份方式,通常在對ds1302進行寫操作時(如進入時鐘調(diào)整程序),停止振蕩。當它為0時,時鐘將開始啟動
42、。 am-pm/12-24小時方式:小時寄存器的位7定義為12或24小時方式選擇位。它為高電平時,選擇12小時方式。在此方式下,位5為第二個10小時位(2023h)。 ds1302的晶振選用32768hz,電容推薦值為6pf。因為振蕩頻率較低,也可以不接電容,對計時精度影響不大。第3章 系統(tǒng)的軟件設(shè)計3.1 程序設(shè)計電子萬年歷的程序主要包括3個方面的內(nèi)容:一是ds1302從單片機中讀取數(shù)據(jù)進行計數(shù),二是利用按鍵進行時間的調(diào)整,三是max7219從單片機中讀取數(shù)據(jù)驅(qū)動led數(shù)碼管顯示時間。at89c51單片機主要i/o口的分配,p2.0-p2.2分別接max7219的din,load,clk三個
43、功能端,p3接查詢式按鍵,p1.0-p1.2分別接ds1302的clk,io,rst端。3.2 程序流程圖3.2.1 顯示驅(qū)動程序流程圖 圖3. 1 max7219顯示驅(qū)動程序流程圖3.2.2 時間控制流程圖 圖3.2 ds1302時控流程圖第4章 結(jié)束語2010年3月,我開始了我的畢業(yè)論文工作,時至今日,論文基本完成。從最初的茫然,到慢慢的進入狀態(tài),再到對思路逐漸的清晰,整個寫作過程難以用語言來表達。歷經(jīng)了一個多月的奮戰(zhàn),緊張而又充實的畢業(yè)設(shè)計終于落下了帷幕。回想這段日子的經(jīng)歷和感受,我感慨萬千,在這次畢業(yè)設(shè)計的過程中,我擁有了無數(shù)難忘的回憶和收獲。3月初,在與畢業(yè)設(shè)計指導老師徐老師的交流討
44、論中我的題目定了下來,是:電子萬年歷的設(shè)計。當選題報告,開題報告定下來的時候,我當時便立刻著手資料的收集工作中,當時面對浩瀚的書海真是有些茫然,不知如何下手。在導師細心的指導下,終于使我對自己的工作方向和方法有了掌握。在搜集資料的過程中,我認真準備了一個筆記本。我在學校圖書館,電子閱覽室搜集資料,將這些寶貴的資料全部記在筆記本上,盡量使我的資料完整、精確、數(shù)量多,這有利于論文的撰寫。然后我將收集到的資料仔細整理分類,及時拿給導師進行溝通。4月初,資料已經(jīng)查找完畢了,我開始著手論文的寫作。在寫作過程中遇到困難我就及時和導師聯(lián)系,并和同學互相交流,請教專業(yè)課老師。在大家的幫助下,困難一個一個解決掉
45、,論文也慢慢成型。4月底,論文的文字敘述已經(jīng)完成。5月開始進行相關(guān)圖形的繪制工作和電路的設(shè)計工作。為了畫出自己滿意的電路圖,流程圖等。在設(shè)計電路初期,由于沒有設(shè)計經(jīng)驗,覺得無從下手,空有很多設(shè)計思想,卻不知道應(yīng)該選哪個,經(jīng)過導師的指導,我的設(shè)計漸漸有了頭緒,通過查閱資料,逐漸確立系統(tǒng)方案。方案中l(wèi)ed顯示屏驅(qū)動電路的設(shè)計是個比較頭疼的問題,在反復推敲,對比的過程中,最終定下了驅(qū)動電路采用max7219驅(qū)動芯片。當我終于完成了所有打字、繪圖、排版、校對的任務(wù)后整個人都很累,但同時看著電腦熒屏上的畢業(yè)設(shè)計稿件我的心里是甜的,我覺得這一切都值了。這次畢業(yè)論文的制作過程是我的一次再學習,再提高的過程。
46、在論文中我充分地運用了大學期間所學到的知識。我不會忘記這難忘的幾個月的時間。畢業(yè)論文的制作給了我難忘的回憶。在我徜徉書海查找資料的日子里,面對無數(shù)書本的羅列,最難忘的是每次找到資料時的激動和興奮;親手用protel 99設(shè)計電路圖的時間里,記憶最深的是每一步小小思路實現(xiàn)時那幸福的心情;為了論文我曾趕稿到深夜,但看著親手打出的一字一句,心里滿滿的只有喜悅毫無疲憊。這段旅程看似荊棘密布,實則蘊藏著無盡的寶藏。我從資料的收集中,掌握了很多單片機及其接口應(yīng)用的知識,讓我對我所學過的知識有所鞏固和提高,并且讓我對當今單片機的最新發(fā)展技術(shù)有所了解。在整個過程中,我學到了新知識,增長了見識。在今后的日子里,
47、我仍然要不斷地充實自己,爭取在所學領(lǐng)域有所作為。腳踏實地,認真嚴謹,實事求是的學習態(tài)度,不怕困難、堅持不懈、吃苦耐勞的精神是我在這次設(shè)計中最大的收益。我想這是一次意志的磨練,是對我實際能力的一次提升,也會對我未來的學習和工作有很大的幫助。在這次畢業(yè)設(shè)計中也使我們的同學關(guān)系更進一步了,同學之間互相幫助,有什么不懂的大家在一起商量,聽聽不同的看法對我們更好的理解知識,所以在這里非常感謝幫助我的同學。在此更要感謝我的指導老師和專業(yè)老師,是你們的細心指導和關(guān)懷,使我能夠順利的完成畢業(yè)論文。在此我要向徐老師師致以最衷心的感謝和深深的敬意。參考文獻1 王新穎 單片機原理及應(yīng)用.北京大學出版社20082 陳
48、忠平 單片機基礎(chǔ)與最小系統(tǒng)實踐.北京航空航天大學出版社3 竇振中 單片機外圍器件實用手冊存儲器分冊.北京航空航天大學出版社4 沈慶陽,郭庭吉 8051單片機實踐與應(yīng)用.清華大學出版社5 侯玉寶,李成群 基于proteus的51系列單片機設(shè)計與仿真 電子工業(yè)出版社6陳明熒 8051單片機課程設(shè)計實訓教程m北京:清華大學出版社7郁慧娣微機系統(tǒng)及其接口技術(shù)m南京:東南大學出版社,1999年8何立民單片機高級教程m北京:北京航空航天大學出版社,2003年9王毓銀數(shù)字電路邏輯設(shè)計m北京:高等教育出版社11李廣弟. 單片機原理及應(yīng)用m 北京航空航天大學出版社,2004年. 12 謝嘉奎電子線路m.高等教育
49、出版社,1999年.附錄1(電路原理圖)附圖 電子萬年歷原理圖 附錄2(電子萬年歷程序)#include <reg5.h>#include "intrins.h"#define uint unsigned char#define uint unsigned intuchar xingqi,nian,yue,ri,xiaoshi,fen,miao;uchar nianh,nianl,yueh,yuel,rih,ril,xiaoshih,xiaoshil,fenh,fenl,miaoh,miaol;uchar dd=2;sbit clk=p10;sbit dat=p
50、11;sbit rst=p12;sbita0=acc0;sbita1=acc1;sbita2=acc2;sbita3=acc3; sbita4=acc4;sbita5=acc5; sbita6=acc6;sbita7=acc7;sbit p30=p30; sbit p31=p31; sbit p32=p32;sbit p33=p33; sbit p34=p34; sbit p35=p35; sbit p36=p36; sbit p37=p37;sbit date=p20;sbit load=p21;sbit clkk=p22;uchar bdata bitmsb;sbit m7=bitmsb7;uchar x,y,c;bit flag=0;bit flagh=1;uchar code tab=0xff, /任意數(shù) 0x06,/*1*/ /共陰數(shù)碼管 0x5b,/*2*/ 0x4f,/*3*/ 0x66,/*4*/ 0x6
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 35610-2024綠色產(chǎn)品評價陶瓷磚(板)
- 《創(chuàng)業(yè)學》重點題集
- 年產(chǎn)1萬噸碳酸二甲酯合成項目可行性研究報告
- 2024年動量守恒定律【八大題型】(含答案)
- 2023年傳統(tǒng)銀飾資金申請報告
- 高中生元旦晚會主持的開場白范文(35篇)
- 2024年中考歷史考前速背知識梳理
- 離任發(fā)言:國企黨委書記在離任干部大會上發(fā)言材料
- 每月實習報告
- 統(tǒng)計的實習報告
- 給小朋友科普醫(yī)學知識
- 最美老師評選述職報告
- 電氣工程及其自動化生涯發(fā)展展示
- 2024學校所屬企業(yè)國有資產(chǎn)管理的若干意見全文
- 大數(shù)據(jù)與會計職業(yè)生涯規(guī)劃
- 眼科護理中的圍手術(shù)期護理與管理
- 中華民族的形成與發(fā)展(原版)
- 鐵塔基礎(chǔ)施工方案施工方案
- 有機水稻培訓課件
- 數(shù)據(jù)分析與挖掘系統(tǒng)服務(wù)合作協(xié)議
- 【盒馬鮮生生鮮類產(chǎn)品配送服務(wù)問題及優(yōu)化建議分析10000字(論文)】
評論
0/150
提交評論