新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于單片機的LED顯示屏控制系統設計

        基于單片機的LED顯示屏控制系統設計

        作者: 時間:2013-01-18 來源:網絡 收藏
          本設計使用雙RAM技術來組織用于控制矩形顯示屏數據,提高了信息垂直循環顯示時的存儲器效率,大幅度降低了對數據存儲器的占用率,并且對刷新頻率的要求也不是很高。

          1、led顯示數據組織

          需要顯示的區域小于或等于實際顯示區域時,采用靜態顯示即可。但大多時候需要顯示的區域大于或等于實際顯示區域,如圖1所示。為了簡化問題的分析,本文將顯示區域高度設置為高度的4倍,寬度等于寬度。設顯示屏的高度為Lh,寬度為Lw,則顯示區域高度Dh=4Lh,寬度Dw=Lw。本文以單色顯示作為描述對象,且Bw=Bn=8(Bw為掃描線條數,Bn為輸出數據寬度),如圖1所示。

        基于單片機的LED顯示屏控制系統設計

          對于一個,寬度Lw和高度Lh確定后,顯示屏單元板的排列方式也就確定了。單元板相鄰的兩條掃描線之間的距離為Sw,顯示屏有Bw條掃描線,分別是Y0,Y1,…,YBw-1。每Sw行對應一位顯示數據,顯示屏上的每一個點對應于存儲器中某個字節的某一位。Bw條掃描線分別指向:Y0=O,Y1=Sw,…,BBw-1=(Bw-1)Sw。用靜態顯示數據組織方法分別對顯示塊A、B、C、D組織顯示數據。首先對顯示塊A的顯示信息進行組織(X為列號):

          ①X=0,即當前掃描線各行與第O列相交各點的顯示數據按D0,D1,…,DBw-1的順序存儲在存儲器的第一個存儲單元中。

          ②X值增加1,當前掃描線各行與X值對應列相交各點的顯示數據存儲在存儲器的下一個存儲單元中。直至將X=O至X=Dw-1的Dw個數據按順序全部存儲在存儲器中。

          ③Bw條掃描線向下移動一行,重復第①至②步,直到Y0移動到Sw-1行時。

          ④數據組織結束。

        顯示區域B、C、D分別按照A的數據組織方式去組織顯示數據。組織后的顯示數據塊按A、B、C、D的順序存儲在RAM0里,然后將RAM0中的顯示數據塊A、B、C、D按B、C、D、A的順序拷貝到RAMl中,任何兩個相鄰顯示塊的顯示數據在兩塊RAM中都有相同的地址存儲區域。RAM0和RAMl的顯示數據與存儲器的對應關系如圖2所示。

          掃描組1從Y0=0到Y0=Sw-1,對應顯示塊A,數據已組織存放在存儲器中,可以直接輸出顯示數據;掃描組2從Y0=Lh到Y0=Lh+ Sw-1,對應顯示塊B也已經組織好,可以直接輸出。但是掃描組3,它的位置非同一般,它的掃描線分別對應著兩個塊A和B;第O,1,…Bw-1條掃描線分別對應顯示塊A掃描組1的1,2,…,Bw-2;而第Bw-1條掃描線就對應顯示塊B掃描組2的第O條掃描線。如果要在顯示屏上顯示掃描組3對應的這一屏數據,就一定要同時使用到掃描組1的第1,2,…,Bw-1條掃描線和掃描組2的第O條掃描線組織的顯示數據作為輸出數據。由于顯示塊A和B的顯示數據是分別組織的,這時就要取RAM0的D0,D2,…,DBw-1和RAMl的D0位作為輸出到顯示屏的Bw位數據,這就需要在兩塊RAM同時輸出的2Bw位中選擇需要的Bw位
        作為輸出數據,并且這Bw位數據是連續的。

        基于單片機的LED顯示屏控制系統設計

          顯示步驟(在此只考慮垂直移動顯示效果);雙RAM技術將顯示數據輸出的時候,是將兩塊RAM中相同地址的兩個數據同時輸出。所以,如果設置RAMO為主存儲器,RAMl為從存儲器,則將兩塊RAM的顯示數據存在一塊串行存儲器中時,偶地址單元應存儲RAM0的數據,奇地址單元存儲RAMl的數據,由于數據寬度為8,所以每次輸出16位數據。如果顯示區域中以(XL,YL)點為顯示起始點,在LED屏上顯示一屏顯示信息,則其數據選擇控制位只與YL、掃描線和掃描寬度Sw有關。顯示區域的起始行坐標為YL,一塊顯示區域有Bwmiddot;Sw行,則YL所在的塊為:

        陀螺儀相關文章:陀螺儀原理



        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 澄江县| 鄂州市| 揭西县| 仪陇县| 周口市| 紫阳县| 沂源县| 贵港市| 泰州市| 会昌县| 虞城县| 郁南县| 枝江市| 德州市| 凉城县| 西宁市| 博白县| 桂阳县| 长乐市| 锡林浩特市| 高密市| 西贡区| 石首市| 彰化县| 来凤县| 尼勒克县| 宜昌市| 海伦市| 合川市| 新巴尔虎右旗| 九龙城区| 兴化市| 安仁县| 蒲城县| 台东县| 明星| 达日县| 印江| 玛曲县| 昂仁县| 德阳市|