新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于STC89C55RD+單片機的LED點陣顯示系統的設計

        基于STC89C55RD+單片機的LED點陣顯示系統的設計

        作者: 時間:2010-06-14 來源:網絡 收藏

        本文引用地址:http://www.104case.com/article/173308.htm

        3.3驅動及掃描電路 選用8x8模塊,每 4塊排列成一個16x16的,用于顯示一個漢字。每一行的所有共陰極,每一列的所有共陽極。
        因為I/O口的驅動能力有限,所以每一行LED陰極通過一個三極管8550與電源相連,I/O口僅需要提供幾個毫安的灌入電流即可控制其通斷。考慮到本系統可以同時顯示六個漢字,故每一列 LED的陽極都通過一個限流電阻和一個三極管8550與電源相連,當六個漢字的同一行漢字字模(即12個字節)通過鎖存器74HC377并行送出后,由移位寄存器 74HC595輸出行選通信號,來點亮該行的LED,接著再送下一行數據,再選中下一行有效,直到16行全被掃描過一遍。至此,一幅完整的文字信息就顯現出來,然后按這種方式反復掃描,借助于程序的控制,即可實現信息從右至左的動態顯示了。具體電路圖如圖3所示。



        該系統的軟件主要實現的功能包括:上位機信息(或命令)的發送和下位機點陣顯示內容及方式的控制兩部分。
        4.1上位機軟件
        上位機信息(或命令)的發送使用普通的字模提取軟件和串口調試軟件即可,在與下位機進行通信時,須保證雙方具有相同的數據格式和波特率,本采用 RS232通信,波特率為9600bit/s。同時,制定了上下位機之間的通信協議,信息包格式如圖4所示。


        4.2下位機軟件
        LED點陣的顯示內容及方式主要由的程序進行控制。程序采用模塊化結構,主要包括有主程序、串口中斷服務子程序以及掃描顯示子程序等。
        (1)主程序為順序結構,主要完成系統對 I/O口和一些變量的初始化,定時器初始值、串行通信工作方式、以及波特率的設置[2],然后循環調用掃描顯示子程序,顯示原來Data Flash區中已存在的漢字信息。
        (2)串口中斷服務子程序采用接收中斷啟動[3],主要負責接收來自上位機 PC發送的信息,包括欲顯示的內容以及命令字節,并根據命令完成相應的信息寫入、擦除等操作,最后開中斷返回主程序。其流程圖入圖5所示。

        其中信息的寫入、擦除等操作主要由的IAP功能來完成。 IAP,即在應用可編程,是指在程序運行時程序存儲器可由程序自身進行擦寫。通過IAP功能的相關指令,既可以將欲顯示的數據寫入到程序存儲器指定的扇區中,也可以根據需要擦除相應扇區中的數據。這樣,數據就如同燒入的程序一樣,掉電不會丟失。當然寫入數據的區域與程序存儲區是分開的,以使程序不會遭到破壞。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 望江县| 共和县| 克什克腾旗| 泾川县| 东乡县| 南召县| 寿光市| 三台县| 华宁县| 岑溪市| 吉林市| 右玉县| 台湾省| 安福县| 本溪市| 丽江市| 章丘市| 黄陵县| 郑州市| 黄浦区| 遵义市| 正蓝旗| 阳山县| 灵武市| 宝丰县| 望城县| 阜康市| 海淀区| 福建省| 涡阳县| 清远市| 高州市| 普格县| 长寿区| 绵竹市| 巢湖市| 张家港市| 石首市| 林口县| 武邑县| 昌黎县|