新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 最后算是搞定12232单片机驱动了

最后算是搞定12232单片机驱动了

作者: 时间:2016-11-29 来源:网络 收藏
BYTE Read_Status(BOOL right){BYTE tData;DATA=0xff;LCD_WR=1;LCD_RD=0;A0=0;if(right){E1=0;}else{E2=0;}tData=DATA;if(right){E1=1;}else{E2=1;}LCD_RD=1;A0=1;return tData;}void LCD_Write(BOOL right,BOOL disp,BYTE Data){//模拟8080/*BYTE rTemp=0xff;while(rTemp & 0x7F){rTemp=Read_Status(right);}*/if(right){E1=0;}else{E2=0;}A0=disp;//disp=1数据,disp=0显示DATA=Data;LCD_RD=1;LCD_WR=0;__asmNOPNOPNOPNOP__endasm;LCD_WR=1;if(right){E1=1;}else{E2=1;}__asmNOPNOPNOPNOPNOPNOPNOPNOPNOPNOP__endasm;}BYTE LCD_Read(BOOL right){//模拟8080BYTE tData;if(right){E1=0;}else{E2=0;}DATA=0xFF;LCD_WR=1;LCD_RD=0;tData=DATA;LCD_RD=1;if(right){E1=1;}else{E2=1;}return tData;}void SetPage(BYTE page0,BYTE page1){LCD_Write(0,0,0xB8|page1);LCD_Write(1,0,0xB8|page0);}void SetAddress(BYTE address0,BYTE address1){LCD_Write(0,0,address1);LCD_Write(1,0,address0);}void LCD_Cls(BYTE FILL){BYTE i;BYTE page;for (page=0;page<4;page++){SetPage(page,page);SetAddress(0,0);for (i=0;i<61;i++){Both_Write_Data(FILL);}}}void Init_LCD(){RESET=1;RESET=0;//8080时序#ifdef DEBUGprintf("Status(Chip1):0x%X",Read_Status(0));printf("Status(Chip2):0x%X",Read_Status(1));#endifBoth_Write_Cmd(LCD_RESET);//软复位#ifdef DEBUGprintf("Status(Chip1):0x%X",Read_Status(0));printf("Status(Chip2):0x%X",Read_Status(1));#endifBoth_Write_Cmd(LCD_PS_OFF);//正常驱动Both_Write_Cmd(LCD_DISPLAY_ON);//开显示Both_Write_Cmd(LCD_DUTY16);//16%占空比#ifdef DEBUGprintf("Status(Chip1):0x%X",Read_Status(0));printf("Status(Chip2):0x%X",Read_Status(1));#endif}/** CODE: A0 /RD /WR D7 D6 D5 D4 D3 D2 D1 D0L L H BUSY ADC ON/OFF RESET LLLL*/void Draw8(BOOL right,BYTE Asc){BYTE i;for(i=0;i<8;i++){LCD_Write(right,1,ASCII[Asc-32][i]);}}void DrawASCIIStr(BOOL right,BYTE *str){while(*str!=){Draw8(right,*str);str++;}}void main(){ BYTE i,j;Init_Timer();//启动定时器#ifdef DEBUGprintf("System started.");#endifInit_LCD();LCD_Cls(0x00);//清屏SetPage(0,0);SetAddress(0,0);for(j=0;j<4;j++){for(i=0;i<16;i++){LCD_Write(0,1,HZ[j][i]);}}SetPage(1,1);SetAddress(0,0);for(j=0;j<4;j++){ for(i=16;i<32;i++){LCD_Write(0,1,HZ[j][i]);}}//显示“驱动编写”SetPage(0,0);SetAddress(0,0);DrawASCIIStr(1,"BY");//显示BYfor(j=4;j<7;j++){for(i=0;i<16;i++){LCD_Write(1,1,HZ[j][i]);}}SetPage(1,1);SetAddress(16,16);for(j=4;j<7;j++){ for(i=16;i<32;i++){LCD_Write(1,1,HZ[j][i]);}}//显示“万致远”while(1){//LCD_Cls(0xff);//Delay_ms(100);//LCD_Cls(0xAA);//Delay_ms(100);//LCD_Cls(0x55);//Delay_ms(100);}}
上一页 1 2 3 下一页

关键词: 12232单片机驱

评论


技术专区

关闭