新聞中心

        EEPW首頁 > 光電顯示 > 設計應用 > 基于AT89C2051串口的LED數碼管顯示電路

        基于AT89C2051串口的LED數碼管顯示電路

        作者: 時間:2010-02-24 來源:網絡 收藏


        子程序首先初始化,使工作在方式0,再讀取緩沖區內的數據(緩沖區主要是用來存放即將要顯示的數據),然后通過查表的方式找到對應的字形碼,最后把字形碼寫入寄存器SBUF通過串口方式0發送出去。當8個時鐘脈沖后,字形碼都移至74Ls164的Q0-Q7,管就顯示相應按鍵的編碼。

        顯示子程序是怎么將顯示緩沖區中的數據變成相應的字形碼呢?具體的方法是將每個數字的字形碼以16進制數從小到大的次序依次存放在存儲器中的固定區域中,構成顯示代碼表。當要顯示某字符時,把表格的起始地址送入數據指針寄存器DPTR中作為基址,將顯示緩沖區內的數據作為偏移量送入變址寄存器A,執行查表指令“MOVCA,@A+DPTR”,則累加器A中得到的結果即表格中取出的對應數字的字形碼。

        注意:MOVC指令是將程序存儲器內相應地址的值賦給累加器A。MOVC指令只有兩種,一種是:MOVCA,@A+DPTR,將程序存儲器中地址為A+ DPTR內的數據賦給A,例如:累加器A內的數據為01H,而DPTR內的數據為2000H,程序存儲器中地址2001H內的數據為50H,那么執行 MOVCA,@A+DPTR指令后,累加器A內的數據變為50H。另一種是MOVCA,@A+PC。將程序存儲器中地址為A+PC內的數據賦給A。兩種指令的功能基本是一樣。只是第一種中的地址是存放在DPTR中,而第二種是直接使用PC指針的地址。


        對于中的74LS164共陰極管數據位和字形的對應關系如下表。

        由于單片機在以方式0串行發送數據的時候數據從RXD引腳從低位到高位依次輸出,而最先輸出的數據經過74LS164串轉并后到達Q7,也就是說單片機內的DO通過串口發送并經過74LS164后到達74LS164的Q7腳即管的A腳,因此在單片機內字型碼與74LS164所對應的字型碼正好相反,所以在單片機內O-8所對應的字型碼分別是:

        3FH,06H,5BH,4FH,66H,6DH,7DH,07H.7FH。

        DIY機械鍵盤相關社區:機械鍵盤DIY



        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 永登县| 揭阳市| 绵阳市| 靖江市| 大姚县| 灌阳县| 泸溪县| 东宁县| 舟山市| 乐陵市| 平和县| 凌海市| 余姚市| 永胜县| 南阳市| 清原| 儋州市| 松桃| 化州市| 克什克腾旗| 新源县| 盖州市| 金川县| 金塔县| 蚌埠市| 确山县| 青铜峡市| 阜城县| 开江县| 兴文县| 宜宾县| 巩留县| 临夏县| 尼勒克县| 佛冈县| 嘉兴市| 邮箱| 巴塘县| 海阳市| 当涂县| 兴海县|