分析void xieshuju(unsigned char shuju) { en=0; rs=1; rw=0; P0=shuju; delayxms(5); en=1; delayxms(10); en=0; }
时间: 2023-10-31 08:05:41 浏览: 32
这是一个函数,函数名为xieshuju,参数为一个unsigned char类型的变量shuju。函数中的代码实现的功能是向LCD1602液晶屏中写入数据。
具体实现流程如下:
1. 将en置为0,rs置为1,rw置为0,表示写入数据。
2. 将P0(即端口0)的值设置为shuju,即将要写入的数据。
3. 延时5ms,等待液晶屏准备好。
4. 将en置为1,表示开始写入数据。
5. 延时10ms,等待数据写入完成。
6. 将en置为0,表示写入完成。
其中,en、rs、rw、P0都是液晶屏的控制引脚,delayxms是一个延时函数,用于等待一段时间。
相关问题
分析void xiemingling(unsigned char mingling) { en=0; rs=0; rw=0; P0=mingling; delayxms(5); en=1; delayxms(10); en=0; }
这段代码是一个函数,函数名为 `xiemingling`,接受一个无符号字符类型 `mingling` 作为参数。
函数中的代码的作用是将 `mingling` 的值写入到 P0 端口中,P0 端口是一个 8 位的并行输出端口。具体实现过程是先将 en、rs、rw 置为 0,然后将 `mingling` 的值写入到 P0 端口中,接着延时 5 毫秒,再将 en 置为 1,再延时 10 毫秒,最后将 en 置为 0。
其中,en、rs、rw 是控制 LCD1602 液晶屏幕显示的信号线。P0 端口是通过 74HC595 移位寄存器进行输出的。函数中的 `delayxms` 函数是一个延时函数,用来控制函数执行的时间。整个函数的作用是向 LCD1602 显示屏写入数据。
void Init_Timer0() { unsigned char TMR0 = 0; // 清零计数器 unsigned char T0CR |= 0x08; // 开启 T0 中断使能 unsigned char T0CR |= 0x01; // 启动 T0 计时器 unsigned char INTE |= 0x01; // 开启中断 unsigned char GIE |= 0x80; // 开启总中断哪里错了
这段代码有几个问题。
首先,在使用变量 `T0CR` 之前应该先进行定义。其次,使用按位或 `|=` 运算符时应该先将变量清零,否则会影响原有的值。
另外,中断使能寄存器 `INTE` 和总中断寄存器 `GIE` 的操作也有问题。应该使用赋值运算符 `=` 而不是按位或 `|=` 运算符。同时,应该使用 `INTCON` 寄存器来操作中断使能和总中断开关,而不是使用 `INTE` 和 `GIE` 寄存器。
以下是修改后的代码:
```
void Init_Timer0() {
unsigned char TMR0 = 0; // 清零计数器
unsigned char T0CR = 0x08; // 开启 T0 中断使能
T0CR &= ~0x01; // 停止 T0 计时器
T0CR |= 0x01; // 启动 T0 计时器
INTCON |= 0x20; // 开启中断
INTCON |= 0x80; // 开启总中断
}
```
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.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)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)