[畢業(yè)設計精品]基于單片機的99馬表設計_第1頁
[畢業(yè)設計精品]基于單片機的99馬表設計_第2頁
[畢業(yè)設計精品]基于單片機的99馬表設計_第3頁
[畢業(yè)設計精品]基于單片機的99馬表設計_第4頁
[畢業(yè)設計精品]基于單片機的99馬表設計_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、xxxxxx 畢業(yè)設計畢業(yè)設計 基于單片機的基于單片機的 9999 馬表設計馬表設計 班級班級: 電子 512 專業(yè)專業(yè): 應用電子技術 所在系所在系: 機電工程系 學號學號: 指導老師指導老師: 完成時間 2008 年 1 月 22 日至 2008 年 6 月 20 日 目目 錄錄 摘 要.2 引 言.3 第一章第一章 單片機的發(fā)展與應用單片機的發(fā)展與應用 .4 1.1、單片機的發(fā)展.4 1.1.1、單片機的概念.4 1.2、mcs-51 單片機的簡介 .4 第二章第二章 基于單片機的基于單片機的 99 馬表硬件系統(tǒng)馬表硬件系統(tǒng) .8 2.1、基于單片機的 99 馬表原理.8 2.11、主要

2、功能:.8 2.1.2、系統(tǒng)板上硬件連線.9 2.2、at89s51 的介紹.9 2.2.1、主要特性.10 2.2.2、管腳說明.10 2.2.3、振蕩器特性.12 2.2.4、芯片擦除.12 2.3、基于單片機的 99 馬表外圍電路設計.13 2.3.1、 復位電路.13 2.3.2、時鐘電路.15 2.3.3、數(shù)碼管.15 2.3.4、鍵盤電路.18 第三章第三章 基于單片機的基于單片機的 99 馬表軟件系統(tǒng)馬表軟件系統(tǒng) .20 3.1、基于單片機的 99 馬表匯編程序.20 3.1.1、基于單片機的99馬表流程圖.20 3.1.2、基于單片機at89s51的99馬表匯編程序.21 3.

3、2、keil uvision2 集成開發(fā)環(huán)境介紹.25 3.21、keil的使用步驟.25 3.4 仿真軟件 proteus.27 3.4.1、基于proteus軟件的系統(tǒng)硬件仿真設計.27 3.4.2、基于proteus軟件的系統(tǒng)硬件仿真運行.28 3.5、硬件系統(tǒng)的設計.28 3.5.1、protel dxp概述.28 3.5.2、原理圖設計系統(tǒng)的特點.28 3.5.3、印制電路板(pcb)的設計系統(tǒng)的特點.30 第四章第四章 小結與展望小結與展望 .31 4.1、小結.31 4.2、全文展望.31 致 謝.32 參考文獻.33 摘摘 要要 近年來隨著科技的飛速發(fā)展,單片機的應用正在不斷地

4、走向深入,同時帶 動傳統(tǒng)控制檢測日新月異更新。系統(tǒng)實用性強、操作簡單、擴展性強。本文介 紹了基于單片機 at89s51 的 99 馬表的設計,重點討論了 at89s51 單片機周圍硬 件電路的原理和軟件的編程以及仿真軟件對電路功能的實現(xiàn)。 關鍵詞:關鍵詞:單片機 99 馬表 設計 實現(xiàn) abstractabstract: in recent years along with science and technology develop fast, the application of single flat machine is moving towards thorough continuo

5、usly, at the same time drive traditional control detection day the benefit of new moon update. the system usability is strong, simplicity of operator, extended. this article introduced based on the monolithic integrated circuit at89s51 99 stop watch designs, discussed around with emphasis at89s51 mo

6、nolithic integrated circuit hardware circuits principle and softwares programming as well as the simulation software to electric circuit function realization. keywords:keywords: only flat machine 99 stopwatches design realize 引引 言言 在單片機技術日趨成熟的今天,其靈活的硬件電路的設計和軟件的設計, 讓單片機得到了廣泛的應用,幾乎是從小的電子產(chǎn)品,到大的工業(yè)控制,單片

7、機都起到了舉足輕重的作用。單片機小的系統(tǒng)結構幾乎是所有具有可編程硬件 的一個縮影,可謂是“麻雀雖小,肝膽俱全”, 單片機的學習和研究是對微機系統(tǒng)學習和研究的簡捷途徑。本文中設計的 基于 at89s51 單片的 99 馬表具有體積小,結構簡單,易于操作等特性,還具有 強大的擴展功能。它能夠精確計時,并具有開始計時,計時停止,清零等功能, 在運動會上,汽車上等一些需要計時的地方處處可見它的生影。特別是利用單 片機做的馬表,因其顯示精準,誤差小,價格較低而廣受歡迎。 第一章第一章 單片機的發(fā)展與應用單片機的發(fā)展與應用 1.11.1、單片機的發(fā)展、單片機的發(fā)展 1.1.11.1.1、單片機的概念、單片

8、機的概念 自 1946 年第一臺數(shù)字式電子計算機 eniac 在美國賓夕法尼亞大學誕生以來, 計算機的發(fā)展已經(jīng)歷了四代,微型計算機屬于第四代計算機。對微型計算機而 言,如果將 cpu、存儲器、i/o 接口以及定時器/記數(shù)器集成在一塊芯片上,就 成為單片微型計算機(sum,single chip microcomputer),簡稱單片機。它 具有體積小、功耗低、可靠性高、抗干擾能力強、價格低等優(yōu)點,被廣泛應用 于檢測和控制領域。此外,單片機在家用電器、電子玩具、語言設備、機器人 等各個領域的應用也迅速發(fā)展。 隨著單片機在技術上、體系結構上的不斷發(fā)展,國際上逐漸采用“微控制 器(mcu,micro

9、 controller unit)”來代替“單片微型計算機”這一名稱, 但在國內(nèi),由于習慣,我們?nèi)匝赜谩皢纹瑱C”這一名稱。 1.21.2、mcs-51mcs-51 單片機的簡介單片機的簡介 51 系列單片機是由美國 intel 公司生產(chǎn)的以 80c51 為核心發(fā)展起來的各類 單片機型號系列的總稱。這類單片機都使用 80c51 的 cpu 內(nèi)核及指令系統(tǒng),且 mcs-51 系列中的 8051 成為許多半導體廠家。電氣公司競相選用的對象并以其 為基核,推出了許多兼容性的 chmos 單片機,且這些單片機都具有極好的兼容 性,并有很強的生命力,統(tǒng)稱 80c51 系列 mcs-51 系列單片機產(chǎn)品有

10、8051,8031,8751,80c51,80c31 等型號(前三 種為 cmos 芯片,后兩種為 chmos 芯片)。它們的結構基本相同,其主要差別反 映在存儲器的配置上。8051 內(nèi)部設有 4k 字節(jié)的掩模 rom 程序存儲器,8031 片 內(nèi)沒有程序存儲器,而 8751 是將 8051 片內(nèi)的 rom 換成 eprom。由 atmel 公司 生產(chǎn)的 89c51 將 eprom 改成了 4k 的閃速存儲器,他們的結構大同小異。mcs- 51 單片機內(nèi)部結構 8051 是 mcs-51 系列單片機的典型產(chǎn)品,我們以這一代表性的機型進行系 統(tǒng)的講解。 下圖是 mcs-51 系列單片機的內(nèi)部結構

11、示意。 8051 單片機包含中央處理器、程序存儲器(rom)、數(shù)據(jù)存儲器(ram)、定時 /計數(shù)器、并行接口、串行接口和中斷系統(tǒng)等幾大單元及數(shù)據(jù)總線、地址總線和 控制總線等三大總線,現(xiàn)在我們分別加以說明: 1)中央處理器(cpu): 中央處理器(cpu)是整個單片機的核心部件,是 8 位數(shù)據(jù)寬度的處理器,能 處理 8 位二進制數(shù)據(jù)或代碼,cpu 負責控制、指揮和調(diào)度整個單元系統(tǒng)協(xié)調(diào)的 工作,完成運算和控制輸入輸出功能等操作。 2)數(shù)據(jù)存儲器(ram): 8051 內(nèi)部有 128 個 8 位用戶數(shù)據(jù)存儲單元和 128 個專用寄存器單元,它們 是統(tǒng)一編址的,專用寄存器只能用于存放控制指令數(shù)據(jù),用戶

12、只能訪問,而不 能用于存放用戶數(shù)據(jù),所以,用戶能使用的 ram 只有 128 個,可存放讀寫的數(shù) 據(jù),運算的中間結果或用戶定義的字型表。 3)程序存儲器(rom): 8051 共有 4096 個 8 位掩膜 rom,用于存放用戶程序,原始數(shù)據(jù)或表格。 4)定時/計數(shù)器(rom): 8051 有兩個 16 位的可編程定時/計數(shù)器,以實現(xiàn)定時或計數(shù)產(chǎn)生中斷用于 控制程序轉(zhuǎn)向。 5)并行輸入輸出(i/o)口: 8051 共有 4 組 8 位 i/o 口(p0、 p1、p2 或 p3),用于對外部數(shù)據(jù)的傳輸。 6)全雙工串行口: 8051 內(nèi)置一個全雙工串行通信口,用于與其它設備間的串行數(shù)據(jù)傳送,該

13、串行口既可以用作異步通信收發(fā)器,也可以當同步移位器使用。 7)中斷系統(tǒng): 8051 具備較完善的中斷功能,有兩個外中斷、兩個定時/計數(shù)器中斷和一 個串行中斷,可滿足不同的控制要求,并具有 2 級的優(yōu)先級別選擇。 tcon 的中斷標志: 位號 7 6 5 4 3 2 1 0 字節(jié)地址: 88h it0:外部中斷 int0 觸發(fā)方式控制位。 ie0:外部中斷 int0 中斷請求標志位。ie0=1 時,表示 into 向 cpu 請 求中斷。 tf1tr1tf0tr0ie1it1ie0tt0 it1:外部中斷 int1 觸發(fā)方式控制位。 ie1:外部中斷 int1 中斷請求標志位。ie0=1 時,表

14、示 int1 向 cpu 請 求中斷。 tf0:定時/計數(shù)器 t0 益出中斷請求標志位。在 t0 啟動后就開始由出 值加 1 記數(shù),直至最高位產(chǎn)生益出由硬件置位 tf0,向 cpu 響應中斷。cpu 響應中斷時,tf0 由硬件自動清 0。 tf1:定時/計數(shù)器 t1 益出中斷請求標志位。 中斷允許控制: cpu 對中斷系統(tǒng)所有中斷以及某個中斷源的開放和屏蔽是由中斷允許 寄存器 ie 控制的。ie 的狀態(tài)可通過程序由軟件設定。某位設定為 1,相應 的中斷源允許;某位設定為 0,相應的中斷源屏蔽。cpu 復為時,ie 各位 清 0,禁止所有中斷。 ie 寄存器: 位號 7 6 5 4 3 2 1

15、0 字節(jié)地址: a8h ex0:外部 int0 中斷允許位。 et0:定時/計數(shù)器 t0 中斷允許位。 ex1:外部 int1 中斷允許位。 et1:定時/計數(shù)器 t0 中斷允許位。 es:串行口中斷允許位。 ea:cpu 中斷允許(總允許)位。 eaeset1ex1et0ex0 第二章第二章 基于單片機的基于單片機的 9999 馬表硬件系統(tǒng)馬表硬件系統(tǒng) 2.12.1、基于單片機的、基于單片機的 9999 馬表原理馬表原理 2.12.11 1、主要功能:、主要功能: 1)開始時,顯示“00”,第 1 次按下 sp1 后就開始計時。 2)第 2 次按 sp1 后,計時停止。 3)第 3 次按 s

16、p1 后,計時歸零。 基于單片機 at89c51 的 99 馬表原理圖 2.1.22.1.2、系統(tǒng)板上硬件連線系統(tǒng)板上硬件連線 1) 把“單片機系統(tǒng)”區(qū)域中的 p1.0/ad0p1.7/ad7 端口分別用導連接到 led 數(shù)碼顯示器 u2 的 ah 端口上;要求:p1.0/ad0 對應著 a,p1.1/ad1 對 應著 b,p1.7/ad7 對應著 h。 2) 把“單片機系統(tǒng)”區(qū)域中的 p2.0/a8p2.7/a15 端口分別用導連接到 led 數(shù)碼顯示器 u1 的 ah 端口上;要求:p2.0/a8 對應著 a,p2.1/a9 對應 著 b,p2.7/a15 對應著 h。 3) 把“單片機系

17、統(tǒng)“區(qū)域中的 p3.5/t1 用導線連接到”獨立式鍵盤“區(qū)域中 的 sp1 端口上; 2.22.2、at89s51at89s51 的介紹的介紹 at89s51 是一種帶 4k 字節(jié)閃爍可編程可擦除只讀存儲器(fperomfalsh programmable and erasable read only memory)的低電壓,高性能 cmos8 位 微處理器,俗稱單片機。該器件采用 atmel 高密度非易失存儲器制造技術制造, 與工業(yè)標準的 mcs-51 指令集和輸出管腳相兼容。由于將多功能 8 位 cpu 和閃爍 存儲器組合在單個芯片中,atmel 的 at89c51 是一種高效微控制器,為

18、很多嵌 入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。如下圖 : at89s51 引腳圖 2.2.12.2.1、主要特性、主要特性 1) 與 mcs-51 兼容 2) 4k 字節(jié)可編程閃爍存儲器 3) 壽命:1000 寫/擦循環(huán) 4) 數(shù)據(jù)保留時間:10 年 5) 全靜態(tài)工作:0hz-24hz 6) 三級程序存儲器鎖定 7) 128*8 位內(nèi)部 ram 8) 32 可編程 i/o 線 9) 兩個 16 位定時器/計數(shù)器 10)5 個中斷源 11)可編程串行通道 12)低功耗的閑置和掉電模式 13)片內(nèi)振蕩器和時鐘電路 2.2.22.2.2、管腳說明、管腳說明 vcc:供電電壓。 gnd:接地。

19、p0 口:p0 口為一個 8 位漏級開路雙向 i/o 口,每腳可吸收 8ttl 門電流。 當 p1 口的管腳第一次寫 1 時,被定義為高阻輸入。p0 能夠用于外部程序數(shù)據(jù) 存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在 fiash 編程時,p0 口作為原 碼輸入口,當 fiash 進行校驗時,p0 輸出原碼,此時 p0 外部必須被拉高。 p1 口:p1 口是一個內(nèi)部提供上拉電阻的 8 位雙向 i/o 口,p1 口緩沖器能 接收輸出 4ttl 門電流。p1 口管腳寫入 1 后,被內(nèi)部上拉為高,可用作輸入, p1 口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在 flash 編程和校驗

20、時,p1 口作為第八位地址接收。 p2 口:p2 口為一個內(nèi)部上拉電阻的 8 位雙向 i/o 口,p2 口緩沖器可接收, 輸出 4 個 ttl 門電流,當 p2 口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且 作為輸入。并因此作為輸入時,p2 口的管腳被外部拉低,將輸出電流。這是由 于內(nèi)部上拉的緣故。p2 口當用于外部程序存儲器或 16 位地址外部數(shù)據(jù)存儲器 進行存取時,p2 口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉 優(yōu)勢,當對外部八位地址數(shù)據(jù)存儲器進行讀寫時,p2 口輸出其特殊功能寄存器 的內(nèi)容。p2 口在 flash 編程和校驗時接收高八位地址信號和控制信號。 p3 口:p3

21、口管腳是 8 個帶內(nèi)部上拉電阻的雙向 i/o 口,可接收輸出 4 個 ttl 門電流。當 p3 口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。 作為輸入,由于外部下拉為低電平,p3 口將輸出電流(ill)這是由于上拉的 緣故。 p3 口也可作為 at89c51 的一些特殊功能口,如下所示: p3 口管腳備選功能: 1)p3.0 rxd(串行輸入口) 2)p3.1 txd(串行輸出口) 3)p3.2 /int0(外部中斷 0) 4)p3.3 /int1(外部中斷 1) 5)p3.4 t0(記時器 0 外部輸入) 6)p3.5 t1(記時器 1 外部輸入) 7)p3.6 /wr(外部數(shù)據(jù)存儲

22、器寫選通) 8)p3.7 /rd(外部數(shù)據(jù)存儲器讀選通) 9)p3 口同時為閃爍編程和編程校驗接收一些控制信號。 rst:復位輸入。當振蕩器復位器件時,要保持 rst 腳兩個機器周期的高 電平時間。 ale/prog:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址 的地位字節(jié)。在 flash 編程期間,此引腳用于輸入編程脈沖。在平時,ale 端 以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的 1/6。因此它可用 作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數(shù)據(jù)存 儲器時,將跳過一個 ale 脈沖。如想禁止 ale 的輸出可在 sfr8eh 地址上置 0。 此時,

23、 ale 只有在執(zhí)行 movx,movc 指令是 ale 才起作用。另外,該引腳被略 微拉高。如果微處理器在外部執(zhí)行狀態(tài) ale 禁止,置位無效。 psen:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個 機器周期兩次/psen 有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/psen 信 號將不出現(xiàn)。 ea/vpp:當 ea 保持低電平時,則在此期間外部程序存儲器(0000h- ffffh),不管是否有內(nèi)部程序存儲器。注意加密方式 1 時,ea 將內(nèi)部鎖定為 reset;當 ea 端保持高電平時,此間內(nèi)部程序存儲器。在 flash 編程期間,此 引腳也用于施加 12v 編程電源(v

24、pp)。 xtal1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。 xtal2:來自反向振蕩器的輸出。 2.2.32.2.3、振蕩器特性、振蕩器特性 xtal1 和 xtal2 分別為反向放大器的輸入和輸出。該反向放大器可以配置 為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時鐘源驅(qū)動器件, xtal2 應不接。有余輸入至內(nèi)部時鐘信號要通過一個二分頻觸發(fā)器,因此對外 部時鐘信號的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。 2.2.42.2.4、芯片擦除、芯片擦除 整個 perom 陣列和三個鎖定位的電擦除可通過正確的控制信號組合,并保 持 ale 管腳處于低電平 10ms 來

25、完成。在芯片擦操作中,代碼陣列全被寫“1” 且在任何非空存儲字節(jié)被重復編程以前,該操作必須被執(zhí)行。 此外,at89s51 設有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支 持兩種軟件可選的掉電模式。在閑置模式下,cpu 停止工作。但 ram,定時器, 計數(shù)器,串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存 ram 的內(nèi)容并且凍結 振蕩器,禁止所用其他芯片功能,直到下一個硬件復位為止。 2.32.3、基于單片機的、基于單片機的 9999 馬表外圍電路設計馬表外圍電路設計 2.3.12.3.1、 復位電路復位電路 系統(tǒng)復位是任何微機系統(tǒng)的第一步,它能使整個控制芯片回到默認的硬件 初始狀態(tài)下。復位對單

26、片機來說,就是回到初始狀態(tài),程序計數(shù)器賦值 0000h,為程序運行做好貯備工作。 1)復位的實現(xiàn): 當在單片機的 rst 引腳上加上高電平并保持兩個機器周期(24 個始終震 蕩周期),就可以完成復位操作。為了達到這個要求,可以使用很多方法, 這里提供一種方法參考,其電路圖所示。 復位電路 這種復位電路的工作原理是:通電時,電容兩段相當于是短路,于是 rst 引腳上為高電平,然后電源通過電阻對電容充電,rst 端電壓慢慢下降,經(jīng)過 一段時間,達到低電平,單片機開始正常工作。 根據(jù)實際操作的經(jīng)驗,圖 1-2 中復位電路的電容、電阻參考值分別為 c=10uf,r1=1k,r2=10k。 2)單片機復

27、位后的狀態(tài) 單片機的復位操作使單片機進入初始化狀態(tài)。51 單片機在系統(tǒng)復位時, 將其內(nèi)部的一些重要寄存設置為特定的值,其中包括使程序計數(shù)器 pc 為 0000h,程序從 0000h 地址單元開始執(zhí)行;21 個特殊功能寄存器復位后的狀 態(tài)為確定值;p0、p1、p2、p3 口輸出高電平;運行中的復位操作不改變內(nèi) 部 ram 的數(shù)據(jù),重新上電時片內(nèi) ram 則為隨機值,如表所示。 21 個特殊功能寄存器復位后的狀態(tài) 特殊功能寄存器初始狀態(tài)特殊功能寄存器初始狀態(tài) a00htmod00h b00htcon00h psw00hth000h sp07htl000h dpl00hth100h dph00htl

28、100h p0p3ffhsbuf 不定 ip00000bscon00h ie000000bpcon0 b psw=00h:表明選積存器 0 組為工作寄存組。 sp=07h:表明堆棧指針指向片內(nèi) ram 07h 字節(jié)單元。 p0p3=ffh:表明已向各端口線寫入 1,此時,各端口既可用于輸入用 可用于輸出。 ip=xxx00000b:表明各個中斷源處于低優(yōu)先級 ie=0xx00000b:表明各個中斷均被關斷。 rst 引腳的第二功能是作為備用電源的輸入端,當主電源發(fā)生故障、電 壓值降低到規(guī)定的低電平時,+5v 電源自動接入 rst 端,作為備用電源 為系統(tǒng)供電,保證復位后能繼續(xù)正常運行。 2.3

29、.22.3.2、時鐘電路、時鐘電路 at89c51 片內(nèi)設有一個由反向放大器所構成的振蕩電路,xtal1 和 xtal2 分別為振蕩電路的輸入和輸出端,時鐘可以由內(nèi)部方式產(chǎn)生或外部方式產(chǎn)生。 內(nèi)部方式時鐘電路如圖 2-5 所示。在 xtal1 和 xtal2 引腳上外接定時元件,內(nèi) 部振蕩電路就產(chǎn)生自激振蕩。定時元件通常采用石英晶體和電容組成的并聯(lián)諧 振回路。晶振可以在 1.2mhz 到 12mhz 之間選擇,電容值在 5-30pf 之間選擇, 電容的大小可起頻率微調(diào)作用。 電容 1 晶振 電容 2 內(nèi)部方式時鐘電路 外部方式的時鐘很少用,若要用時,只要將 xtal1 接地,xtal2 接外部

30、振 蕩器就行。對外部振蕩信號無特殊要求,只要保證脈沖寬度,一般采用頻率低 于 12mhz 的方波信號。 時鐘發(fā)生器把振蕩頻率兩分頻,產(chǎn)生一個兩相時鐘信號 p1 和 p2 供單片機 使用。p1 在每一個狀態(tài) s 的前半部分有效,p2 在每個狀態(tài)的后半部分有效。 2.3.32.3.3、數(shù)碼管數(shù)碼管 在數(shù)字需要用數(shù)字器件將數(shù)字、文字和符號直觀地顯示出來。能夠用來直 觀顯示數(shù)字、文字和符號的器件稱為顯示器。數(shù)字管器件的種類很多,按顯示 xtal1 xtal2 方式的不同,可分為字形重迭式、分段式樣、點陣式;按發(fā)光材料不同可分為 熒光管顯示器、半導體發(fā)光二極管顯示器(led)和液晶顯示器(lcd)等。本

31、 設計運用的是 led 數(shù)碼管。 led 數(shù)碼顯示器是一種由 led 發(fā)光二極管組合顯示字符的顯示器件。它使用 了 8 個 led 發(fā)光二極管,其中 7 個用于顯示字符,1 個用于顯示小數(shù)點。led 數(shù) 碼顯示器有兩種連接方法: 1)共陰極接法: 把發(fā)光二極管的陽極連在一起構成公共陰極,使用時公共陰極接地, 每個發(fā)光二極管的陽極通過電阻與輸入端相連。當陽極端輸入低電平時, 發(fā)光二極管就導通點亮,而輸入高電平時則不點亮。 共陰極接線圖 2)共陽極接法: 把發(fā)光二極管的陽極連在一起構成公共陽極,使用時公共陽極接地。 每個發(fā)光二極管的陰極通過電阻與輸入端相連。當陰極端輸入高電平時, 發(fā)光二極管就導通

32、點亮,而輸入低電平時則不點亮。 共陽極線路圖 led 顯示器的特點是清晰悅目工作電壓低(1.53v) 體積小壽面長 響應速度快顏色豐富(有紅綠黃) 工作可靠. lcd 數(shù)碼管顯示字形與字段碼關系 顯示字形共陽極字段碼共陰極字段碼顯示字形共陽極字段碼共陰極字段碼 0c0h3fh990h6fh 1f9h06ha88h77h 2a4h5bhb83h7ch 3b0h4fhc c6h 39h 499h66hda1h5eh 592h6dhe86h79h 682h7dhf8eh71h 7f8h07h g(熄燈) ffh00h 880h7fh 2.3.42.3.4、鍵盤電路、鍵盤電路 1)鍵盤的結構與原理 觸

33、點式按鍵開關,起主要功能是把機械上的通斷轉(zhuǎn)換為電氣上的邏輯關系 (1 和 0)。常見的種類有:獨立式按鍵和矩陣式鍵盤。 開始時,顯示“00”,第 1 次按下 sp1 后就開始計時,第 2 次按 sp1 后計 時停止,第 3 次按 sp1 后計時歸零。 鍵盤控制電路 2)按鍵電路的抖動問題 由于按鍵是機械觸點,當機械觸點斷開、閉合時,會有抖動,這種抖動對 于人來說是感覺不到的,但對于計算機來說,則是完全可以感覺到的,因為計 算機處理的速度是在微秒級,而機械抖動的時間至少是毫秒級,對計算機而言, 這已是個“漫長”的時間了。為使 cpu 能正確地讀出按鍵的狀態(tài),對每一次按 鍵只作一次響應,就必須考慮

34、如何去除抖動。常用的去除抖動方法有兩種:硬 件方法和軟件方法。單片機中常用軟件法,軟件法其實很簡單,就是在單片機 獲得端口為低的信息后,不是立即認定開關已被按下,而是延時 10ms 或更長一 些時間后再次檢測該口,如果認為低電平,說明開關的確按下了,這實際上是 避開了按鍵按下的抖動時間。以上是消除鍵斗動的原則。在本片電路中消除鍵 的抖動是調(diào)用一個 10ms 的延時程序。 第三章第三章 基于單片機的基于單片機的 9999 馬表軟件系統(tǒng)馬表軟件系統(tǒng) 3.13.1、基于單片機的、基于單片機的 9999 馬表匯編程序馬表匯編程序 3.1.13.1.1、基于單片機的、基于單片機的 9999 馬表流程圖馬

35、表流程圖 1)主程序框圖 t0 中斷服務程序框圖 圖 4.17.2 3.1.23.1.2、基于單片機、基于單片機 at89s51at89s51 的的 9999 馬表匯編程序馬表匯編程序 tcnta equ 30h ;初始化 tcntb equ 31h sec equ 32h keycnt equ 33h sp1 bit p3.5 org 00h ;主程序從 00 起 ljmp start org 0bh ;定時器 0 中斷 0bh 起 ljmp int_t0 start: mov keycnt,#00h ;按鍵統(tǒng)計為 0 mov sec,#00h ;秒內(nèi)容(32h)為 0 mov a,sec

36、;顯示秒內(nèi)容 mov b,#10 div ab mov dptr,#table movc a,a+dptr mov p1,a ;顯示十位 mov a,b mov dptr,#table movc a,a+dptr mov p2,a ;顯示個位 mov tmod,#02h ;選擇 8 位定時工作方式;工作方式 2 就具 有自動重裝載功能,即自動加載計數(shù)初值, 所以也有的文獻稱之為自動重加載工作方 式。在這種工作方式中,16 位計數(shù)器分為 兩部分,即以 tl0 為計數(shù)器,以 th0 作為 預置寄存器,初始化時把計數(shù)初值分別加 載至 tl0 和 th0 中,當計數(shù)溢出時,不再 象方式 0 和方式 1

37、 那樣需要“人工干預”, 由軟件重新賦值,而是由預置寄存器 th 以 硬件方法自動給計數(shù)器 tl0 重新加載。 setb et0 setb ea wt: jb sp1,wt ;直接尋址位為 1 轉(zhuǎn)移(按鍵按下時 sp1 為 0) lcall dely10ms jb sp1,wt ;接著 sp1 變?yōu)?1 inc keycnt mov a,keycnt cjne a,#01h,kn1 ;立即數(shù)與 a 比較,不等轉(zhuǎn)移 setb tr0 ;tr0 置 1,啟動定時器 t0 , 允許定時/計數(shù)器計 數(shù) mov th0,#06h ;用于自動恢復定時初值 mov tl0,#06h ;置 t0 定時初值 2

38、50us ( 2 的 8 次方減 250,再轉(zhuǎn)為 16 進制) mov tcnta,#00h mov tcntb,#00h ljmp dkn kn1: cjne a,#02h,kn2 clr tr0 ljmp dkn kn2: cjne a,#03h,dkn ;清零 mov sec,#00h mov a,sec mov b,#10 div ab mov dptr,#table movc a,a+dptr mov p1,a mov a,b mov dptr,#table ; movc a,a+dptr mov p2,a mov keycnt,#00h dkn: jnb sp1,$ ;直接尋址為

39、0 轉(zhuǎn)移,否則循環(huán) ljmp wt dely10ms: mov r6,#20 d1: mov r7,#248 djnz r7,$ djnz r6,d1 ;(248*2+2)*20=9960 10ms 延時 ret ;子程序返回 int_t0: inc tcnta mov a,tcnta cjne a,#100,next ;不等轉(zhuǎn)移 mov tcnta,#00h inc tcntb mov a,tcntb cjne a,#40,next ;不等轉(zhuǎn)移 mov tcntb,#00h inc sec mov a,sec cjne a,#100,done mov sec,#00h done: mov a

40、,sec mov b,#10 div ab mov dptr,#table movc a,a+dptr mov p1,a mov a,b mov dptr,#table movc a,a+dptr mov p2,a next: reti table: db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh end 3.23.2、keilkeil uvision2uvision2 集成開發(fā)環(huán)境介紹集成開發(fā)環(huán)境介紹 keil uvision2 集成開發(fā)環(huán)境是基于 80c51 內(nèi)核的軟件開發(fā)平臺,支持工 程建立,程序的編譯與鏈接,軟件仿真,硬件仿真,目標代碼的生成等功能

41、。 keil uvision2 編譯器在產(chǎn)生代碼的準確性和效率達到了較高的水平。 keil uvision2 的安裝與其他軟件類似。keil 集成開發(fā)環(huán)境的工具欄,菜 單等的使用,可參考集成開發(fā)環(huán)境的幫助文件。 與大多數(shù)集成開發(fā)環(huán)境類似,keil 集成開發(fā)環(huán)境也使用工程的方法來管 理文件,在一個工程文件中源程序(c51 程序、匯編程序)頭文件等都可以進 行統(tǒng)一管理。 3.23.21 1、keilkeil 的使用步驟的使用步驟 1)雙擊桌面 keil.u.vision2 快捷圖標.進入 keil 集成開發(fā)環(huán)境.在主菜單 中選擇 projectnew project.建立一個新工程 pltest.

42、uv2,并根據(jù)提示進行工 程的保存等操作。 2)工程保存后,keilc51.u.vision2.將立即彈出對話器件選擇框。不同型 號的 51 單片機內(nèi)部資源不同,keilc51.u.vision2 可以根據(jù)所選定的芯片進行 sfp 預定義,在軟、硬件仿真時提供觀察窗口等,這里假定選用了 atmel 公司 的 at89c51 單片機。 3)新建.c 或.asm 文件并保存代碼。這里假設編寫的匯編程序和 c51 程序 命名為 p1test.asm 和 p1test.c。p1test.asm 和 p1test.c 文件也可用其他編輯 軟件事先寫好,再進行在工程中添加源文件,將 p1test.asm

43、添加到工程中,這 樣即可完成一個完整工程的建立工程。添加完 p1test.asm 后的窗口。至此,工 程文件已經(jīng)做好了進行編譯鏈接的準備。 4)單擊編譯工程快捷圖標或選擇下拉菜單中的編譯鏈接選項,即可在 build 窗口中看到編譯鏈接結果。 5)keilc51.u.vision2 集成開發(fā)環(huán)境為用戶提供了仿真調(diào)試功能,對應工 程選項對話框中 debug 選項卡的 use simulator 選項,集成開發(fā)環(huán)境還為制造 商提供了 keil monitor-51 driver 接口,制造商可以利用該接口設計硬件仿真 接口。此外僅使用開發(fā)環(huán)境的軟件仿真調(diào)試功能,選中調(diào)試菜單的開始調(diào)試選 項進行軟件仿

44、真,進入調(diào)試狀態(tài)后軟件仿真的調(diào)試及觀察窗口。 5)u.vision2 中給出了全速運行、單步運行等多種運行方式。以及觀察各 種變量的窗口,用戶可以根據(jù)需要使用。 6)編譯仿真過程中可以調(diào)試軟件的語法錯誤,在軟件仿真時可以觀察到 p1 口的變化是否符合要求等。要使程序真正能點亮發(fā)光二極管,還應與硬件相 結合,給出了硬件的接線圖,可將仿真器與硬件相連。點亮發(fā)光二極管,還可 將可執(zhí)行文件寫入芯片直接測試程序執(zhí)行。寫入芯片的文件一般為.hex 文件, 要得到.hex 文件,可在工程選項對話框中選擇 output 選項卡,選中 great hex file 項即可。 keil 軟件開發(fā) at89c519

45、9 馬表的匯編程序介面: 3.43.4 仿真軟件仿真軟件 proteusproteus proteus 軟件的特點:全部滿足我們提出的單片機軟件的標準,并在同類 產(chǎn)品中具有明顯的優(yōu)勢。具有模擬電路仿真、數(shù)字電路仿真、單片機及其外圍 電路組成的系統(tǒng)的仿真、rs232 動態(tài)仿真、12c 調(diào)試器、sp1 調(diào)試器、鍵盤和 lcd 系統(tǒng)仿真的功能;有各種虛擬儀器,如示波器、邏輯分析儀、信號發(fā)生器 等。目前支持的單片機類型有:68000 系列、8051 系列、avr 系列、pic12 系列! pic16 系列、pic18 系列、z80 系列、hc11 系列以及各種外圍芯片。支持大量的 存儲器和外圍芯片???/p>

46、之,該軟件是一款集單片機和 spice 分析于一身的仿真 軟件,功能極其強大,是其他任何一款軟件不能相比的。 3.4.13.4.1、基于、基于 proteusproteus 軟件的系統(tǒng)硬件仿真設計軟件的系統(tǒng)硬件仿真設計 圖 3-2protenus 軟件的系統(tǒng)硬件原理圖 3.4.23.4.2、基于、基于 proteusproteus 軟件的系統(tǒng)硬件仿真運行軟件的系統(tǒng)硬件仿真運行 圖 3-3proteus 環(huán)境下運行效果 3.53.5、硬件系統(tǒng)的設計、硬件系統(tǒng)的設計 3.5.13.5.1、protelprotel dxpdxp 概述概述 protel dxp 是 altium 公司于 2002 年

47、推出的板極電路設計系統(tǒng),主要運行 于 windowsxp 操作系統(tǒng)。在套軟件把原理圖設計、電路仿真、pcb 繪制編輯、 拓撲自動布線、信號完整性分析和設計輸出等技術的完美融合,為設計者提供 了全線的設計解決方案,使設計者可以輕松進行設計。 3.5.23.5.2、原理圖設計系統(tǒng)的特點、原理圖設計系統(tǒng)的特點 原理圖是電子產(chǎn)品設計的第一步,protel dxp 的原理圖編輯器為設計者提 供高速、智能的原理圖編輯手段。下圖為基于 at89s5199 馬表的原理圖。 1 1 2 2 3 3 4 4 dd cc bb aa title numberrevisionsize a4 date:2008-6-1

48、7sheet of file:g:圖sheet1.schdocdrawn by: at89s51 p1.0 1 p1.1 2 p1.2 3 p1.3 4 p1.4 5 p1.5 6 p1.6 7 p1.7 8 rst 9 p3.0/rxd 10 p3.1/txd 11 p3.2/int0 12 p3.3/int1 13 p3.4/t0 14 p3.5/t1 15 p3.6/wr 16 p3.7/rd 17 xtal2 18 xtal1 19 gnd 20 p2.0/a8 21 p2.1/a9 22 p2.2/a10 23 p2.3/a11 24 p2.4/a12 25 p2.5/a13 26

49、p2.6/a14 27 p2.7/a15 28 psen 29 ale 30 ea 31 p0.7/ad7 32 p0.6/ad6 33 p0.5/ad5 34 p0.4/ad4 35 p0.3/ad3 36 p0.2/ad2 37 p0.1/ad1 38 p0.0/ad0 39 vcc 40 u1 12 y1 30pf c1 30pf c2 1k r1 s1 100pfc? 1 2 3 4 5 6 7 a b c d e f g 8dp 9 gnd a bf c g d e dp nc ds1 1 2 3 4 5 6 7 a b c d e f g 8dp 9 gnd a bf c g d e dp nc ds2 vcc gnd g

溫馨提示

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

評論

0/150

提交評論