單片機項目實踐教程劉燎原-項目六擴展2點陣ppt課件_第1頁
單片機項目實踐教程劉燎原-項目六擴展2點陣ppt課件_第2頁
單片機項目實踐教程劉燎原-項目六擴展2點陣ppt課件_第3頁
單片機項目實踐教程劉燎原-項目六擴展2點陣ppt課件_第4頁
單片機項目實踐教程劉燎原-項目六擴展2點陣ppt課件_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、 工程六 數(shù)字溫度計 -認識點陣顯示模塊 知識目的:1.了解點陣的任務(wù)原理2.了解點陣的掃描法顯示原理3.掌握點陣的編程方法技藝目的:1.區(qū)分點陣的共陰、共陽2.正確了解點陣的行、列3.掌握單片機與點陣的銜接幾點闡明:1.數(shù)碼管 動態(tài)顯示 1假設(shè)干個數(shù)碼管的段端接一同,經(jīng)過單片機的I/O口控制數(shù)碼管的位選端,實現(xiàn)假設(shè)干個數(shù)碼管輪番顯示 2單片機的1個I/O口帶著假設(shè)干個數(shù)碼管,電流小,所以數(shù)碼管亮度低。所以要加驅(qū)動加三極管、驅(qū)動器,添加亮度。 3延時時間合理設(shè)置;過長或過慢都不行。 2.LCD 管腳 編程步驟 1LCD初始化 WC( 命令代碼 ); 2設(shè)定第一行地址 WC( 地址代碼 ); (

2、3)寫入顯示第一行字符 WD( 字符的ASCII碼 ); (4)設(shè)定第二行地址 5寫入顯示第二行字符LCD的子程序記住,運用時只需調(diào)用即可點陣(矩陣LED)1.點陣構(gòu)造(以8*8為例8X8點陣共由64個發(fā)光二極管按照8行8列陳列成矩陣方式,且每個發(fā)光二極管是放置在行線和列線的交叉點上類似矩陣式按鍵 按顏色、行列數(shù)、公共極分類1.共陰對行而言例如型號為JM-M1088A2.點陣分類2.共陽對行而言例如型號為JM-M1088B有時也不做區(qū)分,旋轉(zhuǎn)即可3 點陣原理 以共陽為例。當對應(yīng)的1個LED所在行置1電平,所在列置0電平,那么相應(yīng)的二極管就亮;如要將第一個點點亮,那么9腳接高電平13腳接低電平,

3、那么第一個點就亮了;假設(shè)要將第一行點亮,那么第9腳要接高電平,而13、3、4、10、6、11、15、16這些引腳接低電平,那么第一行就會點亮;如要將第一列點亮,那么第13腳接低電平,而9、14、8、12、1、7、2、5接高電平,那么第一列就會點亮。共陰呢? 4.顯示方式點陣LED普通采用掃描式顯示字符,實踐運用分為三種方式:1點掃描逐點顯示; 2行掃描逐行顯示 ;3列掃描逐列顯示; 假設(shè)運用第一種方式,其掃描頻率必需大于1664=1024Hz,周期小于1ms即可。 假設(shè)運用第二和第三種方式,那么頻率必需大于168=128Hz,周期小于7.8ms即可符合視覺暫留要求。此外一次驅(qū)動一列或一行8顆L

4、ED時需外加驅(qū)動電路提高電流,否那么LED亮度會缺乏。 5.舉例例:運用一塊8X8的LED點陣來顯示一個心型1.那么如何點亮一個點?共陰點陣,假設(shè)上面為行線,下面為列線要想點亮1個點,如圖:掃描第二行為低電平,列線值 001000008個燈的亮滅形狀一致。2.顯示字符采用動態(tài)顯示行掃描法,逐行顯示 以共陰點陣為例先顯示第一行,8個燈亮滅情況為00100100,那么此時需送進去的列值也為00100100即24H,延時;再第二行, 8個燈亮滅情況為01011010,那么此時需送進去的列值為01011010 5AH,再延時;依次類推,第三行:42H; 第四行:42H; 第五行:42H; 第六行:24

5、H; 第七行:18H; 第八行:00H總結(jié):采用共陰點陣,行掃描法顯示心型,8行對應(yīng)的列值分別為:24H,5AH,42H,42H,42H,24H,18H,00H(該值也叫做編碼3.如何得到其他字符的編碼? 1.本人在紙上畫 2.利用軟件生成PCtoLCD2002,字模生成軟件)4.設(shè)計電路:1.如何產(chǎn)生行掃信號。共陰點陣,行掃法,需求顯示哪一行,哪一行的行線為低電平有效信號 8行,為了節(jié)省單片機的I/O口,用3-8譯碼器,逐個選擇每一行。 譯碼器的8個輸出依次和8根行線相連。 例如要掃描第三行,Y3輸出低電平,那么CBA=0112.如何給不同的列線值編碼? 經(jīng)過單片機的I/O口傳送。把8個列值

6、存入數(shù)組,逐個查出列值送給單片機的I/O口即可。 為了添加單片機I/O口的驅(qū)動才干,可以運用三極管4148、4007、3904、3906、8050、8550、9012、9013或驅(qū)動芯片74HC245,74HC574。74LS245是我們常用的芯片,用來驅(qū)動led或者其他的設(shè)備,它是8路同相三態(tài)雙向總線收發(fā)器或驅(qū)動器,可雙向傳輸數(shù)據(jù)當片選端/CE為低電平有效時, AB/BA=“0,信號由 B 向 A 傳輸; AB/BA=“1,信號由 A 向 B 傳輸;編程:#include unsigned char code sz1=0 x24,0 x5A,0 x42,0 x42,0 x42,0 x24,0

7、 x18,0 x00;/心形void delay(unsigned int a)unsigned char i;while(-a!= 0) for(i=0;i125;i+); void main() unsigned char j,m=0;while(1) for(j=0;j8;j+) P2=sz1j; P1=m; delay(2); P2=0X00; m+; 6.顯示漢字原理 16*16點陣我們把顯示器的每一個點了解為一個像素,那么8*8點陣只能顯示64像素范圍以內(nèi)的任何圖形和字符(不清楚)。假設(shè)想顯示更大像素的圖形,怎樣辦? 組合普通我們運用點陣顯示漢字是用的16*16的點陣宋體字庫,所謂

8、16*16,是每一個漢字在行、列各16點的區(qū)域內(nèi)顯示的。也就是說得用四個8*8點陣組合成一個16*16的點陣。組合后依然采用逐行或逐列顯示16行16列,即動態(tài)顯示。逐行或逐列顯示第一行第一列,延時;第二行第二列顯示,延時;,以此類推。只需每行每列數(shù)據(jù)顯示時間間隔夠短,利用人眼的視覺暫停作用,他就能看到穩(wěn)定的漢字顯示。如何得到漢字的編碼呢?如上圖所示,用16*16要顯示“他那么相應(yīng)的點就要點亮逐行顯示:(行掃描線,列數(shù)據(jù)線 要顯示“他字的話,要把它的位代碼信息作為對應(yīng)列的值。 第一行顯示:16列依次送0000100010000000,即08H,80H ; 第二行顯示:16列依次送00001000

9、10000000,即08H,80H ; 利用人眼的視覺暫停作用,這樣送16次數(shù)據(jù)掃描完16行后就會看到一個“他字; 7. 16*16的點陣的構(gòu)成1)16*16點陣,由4個8*8點陣組成,如何銜接?兩兩行行相連,兩兩列列相連。留意新的16*16點陣的行列高低順序16行:ROW0-ROW1516列:HIG0-HIG7(高8位列 LOW0-LOW7(低8位列2單片機的I/O口作為行列線夠用嗎?以逐行顯示為例:(行為掃描線,列線輸入數(shù)據(jù),需求引腳眾多,共32根線,單片機為了節(jié)省線,所以采用譯碼器或移位存放器等例如74LS154,74HC595,74LS164等)來擴展I/O線。 4-16線譯碼器 E1

10、=E2=0,時,可譯碼低電平輸出 例: 用4個8*8點陣組合成16*16點陣循環(huán)顯示“信息兩個字。顯示信,再顯示息,然后循環(huán)顯示信:逐行顯示 第一個點陣: 第二個點陣: 第一行輸入列值0000100008H) 第一行輸入列值10000000080H) 第二行輸入列值000011000CH) 第二行輸入列值0110000060H) 第三行:18H 第三行:40H 第四行:17H 第四行:FEH 第五行:30H 第五行:00H 第六行:33H 第六行:F8H 第七行:50H 第七行:00H 第八行:93H 第八行:F8H第三個點陣: 八行列值為:10H,13H,12H,12H,第九到十六行 12H

11、,13H,12H,00H第四個點陣: 八行列值為:00H,F8H,08H,08H, 第九到十六行08H,F8H,08H,00H顯示息“ 同理可得息“的編碼 如何把編碼送給對應(yīng)的點陣的列? 存入數(shù)組,查得編碼。然后再分別送給對應(yīng)點陣的列建立表格如下:unsigned char code sz1=0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x01,0 x00,0 x01,0 x10,0 x1F,0 xF8,0 x11,0 x10,0 x1F,0 xF0,0 x11,0 x10,0 x11,0 x10,0 x1F,0 xF0,0 x11,0 x00,0 x01,0 x

12、08,0 x00,0 xF8,0 x00,0 x00,0 x00,0 x00;/*電,0*/unsigned char code sz2=0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x1F,0 xF0,0 x00,0 x20,0 x00,0 x40,0 x01,0 x80,0 x01,0 x10,0 x3F,0 xF8,0 x01,0 x00,0 x01,0 x00,0 x01,0 x00,0 x01,0 x00,0 x07,0 x00,0 x00,0 x00,0 x00,0 x00;/*子,1*/unsigned char code sz3=0 x00,0 x

13、00,0 x00,0 x00,0 x00,0 x00,0 x08,0 x40,0 x0F,0 xF8,0 x08,0 x00,0 x13,0 xF0,0 x10,0 x00,0 x33,0 xF0,0 x10,0 x00,0 x13,0 xF0,0 x12,0 x10,0 x13,0 xF0,0 x12,0 x10,0 x00,0 x00,0 x00,0 x00;/*信,0*/unsigned char code sz4=0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x02,0 x00,0 x0F,0 xE0,0 x08,0 x20,0 x0F,0 xE0,0 x

14、08,0 x20,0 x0F,0 xE0,0 x08,0 x20,0 x0F,0 xE0,0 x15,0 x10,0 x14,0 xA8,0 x27,0 xE0,0 x00,0 x00,0 x00,0 x00;/*息,1*/編程:org 0000hljmp storg 0030hst:mov 20h,#00h mov dptr,#tabln2:mov r1,#0ffhln3:mov r6,#10h mov r4,#00h mov r0,20hln4:mov a,r4 mov p1,a inc r4 mov a,r0 movc a,a+dptr mov p3,a inc r0 mov a,r0

15、movc a,a+dptr mov p2,a inc r0 lcall delay mov p3,#0 mov p2,#0djnz r6,ln4djnz r1,ln3 mov 20h,r0 cjne r0,#64,ln2 ljmp stDelay: mov r3,#01hln5:mov r5,#0f8h djnz r5,$ djnz r3,ln5rettab:db08h,80h,0ch,60h,18h,40h,17h,feh,30h,00h,33h,f8h,50h,00h,93h,f8hdb10h,00h,13h,0f8h,12h,08h,12h,08h,12h,08h,13h,0f8h,12

16、h,08h,00h,00hdb 01h,00h,02h,00h,1fh,0f0h,10h,10h,1fh,0f0h,10h,10h,1fh,0f0h,10h,10h db1fh,0f0h,00h,00h,09h,00h,28h,84h,28h,92h,68h,12h,07h,0f0h,00h,00h end信息“兩字循環(huán)顯示255次,再從頭循環(huán)學生分組討論以下問題,:1點陣的行掃、列掃區(qū)別?2如何判別點陣共陰、共陽?3如何判別點陣行、列?教師提出問題: 那么我們點陣的硬件電路如何構(gòu)建?構(gòu)建好后,如何編寫程序呢?總結(jié)布置作業(yè) 1書上習題P163 2PROTEUS仿真完成點陣顯示本人的名字 引腳:16根8行8列,字母為行引腳,數(shù)字為列引腳。普通需求本人用萬用表檢測如何測?5.舉例例:運用一塊8X8的LED點陣來顯示一個心型1.那么如何

溫馨提示

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

評論

0/150

提交評論