完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
可以用一些da转换的芯片代替吧。这个我不太懂,只是看到过有用da芯片做的
|
|
|
|
#include #include #define uint unsigned int #define uchar unsigned char ***it rs=P2^6; ***it rw=P2^5; ***it ep=P2^7; uchar code dis1[]={"NVLI FANKAI "}; uchar code dis2[]={"JIAYOU NIWO"}; void delay(uchar k ) { uchar m,n; for(m=0;m for(n=0;n<120;n++); } } void delay1(uchar b) { for(b=0;b<4;b--) { _nop_(); } } uchar Busy_Check() { uchar LCD_Status; rs=0; rw=1; //读写选择端为一为读 读status位置 也就是bf 端口值 ep=1; //使能端 delay1(4); LCD_Status=P0&0x80; ///检测D7位是否为1 , 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-pos函数中 { lcd_wcmd(pos|0x80); } void lcd_wdat(uchar dat) { while(Busy_Check()); rs=1;//选择数据位 rw=0;//xie shu ju ep=0;//shi neng duan guan bi P0=dat; delay1(4); ep=1; delay1(4); ep=0; } void LCD_disp() { uchar i; lcd_pos(1); i=0; while(dis1[i]!=' |