完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
下面是我写的一串代码,实现了1602的正常显示
#include #define uchar unsigned char #define uint unsigned int ***it rs=P2^5; ***it rw=P2^6; ***it e=P2^7; uchar sz1[]=" a !"; uchar sz2[]="--------56---- "; void delay_50us(uint t) { uchar j; for(;t>0;t--) for(j=19;j>0;j--); } void delay_50ms(uint t) { uint j; for(;t>0;t--) for(j=6245;j>0;j--); } void write_com(uchar com) { e=0; rs=0; rw=0; P0=com; delay_50us(100); e=1; delay_50us(100); e=0; } void write_data(uchar dat) { e=0; rs=1; rw=0; P0=dat; delay_50us(100); e=1; delay_50us(100); e=0; } void init(void) { delay_50us(300); write_com(0x38); delay_50us(100); write_com(0x38); delay_50us(100); write_com(0x38); write_com(0x38); write_com(0x08); write_com(0x01); write_com(0x06); write_com(0x0c); } void main() { uchar k; init (); write_com(0x81); for(k=0;k<16;k++) { write_data(sz1[k]); delay_50us; } write_com(0x80 + 0x40); for(k=0;k<16;k++) { write_data(sz2[k]); delay_50us; } while(1); } 但是想让1602显示一个变量,想实现传感器传回来的任意值都能显示出来,但是想了很久都没找到办法,还请大神指教 |
|
相关推荐
15个回答
|
|
还请各位大神指教,新手才开始学
|
|
|
|
楼主和我遇到同样的问题 我也同求!!!
|
|
|
|
刚刚找到了一个办法,即是将采集到的数据利用拆分法,将数据拆成一位一位的并将其转化为ASCII,然后再将这些数据存入数组中 正在修改中 ................. |
|
|
|
你是指个位十位百位一个个显示么? 刚才好像也有看到 就是有点迷糊。咱俩再研究研究。 |
|
|
|
嗯嗯 就是应该这是一个解决办法 还得看传回来的数据类型 |
|
|
|
我做的是通过AD转换成十进制数。貌似可以直接显示 但是这步骤还是。。。。 |
|
|
|
先定义一个数组,然后将拆分的数据赋值给这个数组,输出就应该可以了,不过我对这个步骤也还在尝试中
|
|
|
|
我以前也是用比较笨的方法,后来1602液晶接受的其实是字符串,使用C的sprintf函数可以方便地把变量转成字符串,当然对于初学者来说好像很少接触这些函数,先用sprintf把变量转成字符串,再把指针传到函数;
这是我当时用的函数/***************在制定位置显示一个字符***************************************************/ /*******************显示字符串*********************************************************/ void Disp_1602(unsigned char x,unsigned char y,char *p)//unsigned char count) { unsigned char i=0; while(*p) { if(i==0){WriteOrder(0x80+x);} if(i==16){WriteOrder(0xC0+y);} //发送显示地址 WriteData(*p); //发送要显示的字符编码 i++; p++; } //少于32个自动补空格 /* unsigned char i; for(i=0;i if (0 == y) x |= 0x80; //当要显示第一行时地址码+0x80; else x |= 0xC0; //在第二行显示是地址码+0xC0; WriteOrder(x); //发送地址码 WriteData(*p); //发送要显示的字符编码 x++; p++; } */ } |
|
|
|
多谢指教
|
|
|
|
|
|
|
|
|
|
|
|
|
|
慢慢来满,我也是最近才开始学51的 |
|
|
|
我以前做过温度显示,定义个数组变量,然后用拆分的形式将接收到的数据显示出来
|
|
|
|
嗯嗯 谢谢啦,问题已经解决了 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-使用AHT20进行环境监测之AHT20传感器介绍
510 浏览 0 评论
792 浏览 0 评论
833 浏览 1 评论
基于瑞萨FPB-RA4E2智能床头灯项目——1编译环境搭建与点亮驱动ws2812全彩LED
797 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-LCD显示图片编程示例之介绍mmap
1244 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11812 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-28 12:17 , Processed in 0.960144 second(s), Total 100, Slave 83 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号