2025-11-08 06:19:58
lcd1602输出变量就是让单片机控制这个显示屏显示数字或文字。这个函数主要是告诉显示屏先往哪行写数据,比如显示“温度25℃”要先写第一行,再写第二行。写的时候要把数字转换成显示屏能理解的代码,比如25要转成十六进制的19。还要告诉显示屏光标停在哪个位置,这样下次写的时候不用重新对齐。
因为这个显示屏有16个引脚,只能同时传8位数据,所以每次只能显示16个字。比如显示两行16个字,第一行地址是0x80,第二行是0x40。函数里要先用地址指令定位行,再发数据指令0x80,把变量里的内容拆成8位一包传过去。比如显示“200”要拆成0x20、0x00、0x00三次发送。数据手册里写着“写入指令后必须跟6位数据”,所以函数要确保每发一次地址就发一次数据。上次用万用表测发现如果漏发地址,显示的内容会跑到下一行去,这就是为什么函数要分三步走的原因。模拟会出现“比如写第一行要发0x80指令然后才是数据”这种连在一起的说法,还有“比如显示25要转成19”这种少字的情况。
本题链接: