男女午夜激情_www.天堂av.com_亚洲综合小说区_亚洲欧美自拍视频_成年精品_久久www免费人成—看片_激情综合五月天_久久高潮视频_最新国产成人ab网站_国产精品卡一

機電之家資源網
單片機首頁|單片機基礎|單片機應用|單片機開發|單片機文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發
培訓信息
贊助商
單片機擴展LED點陣實驗
單片機擴展LED點陣實驗
 更新時間:2009-10-20 14:08:59  點擊數:0
【字體: 字體顏色
摘要:介紹在單片機實驗箱上擴展LED點陣板實驗。擴展板電路中只用了三只元件:一片7×5 LED點陣板CD-2057,一只移位寄存器74HC164和一只帶輸出鎖存的8位移位寄存器74HC595。擴展板與單片機的連接很簡單,除了兩根正、負電源線外,只有串行數據和時鐘共5根線,可用多種形式與單片機連接。介紹LED點陣板上進行幀掃描和行掃描的工作原理以及字符移動顯示的原理。作為一個應用實例,給出了一種字符逐行向上漂移的工作方式程序控制流程圖和匯編語言源程序,并作了詳細的注釋。
關鍵詞:LED點陣板;幀掃描;行掃描;

  1. 引言:
LED點陣板一般采用行線與列線相交的重合法選擇格點上的發光二極管,以減少對外連接的線數,簡化硬件結構。這一方法與重合法對鍵盤按鍵的選擇,或重合法對內存芯片格點上的存儲單元的選擇相似。矩陣形式的二維結構在計算機硬件和軟件中是一種基本的結構形式。給學生提供學習重合法操作的實驗條件,讓他們理解和掌握這種常用結構很有必要。在這些操作中,對LED點陣板進行編程操作產生的效果最直觀,最能提起學習者的興趣。在做這個實驗時,除了能對這種二維矩陣結構獲得到深刻的理解外,串行掃描工作方式實現顯示成像的原理和各種串行掃描技巧可以大大開拓學生的思路。
我們實驗室的單片機實驗箱是較早期的產品,沒有LED點陣板的實驗的功能,要做LED點陣板實驗需要自己動手制作擴展LED點陣板。
新型的單片機實驗箱已經有了LED點陣板實驗。但我們發現有的實驗箱上的這一實驗跟其它許多驗證性實驗一樣,功能比較單一,設計不太合理。更主要的是新實驗箱價格昂貴,在我們現有實驗箱大多數功能都可使用的情況下,學校不可能為我們另購新型的實驗箱,只能自己動手制作。

實際上,我們發現自己制作這一擴展板難度不大,元件價格相對很低,可以讓實驗方法做得比較靈活,可用多種方法達到相同的效果,特別能夠激發學生的創新學習精神。擴展板的電路中只用了三只元件,一片7×5 LED點陣板CD-2057,一只移位寄存器74HC164和一只帶輸出鎖存的8位移位寄存器74HC595。擴展板對外除了兩根正、負電源線外,與單片機連接只有5根串行數據、時鐘和控制線,可有多種形式與單片機連接。圖1的擴展LED點陣實驗板電路圖是一種連接形式,使用的單片機為80C51系列,匯編語言程序也按該系列的單片機語言編寫。

  1. 電路簡介

1 擴展LED點陣實驗板電路圖

在擴展LED點陣實驗板電路中最主要的是一片7×5 LED點陣板CD-2057(該型號印在器件的背面),它的7根行線是相應行內5只發光二極管的公共負極端,5根列線為相應列內7只發光二極管的公共正極端,當一根列線接正5V,一根行線接地時,兩線相交處的發光二極管被點亮。

2LED點陣板PLTM2088BS結構圖,由于有8×8=64只發光二極管,顯然顯示效果較好。我們手中除了有PLTM2088BS外,還有若干7×5 LED點陣板CD-2057,是從市場上購得的舊材料,每片的價格不足兩元,但未找到其內部結構圖。于是參照圖2進行實測,很容易找出其邏輯關系,與圖2的結構完全相似,只是少了一行三列。

比較PLTM2088BSCD-2057,我們發現學生在學習LED點陣板編程時,不少人對使用PLTM2088BS編程的實例理解困難,原因是PLTM2088BS的行與列的管腳很對稱,都是8只,于是對LED點陣板行列控制的語句將他們弄得很混淆。而CD-2057卻是75列,行、列控制語句易于分辨,初學者容易入門,減輕了學生學習負擔。因此我們選用CD-2057作擴展實驗。

2 PLTM2088BS結構圖

實驗板電路中帶輸出鎖存的8位移位寄存器74HC595的低7位輸出端與點陣板CD-2057行線連接。74HC595的第14SD1是串行數據輸入線,11SRCLK為串行輸入時鐘控制線,當SRCLK從低電平跳到高電平時,SD1的一個數據移入輸入級移位寄存器。12RCLK為輸出級鎖存器的時鐘控制線,當RCLK從低電平跳到高電平時,輸入級移位寄存器的數據轉移到輸出級。
電路中8位串入并出移位寄存器74HC164的高5位輸出端與點陣板CD-2057列線連接。若列線也用74HC595連接,效果似乎更好些。由于74HC164的輸出端不帶鎖存,送數時易出現余輝,從而降低對比度。但74HC164是單片機教程中常用的器件,使用它可以讓學生熟悉這一器件的特性。編程中,如果設計成將數據送至列的形式,則每次刷新列數據時只須對8位的串行移位寄存器74HC164移入5位數據即可。
以上三個器件連接好后,除了正5V和對地的電源線外,另外5根線中有一根行數據輸入線SD1和一根列數據輸入線B,兩根時鐘控制線74HC595SRCLK74HC164CLK,以及74HC595的輸出轉移控制線RCLK。由學生根據自己的編程思想將這5根線與單片機實驗箱中相應的輸出端口相連。
現在的單片機實驗箱都能與PC機聯機,可以方便地在PC機上編寫并控制單片機實驗箱運行各種不同的控制程序,使LED點陣板產生出豐富的顯示效果。我們實驗室使用的是ICESLAB-51/96型單片機實驗箱,它的仿真頭上的P1口和P3口是完全開放給用戶的。但與該實驗箱的聯機功能很差,只能與使用DOS的計算機聯機,因此我們收集了校內計算中心一些早已報廢的486型甚至386型無硬盤的計算機,將這些計算機聯網后運行服務器上實驗箱聯機軟件,獲得很好的實驗效果。
  1. 字符移動顯示原理及軟件設計
1給出了擴展電路與單片機連接的一個方案。根據這種聯接形式,介紹在LED點陣板上實現字符移動顯示的原理。該方案是在點陣板CD-2057上顯示自下向上漂移的字母或圖案。由于只有7×5=35只發光三極管,像素太少,不宜顯示漢字,因為顯示效果不好看,但工作原理相同。若將點陣板增至4塊,顯示的漢字就很美觀了。
    1. 程序框圖

3 主程序及字掃描子程序

在主程序中,使用DPTR地址寄存器作為地址指針,開始時指向數據表首地址。第一次循環時,DPTR指向第一列,在循環體中DPTR1,第二次循環時,地址指針后移一列。幀掃描子程序每次掃描LED點陣板7行數據。數據串行送至74HC164輸出端連接的5根列線。行線作控制開關使用,由74HC595輸出端提供控制信號。第一次送出第一個字符最上一行5位列數據時,行掃描開關除了置第一行為低外,其余行置高,即打開第一行,關閉其余行。第二次送出第一個字符第二行5位列數據,行掃描開關置第二行為低,其余行置高,打開第二行,關閉其余行,以后類推。用這樣方式完成一幀掃描。
數據表按顯示要求編碼。每一個字節為LED點陣板一行中5位相應的顯示數據。由于只發送5次,所以有效數據只在一個字節的低5位。當列線為0時與行線相交點的發光二極管關,列線為1時開。數據表中一行7列的7個字節數據為一個字符的編碼信息。
DPTR在幀掃描子程序外置數據表地址的基值,R1作地址偏移量,以兩者之和對數據尋址。R1的初值為0,當DPTR為表首地址時,在子程序的循環中R10增加到6,取出第一個顯示字符的全部7個字節并與行開關配合依次逐行顯示,完成一幀掃描操作。
DPTR在每次循環后加1,使得它所指向的數據表地址后移。此后調用幀掃描子程序時,每幀顯示的字符地址將向后移。例如第二次調用幀掃描子程序,DPTR的值為表首地址加1,此時當R1再從0增加到6時,取出的是第一個顯示字符后6個字節和第二個顯示字符的第一個字節,并與行開關配合依次逐行顯示,完成一幀掃描操作。此時看到的顯示效果為第一個顯示字符向上移動了一行,原第一行從上端移出了屏幕,而第二個顯示字符的第一行從下端進入了屏幕。隨著DPTR在每次循環后加一次次地加1,每幀顯示都將當前顯示字符的一行從上端移出,將后續顯示字符的一行從下端移入,形成了所有設置字符的流水顯示。
DPTR能增加的最大數是循環計數器R3的初值,因此R3的初值應比數據表中數據總數少7,否則DPTRR1相加后將指到表外。為了保證最后一個字也能移動顯示,DPTR又要能指向最后一個顯示字符的最后一個編碼字節。因此將數據表最后一行用了全0數據,結果以黑屏顯示效果結束全部字符一場移動顯示。
每幀反復循環掃描的次數,決定顯示移動速度。在主程序中,移動速度由幀掃描次數計數器R2中的初值決定。該值要根據不同晶振的頻率和個人的喜好決定。

4 行、列數據發送子程序

在圖3所示的列數據發送子程序中,CPU通過P1.5端口的5次串行移位操作,將數據送到74HC164的輸出端及LED點陣板CD-20575根列線。

LED點陣板CD-2057按重合法方式顯示,可將數據同時送到5條列線,然后開啟這5列數據應出現的行線,關閉其它行。由于只有7根行線與74HC595的第06位連接,第一次調用字掃描子程序,CPU通過P1.2端口的8次串行移位操作,將控制字#10111111B送到74HC595的輸出端及LED點陣板CD-20577根列線。控制字#10111111B中的數據0處于輸出端第6位,點亮LED點陣板CD-2057頂端第一行,其余行關閉。以后控制字循環經過循環移位后發送至74HC595輸出端,依次點亮第二行、第三行等等,實現了幀掃描操作。由于LED點陣板只有7位,所以有一次操作將0移出LED點陣板,此時屏幕全關。

    1. 源程序
       點擊這里下載本文源程序
      1. 結束語

      學生對這一實驗很感興趣,硬件聯接和軟件設計都給學生很大的發揮空間。與一些單片機實驗箱上固定接法不同,擴展板與單片機實驗箱的連接除了用這里介紹的P1口連接,也可改為P2口連接,還可改為用串行口作同步串行輸出的連接方式。參照上述字符輸出的工作原理,學生可以充分發揮自己的想象力,按照自己設計的方式對這一程序進行修改,產生各種各樣的顯示輸出效果。例如可以將字符上滾改為下滾,將一行一行地滾動改為一字一字地跳躍。或改為左進右出,右進左出等等。輸出的字符可以有學生喜歡的心形,或跳躍著的心形等。有些要求看似簡單,實現起來并不太容易,這就增加了挑戰性。這個擴展LED點陣板實驗達到了很好的教學效果。


      Extended LED Lattice Board Experiment on the Experiment Case of the Singlechip Computer

      Mengrz

      Abstract: Introduced an extended LED lattice board experiment on the experiment case of the single chip computer. Have only used three components on the extended board circuit: One 7*5 LED lattice board CD-2057, one shift register 74HC164 and one 8 bits shift register 74HC595 which is able to latch the output. The connection of the extended board circuit with single chip computer is very simple. Only 5 lines of serial data and clock are connected with the single chip computer. There are various forms to connect with single chip computer. Introduce the principle of frame scanning, line scanning and character moving on LED lattice board. Take a working way of scanning line after line and the words drifting from down to top as an example, provided the flow chart and assembler language source program, had done the detailed note.

      Key words: LED lattice board; frame scan; line scan

  • 上一篇: E2PROM芯片X25045在IC卡電度表中的應用
  • 下一篇: 沒有了
  • 發表評論   告訴好友   打印此文  收藏此頁  關閉窗口  返回頂部
    熱點文章
     
    推薦文章
     
    相關文章
    網友評論:(只顯示最新5條。)
    關于我們 | 聯系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機電之家 | 會員助手 | 免費鏈接

    點擊這里給我發消息66821730(技術支持)點擊這里給我發消息66821730(廣告投放) 點擊這里給我發消息41031197(編輯) 點擊這里給我發消息58733127(審核)
    本站提供的機電設備,機電供求等信息由機電企業自行提供,該企業負責信息內容的真實性、準確性和合法性。
    機電之家對此不承擔任何保證責任,有侵犯您利益的地方請聯系機電之家,機電之家將及時作出處理。
    Copyright 2007 機電之家 Inc All Rights Reserved.機電之家-由機電一體化網更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術支持

    主辦:杭州市高新區(濱江)機電一體化學會
    中國行業電子商務100強網站

    網站經營許可證:浙B2-20080178-1
    主站蜘蛛池模板: 凯里市| 内丘县| 小金县| 新安县| 英超| 尖扎县| 博湖县| 赣榆县| 金阳县| 桃园县| 平邑县| 错那县| 定边县| 望奎县| 濮阳县| 余姚市| 苏州市| 准格尔旗| 久治县| 从化市| 原平市| 禄劝| 扶沟县| 宜川县| 盘锦市| 马尔康县| 普格县| 平陆县| 偏关县| 西乌珠穆沁旗| 辉县市| 武宣县| 天柱县| 沙坪坝区| 久治县| 陆丰市| 苍南县| 西吉县| 九龙县| 思南县| 清镇市|