6個(gè)16*16的點(diǎn)陣 顯示6個(gè)漢字 仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
51hei.png (30.61 KB, 下載次數(shù): 63)
下載附件
2021-7-6 14:52 上傳
單片機(jī)源程序如下:
- #include<AT89X52.H>
- sbit ST=P3^5;
- sbit E1=P3^4;
- sbit MR=P3^7;
- char cashe[12];
- char code wd[12][16]={
- {0xFF,0xC0,0xFE,0xFE,0xFE,0xFE,0x80,0xFE,0xFD,0xFD,0xFB,0xF7,0xEF,0xDF,0x3F,0xFF},
- {0xFF,0x03,0xFF,0xFF,0xFF,0xFF,0x01,0x7F,0x7F,0x7F,0x7F,0x7F,0x7D,0x7D,0x81,0xFF},/*"無(wú)",0*/
- /* (16 X 16 , 宋體 )*/
- {0xDF,0xDF,0xDF,0xCF,0x57,0x58,0x5F,0xDF,0xDE,0xDE,0xDE,0xDD,0xDD,0xDB,0xDB,0xD7},
- {0x7F,0x6F,0x73,0x77,0x7F,0x01,0x5F,0x5F,0xDF,0xDF,0xDF,0xDF,0xDD,0xDD,0xE1,0xFF},/*"憂",1*/
- /* (16 X 16 , 宋體 )*/
- {0xFE,0xFE,0xFE,0xC0,0xDE,0xDE,0xC0,0xDE,0xDE,0xDE,0xC0,0xDE,0xFE,0xFE,0xFF,0xFF},
- {0xFF,0xFF,0xFF,0x07,0xF7,0xF7,0x07,0xF7,0xF7,0xF7,0x07,0xF7,0xFD,0xFD,0x01,0xFF},/*"電",2*/
- /* (16 X 16 , 宋體 )*/
- {0xFF,0xC0,0xFF,0xFF,0xFF,0xFE,0xFE,0xFE,0x00,0xFE,0xFE,0xFE,0xFE,0xFE,0xFA,0xFD},
- {0xFF,0x0F,0xDF,0xBF,0x7F,0xFF,0xFF,0xFB,0x01,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},/*"子",3*/
- /* (16 X 16 , 宋體 )*/
- {0xFF,0x83,0xBB,0xAB,0xAA,0xAA,0xA9,0xAB,0xAB,0xAA,0xEE,0xD7,0xDB,0xBB,0x7F,0xFF},
- {0x7F,0x3F,0x7F,0x01,0xFD,0xFD,0xBD,0xBD,0x5D,0xED,0x05,0xED,0xFD,0xFD,0xEB,0xF7},/*"購(gòu)",4*/
- /* (16 X 16 , 宋體 )*/
- {0xEF,0xEF,0xAF,0xAE,0x82,0xAD,0x6B,0xEB,0xE6,0xCD,0x2B,0xEF,0xEE,0xED,0xEB,0xFF},
- {0x7F,0x7F,0x7F,0x03,0xAB,0xAB,0x6B,0x6B,0xDB,0xDB,0xBB,0x7B,0xFB,0xFB,0xD7,0xEF},/*"物",5*/
- /* (16 X 16 , 宋體 )*/
- };
- void del(int i)//============================//延時(shí)程序
- {while(i--);}
- aline() ////=======================發(fā)送一行的顯示程序
- {
- char i=0;
- TI=0;
- for(i=0;i<12;i++)
- {SBUF=cashe[i];while(~TI);TI=0;} //將緩存中的信息轉(zhuǎn)存入595的存儲(chǔ)器中,到此不顯示
- }
- main()
- {
- int m=0,n=0;
- TI=0;
- SM0=0;
- SM1=0;
- E1=0;
- while(1)
- for(m=0;m<16;m++) //共有16行 循環(huán)16次顯示這16行 串行的595送出行的數(shù)據(jù)
- { //由74hc154選中要顯示的行
- for(n=0;n<12;n++) //這個(gè)for循環(huán)用來(lái)向緩存數(shù)組中裝載要顯示的內(nèi)容
- {cashe[11-n]=wd[n][m];} //將第m個(gè)字的第n行信息裝載 ,因?yàn)?95串接 數(shù)據(jù)第一個(gè)進(jìn)去的會(huì)在最后一個(gè)595中,最后進(jìn)去的會(huì)在第一個(gè)595中
- aline(); //將緩存中的一行信息載入595緩存中
- ST=0;ST=1; //595產(chǎn)生上升沿 輸出595鎖存的數(shù)據(jù)
- P2=m; //選中要顯示的行輸出數(shù)據(jù)
-
- del(100);//延時(shí)一段時(shí)間,以造成視覺暫存效應(yīng)
- }
- }
復(fù)制代碼
所有資料51hei提供下載:
四字點(diǎn)陣屏.rar
(837.39 KB, 下載次數(shù): 35)
2021-7-6 08:48 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|