void WriteNum(uchar row,uchar col,uchar num) { if (row == 1) row = 0x80 + col; else row = 0xC0 + col; writecom(row); PORTD|=(1<<RS); PORTD&=~(1<<RW); PORTD|=(1<<EN); PORTC = num; s_ms(500); PORTD&=~(1<<EN); }为什么这样就可以写入进去
时间: 2024-03-07 08:53:12 浏览: 55
c++ libxl 导出excel数据 支持格式修改
这段代码是用来在LCD1602液晶屏上显示数字的函数。具体来说,通过设置LCD的行和列,将光标移动到指定位置,然后将数字写入LCD的数据寄存器中,最后通过控制LCD的使能引脚,将数据写入LCD中。
其中,PORTD控制LCD的RS、RW、EN引脚,PORTC用来传输数据。RS引脚用来选择写入命令还是写入数据,RW引脚用来选择读取还是写入操作,EN引脚用来控制LCD的使能。函数中的s_ms(500)是通过延时函数产生的一个短暂的脉冲,用来触发LCD的写入操作。
总的来说,这段代码的实现原理是通过控制LCD的引脚和数据传输来实现数字显示的功能。
阅读全文