完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
求助,为什么我的proteus仿真LCD1602滚动显示程序也没错误没警告怎么就是不出来啊? #include<reg52.h> #include<intrins.h> #define uint unsigned int #define uchar unsigned char ***it RS=P2^6; ***it RW=P2^5; ***it EP=P2^7; uchar code dis1[]={" hello "}; uchar code dis2[]={ " 2014.08.01 " }; uchar code dis3[]={"qi xi kuai le ha "}; uchar code dis4[]={"WU LI KAN LUAN "}; uchar code dis5[]={"NI HAO BNAG AO"}; void delay(uint k ) { uint m,n; for(m=0;m<k;m++) { for(n=0;n<120;n++); } } void delay1(uchar b) { for(b=0;b<4;b++) { _nop_(); } } uchar Busy_check(void) { uchar LCD_Status; RS=0; RW=1; EP=1; delay1(4); LCD_Status=P0&0x80; EP=0; return LCD_Status; } void lcd_wcmd(uchar cmd) { while(Busy_check()); RS=0; //选择指令寄存器 RW=0; //写指令操作 EP=0; _nop_(); _nop_(); P0=cmd; delay1(4); EP=1; delay1(4); EP=0; } void lcd_pos(uchar pos) { lcd_wcmd(pos|0x80); } void lcd_wdat(uchar dat) { while(Busy_check()); RS=1; //选择数据寄存器 RW=0; //写数据操作 EP=0; P0=dat; //数据送到P0口 delay1(4); EP=1; //给一个高电平 delay1(4); EP=0; } void LCD_disp(void) //向上滚动 { uchar i; lcd_pos(1); //设置第一行的第二个字符 i=0; while (dis1!=' |