單片機原理課程設計報告模擬霓虹燈控制器設計_第1頁
單片機原理課程設計報告模擬霓虹燈控制器設計_第2頁
單片機原理課程設計報告模擬霓虹燈控制器設計_第3頁
單片機原理課程設計報告模擬霓虹燈控制器設計_第4頁
單片機原理課程設計報告模擬霓虹燈控制器設計_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、單片機原理課程設計報告題目:模擬霓虹燈控制器設計 專 業(yè) 電子信息工程班 級 電子04202姓 名 學 號 04305074指導老師 【摘要】文章介紹了利用美國atmel 公司生產的單片微機at89s52作為控制芯片,附加少許的外圍電路,通過編程可以任意改變霓虹燈的變化花樣和控制路數的霓虹燈控制器的設計方法?!娟P鍵詞】 霓虹燈 控制器 at89s52 81c55 一、前言隨著城市建設和市場經濟的飛速發(fā)展,城市的美化和日益激烈的廣告競爭越來越得到社會的關注,作為城市裝飾和廣告宣傳的霓虹燈的需求量也越來越大。過去霓虹燈控制器多采用e2prom 和相應的邏輯電路來完成,現在也有采用一些專用霓虹燈控制

2、芯片的控制器。前者所需電路較多,制作不易改變,且所需控制的霓虹燈路數越多,擴展起來也比較繁雜;而后者由于電路已作定,控制方式不能任意改變,功能較為單一。然而市場迫切需要低成本高性能的霓虹燈控制器技術。然而at89s52 單片機是可多次改寫的可編程芯片,內部有8 kflash ram,含有4個8位雙向或準雙向的并行i/o接口p0p3,性價比相當高,適合成為霓虹燈程序控制器的核心部件。二、硬件原理分析(電路圖(見附1)本系統主要由主控制模塊、i/o接口電路、霓虹燈驅動電路、40路的霓虹燈組成。系統結構圖如圖1??刂破鱥/o接口電路霓虹燈驅動電路40路的霓虹燈系統結構圖如圖1本系統采用at89s52

3、單片機作為核心控制器,外接81c55芯片擴展單片機i/o接口,通過對81c55的pa口作為發(fā)光管光柱的段碼和單片機at89s52的p1作為發(fā)光管光柱的位碼,來控制發(fā)光管的亮滅,以及判斷81c55的pc口的狀態(tài)值,選擇由那種方式來顯示霓虹燈。為了增加led發(fā)光管亮度,40路的led發(fā)光管外接非門740hc05a芯片作為驅動電路,來增加驅動電流。2.1顯示模塊該電路有40只led和驅動電路組成,四十只led的控制主要分為兩部分,一部分是段控,另一部分就是位控,連接成五位共陽的位碼和八位段碼形式。當三極管的基極為低電平時,三極管處于導通狀態(tài),led的陽極處于高電平,如果led陰處于低電平,則led為

4、亮狀態(tài)。在整個電路中,40只led外接非門740hc05a芯片作為驅動電路,位的信號由89s52的p1口來控制,段控的驅動信號由81c55的pa口來提供,因此,只要控制單片機p1口輸出電平和81c55 pa口的輸出電平, 就能完成對40個led發(fā)光管的亮滅控制。2.2 鍵盤處理由圖2.2可以看出,直接接81c55的pc口,因此此鍵盤為獨立式鍵盤。當有撥碼合上是,通過上拉電阻,pc口相應的位為低電平,四個撥碼組成不同的鍵值是從8155的pc口讀入的,根據不同的鍵值,來執(zhí)行不同的功能。2.3 8155接口電路圖2.3 81c55接口電路根據圖2.3所示,8155的復位端由單片機的p1.7來提供,而

5、p1.7也由軟件程序來控制。通過主程序的初始化讓8155的pa、pb工作于輸出狀態(tài),讓pc口工作于輸入狀態(tài)。8155的八根地址線直接接在at89s52的p0口,其ce片選信號由at89s52的p2.7來控制,io/m直接由p2.6來控制,8155的讀寫信號分別與單片機的讀寫信號相對應的接起來。三、軟件設計由于考慮到要顯示的狀態(tài)比較多,每種狀態(tài)都要有一定的寄存器,要是顯示的狀態(tài)越多,那寄存器也就需要越多,這樣就造成寄存器比較浪費。而且40只的led位碼和段碼分別有單片機的p1口和8155的pa口控制,因此我開辟了兩個緩沖區(qū)buf4和buf5用來存放p1口和pa口的值,而且讀取pa口的值獨立編寫一

6、個子程序,根據電路圖,pa口的地址為7f01h,其程序框圖如圖3.1所示,供每種狀態(tài)調用。buf4和buf5緩沖區(qū)里面的內容,根據相應狀態(tài)在相應的中斷子程序里定時修改緩沖區(qū)里的內容。1 主程序的設計由于要完成對40個led發(fā)光管的亮滅控制的狀態(tài)比較多,又要使光帶的顯示隨撥碼狀態(tài)的改變而改變,且每次撥碼狀態(tài)的改變,顯示由每狀態(tài)的初始狀態(tài)開始,因此我開辟了兩個緩沖區(qū)key和ykey分別放置鍵盤現在時刻(新)鍵值與原來的(舊)鍵值。當新鍵值不等與鍵值時,程序從新開始初始化緩沖區(qū),直到新舊鍵值相等,然后再判斷鍵值的大小,根據相應的值調用相應的狀態(tài)子程序。主程序的框圖如圖3.2所示。2 中斷服務主程序設

7、計由于有12種不同的狀態(tài),且每種狀態(tài)的led的亮的時間又不一樣,因此中斷服務主程序主要是根據不同的鍵值轉移到相應的中斷服務子程序。中斷服務主程序的框圖如圖3.3所示圖3.1 讀取pa口程序框圖 圖3.2 主程序的框圖 圖3.3 中斷服務主程序3 實現功能2:當撥碼的第一位合上時,使光帶的第一只發(fā)光管500ms亮500ms暗。根據功能2的要求,只要讓pa口輸出01h,讓功能2的中斷服務子程序每隔500ms讓標志位flash0取反一下,根據flash0的值來執(zhí)行p1.0置1或清零。程序流程圖如圖3.4。圖3.4 功能2程序框圖4實現功能4,當撥碼的第一、第二位合上時,按適當速度使光帶的第一、第二第

8、三.第四十只發(fā)光管循環(huán)點亮,點亮第四十只后,再點亮第一只¼,依次類推。根據題意要求,要讓40只的led從左到右移動,這樣的循環(huán),只要讓led段碼buf5緩沖區(qū)和位碼buf4緩沖區(qū)分別置#01h,讓buf5緩沖區(qū)的值每隔100ms左一次,在左8次之后,位碼左移一次,同時讓段碼和計數器從新賦值,同時讓計數器緩沖區(qū)buf2和buf3記錄光帶是否已經點亮到第40只,這樣就可以實現題目的要求。其程序流程圖如圖3.5和圖3.6所示。圖3.5 功能4顯示流程圖圖3.6 功能四中斷服務程序流程圖5要實現當撥碼的第三位合上時,按適當速度、遞增循序點亮光帶的第一、第二第四十只發(fā)光管,點亮第四十只后,再按

9、遞減循序點亮第三十九、第三十八只¼第一只發(fā)光管,依次類推。要實現這樣一個功能要分兩部分分析:第一到第四十只的依次遞增點亮和第四十到第一只依次遞減點亮。前一部分的實現和功能4一樣,不再分析。后一部分的實現,只要設置一個計數緩沖區(qū)buf6記錄是否已經點亮到第40只,當buf6緩沖區(qū)里值大于40時,程序轉移到執(zhí)行從右到左的程序。程序顯示流程圖與功能4圖3.5一樣。其中斷服務程序流程圖如圖3.7所示。 圖3.7 功能5中斷6 實現功能12,當撥碼的第一、二、四位合上時,高十位(即第三十一至第四十只)發(fā)光管點亮,并按適當速度輪流點亮第一至第三十只發(fā)光管,點亮第三十只發(fā)光管后,滅第三十一只發(fā)光管

10、。再開始滅帶三十二只發(fā)光管的過程,即按同樣速度輪流點亮第一至第三十一只發(fā)光管,點亮第三十一只發(fā)光管后,滅第三十二只發(fā)光管。¼直至所有發(fā)光管都被滅掉,再循環(huán)以上顯示。根據功能12的要求,要實現這樣的功能就不能采用前面(前九種功能)的單一的緩沖區(qū)buf5來控制段碼。所以我設置了五個緩沖區(qū)led1、led2、led3、twled4、twled5分別來寄存pa口的值。讓位碼(p1口的值)每隔2ms 移位一次,其顯示流程圖如圖3.8所示。圖3.8 功能12顯示流程圖由于位碼(p1口的值)每隔2ms 移位一次,所以段碼(pa口的值)必須每隔10ms改變五個緩沖區(qū)的值。為了讓高十位一開始一直點亮,

11、其緩沖區(qū)led1、led2、led3的值都初始化為#00h,讓twled4、twled5緩沖區(qū)的值分別初始為#0ch、#0ffh。通過計數器buf20判斷燈是否亮到第31只,當燈亮到31時,讓twled4第六位清零,即twled4值變?yōu)?08h。依次類推,實現滅32到40燈。其段碼控制程序流程圖如圖3.9所示。省略a=3339 圖3.9 功能12位碼控制程序流程圖四、軟件調試由于8155的復位時間要比89s52的部位時間稍長首先,在測試硬件的過程中出現了一點的麻煩,這里花了比較長的時間。從總體的看,在這次整個編程過程中都比較順,尤其是編1到9、11、12的功能的程序,基本上沒發(fā)太多的時間就調試

12、出來,在調試相應的子程序時,只要在調試窗口中調出相應的寄存器,通過設置斷點,來觀察寄存器的值是否是想要的結果。但在編第十種功能時出現了麻煩,程序調試了一天都沒有結果。無奈之下我只好放棄原來編寫的程序,從新再來,編寫新程序,但這次經過稍微的調試很快第十種功能就完成了。因此我認為,果斷的放棄也是一種美。五、學習體會自從編寫完1200多條語句的程序后,自己的編程水平有了很大的進步。寫程序的過程中遇到問題,然后自己看書自己解決問題,這樣學習編程比課堂學習更有效。我的編程的水平還很菜鳥,我會不斷努力學習,提高自己的編程水平。 六、結束語經過反復調試,該系統運行穩(wěn)定,操作方便,達到了預期的設計效果。這說明采用單片機控制的方法制作電子作品,不失為一種很好的選擇,因為這種方法使系統

溫馨提示

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

評論

0/150

提交評論