版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、單片機原理單片機原理 課課 程程 設(shè)設(shè) 計計 論論 文文 題目題目: : 單片機數(shù)字時鐘的設(shè)計單片機數(shù)字時鐘的設(shè)計 學 生 姓 名: ywh 學號:070108041124 學 部 (系): 信息學部 專 業(yè) 年 級: 07 自動化 4 班 指 導 教 師: 職稱或?qū)W位: 20102010 年年 0707 月月 1111 日日 華中科技大學文華學院課程設(shè)計(論文) 2 目錄目錄 第一章第一章 設(shè)計要求設(shè)計要求.3 第二章第二章 單片機簡介單片機簡介.3 2.1 概述.3 2.2 單片機的發(fā)展歷程.4 2.3 時鐘的特性.4 第三章第三章 系統(tǒng)原理與硬件設(shè)計系統(tǒng)原理與硬件設(shè)計.5 3.1 硬件選
2、擇.5 3.2 單片機的構(gòu)成.5 3.3 at89c52 單片機的引腳說明.6 3.4 led 簡介.7 第四章第四章 軟軟件件設(shè)設(shè)計計.9 第五章第五章 調(diào)試過程及數(shù)據(jù)分析調(diào)試過程及數(shù)據(jù)分析.13 5.1 硬件調(diào)試.13 5.2 keil 調(diào)試.14 5.3 開發(fā)板調(diào)試.14 第六章第六章 結(jié)論與總結(jié)結(jié)論與總結(jié).15 參考文獻參考文獻.16 華中科技大學文華學院課程設(shè)計(論文) 3 第一章第一章 設(shè)計要求設(shè)計要求 題目:數(shù)字時鐘的設(shè)計 1、 任務(wù)簡介: 時鐘在生產(chǎn)、生活中具有相當重要的作用。數(shù)字式時鐘直接用數(shù)字顯示時間, 讀數(shù)直觀,并且具有一定的實用功能。本設(shè)計要求利用單片機完成一個數(shù)字時
3、鐘的設(shè)計。 2、 設(shè)計要求: (1) 系統(tǒng)硬件設(shè)計:利用單片機實驗板完成設(shè)計要求(已有) ; (2) 系統(tǒng)軟件設(shè)計:完成控制軟件的編寫與調(diào)試; (3) 功能要求: 1) 6 位數(shù)碼管顯示小時、分鐘,秒(例如:18:30:30) ; 2) 可通過鍵盤調(diào)校當前時間; 3) 具有整點提示功能(例如蜂鳴器鳴響半分鐘) ,具有整點報時功能(例如十 點響十聲) ; 4) 1 個 led 每秒閃爍一次,指示秒針動作; 5)具有定時功能,可通過鍵盤設(shè)定及查詢定時時間;定時時間到,有蜂鳴器提 示。 第二章第二章 單片機簡介單片機簡介 2.1 概述概述 隨著電子技術(shù)的迅速發(fā)展,特別是隨著大規(guī)模集成電路產(chǎn)生而出現(xiàn)的
4、微型 計算機,給人類生活帶來了極大的方便。走入家庭,從洗衣機、微波爐到音響、 汽車,到處都可以見到單片機應(yīng)用的蹤影。如果說微型計算機技術(shù)的出現(xiàn)使現(xiàn) 代科學研究得到了質(zhì)的飛躍,那么也可以毫不夸張的說:“單片機技術(shù)的出現(xiàn) 則是給現(xiàn)代工業(yè)測控領(lǐng)域帶來了一次新的工業(yè)革命” 。目前,單片機以其可靠性 高和智能性等特點被廣泛應(yīng)用到工業(yè)控制系統(tǒng)、數(shù)據(jù)采集系統(tǒng)、智能化儀器儀 華中科技大學文華學院課程設(shè)計(論文) 4 表、辦公自動化等領(lǐng)域中,并已經(jīng)進入家庭,因此,單片機技術(shù)的開發(fā)和應(yīng)用 水平已經(jīng)逐步成為一個國家自動化發(fā)展水平的標志之一。 2.2 單片機的發(fā)展歷程單片機的發(fā)展歷程 單片機是微型計算機的一個重要分支
5、,也是一種非?;钴S和頗具生命力的 機種,特別適用于工業(yè)控制領(lǐng)域。1971 年微處理器研制成功不久,就出現(xiàn)了單 片機,但最早的單片機是 1 位的,處理能力有限。單片機的發(fā)展共分四個階段: 第一階段是初級階段,功能非常簡單;第二階段是低性能階段, 16 位定時器/ 計數(shù)器,片內(nèi) rom、ram 容量加大,直到現(xiàn)在仍被廣泛應(yīng)用,是目前應(yīng)用數(shù)量較 多的單片機。 、32 位單片機推出階段,以滿足不同的用戶需要??v觀單片機幾 十年的發(fā)展歷程,單片機的今后發(fā)展方向?qū)⑾蚨喙δ?、高性能、高速度、低?耗、低價格、外圍電路內(nèi)裝化以及內(nèi)存儲器容量增加和 flash 存儲器化方向發(fā) 展。 2.3 時鐘的時鐘的特性特性
6、 省電(關(guān)閉顯示)功能(2)以 24h(小時)計時方式(3)白來整點報時, 晚上 22 點后不報時(4)用六位 led 數(shù)碼管顯示時、分、秒(5)使用按鍵開 關(guān)可實現(xiàn)時分調(diào)整、秒表功能轉(zhuǎn)換(6)使用按鍵開關(guān)可實現(xiàn)時分調(diào)整、時鐘功 能轉(zhuǎn)換等功能。 這里用到中斷,50ms 的產(chǎn)生一次。然后累加到 20 次,秒表就加 1.。每 60 秒分值加 1。 每 60 分時加 1,每 24 小時日加 1. 華中科技大學文華學院課程設(shè)計(論文) 5 第三章第三章 系統(tǒng)原理系統(tǒng)原理與硬件設(shè)計與硬件設(shè)計 3.1 硬件硬件選擇選擇 (1)單片機的選擇 選用 at89c52 單片機,并配備 12mhz 晶振,復位電路
7、采用上電復位。 (2)顯示電路選擇 采用軟件譯碼動態(tài)顯示,p3.0-p3.3 作數(shù)碼管的位選 口。p1.0-p1.6 作數(shù)碼管的段選口。考慮直接用單片機 i/o 口作位選時驅(qū)動功 率不夠, (3)電源選擇 采用直流 5v 電源供電。 (4)選擇器的選擇 74ls04。 (5)ctc89c52 單片機是一種低功耗,高性能的片內(nèi)含有 4kb 可編程/擦除 只讀存儲器(fperomflash programmable and erasable read only memory)的 8 位 coms 微控制器,使用高密度,非易失存儲技術(shù)制造,并且與 at89c52 引腳和指令系統(tǒng)完全兼容。芯片上的 f
8、lash 允許在線編程或采用通用 的非易失存儲編程器對存儲器重復編程。 3.2 單片機的構(gòu)成單片機的構(gòu)成 at89c51 單片機是在一塊芯片中集成了 cpu、ram、rom、定時器/計數(shù)器和 多種功能的 i/o 線等一臺計算機所需要的基本功能部件,at89c52 單片機單片 機內(nèi)包含下列幾個部件: (1) 一個 8 位 cpu; (2)一個片內(nèi)振蕩器及時鐘電路; (3)4k 字節(jié) rom 程序存儲器; (4)256 字節(jié) ram 數(shù)據(jù)存儲器; (5)兩個 16 位定時器/計數(shù)器; (6)可尋址 64k 外部數(shù)據(jù)存儲器和 64k 外部程序存儲器空間的控制電路; (7)32 條可編程的 i/o 線
9、(四個 8 位并行 i/o 端口) ; (8)一個可編程全雙工串行口; (9)具有五個中斷源、兩個優(yōu)先級嵌套中斷結(jié)構(gòu)。 其內(nèi)部機構(gòu)框圖如圖 2.2 所示: 華中科技大學文華學院課程設(shè)計(論文) 6 圖 3-1 mcs-51 單片機內(nèi)部機構(gòu)框圖 3.3 at89c52 單片機的引腳說明單片機的引腳說明 at89c52 單片機采用 40 條引腳雙列直插式器件,引腳除 5v( 40 腳) 和電源地( 20 腳)外,其功能分為時鐘電路、控制信號、輸入/輸出三大部 分,邏輯框圖及引腳圖分別如圖 2.4(a)(b)所示 (a) (b) 圖 3-2 at89c52 單片機邏輯圖與引腳圖 at89c52 單片
10、機的內(nèi)部硬件結(jié)構(gòu)中除了程序存儲器由 flash 取代了 87c51 單片機的 eprom 外,其余部分完全相同,其管腳說明如下: (1)vcc:供電電壓 (2)gnd:接地 (3)時鐘電路 xtal1(19 腳)芯片內(nèi)部振蕩電路(單級反相放大器)輸入端。 華中科技大學文華學院課程設(shè)計(論文) 7 xtal2(18 腳)芯片內(nèi)部振蕩電路(單級反相放大器)輸出端。 (4)控制信號 rst(9 腳)復位信號:時鐘電路工作后,在此引腳上將出現(xiàn)兩個機器周期 的高電平,芯片內(nèi)部進行初始復位,p0 口p3 口輸出高電平,將初值 07h 寫入 堆棧指針。 ale(30 腳)地址鎖存信號:當訪問外部存儲器時,p
11、0 口輸出的低 8 位地 址由 ale 輸出的控制信號鎖存到片外地址鎖存器,p0 口輸出地址低 8 位后,又 能與片外存儲器之間傳送信息。另外,ale 可驅(qū)動 4 個 ttl 門。 (29 腳)片外程序存儲器讀選通:低電平有效,作為psenpsenpsen 程序存儲器的讀信號,輸出負脈沖,將相應(yīng)的存儲單元的指令讀出并送到 p0 口, 可驅(qū)動 8 個 ttl 門。psen /vpp(30 腳):當為高電平且 pc 值小于 0fffh 時,cpu 執(zhí)行內(nèi)部eaea 程序存儲器程序;當為低電平時,cpu 僅執(zhí)行外部程序存儲器程序。ea 3.4 led 簡介簡介 led 數(shù)碼管根據(jù) led 的接法不同
12、分為共陰和共陽兩類,了解 led 的這些特 性,對編程是很重要的,因為不同類型的數(shù)碼管,除了它們的硬件電路有差異 外,編程方法也是不同的。圖 2.7(a)是共陰和共陽極數(shù)碼管的內(nèi)部電路圖,它 們的發(fā)光原理是一樣的,只是它們的電源極性不同而已。 將多只 led 的陰極連在一起即為共陰式,而將多只 led 的陽極連在一起即 為共陽式。以共陰式為例,如把陰極接地,在相應(yīng)段的陽極接上正電源,該段 即會發(fā)光。當然,led 的電流通常較小,一般均需在回路中接上限流電阻。假 如我們將b和c段接上正電源,其它端接地或懸空,那么b和c段發(fā)光, 此時,數(shù)碼管顯示將顯示數(shù)字“1”。而將a、b、d、e和g段都接上 正
13、電源,其它引腳懸空,此時數(shù)碼管將顯示“2”。其它數(shù)字的顯示原理與此類 同。 led 的 7 段數(shù)碼管利用單只 led 組合排列成“8”字型的數(shù)碼管,分別引出 它們的電極,點亮相應(yīng)的點劃來顯示出 0-9 的數(shù)字。在這次的設(shè)計中采用的均 是共陰極的 led 顯示,當 i/o 口輸出為高電平的時候,對應(yīng)段就被點亮。led 數(shù)碼管的結(jié)構(gòu)圖如圖 2.7(b)所示。 華中科技大學文華學院課程設(shè)計(論文) 8 (a) (b) 圖 3-3 led 分類結(jié)構(gòu)圖和結(jié)構(gòu)圖 這次設(shè)計的顯示部分采用 at89c51 單片機動態(tài)掃描完成, 在多數(shù)的應(yīng)用場 合中,我們并不希望使用多 i/o 端口的單片機,原則上是使用盡量少
14、引腳的器 件。在沒有富余端口的情況下,應(yīng)通過優(yōu)化設(shè)計程序和擴展電路達到預期的目 的。動態(tài)掃描的頻率有一定的要求,頻率太低,led 將出現(xiàn)閃爍現(xiàn)象。如頻率 太高,由于每個 led 點亮的時間太短,led 的亮度太低,肉眼無法看清,所以 一般均取幾個 ms 左右為宜,這就要求在編寫程序時,選通某一位 led 使其點亮 并保持一定的時間,程序上常采用的是調(diào)用延時子程序。 led 顯示電路 (1) 靜態(tài)顯示電路 lde 顯示器工作在靜態(tài)顯示時,其公共陽極(或陰極) 接 vcc(或 gnd) ,一 直處于顯示有效狀態(tài),所以每一位的顯示內(nèi)容必須由鎖存器加以鎖存,顯示各 位相互獨立。 (2) 動態(tài)顯示電路
15、將所有位的段選線的同名端聯(lián)在一起,由一個 8 位 i/o 口控制,形成段選 線的多位復用。而各位的公共陽極或公共陰極則分別由相應(yīng)的 i/o 口線控制, 實現(xiàn)各位的分時選通,即同一時刻只有被選通位是能顯示相應(yīng)的字符,而其他 所有位都是熄滅的。由于人眼有視覺暫留現(xiàn)象,只要每位顯示間隔足夠短,則 會造成多位同時點亮的假象。這就需要單片機不斷地對顯示進行控制,cpu 需 華中科技大學文華學院課程設(shè)計(論文) 9 要不斷地進行顯示刷新,動態(tài)顯示電路參見圖 2.8,圖 2.8 中是擴展了五位的 led 數(shù)碼管顯示,用一個 74ls04 作為五個 led 的段選輸入,采用動態(tài)顯示的方 式連接。類似地,16
16、位的 led 數(shù)碼管顯示也可以用這種方法來實現(xiàn)。 圖 3-4 五位 led 數(shù)碼管的動態(tài)顯示 第四章第四章 軟件設(shè)計軟件設(shè)計 程序如下:程序如下: #include #define uchar unsigned char #define uint unsigned int uchar code seg710=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f; uchar act8=0 xfe,0 xfd,0 xfb,0 xf7,0 xef,0 xdf,0 xbf,0 x7f; /位選 uchar deda, sec=50,m
17、in=59,hour=6; /deda 計時器 0 計數(shù)多少次是一秒的控制變量 sbit led1 = p10; / 用 p1.0 口控制 led 燈 華中科技大學文華學院課程設(shè)計(論文) 10 uchar num1; /led 燈的計數(shù)器變量 uchar cnt,m; void delayms(uint) ; sbit fmq=p35;/p3.5 是蜂鳴器的控制端口 /*/ void init(void)/開定時器 0 和 1,并置初值 tmod=0 x11; th0=-(50000/256); tl0=-(50000%256); et0=1; /允許 t0 中斷 tr0=1; th1=-(
18、1000/256); tl1=-(1000%256); et1=1; tr1=1;/啟動 ea=1;/開中斷 /*/ void di() /蜂鳴器子程序 uchar i; for (i=0;i100;i+) fmq=0;delayms(1); fmq=1;delayms(1); /*/ void time0(void) interrupt 1 /秒計時器 th0=-(50000/256); /置初值 tl0=-(50000%256); 華中科技大學文華學院課程設(shè)計(論文) 11 deda+; num1+; if(num1=10) /二極管半秒鐘亮半秒鐘熄 達到秒鐘動作 num1=0; led1
19、=led1; /led 閃爍子程序 /*/ void time1(void) interrupt 3 /數(shù)碼管顯示時分秒子程序 th1=-(1000/256); /定時器控制位掃描頻率 tl1=-(1000%256); if(-cnt=20) /計數(shù) 20 次為一秒 deda=0;sec+; if(m0)di();-m; 華中科技大學文華學院課程設(shè)計(論文) 12 if(sec=60)sec=0;min+; if(min=60)min=0;hour+;m=hour; if(hour=24)hour=0; /*/ void delayms(uint xms) /蜂鳴器延時 uint i,j; f
20、or(i=xms;i0;i-) for(j=100;j0;j-); /*/ void delay(uint k) uint data i,j; for(i=0;ik;i+) for(j=0;j59)min=0;delay(300);break; /鍵盤控制的進位 case 0 xf7:if(+hour23)hour=0;delay(300);break; default:break; 第五章第五章 調(diào)試過程及數(shù)據(jù)分析調(diào)試過程及數(shù)據(jù)分析 5.1 硬件調(diào)試硬件調(diào)試 硬件調(diào)試的調(diào)試比較困難。因為是調(diào)試所以不能對元件進行焊接,只能把 各個元件用導線連接起來。調(diào)試的整體過程是:各個系統(tǒng)逐個調(diào)試,各部分調(diào)
21、 試成功后再進行組裝后的整體調(diào)試。 調(diào)試過程包括: 1. 顯示部分的調(diào)試 問題:數(shù)碼管的顯示不穩(wěn)定,不停的閃爍。 分析:沒有考慮到干擾及環(huán)境的制約。于是我們把在面包板上連好的電路 焊接在印刷板上,并采用電容濾波盡可能去除紋波和干擾。 2. 控制部分的調(diào)試 問題:按下按鍵后數(shù)據(jù)有時正常有時又不正常,數(shù)據(jù)的加減不穩(wěn)定。 分析:根據(jù)分析有兩個問題可以導致此種現(xiàn)象,一是按鍵接觸不良可能有 短路,二是程序部分有問題。用萬用表測量后發(fā)現(xiàn)按鍵按下后不穩(wěn)定,更換質(zhì) 華中科技大學文華學院課程設(shè)計(論文) 14 量更好的按鍵后故障即排除。 5.2 keil 調(diào)試調(diào)試 啟動 keil 軟件,選擇“project”菜
22、單下的“new project”命令,輸入項 目的文件名,選擇存儲路徑,點擊“保存”按鈕。 在“select device”窗口中選擇“atmel”下的“at89c51” 芯片,單擊 “確定”按鈕。展開“project workspace”窗口中的“target 1”, 右擊 “target 1” ,選擇“options for target target 1 ”,選擇“target”選 項在 keil (mhz)右邊輸入“12m” 。選擇“debug”選項,選擇“use keil monitor-51 driver” 。單擊“settings”按鈕,串口選擇“com1”,波特率選擇 “384
23、00” ,單擊“ok”按鈕。 右擊“source group 1” ,選擇“add files to group source group 1,在文件類型中選擇“asm source file”,找到將要編譯的程序,單擊 “add”按鈕,然后再單擊“close”按鈕。單擊“rebuild all target files”,在“build”窗口中觀察編譯結(jié)果,根據(jù)提示修改程序,直到?jīng)]有錯誤 出現(xiàn)。 5.3 開發(fā)板調(diào)試開發(fā)板調(diào)試 根據(jù)程序的設(shè)計在開發(fā)板上分別連接好各個端口的連接線,用串口線把計 算機和試驗箱的仿真頭連接好。 單擊 keil 軟件上的“start/stop debug sessio
24、n”按鈕,再單擊“run” 按鈕,運行程序。觀察試驗箱上出現(xiàn)的效果,分析程序的對錯,直到調(diào)試出正 確的結(jié)果。 華中科技大學文華學院課程設(shè)計(論文) 15 第六章第六章 結(jié)論結(jié)論與總結(jié)與總結(jié) 經(jīng)過一周的努力,順利完成了基于at89s52at89s52單片機控制的單片機數(shù)字時鐘 的設(shè)計,所完成的工作主要包括以下幾個方面: (1)準備階段的工作 準備階段的工作主要包括:查閱國內(nèi)外相關(guān)文獻,了解單片機微控制器的主 要作用,發(fā)展過程及發(fā)展趨勢和使用方法,了解用led數(shù)碼管顯示電子時鐘日歷 的工作原理、分析led顯示系統(tǒng)。詳細了解了at89c51單片機應(yīng)用中的數(shù)據(jù)轉(zhuǎn)換 顯示、數(shù)碼管顯示原理、動態(tài)掃描顯示原理。 (2)系統(tǒng)硬件設(shè)計 本次的設(shè)計基于at89c52單片機的led顯示系統(tǒng)主要由at89c52單片機處理器 控制、位掃描控制電路、端碼顯示驅(qū)動電路及與計算機的接口電路組成。此外 還包括一些基本的電路如電源電路,晶振電路,及接口電路。 (3)系統(tǒng)軟件設(shè)計 根據(jù)led顯示管控制器的功能和系統(tǒng)硬件電路,進
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《職涯進路圖》課件
- 醫(yī)院平臺管理經(jīng)驗介紹
- 《現(xiàn)場名詞解釋》課件
- 2024版新房屋買賣合同
- 《結(jié)核病的治療進展》課件
- 九年級物理熱和能復習課件
- 各項安全教育主題班會
- 小學信息技術(shù)六年級上冊第12課《韓信點兵同余法的實現(xiàn)》說課稿
- 培訓統(tǒng)籌管理實施指南
- 2024版京城京牌租賃合同協(xié)議
- 單位工程、分部工程、分項工程及檢驗批劃分方案
- 七年級數(shù)學資料培優(yōu)匯總精華
- 器樂Ⅰ小提琴課程教學大綱
- 主債權(quán)合同及不動產(chǎn)抵押合同(簡化版本)
- 服裝廠安全生產(chǎn)責任書
- JGJ202-2010建筑施工工具式腳手架安全技術(shù)規(guī)范
- 液壓爬模系統(tǒng)作業(yè)指導書
- 2018-2019學年北京市西城區(qū)人教版六年級上冊期末測試數(shù)學試卷
- SFC15(發(fā)送)和SFC14(接收)組態(tài)步驟
- LX電動單梁懸掛說明書
- 旅行社公司章程53410
評論
0/150
提交評論