版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
項(xiàng)目3:
LED點(diǎn)陣廣告牌的設(shè)計(jì)與制作項(xiàng)目的目標(biāo)及任務(wù)1.項(xiàng)目目標(biāo)掌握單片機(jī)的串口的原理。掌握利用74HC595和單片機(jī)的串口實(shí)現(xiàn)數(shù)據(jù)的串轉(zhuǎn)并。掌握利用單片機(jī)控制LED點(diǎn)陣顯示屏符號的顯示。2.項(xiàng)目任務(wù)基于單片機(jī)的LED點(diǎn)陣廣告牌功能要求:利用單片機(jī)的串口,實(shí)現(xiàn)16X16LED點(diǎn)陣上滾動顯示漢字。任務(wù)1:8×8的LED點(diǎn)陣顯示
一、LED點(diǎn)陣屏的結(jié)構(gòu)和顯示原理LED點(diǎn)陣顯示器是把很多LED發(fā)光二極管按矩陣方式排列在一起,通過對每個LED進(jìn)行發(fā)光控制,完成各種字符或圖形的顯示。最常見的LED點(diǎn)陣顯示模塊有5×7(5列7行),7×9(7列9行),8×8(8列8行)結(jié)構(gòu)。LED點(diǎn)陣由一個一個的點(diǎn)(LED發(fā)光二極管)組成,總點(diǎn)數(shù)為行數(shù)與列數(shù)之積,引腳數(shù)為行數(shù)與列數(shù)之和。1、8*8點(diǎn)陣的外部結(jié)構(gòu)及引腳排布2、8*8點(diǎn)陣的內(nèi)部結(jié)構(gòu)
共陰極LDM1088AX共陽極LDM1088BX3、LED點(diǎn)陣引腳的測試方法
①用機(jī)械式萬用表測試管腳的方法。把萬用表撥到電阻檔×10,先用黑表筆(極性為+)隨意選擇一個引腳,紅表筆碰余下的引腳,看點(diǎn)陣有沒發(fā)光,沒發(fā)光就用黑色探針再選擇一個引腳,紅色探針碰余下的引腳,當(dāng)點(diǎn)陣發(fā)光,則這時(shí)黑色探針接觸的那個引腳為正極,紅色探針碰到就發(fā)光的7個引腳為負(fù)極,剩下的6個引腳為正極。②用數(shù)字萬用表的測試方法:把萬用表功能開關(guān)撥到發(fā)光二極管檔,將紅表筆插入
"HzVm
插孔,黑表筆插入
"COM"插孔,紅表筆極性為"+",黑表筆極性為"-",若萬用表有讀數(shù),同時(shí)發(fā)光二極管會發(fā)光,則此時(shí)紅表筆所測端為二極管的正極,如果被測二極管開路或極性接反,顯示屏將示
"OL"。提示:當(dāng)測量在線二極管時(shí),測量前必須斷開電源,并將相關(guān)的電容放電。4、判定LED點(diǎn)陣模塊引腳編號
先把器件的引腳正負(fù)分布情況記下來,正極(行)用數(shù)字表示,負(fù)極(列)用字母表示,先定負(fù)極引腳編號,黑色探針選定一個正極引腳,紅色點(diǎn)負(fù)極引腳,看是第幾列的二極管發(fā)光,第一列就在引腳寫A,第二列就在引腳寫B(tài),第三列......以此類推。這樣就點(diǎn)陣的一半引腳都編號了。剩下的正極引腳用同樣的方法,第一行的亮就在引腳標(biāo)1,第二行就在引腳標(biāo)2,第三行......5、動態(tài)掃描的原理分析
LED點(diǎn)陣的顯示過程以用動態(tài)掃描法,有逐線陰極掃描和逐線陽極掃描兩種。1)行掃描:一行一行的輪流顯示,具體如下:先給ROW1行的行控制線送有效電平,其他行送無效電平,控制只可能ROW1行上的發(fā)光管亮,把列控制數(shù)據(jù)送給L0~L7,控制ROW1行上的哪些發(fā)光管亮;延時(shí)1~3ms后,再給ROW2行的行控制線送有效電平,其他行送無效電平,控制只可能ROW2行上的發(fā)光管亮,把列控制數(shù)據(jù)送COL1~COL8,控制ROW2行上的哪些發(fā)光管亮;延時(shí)1~3ms后……最后給ROW8行的行控制線送有效電平,其他行送無效電平,控制只可能ROW8行上的發(fā)光管亮,把列控制數(shù)據(jù)送給COL1~COL8,控制ROW8行上的哪些發(fā)光管亮;延時(shí)1~3ms,如此反復(fù)。2)列掃描:同上原理一樣,唯一不同的就是它是按列輪流顯示。行與行之間的延時(shí)為行周期,所有行掃描完為場周期,行周期和場周期的時(shí)間是多少呢?場周期的時(shí)間不超過人的視覺暫留時(shí)間,取20ms為場周期,行周期為20ms/8,取1~3ms。時(shí)間短了,會重影或全亮,時(shí)間長了會閃爍。任務(wù)實(shí)施舉例:心形圖形1234567812345678方案一:單片機(jī)I/O直接控制參考程序:#include<reg51.h>unsignedchartable1[16][2]={0xfe,0x1c,0xfd,0x3e,0xfb,0x7e,0xf7,0xfc,0xef,0xfc,0xdf,0x7e,0xbf,0x3e,0x7f,0x1c};unsignedchartable2[8][2]={0xfe,0x00,0xfd,0x18,0xfb,0x3c,0xf7,0x78,0xef,0x78,0xdf,0x3c,0xbf,0x18,0x7f,0x00};unsignedint
i,j;voidmain(){ TMOD=0x01; TH0=0xfc; TL0=0x18; TR0=1; EA=1; ET0=1; P0=0xff; P1=0x00; while(1); }voidt0_inter()interrupt1{ TH0=0xfc; TL0=0x18; P0=table1[i][0]; P1=table1[i][1]; i=i+1;
if(i==8)i=0;
}方案二:單片機(jī)串口控制補(bǔ)充知識:1、串行通信的相關(guān)知識;2、51單片機(jī)的串行口;3、數(shù)據(jù)的串行并行轉(zhuǎn)換;1、串行通信的相關(guān)知識計(jì)算機(jī)通信是計(jì)算機(jī)技術(shù)和通信技術(shù)的相結(jié)合,完成計(jì)算機(jī)與外部設(shè)備或計(jì)算機(jī)與計(jì)算機(jī)之間的信息交換??梢苑譃閮纱箢悾翰⑿型ㄐ排c串行通信。并行通信通常是將數(shù)據(jù)字節(jié)的各位用多條數(shù)據(jù)線同時(shí)進(jìn)行傳送。并行通信控制簡單、傳輸速度快;由于傳輸線較多,長距離傳送時(shí)成本高且接收方的各位同時(shí)接收存在困難。
串行通信是將數(shù)據(jù)字節(jié)分成一位一位的形式在一條傳輸線上逐個地傳送。串行通信的特點(diǎn):傳輸線少,長距離傳送時(shí)成本低,且可以利用電話網(wǎng)等現(xiàn)成的設(shè)備,但數(shù)據(jù)的傳送控制比并行通信復(fù)雜。
串行通信的傳輸方向單工:通訊的A方只能送,而B方只能接收——廣播式。例如:除了用于遠(yuǎn)程通信外,系統(tǒng)內(nèi)部單片機(jī)以串行方式接收外圍芯片(ADC)的數(shù)據(jù);或者控制外圍芯片(DAC、LCD等)工作。發(fā)送方A接收方BTXDRXD串行通信的傳輸方向半雙工 在某一時(shí)刻A方只能發(fā)送,B方只能接收;而在另一時(shí)刻B方只能發(fā)送,A方只能接收——對講機(jī)模式。例如:除了用于遠(yuǎn)程通信外,系統(tǒng)內(nèi)部單片機(jī)與串行接口的RAM、E2PROM之間的數(shù)據(jù)交換。發(fā)送方A接收方BTXDRXDTXDRXD串行通信的傳輸方向全雙工:A、B雙方可以同時(shí)發(fā)送和接收數(shù)據(jù)——手機(jī)模式。例如:兩臺單片機(jī)系統(tǒng)之間的數(shù)據(jù)串行交換。發(fā)送方A接收方BTXDRXDTXDRXD2、51單片機(jī)的串行口具有一個“全雙工”的通訊能力串行接口。 其中:P3.0端口作RXD——數(shù)據(jù)接收端;
P3.1端口作TXD——數(shù)據(jù)發(fā)送端。與串行口相關(guān)的SFR有:1、SBUF---數(shù)據(jù)緩沖寄存器(存放發(fā)送和接收的數(shù)據(jù))2、
SCON---串口控制寄存器(設(shè)定串行接口工作模式、表征串口的工作狀態(tài))3.PCON---電源及波特率選擇寄存器(使波特率加倍)數(shù)據(jù)緩沖寄存器SBUF在MCS-51的串行口電路中,SBUF是用來存放發(fā)送和接收數(shù)據(jù)的兩個物理上獨(dú)立的數(shù)據(jù)緩沖寄存器,但地址都是99H。那單片機(jī)如何知道什么時(shí)候是發(fā)送數(shù)據(jù)?什么時(shí)候是接收數(shù)據(jù)呢?---通過對SBUF的讀、寫語句來區(qū)分,如下:如果單片機(jī)要從串口輸出數(shù)據(jù),就向SBUF寫數(shù)據(jù),SBUF便是發(fā)送緩沖器:
SBUF=send;如果單片機(jī)要從串口輸入數(shù)據(jù),就從SBUF讀數(shù)據(jù),SBUF便是接收緩沖器:
receive=SBUF;由于發(fā)送SBUF與接收SBUF是兩個獨(dú)立的緩沖器,所以51串行口是一個可以同時(shí)發(fā)送與接收的“全雙工”接口。接收SBUF移位寄存器發(fā)送SBUF移位寄存器內(nèi)部總線CPUMCS-51RXDP3.0TXDP3.1串行口控制寄存器SCON用于設(shè)定串行接口工作模式、表征串口的工作狀態(tài)的特殊功能寄存器;在SFR中的地址為98H;這是一個可以按位尋址的SFR。SM0SM1SM2RENTB8RB8TIRID7D6D5D4D3D2D1D0SCON寄存器1、SM0SM1:工作方式選擇位。SM0SM1模式功能波特率000同步移位寄存器Fosc/1201110位UART可變10211位UARTFosc/64或/3211311位UART可變UART:UniversalAsynchronousReceiver/Transmitter,通用異步接收/發(fā)送器。
SM0SM1SM2RENTB8RB8TIRID7D6D5D4D3D2D1D02、SM2:
多機(jī)通信控制位。用于方式2和方式3中。3、REN:允許接收控制位。若軟件置REN=1時(shí),則啟動串口接收數(shù)據(jù);若軟件置REN=0,則禁止接收。SM0SM1SM2RENTB8RB8TIRID7D6D5D4D3D2D1D05:RB8:在方式2或方式3中是接收到數(shù)據(jù)的第9位,作為奇偶校驗(yàn)位或地址/數(shù)據(jù)幀的標(biāo)志位。在方式1時(shí),若SM2=0,則RB8是接收到的停止位。4:TB8:在方式2或方式3中是發(fā)送數(shù)據(jù)的第9位,可以用軟件規(guī)定其作用??梢宰鳛槠媾夹r?yàn)位或地址/數(shù)據(jù)幀的標(biāo)志位。SM0SM1SM2RENTB8RB8TIRID7D6D5D4D3D2D1D06、TI、RI:發(fā)送、接收完成中斷標(biāo)志位TI
:發(fā)送中斷標(biāo)志位。發(fā)送完成由硬件使TI置1,向CPU發(fā)送中斷申請,在中斷服務(wù)程序中必須軟件清零,取消此中斷申請。RI
:接收中斷標(biāo)志位。接收完成由硬件使RI置1,向CPU發(fā)送中斷申請,在中斷服務(wù)程序中必須軟件清零,取消此中斷申請。D7D6D5D4D3D2D1D0SM0SM1SM2RENTB8RB8TIRI電源及波特率選擇寄存器PCON
PCON主要是為CHMOS型單片機(jī)的電源控制而設(shè)置的專用寄存器,字節(jié)地址為87H,不可以位尋址。在HMOS的AT89C51單片機(jī)中,PCON除了最高位以外其它位都是虛設(shè)的。PCON(87H)
與串行通信有關(guān)的只有SMOD位。SMOD為波特率選擇位。在方式1、2和3時(shí),串行通信的波特率與SMOD有關(guān)。當(dāng)SMOD=1時(shí),通信波特率乘2,當(dāng)SMOD=0時(shí),波特率不變。3、數(shù)據(jù)的串行并行轉(zhuǎn)換串行口的工作方式0串行口工作方式0:同步移位寄存器模式。特點(diǎn):B=fosc/12。在這種模式下數(shù)據(jù)由RXD(P3.0)引腳輸入或輸出;
同步移位脈沖由TXD(P3.1)引腳輸出。發(fā)送和接收的數(shù)據(jù)為8位。在移位過程中,先移數(shù)據(jù)的低位D0。
MCS-51RXDTXDData外部移位寄存器cp移位脈沖串行數(shù)據(jù)并行的數(shù)據(jù)(8位)主要功能:擴(kuò)展并行輸入或輸出口。74HC595芯片的介紹74HC595方案二的硬件仿真電路圖#include<reg51.h>/******************************大心形圖形的編碼每行:左邊元素為列,右邊元素為行編碼*******************************/unsignedchartable[8][2]={ 0xfe,0x1c,
0xfd,0x3e, 0xfb,0x7e, 0xf7,0xfc, 0xef,0xfc, 0xdf,0x7e, 0xbf,0x3e,
0x7f,0x1c,};sbitlatch=P3^2;unsignedchari,j;voidmain(){SCON=0x00; TMOD=0x01; TH0=0xfc; TL0=0x18; TR0=1; EA=1; ET0=1; while(1) { SBUF=table[i][1];
while(TI==0); TI=0; SBUF=table[i][0];
while(TI==0); TI=0; latch=0; latch=1; } }voidt0_inter()interrupt1{ TH0=0xfc; TL0=0x18; i++;
if(i==8)i=0;}任務(wù)2:16X16LED點(diǎn)陣上穩(wěn)定顯示漢字
最高位1234567891011121314151612345678910111213141516最低位最高位最低位同的字符編碼{0x00,0x00,0xFE,0xFF,0x02,0x00,0x12,0x00,0x92,0x0F,0x92,0x08,0x92,0x08,0x92,0x08,0x92,0x08,0x92,0x08,0x92,0x0F,0x12,0x40,0x02,0x80,0xFE,0x7F,0x00,0x00,0x00,0x00}#include<reg51.h>voidsend_data(unsignedchartimes);unsignedchartimes=0;/*unsignedcharcodelie[]={0xfe,0xff,0xfd,0xff,0xfb,0xff,0xf7,0xff,0xef,0xff,0xdf,0xff,0xbf,0xff,0x7f,0xff,0xff,0xfe,0xff,0xfd,0xff,0xfb,0xff,0xf7,0xff,0xef,0xff,0xdf,0xff,0xbf,0xff,0x7f,};*/unsignedcharcodelie[]={0xff,0x7f,0xff,0xbf,0xff,0xdf,0xff,0xef,0xff,0xf7,0xff,0xfb,0xff,0xfd,0xff,0xfe,0x7f,0xff,0xbf,0xff,0xdf,0xff,0xef,0xff,0xf7,0xff,0xfb,0xff,0xfd,0xff,0xfe,0xff,};unsignedcharcodehang[]={0x00,0x00,0xFE,0xFF,0x02,0x00,0x12,0x00,0x92,0x0F,0x92,0x08,0x92,0x08,0x92,0x08,0x92,0x08,0x92,0x08,0x92,0x0F,0x12,0x40,0x02,0x80,0xFE,0x7F,0x00,0x00,0x00,0x00};sbitlatch=P3^2;voidmain(void){ TMOD=0x01; TH0=(65536-1250)/256; //20/16ms TL0=(65536-1250)%256; TR0=1; EA=1; ET0=1; while(1);}voidT0_int(void)interrupt1{ TH0=(65536-1250)/256; //20/16ms TL0=(65536-1250)%256;
send_data(times); times++;
if(times==16)times=0; //times&=15;}voidsend_data(unsignedchartimes){ SBUF=lie[times*2];
while(TI==0); TI=0; SBUF=lie[times*2+1];
while(TI==0); TI=0; SBUF=hang[times*2];
while(TI==0); TI=0; SBUF=hang[times*2+1];
while(TI==0); TI=0;latch=0; latch=1;}任務(wù)3:16X16LED點(diǎn)陣上滾動顯示漢字
#include<reg51.h>unsignedcharcodelie[]={0xff,0x7f,0xff,0xbf,0xff,0xdf,0xff,0xef,0xff,0xf7,0xff,0xfb,0xff,0xfd,0xff,0xfe,0x7f,0xff,0xbf,0xff,0xdf,0xff,0xef,0xff,0xf7,0xff,0xfb,0xff,0xfd,0xff,0xfe,0xff};unsignedcharcodehang[]={0x00,0x00,0xFE,0xFF,0x02,0x00,0x12,0x00,//“同”的行編碼0x92,0x0F,0x92,0x08,0x92,0x08,0x92,0x08,//“同”的行編碼0x92,0x08,0x92,0x08,0x92,0x0F,0x12,0x40,//“同”的行編碼0x02,0x80,0xFE,0x7F,0x00,0x00,0x00,0x00,//“同”的行編碼0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};sbitlatch=P3^2;voidmain(void){SCON=0x00;TMOD=0x0
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 用戶行為與滿意度研究-洞察分析
- 《景觀色彩構(gòu)成知識》課件
- 加盟合作的意向書(5篇)
- 農(nóng)業(yè)機(jī)械行業(yè)產(chǎn)業(yè)鏈分析
- 利用科技力量促進(jìn)兒童健康飲食教育的實(shí)踐探索
- 專業(yè)教育資源在不同領(lǐng)域的應(yīng)用與價(jià)值
- 減肥藥的成分解析與效果評估
- 《大學(xué)物理力學(xué)》課件
- 從零開始打造高效能的創(chuàng)業(yè)團(tuán)隊(duì)
- 分工明確對提升團(tuán)隊(duì)工作效率的重要性
- 2024年獨(dú)家:國際商標(biāo)授權(quán)使用合同
- 2024年農(nóng)行農(nóng)業(yè)用途個人貸款抵押合同樣本3篇
- 2024年瀝青攪拌站建設(shè)及設(shè)備供應(yīng)協(xié)議版
- 遼寧省部分高中2023-2024學(xué)年高二上學(xué)期期末考試 物理 含解析
- 2024年《檔案工作實(shí)務(wù)》考試復(fù)習(xí)題庫400題(含答案)
- 設(shè)計(jì)質(zhì)量工程師(DQE)的角色認(rèn)知及工作職責(zé)
- 烤腸銷售合同范例
- 中國傳統(tǒng)節(jié)日《元旦節(jié)》課件
- 完整版金蝶EAS財(cái)務(wù)系統(tǒng)操作手冊
- 2024村居后備干部試題庫及答案(完整版)
- 醫(yī)院題材小品劇本;瘋子當(dāng)醫(yī)生
評論
0/150
提交評論