#include <reg52.h> #include<stdio.h> #define uchar unsigned char #define uint unsigned int //全局運(yùn)算變量 uint Speed = 40; uint width = 12; uint Factflux = 80; uint Wantflux = 80; bit Setwidth = 0; bit Setflux = 0; uchar Numcount = 0; uchar Keynum;
sbit E=P3^0; sbit RST=P0^3; sbit RW=P0^4; sbit RS=P0^5; sbit L=P0^6; sbit R=P0^7; sbit Busy=P2^7; //字模 uchar code Shi[]={/*實(shí) CCAB5 */ 0x00,0x10,0x0C,0x04,0x4C,0xB4,0x94,0x05, 0xF6,0x04,0x04,0x04,0x14,0x0C,0x04,0x00, 0x00,0x82,0x82,0x42,0x42,0x23,0x12,0x0A, 0x07,0x0A,0x12,0xE2,0x42,0x02,0x02,0x00} //函數(shù)聲明 void Delay(uint m); void Checkbusy(void); void Sdata(uchar ddata);
void Scmd(uchar command); void Init(void); void Displayword(uchar page,row,uchar code *word,uint lengh); void Displaynum (uchar page,row,uchar code *num,uint lengh);
//函數(shù)編程 void Delay(uint m) { uint i,j; for(i=0;i<m;i++) for(j=0;j<109;j++) _nop_(); } void Checkbusy(void) { E=1; RS=0; RW=1; P2=0xff; while(!busy); } void Sdata(uchar ddata ) { Checkbusy(); RS=1; RW=0; P2=ddata; E=1; E=0; } void Scmd(uchar command) { Checkbusy(): RS=0; RW=0; P2=command; E=1; E=1; } void Init(void) { RST=0; Delay(150); RST=1; Delay(100); L=1; R=1; Scmd(0x3f); Scmd(0xc0); Scmd(0x80); Scmd(0x40); } void Displayword(uchar page,row,*word,uint length) { uchar i,j; L=1; R=0; Wcmd(page); Wcmd(row); for(i=0;i<length/2;i++) Sdata(word); Scmd(page+1); Wcmd(row); for(j=length/2;j<length;j++) Sdata(word[j]); } void Displaynum(uchar page,row,*num,uint length) { uchar i,j; L=0; R=1; Wcmd(page); Wcmd(row); for(i=0;i<length/2;i++) Sdata(num); Scmd(page+1); Wcmd(row); for(j=length/2;j<length;j++) Sdata(num[j]); } void DisplayWantflux(void) { Displayword(0xb8,0x40,She[],32); Displayword(0xb8,0x50,Ding[],32); Displayword(0xb8,0x60,Liu[],32); Displayword(0xb8,0x70,Liang[],32); } void DisplayFactflux(void) { Displayword(0xba,0x40,Shi[],32); Displayword(0xba,0x50,Ji[],32); Displayword(0xba,0x60,Liu[],32); Displayword(0xba,0x70,Liang[],32); } void DisplayWidth(void) { Displayword(0xbc,0x60,Fu[],32); Displayword(0xbc,0x70,Kuan[],32); } void DisplaySpeed(void) { Displayword(0xbe,0x60,Che[],32); Displayword(0xbe,0x70,Su[],32); } void Display80(void) { Displaynum(0xb8,0x40,N8[],16); Displaynum(0xb8,0x48,N0[],16); } void Display80_(void) { Displaynum(0xba,0x40,N8[],16); Displaynum(0xba,0x48,N0[],16); } void Display12(void) { Displaynum(0xbc,0x40,N1[],16); Displaynum(0xbc,0x48,N2[],16); } void Display10(void) { Displaynum(0xbe,0x40,N1[],16); Displaynum(0xbe,0x48,N0[],16); } void DisplayDanwei(void) { Displaynum(0xb8,0x60,LPMU[],32); Displaynum(0xba,0x60,LPMU[],32); Displaynum(0xbc,0x60,M[],32); Displaynum(0xbe,0x60,MPS[],32);
main() { Init(void); while(1) { void DisplayWantflux(void); void DisplayFactflux(void); void DisplayWidth(void); void DisplaySpeed(void); void Display80(void); void Display12(void); void DisplayDanwei(void); }
還有一些字模沒有在這上面打出。
在Keil上編譯時(shí),出現(xiàn):error C141:syntax error near 'unsigned'
error C141:syntax error near 'void'
errorC231:'_Delay':redefinition'
這是怎么回事啊! 幫幫忙吧! |