We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
#include <reg51.h>#define DATA P0;void lcd_init(void);void lcd_cmd(unsigned char);void key_scan (void);void delay_ms(unsigned int);sbit RS = P2^5;sbit RW = P2^6;sbit en = P2^7;unsigned char R,C,ch;unsigned char Key[4][4]={'0','1','2','3','4', '5','6','7','8','9', 'A','B','C','D','E','F'};void main(){ P1=0xff; DATA=0x00;lcd_init(); delay_ms(100);lcd_cmd (0x80); while(1) { key_scan(); delay_ms (5); ch = Key[R][C]; delay_ms(5); lcd_display(ch);delay_ms(5); lcd_cmd(0x01); }}void key_scan (void){ P1=0x0F; while (P1==0x0F); if(P1== 0x0D) R = 0; else if (P1==0x0B); R = 1; else if (P1==0x0D); R = 2; else if (P1==0x07); R = 3; P1=0xF0; while (P1==0xF0); if(P1==0xE0); C = 0 else if (P1==0xD0); C = 1 else if (P1==0xB0); C = 2 else if (P1==0x70); C = 3 delay_ms (20);}void lcd_cmd(unsigned char cmnd){ DATA = cmnd RS=0;RW=0;en=1; delay_ms(10); en=0;}void lcd_display(unsigned char dat){ DATA = dat; RS=1;RW=0;en=1; delay_ms(10); en=0;}void lcd_init (void){ lcd_cmd (0x38); lcd_cmd (0x0e); lcd_cmd (0x06); lcd_cmd (0x01);}void delay_ms(unsigned int k){ unsigned int i,j; for(i=0;i<=k;i++) { for(j=0;j<1275;j++); }}
can anyone find the error in this program.Its giving an error in the highlighted line.The error is error C141: syntax error near '=', expected '__asm'
Your definition of DATA is wrong.