完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
本帖最后由 Smilence_L 于 2016-12-22 22:37 编辑
新人没有积分悬赏, 我就想问问为什么1602显示屏显示内容会乱跑??用的是ARM7的LPC2103. 以下是代码: #include"iolpc2103.h" #define uchar unsigned char #define BUSY 1<<11 #define RS 1<<12 #define RW 1<<13 #define EN 1<<15 uchar hello[]="Hello!"; void Delay10ms(uchar c) { uchar a, b; for (;c>0;c--) { for (b=38;b>0;b--) { for (a=130;a>0;a--); } } } void checkbusy() { IODIR=0x0000b000; while(1) { IOCLR|=RS; IOSET|=RW; IOSET|=EN; if(!(IOPIN & BUSY)) break; else { Delay10ms(1); IOCLR|=EN; } } IODIR=0x0000bff0; } void lcd_wcom(uchar com) { checkbusy(); IOCLR|=RS; IOCLR|=RW; IOCLR|=0x00000ff0; Delay10ms(1); IOSET|=(com<<4); Delay10ms(1); IOSET|=EN; Delay10ms(1); IOCLR|=EN; } void lcd_wdat(uchar dat) { checkbusy(); IOSET|=RS; IOCLR|=RW; IOCLR|=0x00000ff0; Delay10ms(1); IOSET|=(dat<<4); Delay10ms(1); IOSET|=EN; Delay10ms(1); IOCLR|=EN; } void lcd_init() { lcd_wcom(0x38); lcd_wcom(0x0c); lcd_wcom(0x06); } void main() { uchar i=0; PINSEL0=0x00000000; PINSEL1=0x00000000; IODIR=0x0000bff0; Delay10ms(220); lcd_init(); Delay10ms(220); lcd_wcom(0x80); for(;i<6;i++) { lcd_wdat(hello); Delay10ms(220); } while(1); } |
|
相关推荐
3个回答
|
|
啊啊啊啊啊啊啊,延时也改了还是乱跑
|
|
|
|
啊啊啊啊啊啊啊,延时也改了还是乱跑
|
|
|
|
啊啊啊啊啊啊啊,延时也改了还是乱跑
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
飞凌嵌入式ElfBoard ELF 1板卡-CAN编程示例之开发板测试
941 浏览 0 评论
该问题是用APP给芯海科技的CST92F25芯片发指令是出现的
3127 浏览 1 评论
873 浏览 0 评论
1733 浏览 1 评论
2977 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-28 03:56 , Processed in 0.519869 second(s), Total 79, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号