當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀] #include tZqy \\_G unsigned int zimo,xx=0; //zimo是字模計(jì)數(shù)器,xx為分屏顯示的時(shí)候的字?jǐn)?shù)。 /.0;ee--) {#o0vWS> {qing();} pSC\\[%K } qM/\\, } Q 2mTu[tx /**********清屏幕*********

#include tZqy _G
unsigned int zimo,xx=0; //zimo是字模計(jì)數(shù)器,xx為分屏顯示的時(shí)候的字?jǐn)?shù)。 /.<2I
unsigned char yid,h; //yid為移動(dòng)計(jì)數(shù)器,h為行段計(jì)數(shù)器 t182&gpd`

unsigned char code hanzi[]; //漢字字模 Jrm 9,7/
unsigned char BUFF[18],BUFF2[18]; //左移顯示的緩存 jk-e/C
void qing(void); void xianshi(void); p`}'-A|@
void fen(void); void zuo(void); 6im!v<1Qx
void in_data(void); //調(diào)整數(shù)據(jù) 568qdD`PS
void rxd_data(void); //左移發(fā)送數(shù)據(jù) [mJmT->
void out_rxd(unsigned char *d); //分屏、上移發(fā)送數(shù)據(jù) ^;=L|{Xl
char code sw[]={0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x00}; /*8行段碼*/ E3==gYCe*
/***********主程序******************/ .,$void main(void) g&oAa;~o
{ unsigned char ee; 1YxG SCON=0;P1=0;yid=0;zimo=0; BJ,9C.|
while(1) eG05}
{ fen(); //分屏顯示 +dgHl_,i
for(ee=30;ee>0;ee--)//清屏幕3秒 swGp{wJ
{qing();} IqW4Q1>f
zuo(); //左移顯示 ! O~:
for(ee=30;ee>0;ee--) {#o0vWS>
{qing();} pSC[%K
} qM/,
} Q 2mTu[tx
/**********清屏幕*******************/ }8e_
void qing (void) F).7%YfY
{ unsigned char zz,xx=0x0ff; rY,zZR+@
for (zz=33;zz>0;zz--)  gmW-#.
{out_rxd(&xx);} hC D6
P1=0xff; P1=0; //鎖存為高,74HC595鎖存信號(hào) ZR8%h<
P2=0; //清74LS138的使能端 Q*54!^l+_r
} Xf%vfAf
/**********分屏顯示***********/ s/<;g:u^
void fen(void) UpSa7F:Uw
{ do{ xianshi(); }while(xx++<=5); //調(diào)用單屏顯示 me YSW
xx=0; }Dx5W9Ri"
} $[U:Dk}
/************單屏顯示*************/ Aj{G=AT
void xianshi(void) sp7#e%R
{ unsigned char ii,jj; unsigned int kk,aa; /}Ct2w& for (kk=500;kk>0;kk--) //每屏顯示500次 Z5`U+ (
{for(ii=1;ii<16;ii+=2) //每個(gè)漢字分8行掃描 ZK`x(h{p)
{for (jj=0;jj<8;jj++) //每次要發(fā)送8個(gè)漢字的2個(gè)字節(jié),發(fā)送8次 iUq{c+h
{ aa=(xx*8+jj)*32+ii; rU_FRk
out_rxd(&hanzi[aa]); //從串口輸出第1個(gè)字的第1字節(jié)。 M5`wfF,j
out_rxd(&hanzi[aa-1]); //從串口輸出第1個(gè)字的第1字節(jié)。 fO}Y$yq
} 2$O6%0
for (jj=0;jj<8;jj++) //每次要發(fā)送8個(gè)漢字的2個(gè)字節(jié),發(fā)送8次 xz){RkVzP
{ aa=(xx*8+jj)*32+ii; gx=2]~O1(
out_rxd(&hanzi[aa+16]); //從串口輸出第1個(gè)字的第17字節(jié)。 "FXT8Qxg
out_rxd(&hanzi[aa+15]); //從串口輸出第1個(gè)字的第18字節(jié) p2j=73$
} B'KZ >jO
P2=0x0ff; NplkhgSj
P1=0xff; P1=0; //鎖存為高,74HC595鎖存信號(hào) |^t8ct?x~
P2=sw[h]; //輸出行信號(hào) T^.W'
h++; //行加一 WHv xBd
if(h==8)h=0; I~NQt^sg
} 7A6+[ `fa
} ~U_,z)<`)c
} ee{8C~
/***************左移顯示************/ x@480r
void zuo(void) m?H < o0
{ unsigned char i,d=5; //d為移動(dòng)的時(shí)候一個(gè)漢字的掃描顯示次數(shù) >s+*D=k
xianshi(); //調(diào)用單屏顯示 -% Z?rn2
while(zimo<=1450) C"!k`i=Lj
{while(yid<16) //數(shù)據(jù)移位。 enJgk(
{for(i=0;i {for(h=0;h<8;h++) //8行掃描 ~i y]X:U
{ in_data(); //調(diào)整數(shù)據(jù) Z&E!m 
rxd_data(); //串口發(fā)送數(shù)據(jù) 6@[7
P2=sw[h]; //送段碼 -*T<^G;rK
P1=0xff; //鎖存為高,595鎖存信號(hào) mjtmN0^SR
P1=0; yhpeP
} !ENDQ?1
} QwSYjR:K
yid++; //移動(dòng)一步 :|tWKA
} RU_wr<
yid=0;zimo=zimo+32; //后移一個(gè)字, v?=y9lEH@%
} y9xvGr[l
zimo=0; cFP9b8JG
} 'C2X9/!,
/*************分屏顯示的數(shù)據(jù)發(fā)送************/ QK`5KB(k'
void out_rxd(unsigned char *d) /*從串口發(fā)送數(shù)據(jù)*/ QvoL
{ SBUF=*d; while(!TI); //等待發(fā)送完畢 ^kO+NH40
TI=0; w5+H9R6
} NZoNsNu*C.
/*******左移顯示讀取數(shù)據(jù) 并調(diào)整**************/ 0;Oe&Y
void in_data(void) Oo0SDWI`(
{ char s,w; unsigned int qqq; YT`,f*t
for(s=8;s>=0;s--)QIPV'T,S
{ w=s+s; n "bii7h
qqq=zimo+h+h+s*32; 2Onp{,'}
BUFF[w+1]=hanzi[qqq]; .0Kc|b=w
BUFF[w]=hanzi[qqq+1]; @PT([1C
BUFF2[w+1]=hanzi[qqq+16]; $ BUFF2[w]=hanzi[qqq+17]; Obf RwZh?q
} ]9N&I/-
} RH.qbPjx
/**********左移顯示的數(shù)據(jù)調(diào)整發(fā)送***************/ '451H3LC0
void rxd_data(void) //串行發(fā)送數(shù)據(jù) ]"&](e6*
{unsigned char inc,s,tempyid,temp; YF)]B|I
if(yid<8) inc=0; v[+
else inc=1; Mf2F LrAh
for(s=0+inc;s<16+inc;s++) //發(fā)送數(shù)據(jù) n)~*BpL3
{ if(yid<8) tempyid=yid; ae2Q^yLA
else tempyid=yid-8; ?=ffv]v|
temp=(BUFF[s]>>tempyid)|(BUFF[s+1]<<(8-tempyid)); j*5IRzK1%0
SBUF=temp; //把BUFF中的字節(jié)從大到小移位相或后發(fā)送輸出。 sO` oapy
while(!TI);TI=0; //等待發(fā)送中斷 hJ$9Hb
} i84!x%|P
for(s=0+inc;s<16+inc;s++) //發(fā)送8字節(jié)數(shù)據(jù) R0}1:1}$Sn
{ if(yid<8) tempyid=yid; VJ=>2'I
else tempyid=yid-8;  ]'`E
temp=(BUFF2[s]>>tempyid)|(BUFF2[s+1]<<(8-tempyid)); c7jmzo
SBUF=temp; //把BUFF中的字節(jié)從大到小移位相或后發(fā)送輸出。 "~5cz0 H3v
while(!TI);TI=0; //等待發(fā)送中斷 ~x^y5[5{
} =nGFLH6)
} >I|8yqbFM
unsigned char code hanzi[]={/*自己的漢字編碼請(qǐng)放在這里*/};

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉