欧美日韩一区三区,亚洲精选一区二区,中文av一区二区,欧美精品久久一区二区

LED顯示屏
【LED大屏網行業門戶網站】 服務熱線:400-6787-360 |投稿郵箱 |會員登錄 |免費注冊 |設為首頁 |加入收藏 |RSS |客戶服務
LED顯示屏
當前位置:LED大屏網 > 行業新聞 > > LED點陣顯示程序(帶漢字移動)
LED點陣顯示程序(帶漢字移動)
編輯:新雨 [ 2011-2-22 8:50:43 ] 文章來源:LED大屏網
#include
unsigned int zimo,xx=0; //zimo是字模計數器,xx為分屏顯示的時候的字數。
unsigned char yid,h; //yid為移動計數器,h為行段計數器
unsigned char code hanzi[]; //漢字字模
unsigned char BUFF[18],BUFF2[18]; //左移顯示的緩存
void qing(void); void xianshi(void);
void fen(void); void zuo(void);
void in_data(void); //調整數據
void rxd_data(void); //左移發送數據
void out_rxd(unsigned char *d); //分屏、上移發送數據
char code sw[]={0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x00}; /*8行段碼*/
/***********主程序******************/
void main(void)
{ unsigned char ee;
SCON=01=0;yid=0;zimo=0;
while(1)
{ fen(); //分屏顯示
for(ee=30;ee>0;ee--)//清屏幕3秒
{qing();}
zuo(); //左移顯示
for(ee=30;ee>0;ee--)
{qing();}
}
}
/**********清屏幕*******************/
void qing (void)
{ unsigned char zz,xx=0x0ff;
for (zz=33;zz>0;zz--)
{out_rxd(&xx);}
P1=0xff; P1=0; //鎖存為高,74HC595鎖存信號
P2=0; //清74LS138的使能端
}
/**********分屏顯示***********/
void fen(void)
{ do{ xianshi(); }while(xx++<=5); //調用單屏顯示
xx=0;
}
/************單屏顯示*************/
void xianshi(void)
{ unsigned char ii,jj;
unsigned int kk,aa;
for (kk=500;kk>0;kk--) //每屏顯示500次
{for(ii=1;ii<16;ii+=2) //每個漢字分8行掃描
{ for (jj=0;jj<8;jj++) //每次要發送8個漢字的2個字節,發送8次
{ aa=(xx*8+jj)*32+ii;
out_rxd(&hanzi[aa]); //從串口輸出第1個字的第1字節。
out_rxd(&hanzi[aa-1]); //從串口輸出第1個字的第1字節。
}
for (jj=0;jj<8;jj++) //每次要發送8個漢字的2個字節,發送8次
{ aa=(xx*8+jj)*32+ii;
out_rxd(&hanzi[aa+16]); //從串口輸出第1個字的第17字節。
out_rxd(&hanzi[aa+15]); //從串口輸出第1個字的第18字節
}
P2=0x0ff;
P1=0xff; P1=0; //鎖存為高,74HC595鎖存信號
P2=sw[h]; //輸出行信號
h++; //行加一
if(h==8)h=0;
}
}
}
/***************左移顯示************/
void zuo(void)
{ unsigned char i,d=5; //d為移動的時候一個漢字的掃描顯示次數
xianshi(); //調用單屏顯示
while(zimo<=1450)
{while(yid<16) //數據移位。
{for(i=0;i {for(h=0;h<8;h++) //8行掃描
{ in_data(); //調整數據
rxd_data(); //串口發送數據
P2=sw[h]; //送段碼
P1=0xff; //鎖存為高,595鎖存信號
P1=0;
}
}
yid++; //移動一步
}
yid=0;zimo=zimo+32; //后移一個字,
}
zimo=0;
}
/*************分屏顯示的數據發送************/
void out_rxd(unsigned char *d) /*從串口發送數據*/
{ SBUF=*d; while(!TI); //等待發送完畢
TI=0;
}
/*******左移顯示讀取數據 并調整**************/
void in_data(void)
{ char s,w; unsigned int qqq;
for(s=8;s>=0;s--)
{ w=s+s;
qqq=zimo+h+h+s*32;
BUFF[w+1]=hanzi[qqq];
BUFF[w]=hanzi[qqq+1];
BUFF2[w+1]=hanzi[qqq+16];
BUFF2[w]=hanzi[qqq+17];
}
}
/**********左移顯示的數據調整發送***************/
void rxd_data(void) //串行發送數據
{unsigned char inc,s,tempyid,temp;
if(yid<8) inc=0;
else inc=1;
for(s=0+inc;s<16+inc;s++) //發送數據
{ if(yid<8) tempyid=yid;
else tempyid=yid-8;
temp=(BUFF[s]>>tempyid)|(BUFF[s+1]<<(8-tempyid));
SBUF=temp; //把BUFF中的字節從大到小移位相或后發送輸出。
while(!TI);TI=0; //等待發送中斷
}
for(s=0+inc;s<16+inc;s++) //發送8字節數據
{ if(yid<8) tempyid=yid;
else tempyid=yid-8;
temp=(BUFF2[s]>>tempyid)|(BUFF2[s+1]<<(8-tempyid));
SBUF=temp; //把BUFF中的字節從大到小移位相或后發送輸出。
while(!TI);TI=0; //等待發送中斷
}
}

LED顯示屏
編輯推薦
圖片新聞
  • 慶祝委內瑞拉關塔戶外廣告led顯示屏PH16項目順利完成
  • 多彩視界,龍騰鳳舞
  • LED大屏網隸屬公司中投網絡被評為深圳市“2010年優秀互聯網企業”
  • CREATOR快捷LED顯示屏精彩演繹亞運會信息發布網點
  • 亞運閉幕式 聯騰LED船帆屏續寫輝煌
新聞搜索
LED顯示屏
網媒聚焦
導航:單基色LED顯示屏 | 雙基色LED顯示屏 | LED條屏 | 全彩LED顯示屏 | 室內LED顯示屏 | LED廣告屏 | 室外LED顯示屏 | LED電子顯示屏 | LED幕墻 | LED顯示屏出租 | LED驅動
設為首頁 | 網站建設 | 商務信息 | LED顯示屏資訊 | 本站動態 | 關于LED大屏網 | 網站RSS | 網站地圖 | 友情鏈接
本站實名:LED大屏網 | LED大屏幕 | LED顯示屏 | 國際域名:www.saemoetchemins.com
版權所有© 2004-2011 深圳中投網絡信息技術有限公司 
郵箱:LED-100@3v.cn 客服QQ:點擊這里給我發消息 電話:+86-755-33019199(十二線) 傳真:+86-755-33010910
主站蜘蛛池模板: 扎囊县| 潼关县| 大姚县| 东城区| 淮南市| 罗江县| 昆山市| 浮山县| 大足县| 眉山市| 涿鹿县| 彭州市| 德兴市| 临桂县| 尼勒克县| 温宿县| 广河县| 旅游| 桑日县| 托克逊县| 泗阳县| 沈阳市| 红河县| 霍林郭勒市| 牡丹江市| 东阳市| 安庆市| 新建县| 巴南区| 稷山县| 中西区| 昌黎县| 牡丹江市| 克什克腾旗| 固阳县| 农安县| 阳高县| 灵台县| 扬中市| 米泉市| 托克逊县|