SOGO論壇

標題: 16X16點矩陣 Keil uVision4 [列印本頁]

作者: zaq1234    時間: 2013-3-17 22:55:18     標題: 16X16點矩陣 Keil uVision4

誰會用Keil uVision4寫 16X16字幕 的程式
可以教一下嗎?

作者: if8051    時間: 2013-3-20 07:30:44

ATMEL AT89S52 有 32 個 I/O ,要設計成 16*16 LED display ,可不簡單!
32 個 I/O 可要全部都要使用上了,硬體做好了嗎?若是已經做好了,可以帶來台
南市 (我家) 可以幫您試試看!
最好是自己動手試試,累積撰寫程式的經驗!
作者: zaq1234    時間: 2013-3-20 23:05:19

如果可以的話 麻煩寫個樣品給我閱讀看看
顯示畫面文字我再自行編改

附件: 3123.JPG (2013-3-20 23:03:47, 200.68 KB) / 下載次數 34
https://oursogo.com/forum.php?mod=attachment&aid=NDk3OTUyNHxkYmMzYTI5ZnwxNzMzMDUxNTI4fDB8MA%3D%3D
作者: zaq1234    時間: 2013-3-21 22:35:25

#include <reg51.h>
int da1[8]={0xf3,0xf3,0xf3,0xf3,0xe3,0xff,0xff,0xff};
int da2[8]={0x8f,0x87,0xe3,0xf3,0xe3,0xff,0xff,0xff};
int da3[8]={0x07,0x83,0xf3,0x90,0x00,0x00,0x90,0xf3};
int da4[8]={0xff,0xff,0xff,0x80,0x00,0x3e,0x3f,0x3f};
sbit ul=P3^6;
sbit dl=P3^7;
delay(int d)
{
int i,j;
for (i=0;i<d;i++)
for (j=0;j<6;j++);
}
dptr()
{
int i,i2;
for (i=15;i>-1;i--)
{ P3=0xff;
P0=i;
if (i<8)
{ ul=1;dl=0;
delay(3);
P2=da1[7-i];
ul=0;dl=1;
delay(3);
P2=da2[7-i];
ul=0;dl=0;
}
else
{
ul=1;dl=0;
delay(3);
P2=da3[15-i];
ul=0;dl=1;
delay(3);
P2=da4[15-i];
ul=0;dl=0;
}
delay(10);
}
}
main()
{
while(1)
{
dptr();
}
}

=======
Program Size: data=75.0 xdata=0 code=397
creating hex file from "222"...
"222" - 0 Error(s), 3 Warning(s). 問題我看不懂 可以幫忙嗎
作者: hola0183    時間: 2013-3-24 02:33:32

你要先知道 74LS154、74LS373 怎麼使用的。

Delay() 是為了延遲掃描線,d x 6 圈的 cycle,這部分實際延遲多久要看你 IC 指令周期來算。

P00~P03 (共4Bits) 是你打燈的掃描線,因為是 4bits 所以可以表示數字 0~15。

從線路來看,是直接把值丟給 74LS154 讓它去控制哪一顆電晶體要打開。

從程式來看你的掃描線就是 dptr() 副程式中的變數 i ,每次 i 都從 15→14→13→…→0 這樣跑。

P0=i;     每次 i 都丟給 P00~P03 (也就是丟0~15)。

但是 P04 腳位的改變,對 74LS154 的 G2 腳有啥作用,你要看一下。

每換一條掃描線時延遲 "delay(10);" 時間。

if (i<8)  是區分現在要把資料丟   左半邊  還是  右半邊  的矩陣。

P2 就是控制顯示什麼字樣,每次丟 P2 前,只會丟給一顆 74LS373(兩顆 74LS373 分別控制上面8顆燈、下面8顆燈)。

所以用 P36、P37 控制 74LS373 的 LE 腳,Latch Enable (Active HIGH) Input。

至於送什麼資料出來,這部分你就自己推演一下 For 迴圈吧。
作者: hola0183    時間: 2013-3-24 02:37:59

補充一下,關於 P04 腳位,你目前程式碼中,並不會改變到 P04。

因為每次 i 都從 15→14→13→…→0 這樣循環,不會超過 15。

只是一直給它 0 會怎麼樣你要了解一下。




歡迎光臨 SOGO論壇 (https://oursogo.com/) Powered by OURSOGO.COM