代码解释 void Lcd1602_Delay1ms(uint16 i) { while(i--); } void LcdWriteCom(uint8 c) { Lcd1602_Delay1ms(1000); rs=0; rw=0; e=0; P0=c; e=1; Lcd1602_Delay1ms(10); e=0; rw=1; P0=0xff; }
时间: 2023-05-31 11:04:23 浏览: 83
这段代码是用于控制1602液晶屏的函数,具体解释如下:
1. void Lcd1602_Delay1ms(uint16 i) { while(i--); }
该函数是用来实现延时的,通过while循环来实现i毫秒的延时,其中i是一个16位无符号整数类型的变量。
2. void LcdWriteCom(uint8 c) {
该函数是用来向液晶屏发送指令的,其中c是一个8位无符号整数类型的变量,表示要发送的指令。函数的具体实现如下:
3. Lcd1602_Delay1ms(1000);
调用Lcd1602_Delay1ms函数实现1秒的延时,保证液晶屏处于稳定状态。
4. rs=0; rw=0; e=0;
将1602液晶屏的RS、RW和E引脚都设置为0,表示准备发送指令。
5. P0=c;
将要发送的指令c赋值给P0端口。
6. e=1; Lcd1602_Delay1ms(10); e=0;
将E引脚设置为1,表示开始向液晶屏发送指令,再进行10毫秒的延时,最后将E引脚设置为0,表示指令发送完毕。
7. rw=1; P0=0xff;
将RW引脚设置为1,表示从液晶屏读取数据,然后将P0端口设置为0xff,以便读取液晶屏返回的数据。
相关问题
static __IO uint32_t delay_ms_ticks; void delay_init(void) { SysTick_Config(SystemCoreClock/1000); } void delay_ms(uint16_t ms) { delay_ms_ticks = ms; while(delay_ms_ticks); } void SysTick_Handler() { if (delay_ms_ticks > 0) { delay_ms_ticks--; } }每一句都加注释
这段代码是用来实现毫秒级延时的功能。下面是每一句的注释:
```c
static __IO uint32_t delay_ms_ticks; // 定义一个静态全局变量,用来保存延时的时间
void delay_init(void) { // 延时初始化函数
SysTick_Config(SystemCoreClock/1000); // 配置 SysTick 定时器,使其每 1ms 中断一次
}
void delay_ms(uint16_t ms) { // 毫秒级延时函数,传入需要延时的时间(单位:毫秒)
delay_ms_ticks = ms; // 将需要延时的时间赋值给延时计数器
while(delay_ms_ticks); // 等待延时计数器归零,即延时完成
}
void SysTick_Handler() { // SysTick 中断服务函数
if (delay_ms_ticks > 0) // 如果延时计数器还未归零
{
delay_ms_ticks--; // 将计数器减一
}
}
```
void delayms(uint16_t x) { uint16_t i; while(x--)for(i = 0; i < 120; i++); }
这是一个延时函数,输入参数x为需要延时的毫秒数。
函数内部使用for循环进行延时,每次循环执行120次(这个数字可能需要根据实际情况进行调整),循环次数为x,即总共延时x毫秒。
这种延时方式也被称为“忙等待”,因为在延时期间,CPU会一直占用处理器资源,无法进行其他操作。因此,在实际应用中,需要根据具体的需求和系统资源情况,选择合适的延时方式。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)