完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
#include
#include #define uchar unsigned char #define uint unsigned int uchar dig[]="0123456789"; void delay(uchar MS) //延时 { uchar i,j; for (i=0;i for(j=0;j<1141;j++); } } void start() //twi启动 { TWCR=(1< void stop() //twi 停止 { TWCR=(1< void write_one(uchar add,uchar data) //往特定地址写数据 { start(); TWDR=(0xa0+0x00)<<1+0x00; TWCR = (1< TWCR = (1< TWCR=(1< delay(10); } uchar read_one(uchar add) //读取特定地址的单个字节 { uchar temp; start(); TWDR=(0xa0+0x00)<<1+0x00; TWCR = (1< TWCR = (1< TWDR=(0xa0+0x00)<<1+0x01; TWCR = (1< temp = TWDR; return temp; } void twi_init() //twi 初始化 { DDRC|=BIT(0)|BIT(1); TWBR=0X30; TWCR=0x00; TWSR=0X02; } void write_com(uchar com) //液晶设置 { PORTA&=~BIT(4); PORTA&=~BIT(5); PORTB=com; PORTA|=BIT(6); delay(1); PORTA&=~BIT(6); } void yejing_init() //1602液晶初始化 { DDRB=0Xff; DDRA|=BIT(4)|BIT(5)|BIT(6); DDRC=0XFF; PORTC=0XFF; PORTC&=~(1<<6); delay(50); write_com(0x38); delay(5); write_com(0x01); delay(5); write_com(0x0c); delay(5); write_com(0x06); delay(5); } void write_data(uchar data) //液晶写数据 { PORTA|=BIT(4); PORTA&=~BIT(5); PORTB=data; PORTA|=BIT(6); delay(1); PORTA&=~BIT(6); } void main() { uchar i,j,a,b; yejing_init(); twi_init(); write_one(0x02,0x11); i=read_one(0x02); a=i/10; b=i%10; write_com(0x80+0x00); delay(5); write_data(dig[a]); delay(5); write_data(dig[b]); delay (5); } 液晶显示不是17而是e8.到底是咋回事啊 |
|
相关推荐
2个回答
|
|
不管换地址还是改变数据总是显示e8
|
|
|
|
有没有人会啊
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
《DNESP32S3使用指南-IDF版_V1.6》第三十五章 摄像头实验
846 浏览 0 评论
《DNESP32S3使用指南-IDF版_V1.6》第三十章 DHT11数字温湿度传感器
820 浏览 0 评论
910 浏览 0 评论
【敏矽微ME32G070开发板免费体验】之原厂2812测试例程解析
1693 浏览 0 评论
1307 浏览 2 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
12070 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-30 15:28 , Processed in 0.713672 second(s), Total 74, Slave 56 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号