電路原理圖如下:
%R27{V(H}X9@N251hei))~I_ZR.png (44.4 KB, 下載次數(shù): 81)
下載附件
2020-12-5 12:50 上傳
{0(]QEB1389GP4`I_Q7IOKJ.png (298.88 KB, 下載次數(shù): 85)
下載附件
2020-12-5 12:50 上傳
單片機源程序如下:
bit BIT_timeout=0;
void int0() interrupt 0 //使用外部中斷0
{
BIT_timeout=1; //起點標志位
}
/*****************************************/
void Shift_data(unsigned char temp) /*發(fā)送數(shù)據(jù)*/
{
unsigned char k;
for(k=0;k<8;k++)//一個字節(jié)8位 發(fā)送給595
{
DATA_595=(bit)(temp&0x01);//通過IO口送一個位給 595
temp=temp>>1; //字節(jié)移位 準備送下一位
CLK_595=1;
CLK_595=0;
}
}
/*********延時子程序**********/
unsigned char DelayUs(unsigned char N)
{
unsigned char x ;
for(x=0;x<=N;x++)
{
if(BIT_timeout)
return 1;
}
return 0;
}
unsigned int i=0,j=0;
unsigned char Data_L=0xff;
unsigned char Data_H=0xff;
unsigned char time_delay=0;
unsigned char k;
#define ucNumRows 176 //定義一周顯示字個數(shù)
void main_loop(void)
{
if(BIT_timeout) //起點判斷
{
BIT_timeout=0; //清零
j++;
if(j>(uiFontNumber-ucNumRows))
j = 0;
for(i=j;i<(ucNumRows+j);i++) //立體顯示176列 數(shù)據(jù) 176/16=11個字
{
Data_L=IapReadByte(i*2+2); //緩沖數(shù)據(jù)低位
Data_H=IapReadByte(i*2+3);//緩沖數(shù)據(jù)高位
Shift_data(Data_L); //送數(shù)據(jù)低位顯示
Shift_data(Data_H);//送數(shù)據(jù)高位顯示
CLK_595=1;
CLK_595=0;
OE_595=0;
if(DelayUs(35))//延時值 可以改變字體的寬度 值越大 字體越寬
{
OE_595=1;
return;
}
OE_595=1;
}
}
}
void main(void)
{
init();
while(1)
{
main_loop();
}
}
全部資料51hei下載地址:
上位機改字軟件.7z
(177.86 KB, 下載次數(shù): 7)
2020-12-5 13:02 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
平面旋轉(zhuǎn)程序(STC11L02E).zip
(265.7 KB, 下載次數(shù): 7)
2020-12-5 12:56 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|