導航:首頁 > 操作系統 > 單片機led漢字

單片機led漢字

發布時間:2023-08-06 07:38:40

1. 單片機漢字8x8點陣LED動態顯示程序

#include <reg52.h>

sbit ADDR0 = P1^0;
sbit ADDR1 = P1^1;
sbit ADDR2 = P1^2;
sbit ADDR3 = P1^3;
sbit ENLED = P1^4;

unsigned char code image[11][8] = {
{0xC3, 0x81, 0x99, 0x99, 0x99, 0x99, 0x81, 0xC3}, //數字0
{0xEF, 0xE7, 0xE3, 0xE7, 0xE7, 0xE7, 0xE7, 0xC3}, //數字1
{0xC3, 0x81, 0x9D, 0x87, 0xC3, 0xF9, 0xC1, 0x81}, //數字2
{0xC3, 0x81, 0x9D, 0xC7, 0xC7, 0x9D, 0x81, 0xC3}, //數字3
{0xCF, 0xC7, 0xC3, 0xC9, 0xC9, 0x81, 0xCF, 0xCF}, //數字4
{0x81, 0xC1, 0xF9, 0xC3, 0x87, 0x9D, 0x81, 0xC3}, //數字5
{0xC3, 0x81, 0xF9, 0xC1, 0x81, 0x99, 0x81, 0xC3}, //數字6
{0x81, 0x81, 0x9F, 0xCF, 0xCF, 0xE7, 0xE7, 0xE7}, //數字7
{0xC3, 0x81, 0x99, 0xC3, 0xC3, 0x99, 0x81, 0xC3}, //數字8
{0xC3, 0x81, 0x99, 0x81, 0x83, 0x9F, 0x83, 0xC1}, //數字9
{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, //全亮
};

void main()
{
EA = 1; //使能總中斷
ENLED = 0; //使能U4,選擇LED點陣
ADDR3 = 0;
TMOD = 0x01; //設置T0為模式1
TH0 = 0xFC; //為T0賦初值0xFC67,定時1ms
TL0 = 0x67;
ET0 = 1; //使能T0中斷
TR0 = 1; //啟動T0
while (1);
}
/* 定時器0中斷服務函數 */
void InterruptTimer0() interrupt 1
{
static unsigned char i = 0; //動態掃描的索引
static unsigned int tmr = 0; //1s軟體定時器
static unsigned char index = 9; //圖片刷新索引

TH0 = 0xFC; //重新載入初值
TL0 = 0x67;
//以下代碼完成LED點陣動態掃描刷新
P0 = 0xFF; //顯示消隱
switch (i)
{
case 0: ADDR2=0; ADDR1=0; ADDR0=0; i++; P0=image[index][0]; break;
case 1: ADDR2=0; ADDR1=0; ADDR0=1; i++; P0=image[index][1]; break;
case 2: ADDR2=0; ADDR1=1; ADDR0=0; i++; P0=image[index][2]; break;
case 3: ADDR2=0; ADDR1=1; ADDR0=1; i++; P0=image[index][3]; break;
case 4: ADDR2=1; ADDR1=0; ADDR0=0; i++; P0=image[index][4]; break;
case 5: ADDR2=1; ADDR1=0; ADDR0=1; i++; P0=image[index][5]; break;
case 6: ADDR2=1; ADDR1=1; ADDR0=0; i++; P0=image[index][6]; break;
case 7: ADDR2=1; ADDR1=1; ADDR0=1; i=0; P0=image[index][7]; break;
default: break;
}
//以下代碼完成每秒改變一幀圖像
tmr++;
if (tmr >= 1000) //達到1000ms時改變一次圖片索引
{
tmr = 0;
if (index == 0) //圖片索引10~0循環
index = 10;
else
index--;
}
}

2. 單片機控制的LED點陣顯示的字型檔如何製作

我以前做的是使用ucdos下的點陣字型檔,16*16點陣的,包含GB2312的全部漢字,大約260多KB。如果去掉部分不常用的符號,可以縮小到256K。單片機顯示的時候,可以根據漢字內碼計算出漢字在點陣里的位置,然後讀出,顯示。
對了,那個文件名叫HZK16,你在網上應該能收到。

可以用任何ROM晶元來存儲,如果你的單片機引腳不夠,可以用串列EEPROM,有不少是256KB的。

閱讀全文

與單片機led漢字相關的資料

熱點內容
如何用html5開發app 瀏覽:135
怎麼隱藏蘋果的app 瀏覽:320
上海捷豹空氣壓縮機 瀏覽:451
51單片機換行 瀏覽:733
哪裡可以快速學看建築圖紙app 瀏覽:496
內部排序的演算法比較 瀏覽:177
伺服器如何定期執行指令 瀏覽:931
python下載python腳本 瀏覽:297
台達plc遠程編程 瀏覽:263
雲計算的後台伺服器 瀏覽:589
windows7的我的電腦咋創建文件夾 瀏覽:492
去視頻水印的app哪個好用 瀏覽:384
doc轉為pdf 瀏覽:48
華為加密壁紙怎麼提取 瀏覽:52
曲線命令的描述 瀏覽:454
php模板怎麼修改 瀏覽:999
單片機和微機編程的區別 瀏覽:642
金牛期貨哪個app好 瀏覽:803
程序員越老越貶值嗎 瀏覽:211
安卓手機用計算機如何隱藏應用 瀏覽:459