背光系統設計_第1頁
背光系統設計_第2頁
背光系統設計_第3頁
背光系統設計_第4頁
背光系統設計_第5頁
已閱讀5頁,還剩10頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、基于NCP5623的和單片機的背光系統設計一、 課程設計題目:基于NCP5623的和單片機的背光系統設計二、任務和要求(1)收集資料和熟悉相關內容包括單片機最小系統設計,I2C總線協議,用RGB三原色LED實現背光的概念,單片機c語言編程和開發環境。(2)連接調試STC89C52單片機最小系統,可以運行簡單的程序。焊接和連接NCP5623,并將其最小系統一起連接。(3)進一步熟悉開發環境,編寫程序,調試整個系統,實現資料上所列的幾個功能,也就是使三種顏色的燈組合成不同的顏色來變化,同時形成不同的花色。(4)撰寫課程設計報告要遵守一定的規范和要求,即課程設計報告書寫工整、語句通順、數據準確、圖表

2、清晰。三、總體方案的選擇軟硬結合模塊化研究方法硬件部分:根據設計的電路圖,再面包板上連接好電路,得到完整的電路系統。軟件部分:在軟件Keil uVision2環境下調試程序,最終實現I2C協議及LED控制部分。模塊化分3部分:MAX232EJE電路、STC89C52電路以及NCP5623電路。總的設計系統如下圖:MAX232NCP5623STC89C52設計電路圖焊接芯片連接各模塊電路導入程序檢測電路在Keil uVision2環境下編程調試并修改I2C協議不同花色燈LED控制部分四、單元電路的設計4.1 MAX232EJE電路經過設計與計算得到所需要的器件如下:6個100pf電容、MAX23

3、2EJE一個、數據傳輸端口、USB端口電路圖如下:4.2 STC89C52電路經過設計與計算得到所需要的器件如下:晶振一個、2個30pf電容、8.2電阻一個、STC89C52一個、10uf電容電路圖如下:4.3 NCP5623電路經過設計與計算得到所需要的器件如下:2個1uf/6.3V電容、紅綠藍三個燈62電阻一個、NCP5623一個電路圖如下:五、畫總體電路圖根據各部分之間的關系得到總的電路圖如下:六、軟件部分6.1 I2C協議I2C協議的總程序程序圖如下:寫控制字起動總線函數結束總線函數 字節數據發送函數I2C協議(1)起動總線函數與結束總線函數 在I2C總線上每傳輸一位數據,都有一個時鐘

4、脈沖相對應,其邏輯“0”和“1”的信號電平取決于該點的正端電源VDD的電壓。I2C總線數據傳輸時,在時鐘線高電平期間數據線上必須保持有穩定的邏輯電平狀態,高電平為數據1,低電平為數據0。只有在時鐘線為低電平時,才允許數據線上的電平變化。I2C總線數據傳送時有兩種時序狀態被分別定義為起始信號和終止信號。起始信號:在時鐘線保持高電平期間,數據線在由高電平到低電平變化時啟動I2C總線,為I2C總線的起始信號(SDA置1,SCL置1,然后SDA置0,產生下降沿觸發總線起動)。終止信號:在時鐘線保持高電平期間,數據線在由低電平到高電平變化時將停止I2C總線的數據傳送,為I2C總線的終止信號。(SDA置0

5、,SCL置1,然后SDA置1,從而觸發總線停止)起始信號和終止信號都是由主控制器產生。總線上帶有I2C總線接口的器件很容易檢測到這些信號。但是對于不具備這些硬件接口的單片機來說,為了能準確地檢測到這些信號,必須保證在總線的一個時鐘周期內對數據線至少進行兩次采樣。v(2)字節數據發送函數在沒有時鐘信號時,數據傳送將停止進行,接口的線與特征將使SCL在低電平時鉗住總線。這種情況可以用于當接收器接收到一個字節數據后要進行一些其他工作而無法立即接收下一個數據時,迫使總線進入等待狀態,直到接收器準備好接收新數據時再釋放時鐘線使數據傳送得以繼續正常進行。例如,當接收器接收完主控制器的一個字節數據后,產生中

6、斷信號并進行中斷處理,中斷處理完畢后才能接收下一個字節數據,這時接收器在中斷處理時鉗住SCL為低電平直到中斷處理完畢才釋放SCL。(3)寫控制字主控器發送起始信號后,立即發送尋址字節,這時,總線上的所有器件都將尋址字節中的7位地址與自己器件地址相比較,如兩者相同,則該器件認為被主控器尋址,并根據讀寫位確定是被控發送器或被控接收器。6.2 LED控制部分NCP5623中每個燈的控制地址如下表:總流程圖如下:燈滅主函數寫地址(0x3f)寫入各燈狀態地址延時程序如下#include<reg52.h> /頭文件#define _NOP()/空指令sbit SCL=P21;sbit SDA=

7、P20;void delay1(unsigned int t)unsigned char i;for(;t>0;t-) for(i=6425;i>0;i-);void delay(void) /定義延時函數_NOP();_NOP();_NOP();_NOP();_NOP();void I2C_Start(void) /定義I2C起始函數SDA=1;/SCL為高電平時,SDA由高電平變為低電平時為開始delay();SCL=1;delay();SDA=0;delay();SCL=0;delay();void I2C_STOP(void)/定義I2C終止函數SDA=0;delay();

8、 /SCL為高電平時,SDA有高電平變為低電平時為終止SCL=1;delay();SDA=1;delay(); void ack(void) /響應函數unsigned char i;SCL=1;delay();while(SDA=1)&&(i<200)i+;SCL=0;delay();void Send_byte(unsigned char zdata)unsigned char j; SCL=0; for(j=0;j<8;j+) /在SCL=0時,發送8位數據 if(zdata&0x80) /判斷第一位是否為高SDA=1; / 第一位為高,SDA=1el

9、seSDA=0; / 第一位為低,SDA=0zdata=zdata<<1; /發送第二位數據delay();SCL=1;delay();SCL=0; /數據只有在SCL由1變為0時才改變delay();SDA=1;delay();void init(void) SDA=1;SCL=1;void write_byte(unsigned char dat)init();I2C_Start();Send_byte(0x70);ack();Send_byte(dat);ack();I2C_STOP();void mie()write_byte(0x40);write_byte(0x60);

10、write_byte(0x80);void main(void)unsigned char i;while(1)write_byte(0x3f);mie();for(i=0x60;i<0x7f;i+)write_byte(i); /綠燈逐漸變亮delay1(1000); delay1(5000); for(i=0x5f;i>0x40;i-) /三燈漸滅 write_byte(i);write_byte(i+0x20);write_byte(i+0x40);delay1(1000); for(i=0x80;i<0x9f;i+) /藍燈逐漸變亮write_byte(i);dela

11、y1(1000); mie();delay1(5000); for(i=0x40;i<0x5f;i+) /三燈漸亮 write_byte(i);write_byte(i+0x20);write_byte(i+0x40);delay1(1000); mie();delay1(2000);for(i=0x7f;i>0x60;i-) /綠燈逐漸變暗write_byte(i);delay1(1000); mie();delay1(2000); for(i=0x9f;i>0x80;i-)/藍燈逐漸變暗write_byte(i);delay1(1000); mie();delay1(50

12、00); for(i=0x40;i<0x5f;i+) /紅綠燈漸亮 write_byte(i);write_byte(i+0x20);delay1(1000); delay1(5000); for(i=0x5f;i>0x40;i-) /紅綠燈漸滅 write_byte(i);write_byte(i+0x20); delay1(1000); delay1(2000); 七、設計過程中發生的問題及解決的方法7.1 NCP5623焊接問題由于芯片管腳非常小,需要用比較尖的烙鐵頭對著每個引腳焊接,對電烙鐵的要求較高,而且焊接速度慢,還有可能虛焊和粘焊。對于一些粘在一起的錫球,我們用拉焊的

13、方法解決,需要的工具都很一般,特別是電烙鐵,在焊接過程中烙鐵頭并沒有接觸焊盤而是焊錫球。由于焊錫球的張力,各個引腳上的焊錫很均勻且不多,很美觀!速度嘛,熟練以后相對來說拖焊要快一點。此方法可謂是一種簡捷可靠而又廉價的焊接方法!同時用電焊焊接芯片時,常感覺芯片補電焊搞得很燙。但焊好后如果沒有其它問題,電路正常工作,也就是說芯片沒有被燙壞。7.2 電路連接問題首先是設計好電路總圖,這是連接好電路的基本保障。同時把面包版的正負極連接好,從而使整個板子正極相同、負極相通,并用萬用表檢測。其次是對每一個模塊的連接。每一個模塊連接好后就要檢測,以保證電路的可行性。最后是總體連接好后檢測,基本也沒有什么問題

14、,就可以找個小程序先導入板子里面測試一下,看是否能導通。在這個過程中,出現了比較多的問題,特別是數據線把電腦和電路連接好后,一直不能載入程序,我們以為是.外在硬件導致,于是開始一點點的測試,發現沒問題之后依舊不行。擦除之后再從新看看,依舊如此,換個片子然后反復的檢測電路也基本沒有問題,最后在王老師和魏老師的共同努力下,發現問題主要出在數據線上,換了好的之后就可以了。7.3 程序問題程序可以說是本次實驗的關鍵。由于以前沒有接觸過單片機,所以我們首先得熟悉它的開發環境,也就是Keil uVision2。熟悉之后開始練習,本次的中心器件是NCP5623,因此得看它的有關資料,在這個過程中了解的東西相

15、對難些,而且資料基本都是外文資料,更需要我們細心的去研究,有很多不懂的必須問老師,也是在老師的講解下慢慢了解了它的功能以及怎么用它來實現所需要的功能。在有了基本概念之后剩下的就是慢慢編程了,編程部分首先是I2C協議,這是整個電路的核心連接部分。當然在這個過程中遇到的問題也比較多,主要就是控制LED燈部分,由于對文獻理解的出入,導致在寫程序時出現了不少的錯誤。我們開始也就是先實現一個簡單的功能,讓3個燈都亮,可最后編好之后就是有問題,不能一起亮,我們求助老師之后,發現是在每次寫進去之后,都用了延遲、接受,這與NCP5623的功能有些出入,我們再研究了它的功能之后,修改之后就可以了。依照上面的思路

16、,其他功能也實現的比較快。最后一個問題就是雖然實現了各個功能,但由于計算機本身運算快,導致我們看到的現象不明顯,這就要調節延遲函數,在經過不斷的調試之后,總體現象還是比較好的。八、分析和總結此次課程設計,學到了很多課內學不到的東西,比如獨立思考解決問題,出現差錯的隨機應變,和與人合作共同提高,都受益非淺,今后的制作應該更輕松,自己也都能扛的起并高質量的完成項目。通過這次課程設計,加強了我們動手、思考和解決問題的能力。在整個設計過程中,我們通過這個方案包括設計了一套電路原理連接圖。在設計過程中,經常會遇到這樣那樣的情況,就是心里想老著這樣的接法可以行得通,但實際接上電路,總是實現不了,因此耗費在

17、這上面的時間用去很多。我沉得做課程設計同時也是對課本知識的鞏固和加強,由于課本上的知識太多,平時課間的學習并不能很好的理解和運用各個元件的功能,而且考試內容有限,所以在這次課程設計過程中,我們了解了很多元件的功能,并且對于其在電路中的使用有了更多的認識。平時看課本時,有時問題老是弄不懂,做完課程設計,那些問題就迎刃而解了。而且還可以記住很多東西。比如一些芯片的功能,平時看課本,這次看了,下次就忘了,通過動手實踐讓我們對各個元件印象更加深刻。認識來源于實踐,實踐是認識的動力和最終目的,實踐是檢驗真理的唯一標準。所以這個期末測試之后的課程設計對我們的作用是非常大的。同時我認為我們的工作是一個團隊的

18、工作,團隊需要個人,個人也離不開團隊,必須發揚團結協作的精神。某個人的離群都可能導致整項工作的失敗。實習中只有一個人知道原理是遠遠不夠的,必須讓每個人都知道,否則一個人的錯誤,就有可能導致整個工作失敗。團結協作是我們實習成功的一項非常重要的保證。而這次實習也正好鍛煉我們這一點,這也是非常寶貴的。這次課程設計使我懂得了理論與實際相結合是很重要的,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結合起來,從理論中得出結論,才能真正為社會服務,從而提高自己的實際動手能力和獨立思考的能力。在設計的過程中遇到問題,可以說得是困難重重,這畢竟第一次做的,難免會遇到過各種各樣的問題,同時在設計的過程中發現了自己的不足之處,對以前所學過的知識理解得不夠深刻,掌握得不夠牢固。 最后這次課程設計終于順利完成了,在設計中遇到了很多專業知識問題,在王老師的辛勤指導下,終于游逆而解。同時,在老師

溫馨提示

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

評論

0/150

提交評論