解释意思void writecom(uchar com) { busy(); s_ms(500); PORTD&=~(1<<RS); //RS=7 s_ms(500); PORTD&=~(1<<RW); //RW=6 s_ms(500); PORTD|=(1<<EN); //EN=5 s_ms(500); PORTC = com; //输出指令 s_ms(500); PORTD&=~(1<<EN); //EN=0 s_ms(500); }
时间: 2024-03-03 12:52:20 浏览: 121
Serial-communication-source-code.zip_Table_uchar code table_ucha
这段代码是一个函数,函数名为writecom,参数为一个8位无符号整数(uchar类型)com,函数没有返回值。该函数的功能是向LCD1602写入指令。
具体实现过程如下:
1. 调用busy()函数,等待LCD1602处于空闲状态。
2. s_ms(500); //延时500毫秒
3. PORTD &= ~(1<<RS); //将PD7口清零,RS=7
4. s_ms(500); //延时500毫秒
5. PORTD &= ~(1<<RW); //将PD6口清零,RW=6
6. s_ms(500); //延时500毫秒
7. PORTD |= (1<<EN); //将PD5口置1,EN=5
8. s_ms(500); //延时500毫秒
9. PORTC = com; //将参数com写入PC口,作为指令
10. s_ms(500); //延时500毫秒
11. PORTD &= ~(1<<EN); //将PD5口清零,EN=5
12. s_ms(500); //延时500毫秒
该函数的作用是将参数com作为指令写入LCD1602,具体实现是通过设置不同的引脚状态和延时操作来达到目的。
阅读全文