版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
基于NCP5623的和單片機的背光系統(tǒng)設計
一、課程設計題目:基于NCP5623的和單片機的背光系統(tǒng)設計
二、任務和規(guī)定
(1)收集資料和熟悉相關內(nèi)容一一涉及單片機最小系統(tǒng)設計,I2C總線協(xié)議,用
RGB三原色LED實現(xiàn)背光的概念,單片機c語言編程和開發(fā)環(huán)境。
(2)連接調(diào)試STC89C52單片機最小系統(tǒng),可以運營簡樸的程序。焊接和連接
NCP5623,并將其最小系統(tǒng)一起連接。
(3)進一步熟悉開發(fā)環(huán)境,編寫程序,調(diào)試整個系統(tǒng),實現(xiàn)資料上所列的幾個功
能,也就是使三種顏色的燈組合成不同的顏色來變化,同時形成不同的花色。
(4)撰寫課程設計報告要遵守一定的規(guī)范和規(guī)定,即課程設計報告書寫工整、
語句通順、數(shù)據(jù)準確、圖表清楚。
三、總體方案的選擇
硬件部分:根據(jù)設計的電路圖,再面包板上連接好電路,得到完整的電路
系統(tǒng)。
軟件部分:在軟件KeiluVision2環(huán)境下調(diào)試程序,最終實現(xiàn)12c協(xié)議及
LED控制部分。
模塊化分3部分:MAX232EJE電路、STC89C52電路以及NCP5623電路。
總的設計系統(tǒng)如下圖:
四、單元電路的設計
4.1MAX232EJE電路
通過設計與計算得到所需要的器件如下:
6個lOOpf電容、MAX232EJE一個、數(shù)據(jù)傳輸端口、USB端口
電路圖如下:
PIII
.+
Header2Qe
T1INT10UT
P2INT2OUT
R1OUTRIIN
R2OUTR2IN
GND\TE
GND
4.2STC89C52電路
通過設計與計算得到所需要的器件如下:
晶振一個、2個30pf電容、8.2AQ電阻一個、STC89c52一個、10uf電容
電路圖如下:
UI
vm
GND?|PO0ADO
XTAL1PO.l/ADl
<cc
XTAL2rDUC.x)/AAUOz
_IC4
TCapPol!P0.4AD4
10UF
rDvA.?AUJ
rv.O-A120
DFCv.7/f/AAHU7/
RST
EAATPrDlI.UA*12
PSE<rDlI.lL/TIZ)F^VA
ALEPROG^P12ECI
P1.3CEX0
P1.4CEX1[
P3.0RxDP15CEX2卜
P31TxpDiATTVZL
P32^T0rpli.r'7V,CEFAY*4!
2TX-rt
DZJ.TAD,AAO
P3.5T1P2.1/A9
P3.6甌P2.2/A10
P3.7RDn,2/Aii
rDx,.nA-AlOZ
rPx)-j,*AMiJ
rPx,.OA?Aildn
20
vssFPX,.7/(AMlJ
£"P80C51R.A-4NH*adei8
GND
4.3NCP5623電路
通過設計與計算得到所需要的器件如下:
2個luf/6.3V電容、紅綠藍三個燈62抬2電阻一個、NCP5623一個
電路圖如下:
+5V
C2
1nF/6.3VU1
--------NCP5623-1^F/6.3V
13GND
-C1■VbatD1
3ND12
Vdet6"
;DA951
SDALED1
;CL11
SCL
1043
IREFLED2N
=62k6
GNDB
GNDj__1-236X:4
GNDLED3
GNDICNCNCIC
1|7|8|14|LRTB-G6T
五、畫總體電路圖
根據(jù)各部分之間的關系得到總的電路圖如下:
+Vbat?5V
Cl-VDDC2
+Vcc1HF/6.3V
!Cl-VCCU1JZ—)一
C2+TL1NCP5623-1pF/6.3V
-C113GNDD1
C2-Vbat
>—J-------GND12
MCUVdet
T1INT1OUTSDA956SR1
一SDALED1-H4-
T2INT2OUTSCL11
2SCL
I2CPortR110SG3
9R1OUTRIINAAA/—lIoRCcprLED2
_L-44-
-R2OUTR2IN62k6
工GNDR
GNDj--y4
GND\TEGNDLED3
STC89C52
ICNCNCIC
MAX232EJEGND
1|7|8|14|LRTB-G6T
六、軟件部分
6.1I2C協(xié)議
I2C協(xié)議的總程序程序圖如下:
起動總線函數(shù)
結(jié)束總線函數(shù)
I2C
協(xié)
字節(jié)數(shù)據(jù)發(fā)送函數(shù)
議
寫控制字
(1)起動總線函數(shù)與結(jié)束總線函數(shù)
在12c總線上每傳輸一位數(shù)據(jù),都有一個時針?脈沖相相應,其邏輯“()”和“1”
的信號電平取決于該點的正端電源VDD的電壓。I2C總線數(shù)據(jù)傳輸時,在時鐘
線高電平期間數(shù)據(jù)線上必須保持有穩(wěn)定的邏輯電平狀態(tài),高電平為數(shù)據(jù)1,低電
平為數(shù)據(jù)0。只有在時鐘線為低電平時,才允許數(shù)據(jù)線上的電平變化。I2C總線
數(shù)據(jù)傳送時有兩種時序狀態(tài)被分別定義為起始信號和終止信號。
起始信號:在時鐘線保持高電平期間,數(shù)據(jù)線在由高電平到低電平變化時啟
動12c總線,為12c總線的起始信號(SDA置1,SCL置1,然后SDA置(),產(chǎn)生
下降沿觸發(fā)總線起動)
O
終止信號:在時鐘線保持高電平期間,數(shù)據(jù)線在由低電平到高電平變化時將
停止12c總線的數(shù)據(jù)傳送,為12c總線的終止信號。(SDA置(),SCL置1,然后
SDA置1,從而觸發(fā)總線停止)
起始信號和終止信號都是由主控制器產(chǎn)生??偩€上帶有12c總線接口的器件很容
易檢測到這些信號。但是對于不具有這些硬件接口的單片機來說,為了能準確地
檢測到這些信號,必須保證在總線的一個時鐘周期內(nèi)對數(shù)據(jù)線至少進行兩次采
樣。
V
(2)字節(jié)數(shù)據(jù)發(fā)送函數(shù)
在沒有時鐘信號時,數(shù)據(jù)傳送將停止進行,接口的線與特性將使SCL在低
電平時鉗住總線。這種情況可以用于當接受器接受到一個字節(jié)數(shù)據(jù)后要進行一些
其他工作而無法立即接受下一個數(shù)據(jù)時,迫使總線進入等待狀態(tài),直到接受器
準備好接受新數(shù)據(jù)時再釋放時鐘線使數(shù)據(jù)傳送得以繼續(xù)正常進行。例如,當接受
器接受完主控制器的一個字節(jié)數(shù)據(jù)后,產(chǎn)生中斷信號并進行中斷解決,中斷解
決完畢后才干接受下一個字節(jié)數(shù)據(jù),這時接受器在中斷解決時鉗住SCL為低電
平直到中斷解決完畢才釋放SCLo
(3)寫控制字
主控器發(fā)送起始信號后,立即發(fā)送尋址字節(jié),這時,總線上的所有器件都將
尋址字節(jié)中的7位地址與自己器件地址相比較,如兩者相同,則該器件認為被主
控器尋址,并根據(jù)讀寫位擬定是被控發(fā)送器或被控接受器。
6.2LED控制部分
NCP5623中每個燈的控制地址如下表:
InternalRegisterBitsAssigment
B7B6B5B4B3B2B1BOComments
000XXXXXShutdown
001168421LEDCurrentStep,seeFigure5(Note9)
010BPWM16BPWM8BPWM4BPWM2BPWM1RedPWM
011BPWM16BPWM8BPWM4BPWM2BPWM1GreenPWM
100BPWM16BPWM8BPWM4BPWM2BPWM1BluePWM
101GDIM5GDIM4GDIM3GDIM2GDIM1S?tGradualDimming
168421UpwardlendTarget(Note10)
110GDIM5QDIM4QDIM3QDIM2QDIM1SvlGradualDitiirniny
168421DownwardlendTarget(Note10)
111GDIM5GDIM4GDIM3GDIM2GDIM1GradualDimming
128ms64ms32ms16ms8msTime&run
BasicProgrammingSequences
12CAddressCOMMANDBits[7:0]OperationNote
S70OOOXXXXXSystemShutDownBite(4:0]areirrelovant
$7000100000SetUpth?ILEDcurrentILEDregister
00111111Bite(4gcontaintheILEDvaluoasd^finodbythe卜尸VQIUQ
S7001000000SetUptheREDPWMREDPWM
01011111B<to[4:0]containth。PWMvaluo
S7001100000SetUptheGREENPWMGREENPWM
01111111B?ts[4:0]containthePWMvalue
S7010000000SetUpth?BLUEPWMBLUEPWM
10011111Brts(4:0]containthePWMvalu?
S7010100000SetUptheIENDUpwardUPWARD
10111111Bits(4:0]containth。IENDvalue
S7011000000SetUptheIENDDownwardDWNWRD
11011111Brts(4:0]containtheIENDvalue
S7011100001SetUptheGradualDimmingGRAD
11111111tim?andrunthesequenceBrts[4:0]containth?TIMEvalue
總流程圖如下:
程序如下
#include<reg52.h>〃頭文獻
#define_NOP()〃空指令
sbitSCL=P2A1;
sbitSDA=P2A0;
voiddelay1(unsignedinit)
{
unsignedchari;
for(;t>0;t-)
for(i=6425;i>0;i-);
)
voiddelay(void)〃定義延時函數(shù)
(
_NOP();
_NOP();
_NOP();
,NOP();
_NOP();
)
voidI2C_Start(void)〃定義I2C起始函數(shù)
{
SDA=1;//SCL為高電平時,SDA由高電平變?yōu)榈碗娖綍r為開始
delay。;
SCL=1;
delay();
SDA=0;
delay。;
SCL=0;
delay();
)
voidI2C_STOP(void)〃定義I2C終止函數(shù)
SDA=0;
delayO;//SCL為高電平時,SDA有高電平變?yōu)榈碗娖綍r為終
止
SCL=1;
delay();
SDA=1;
delay();
)
voidack(void)//響應函數(shù)
{
unsignedchari;
SCL=1;
delay();
while((SDA==l)&&(i<200))i++;
SCL=0;
delay();
1
voidSend_byte(unsignedcharzdata)
{
unsignedcharj;
SCL=0;
for(j=0;j<8;j++)〃在SCL=0H寸,發(fā)送8位數(shù)據(jù)
if(zdata&Ox8O)〃判斷第一位是否為高
SDA=1;//第一位為高,SDA=1
)
else
(
SDA=O;//第一位
為低,SDA=O
}
zdata=zdata?1;〃發(fā)送第二位數(shù)據(jù)
delay();
SCL=1;
delay();
SCL=0;〃數(shù)據(jù)只有在SCL由1變?yōu)?時才改變
delay();
)
SDA=1;
delay。;
)
voidinit(void)
(
SDA=1;
SCL=1;
voidwrite_byte(unsigncdchardat)
I2C_Start();
Scnd_bytc(0x70);
ack();
Send_byte(dat);
ack。;
I2C_STOP();
1
voidmie()
(
write_byte(0x40);
write_byte(0x60);
write_byte(0x80);
(
voidmain(void)
{
unsignedchari;
while(l)
(
write_byte(0x3f);
mie();
for(i=0x60;i<0x7f;i++)
write_byte(i);//綠燈逐漸變亮
delay1(1()(X));
I
delay1(5000);
for(i=0x5f;i>0x40;i-)〃三燈漸滅
(
write_byte(i);
write_byte(i+0x20);
write_byte(i+0x40);
delay1(1()(X));
1
for(i=0x80;i<0x9f;i++)〃藍燈逐漸變亮
{
write_byte(i);
delay1(1000);
1
mie();
delay1(5000);
for(i=0x40;i<0x5f;i++)〃三燈漸亮
write_byle(i);
write_byte(i+0x20);
write_byte(i+0x40);
delay1(1000);
)
mie();
delay1(2023);
for(i=0x7f;i>0x60;i-)〃綠燈逐漸變暗
(
write_byte(i);
delay1(1()(X));
)
mie();
delay1(2023);
for(i=0x9f;i>0x80;i-)//藍燈逐漸變暗
(
write_byte(i);
delay1(1000);
)
mie();
delay1(5000);
for(i=0x40;i<0x5f;i++)〃紅綠燈漸亮
write_byte(i);
write_byte(i+0x20);
delay1(1()(X));
)
delay1(5000);
for(i=0x5f;i>0x40;i-)〃紅綠燈漸滅
(
write_byte(i);
write_byte(i+0x20);
delay1(1000);
}
delay1(2023);
)
七、設計過程中發(fā)生的問題及解決的方法
7.1NCP5623焊接問題
由于芯片管腳非常小,需要用比較尖的烙鐵頭對著每個引腳焊接,對電烙鐵的規(guī)
定較高,并旦焊接速度慢,尚有也許虛焊和粘焊。對于一些粘在一起的錫球,我
們用拉焊的方法解決,需要的工具都很一般,特別是電烙鐵,在焊接過程中烙鐵
頭并沒有接觸焊盤而是焊錫球。由于焊錫球的張力,各個引腳上的焊錫很均勻且
不多,很美觀!速度嘛,純熟以后相對來說拖焊要快一點。此方法可謂是一種簡
捷可靠而又便宜的焊接方法!同時用電焊焊接芯片時,常感覺芯片補電焊搞得
很燙。但焊好后假如沒有其它問題,電路正常工作,也就是說芯片沒有被燙壞。
7.2電路連接問題
一方面是設計好電路總圖,這是連接好電路的基本保障。同時把面包版的正
負極連接好,從而使整個板子正極相同、負極相通,并用萬用表檢測。
另一方面是對每一個模塊的連接。每一個模塊連接好后就要檢測,以保證電路的
可行性。
最后是總體連接好后檢測、基本也沒有什么問題,就可以找個小程序先導入板子里面測試一
下,看是否能導通。在這個過程中,出現(xiàn)了比較多的問題,特別是數(shù)據(jù)線把電腦和電路連接
好后,一直不能載入程序,我們認為是.外在硬件導致,于是開始一點點的測試,發(fā)現(xiàn)沒問題
之后依舊不行。擦除之后再從新看看,依舊如此,換個片子然后反復的檢測電路也基本沒有
問題,最后在王老師和魏老師的共同努力下,發(fā)現(xiàn)問題重要出在數(shù)據(jù)線上,換了好的之后就
可以了。
7.3程序問題
程序可以說是本次實驗
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2022~2023事業(yè)單位考試題庫及答案第884期
- 2026屆海南省天一聯(lián)考高三上學期期末考試歷史試題(含答案)
- 商法總論考試題及答案
- 汽車原理設計試題題庫及答案
- 脊柱護理科普演講
- 輔警教育培訓課件
- 2026年深圳中考語文基礎提升綜合試卷(附答案可下載)
- 2026年深圳中考物理電生磁專項試卷(附答案可下載)
- 2026年大學大二(家政教育)家政服務人才培養(yǎng)方案階段測試題及答案
- 荷花的題目及答案
- 金融反詐課件
- 人事社保專員年度工作總結(jié)
- 2025年河南省公務員考試《行測》真題和參考答案(網(wǎng)友回憶版)
- 體系培訓文件課件9001
- 外科急危重癥護理
- 生物實驗室樣本管理制度
- GB/T 45451.1-2025包裝塑料桶第1部分:公稱容量為113.6 L至220 L的可拆蓋(開口)桶
- GB/T 44819-2024煤層自然發(fā)火標志氣體及臨界值確定方法
- 《風力發(fā)電廠調(diào)試規(guī)程》
- 搞笑小品劇本《我的健康誰做主》臺詞完整版-宋小寶徐崢
- 正大天虹方矩管鍍鋅方矩管材質(zhì)書
評論
0/150
提交評論