單片機花樣彩燈課程設計報告_第1頁
單片機花樣彩燈課程設計報告_第2頁
單片機花樣彩燈課程設計報告_第3頁
單片機花樣彩燈課程設計報告_第4頁
單片機花樣彩燈課程設計報告_第5頁
免費預覽已結束,剩余1頁可下載查看

下載本文檔

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

文檔簡介

1、 本文由麻辣龍王貢獻 doc文檔可能在wap端瀏覽體驗不佳。建議您優(yōu)先選擇txt,或下載源文件到本機查看。 1、引言 隨著人們生活環(huán)境的不斷改善和美化,在許多場合可以看到彩色霓虹燈。 led 彩燈由于其豐富的燈光色彩,低廉的造價以及控制簡單等特點而得到了廣 泛的應用,用彩燈來裝飾已經成為一種時尚。但目前市場上各式樣的 led 彩燈 控制器大多數用全硬件電路實現(xiàn),電路結構復雜、功能單一,這樣一旦制作成 品只能按照固定的模式閃亮,不能根據不同場合、不同時間段的需要來調節(jié)亮 燈時間、模式、閃爍頻率等動態(tài)參數。這種彩燈控制器結構往往有芯片過多、 電路復雜、功率損耗大等缺點。此外從功能效果上看,亮燈模式

2、少而且樣式單 調,缺乏用戶可操作性,影響亮燈效果。因此有必要對現(xiàn)有的彩燈控制器進行 改進。 事實上單片機是世界上數量最多的計算機?,F(xiàn)代人類生活中所用的幾 乎每件電子和機械產品中都會集成有單片機。手機、電話、計算器、家用 電器、電子玩具、掌上電腦以及鼠標等電腦配件中都配有 1-2 部單片機。而 個人電腦中也會有為數不少的單片機在工作。汽車上一般配備 40 多部單片 機,復雜的工業(yè)控制系統(tǒng)上甚至可能有數百臺單片機在同時工作!單片機 的數量不僅遠超過 pc 機和其他計算的總和,甚至比人類的數量還要多。 課程設計是學完一門課后應用本課知識及以前的知識積累而進行的 綜合性、開放性的訓練,是培養(yǎng)學生工程意

3、識和創(chuàng)新能力的重要環(huán)節(jié)。 進一步鞏固和加深“單片機”課程的基本知識,了解單片機設計知識在 實際中的應用。綜合運用“單片機”課程和先修課程的理論及生產實際 知識去分析和解決電路設計問題,進行單片機電路設計的訓練。學習單 片機設計電路的一般方法,了解和掌握單片機電路的設計過程和進行方 式,培養(yǎng)正確的設計思想和分析問題、解決問題的能力,特別是總體電 路設計能力。通過計算和繪圖,學會運用標準、規(guī)范和查閱有關技術資 料等,培養(yǎng)單片機電路設計的基本技能。 該 程 序 示 例 了 單 片 機 鍵 盤 控 制 p1 口 流 水 燈 花 樣 的 方 法 ; 具 體 表 現(xiàn) 為:p3.2 3.2 3.4 3.5

4、四個小本文提出了一種基于 at89s51 單片機的彩燈 控制方案,實現(xiàn)對 led 彩燈的控制。按鍵,分別實現(xiàn)了四個控制。通過這 次實驗,我們也了解了團隊合作的重要性,集體的力量是偉大的,一個人 如何融入一個團隊是是一個重要問題,講究合作才能取得最后的成功! 2、設計原理 、 2.1 mcs51 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 p1.0 p1.1 p1.2 p1.3 p1.4 p1.5 p1.6 p1.7 rst/vpd rxd p3.0 txd p3.1 int0 p3.2 int1 p3.3 t0 p3.4 t1 p3.5

5、 wr p3.6 rd p3.7 xtal2 xtal1 vss vcc p0.0 p0.1 p0.2 p0.3 p0.4 p0.5 p0.6 p0.7 ea/vpp ale/prog psen p2.7 p2.6 p2.5 p2.4 p2.3 p2.2 p2.1 p2.0 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 單片機 引腳說明 mcs 單片機都采用 40 引腳的雙列直插封裝方式。圖 2-9 為引腳排列圖, 40 條引腳說明如下: 1、主電源引腳 vss 和 vcc vss 接地 vcc 正常操作時為+5 伏電源

6、 2、外接晶振引腳 xtal1 和 xtal2 xtal1 內部振蕩電路反相放大器的輸入端,是外接晶體的一個引腳。當 采用外部振蕩器時,此引腳接地。 xtal2 內部振蕩電路反相放大器的輸出端。是外接晶體的另一端。當采 用外部振蕩器時,此引腳接外部振蕩源。 3、控制或與其它電源復用引腳 rst/vpd,ale/ prog , psen 和 ea /vpp rst/vpd 當振蕩器運行時,在此引腳上出現(xiàn)兩個機器周期的高電平(由 低到高跳變) ,將使單片機復位 在 vcc 掉電期間,此引腳可接 圖 2-9 8051 引腳排列圖 上備用電源,由 vpd 向內部提供備用電源,以保持內部 ram 中的數

7、據。 ale/ prog 正常操作時為 ale 功能(允許地址鎖存)提供把地址的 8031 8051 8751 1 )周期性地 6 發(fā)出正脈沖信號。 因此, 它可用作對外輸出的時鐘, 或用于定時目的。 但要注意, 每當訪問外部數據存儲器時,將跳過一個 ale 脈沖,ale 端可以驅動(吸收或輸 出電流)八個 lsttl 電路。 對于 eprom 型單片機,在 eprom 編程期間,此引 低字節(jié)鎖存到外部鎖存器,ale 引腳以不變的頻率(振蕩器頻率的 腳接收編程脈沖( prog 功能) psen 外部程序存儲器讀選通信號輸出端,在從外部程序存儲取指令 (或數據)期間, psen 在每個機器周期內

8、兩次有效。 psen 同樣可以驅動八 lsttl 輸入。 ea /vpp 、 ea /vpp 為內部程序存儲器和外部程序存儲器選擇端。當 ea /vpp 為高電平時,訪問內部程序存儲器,當 ea /vpp 為低電平時,則訪問外 部程序存儲器。 對于 eprom 型單片機,在 eprom 編程期間,此引腳上加 21 伏 eprom 編程電 源(vpp) 。 4、輸入/輸出引腳 p0.0 - p0.7,p1.0 - p1.7,p2.0 - p2.7,p3.0 - p3.7。 p0 口(p0.0 - p0.7)是一個 8 位漏極開路型雙向 i/o 口,在訪問外部 存儲器時,它是分時傳送的低字節(jié)地址和

9、數據總線,p0 口能以吸收電流的方式 驅動八個 lsttl 負載。 p1 口(p1.0 - p1.7)是一個帶有內部提升電阻的 8 位準雙向 i/o 口。 能驅動(吸收或輸出電流)四個 lsttl 負載。 。 p2 口(p2.0 - p2.7)是一個帶有內部提升電阻的 8 位準雙向 i/o 口, 在訪問外部存儲器時,它輸出高 8 位地址。p2 口可以驅動(吸收或輸出電流)四 個 lsttl 負載。 p3 口(p3.0 - p3.7)是一個帶有內部提升電阻的 8 位準雙向 i/o 口。能驅動(吸收或輸出 電流)四個 lsttl 負載 2.2 led 顯示數碼管 led 有共陰極和共陽極兩種。如圖

10、所示。二極管的陰極連接在一起,通常 此公共陰極接地, 而共陽極則將發(fā)光二極管的陽極連接在一起, 接入+5v 的電壓。 一位顯示器由 8 個發(fā)光二極管組成,其中 7 個發(fā)光二極管構成字型“8”的各個 筆劃(段)ag,另一個小數點為 dp 發(fā)光二極管。當在某段發(fā)光二極管施加一 定的正向電壓時,該段筆劃即亮;不加電壓則暗。為了保護各段 led 不被損壞, 需外加限流電阻 。 數碼管結構原理圖: led 數碼管結構原理圖 共陽極 at89c2051 芯片的 20 個引腳功能為: vcc gnd rst xtal1 xtal2 p1 口 電源電壓。 接地。 復位輸入。當 rst 變?yōu)楦唠娖讲⒈3?2 個

11、機器周期時,所有 i/o 引腳 反向振蕩放大器的輸入及內部時鐘工作電路的輸入。 來自反向振蕩放大器的輸出。 8 位雙向 i/o 口。引腳 p1.2p1.7 提供內部上拉,當作為輸入并被 復位至“1” 。 外部下拉為低電平時,它們將輸出電流,這是因內部上拉的緣故。p1.0 和 p1.1 需要外部上拉,可用作片內精確模擬比較器的正向輸入(ain0)和反向輸入 (ain1) ,p1 口輸出緩沖器能接收 20ma 電流,并能直接驅動 led 顯示器;p1 口 引腳寫入“1” 后,可用作輸入。在閃速編程與編程校驗期間,p1 口也可接收 編碼數據。 p3 口 引腳 p3.0p3.5 與 p3.7 為 7

12、個帶內部上拉的雙向 i/0 引腳。p3.6 在 內部已與片內比較器輸出相連,不能作為通用 i/o 引腳訪問。p3 口的輸出緩沖 器能接收 20ma 的灌電流;p3 口寫入“1”后,內部上拉,可用輸入。p3 口也 可用作特殊功能口。 中斷指令。 2.3 中斷指令 在 cpu 和外設交換信息時,存在著快速 cpu 和慢速外設間的矛盾,機器內 部有時也可能出現(xiàn)突發(fā)事件,為此,計算機中通常采用中斷技術。 cpu 和外設并行工作, 當外設數據準備好( 或有某種突發(fā)事件發(fā)生)時向 cpu 提出請求,cpu 暫停正在執(zhí)行的程序轉而為該外設服務(或處 理緊急事件),處 理完畢再回到原斷點繼續(xù)執(zhí)行原程序。 中斷

13、優(yōu)先級:當有多個中斷源同時 向 cpu 申請中斷時,cpu 優(yōu)先響應最需 緊急處理的中斷請求,處理完畢再響應優(yōu)先級別較低的 ,這種預先安排的響應 次序。 中斷的嵌套:在中斷系統(tǒng)中,高優(yōu)先級的 中斷請求能中斷正在進行的較低級 的中斷源處理, (1)中斷技術是實時控制中的常用技術,51 系列單片機有三個內部中斷,二 個外部中斷。所謂 外部中斷就是在外部引腳上有產生中斷所需要的信號。 每個中斷源有固定的中斷服務程序的入口地址(稱矢量地址或向量地址)。當 cpu 響應中斷以 后單片機內部硬件保證它能自動的跳轉到該地址。因此,此地 址是應該熟記的,在匯編程序 中,中斷服務程序應存放在正確的向量地址內。

14、(或存放一條轉移指令);而在 c 語言中是靠 interrupt n 的關鍵字 n 自動設置的。 (2)單片機的中斷是靠內部的寄存器管理的,這就是中斷允許寄存器 ie,中 斷優(yōu)先權寄存器 ip ,必須在 cpu 開中斷即開全局中斷開關 ea,開各中斷源的 中斷開關,cpu 才能響應該中斷源的 中斷請求,其中缺一不可。 (3)從程序表面看來,主程序和中斷服務程序好象是沒有關連的,只有掌握 中斷響應的過程, 才能理解中斷的發(fā)生和返回,看得懂中斷程序,并能編寫高 質量中斷程序。 表 2.1 常用中斷 符號 名 稱 外部中斷 0 中 斷 引 起 原 因 p3.2 引腳的低電平或下降沿信號 中斷服務程序

15、入口 int0 0003h int1 外部中斷 1 p3.3 引腳的低電平或下降沿信號 0013h t0 t1 t2 定時器 0 中斷 定時器 1 中斷 定時器 2 中斷 定時計數器 0 計數回零溢出 定時計數器 1 計數回零溢出 定時計數器 2 中斷(tf2 或 t2ex 信 號) 000bh 001bh 002bh ti/ri 串行口中斷 串行通信完成一幀數據發(fā)送或接收 引起中斷 0023h 3、硬件原理圖 、 晶振(12mhz)定時 1 秒,對于 12mhz 的晶振而言,其時鐘周期 t=1/f=1/12us,而 89c51 的一個機器周期包括 12 個時鐘周期, 所以一 個機器周期為 1

16、us,對于 t0 而言,使之工作于 16-bit,最大計時為 65536*1=65536us,需要多次定時才能實現(xiàn)一秒定時。 vcc+5v c 2 30nf r 1 270 d 1 x1 cry al st led-r d e c 1 u 1 19 xt al1 30nf p0.0/ad 0 p0.1/ad 1 p0.2/ad 2 p0.3/ad 3 p0.4/ad 4 p0.5/ad 5 p0.6/ad 6 p0.7/ad 7 p2.0/a 8 p2.1/a 9 p2.2/a 10 p2.3/a 11 p2.4/a 12 p2.5/a 13 p2.6/a 14 p2.7/a 15 p3.0/

17、r xd p3.1/t xd p3.2/in 0 t p3.3/in 1 t p3.4/t 0 p3.5/t 1 p3.6/w r p3.7/r d 39 38 37 36 35 34 33 32 21 22 23 24 25 26 27 28 10 11 12 13 14 15 16 17 r 2 270 d 2 vc c+5v led-r d e r 3 270 d 3 led-r d e 18 xt al2 c 3 9 r st 1nf r 4 270 d 4 led-r d e r 9 10k r 5 270 d 5 led-r d e 29 30 31 pse n ale e a r

18、 6 270 d 6 led-r d e 1 2 3 4 5 6 7 8 p1.0 p1.1 p1.2 p1.3 p1.4 p1.5 p1.6 p1.7 at 89c51 sr cfile=1.a m s pr g o ram e =1.h x r 7 270 d 7 led-r d e r 8 270 d 8 led-r d e r10 r11 r12 r13 10k 10k 10k 10k vcc+5v 4、軟件設計 、 4.1 流程圖 初始化 n int1按下? 有鍵按下? y int0按下? int1按下? t0按下? t1按下? n y 流水燈 n y 逐點點亮 n y 間隔點亮 動

19、點亮 n y 逐點熄滅 4.2 源程序 org 0000h ljmp start org 0003h reti org 000bh reti org 0013h reti org 001bh reti clear: ret; ;start:acall clear ; 初始化程序 ; 主 程 序 ;中斷入口程序; star1:mov p3,#0ffh jnb p3.2,fun2 jnb p3.3,fun3 jnb p3.4,fun0 jnb p3.5,fun1 jnb f0,star1 ret; fun0:lcall dl10ms jb p3.4,star1 waitl0:jnb p3.4,wa

20、itl0 setb f0 fun01:lcall fun00 lcall star1 ljmp fun01; fun1:lcall dl10ms jb p3.5,star1 waitl1:jnb p3.5,waitl1 setb f0 fun10:lcall fun11 lcall star1 ljmp fun10; fun2:lcall dl10ms jb p3.2,star1 waitl2:jnb p3.2,waitl2 setb f0 fun20:lcall fun22 lcall star1 ljmp fun20; fun3:lcall dl10ms ;消除抖動 ;等待鍵釋放 ;消除抖

21、動 ;等待鍵釋放 ;消除抖動 ;等待鍵釋放 ;消除抖動 ;曾經有鍵按下 f0 置 1 ;關閉按紐 jb p3.3,star1 waitl3:jnb p3.3,waitl3 clr f0 mov p1,#0ffh ljmp star1; fun00:mov a,#0feh fun000:mov p0,a lcall dl05s jnb acc.7,out rl a ajmp fun000 out: ret; fun11:mov a,#0feh fun111:mov p1,a lcall dl05s jz out rl a anl a,p1 ajmp fun111; fun22:mov a,#0f

22、eh fun222:mov p1,a lcall dl01s cpl a rl a mov p1,a lcall dl01s ret; fun33: mov a,#01h fun333: mov p1,a ;逐點熄滅 ;間隔點亮 ;從 p1.0 到 p1.7 依次點亮 ;從 p1.0 到 p1.7 移動點亮 ;關顯示 ;等待鍵釋放 lcall dl01s jnz out rl a orl a,p1 ajmp fun333 dl01s:mov r2,#0ffh mov r7,#02h loop1: djnz r2,loop1 loop5:djnz r7,dl512 ret dl10ms:mov r3,#14h loop2: lcall dl512 djnz r3,loop2 ret dl05s:mov r4,#0ah loop3: lcall dl10ms

溫馨提示

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

評論

0/150

提交評論