蘇州健雄職業(yè)技術學院 趙素玲
使用AT89C51 單片機控制一個8×8LED 點陣顯示屏,循環(huán)滾動顯示不同的漢字。不同的漢字有不同的代碼,本文以作者自己所在的城市“太”“倉”“市”三個字為例來進行循環(huán)滾動演示,當然也可以顯示其他的漢字。具體要求是:
1.1 以AT89C51 芯片為核心,加上外圍輔助電路,設計出仿真電路圖;
1.2 根據(jù)要求用Keil 軟件編寫出C 語言程序代碼;
1.3 用一個8×8LED 點陣顯示屏,“太”“倉”“市”三個字循環(huán)滾動顯示。
AT89C51 芯片由電源、地、晶振和復位電路組成單片機最小系統(tǒng)。X1(晶體)與兩個電容C1、C2(30PF)組成了晶振。1K 電阻R1、200Ω 電阻R2、22UF 電容和一個按鈕構成復位電路。由P2口控制8×8LED 顯示屏的列,P3 口控制8×8LED 顯示屏的行,電路如下圖所示。
系統(tǒng)仿真元器件清單列表如表2-1 所示:
表2- 1 元器件清單列表
系統(tǒng)C 語言程序代碼:
#include
#include
#define uchar unsigned char
#define uint unsigned int
uchar code tai[]={0xf7,0xf7,0x00,0xe7,0xdb,0xad,0x7e,0xff};//太
w++;}}}
在程序設計中,先對用到的變量進行初始化設置,保證程序可以有效運行。程序中用到一個延時子程序,“太”“倉”“市”三個字的字形碼以一維數(shù)組的形式給出,不同的字對應的字形碼不同,這部分程序需要在熟悉8×8LED 顯示屏的工作原理,以及十六進制計數(shù)的基礎上寫出。
程序仿真結(jié)果
對于這個系統(tǒng)的程序代碼,所設計的是三個字的循環(huán)滾動顯示,利用動態(tài)顯示的原理,其實這樣的系統(tǒng)很容易擴展到任意多字的循環(huán)顯示。系統(tǒng)中每個字的顯示時間是利用變量u、v、w三個變量的值大小來控制的,變量的值越大,字顯示的時間越長。由于Protuse 仿真軟件中的LED 顯示屏最大只有8×8 的,分辨率有限,若想顯示筆畫比較多的漢字,會有一定的難度,所以選了三個筆畫相對比較少的漢字。若想一次顯示更多、筆畫更多的字,就要選擇分辨率更高的顯示屏。