1、STM32液晶屏驱动程序附录2整个设计全部源程序:/*以下是32x64点阵LED电子显示屏的源程序,采用C语言编写,在Keil VisionV2.38a(C51.Exe V7.06)以及MedWin3.0版环境下均测试通过。*/#include unsigned int zimo,xx=0; /zimo是字模计数器,xx为分屏显示的时候的字数。unsigned char yid,h; /yid为移动计数器,h为行段计数器unsigned char code hanzi; /汉字字模unsigned char BUFF18,BUFF218; /左移显示的缓存void qing(void); vo
2、id 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=0;P1=0;yid=0;zimo=0; while(1) fen(); /分屏显示 for(ee=
3、30;ee0;ee-)/清屏幕3秒 qing(); zuo(); /左移显示 for(ee=30;ee0;ee-) qing(); /*清屏幕*/void qing (void) unsigned char zz,xx=0x0ff; for (zz=33;zz0;zz-) out_rxd(&xx); P1=0xff; P1=0; /锁存为高,74HC595锁存信号 P2=0; /清74LS138的使能端 /*分屏显示*/void fen(void) do xianshi(); while(xx+0;kk-) /每屏显示500次 for(ii=1;ii16;ii+=2) /每个汉字分8行扫描 f
4、or (jj=0;jj8;jj+) /每次要发送8个汉字的2个字节,发送8次 aa=(xx*8+jj)*32+ii; out_rxd(&hanziaa); /从串口输出第1个字的第1字节。 out_rxd(&hanziaa-1); /从串口输出第1个字的第1字节。 for (jj=0;jj8;jj+) /每次要发送8个汉字的2个字节,发送8次 aa=(xx*8+jj)*32+ii; out_rxd(&hanziaa+16); /从串口输出第1个字的第17字节。 out_rxd(&hanziaa+15); /从串口输出第1个字的第18字节 P2=0x0ff; P1=0xff; P1=0; /锁存
5、为高,74HC595锁存信号 P2=swh; /输出行信号 h+; /行加一 if(h=8)h=0; /*左移显示*/void zuo(void) unsigned char i,d=5; /d为移动的时候一个汉字的扫描显示次数 xianshi(); /调用单屏显示 while(zimo=1450) while(yid16) /数据移位。 for(i=0;id;i+) /移动速度 for(h=0;h=0;s-) w=s+s; qqq=zimo+h+h+s*32; BUFFw+1=hanziqqq; BUFFw=hanziqqq+1; BUFF2w+1=hanziqqq+16; BUFF2w=h
6、anziqqq+17; /*左移显示的数据调整发送*/void rxd_data(void) /串行发送数据unsigned char inc,s,tempyid,temp;if(yid8) inc=0;else inc=1;for(s=0+inc;s16+inc;s+) /发送数据 if(yidtempyid)|(BUFFs+1(8-tempyid); SBUF=temp; /把BUFF中的字节从大到小移位相或后发送输出。 while(!TI);TI=0; /等待发送中断 for(s=0+inc;s16+inc;s+) /发送8字节数据 if(yidtempyid)|(BUFF2s+1ODR=(GPIOB-ODR&0x807F)|(x & 0x00FF)7) /PE714,作为数据线#define LCD_PAGE_ADDR 0xb8#define LCD_COL_ADDR 0x40 void LCDPortSet(void); /LCD IO口配置void LcdInit(void); /初始化程序void LcdClear(void); /清屏程序 void WriteChr16x16(u8 pag,u8 col, u8 *chr); /写一个汉字 #endif/*lc
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1