//* 低電位掃描 低電位驅動
//*/
#include <reg52.h>
#define Rol P0
#define Col P1
char disp_buf[8];
code char ptm[]={0x00,0x3C,0x42,0x81,0x81,0x42,0x3C,0x00, // 0
0x00,0x80,0x82,0xFF,0xFF,0x80,0x80,0x00, //1
0x00,0xE6,0xA3,0x91,0x89,0x87,0x83,0x00,}; //2
// 延時
void delayms()
{int i;
for(i=0;i<120;i++);
}
// LED 驅動模組
void Drv_led(char i)
{
Rol =0xff; //關閉led (消除殘影)
Col = ~(0x01 <<i); // 低位掃描
Rol = ~(disp_buf[i]);//低位點亮
}
main()
{
char i,j,m;
for(j=0;j<3;j++) //顯示3個圖形
{ for(i=0;i<8;i++) //載入圖形
disp_buf[i]= ptm[j*8 +i];
for(m=0;m<100;m++) //一個圖形顯示時間長短
{
for(i=0;i<8;i++) //顯示一個完整圖形
{
Drv_led(i); //驅動led
delayms();//延時增加led 顯示亮度
}
}
}
}
//要顯示其他字型 要自行修改 |