void LCD_displaychar(unsigned int x,unsigned char y,unsigned char *dat)//X为行,Y为列 { unsigned int address; if(x==0) { x=0x80; }else if(x==1) { x=0x90; }else if(x==2) { x=0x88; }else if(x==3) { x=0x98; } address=x+y; write_cmd(address); while(*dat!='\0') { write_dat(*dat++); } }key3=Check_Key(); LCD_displaychar( 2, 1,"频率一:"); write_dat(key3%10+0x30);
时间: 2024-04-21 21:23:02 浏览: 110
根据你的代码,`LCD_displaychar()` 函数可以用来在LCD12864显示屏上显示字符。它接受三个参数:行号 `x`、列号 `y` 和一个字符指针 `dat`,用于指定要显示的字符串。
在此基础上,你想要在第2行第1列显示"频率一:"和一个按键的值。
以下是针对你的需求做出的修改:
```c
void LCD_displaychar(unsigned int x, unsigned char y, unsigned char *dat) {
unsigned int address;
if (x == 0) {
x = 0x80;
} else if (x == 1) {
x = 0x90;
} else if (x == 2) {
x = 0x88;
} else if (x == 3) {
x = 0x98;
}
address = x + y;
write_cmd(address);
while (*dat != '\0') {
write_dat(*dat++);
}
}
unsigned int Check_Key() {
// 在这里实现获取按键值的逻辑
}
int main() {
unsigned int key3 = Check_Key();
unsigned char message[] = "频率一:";
LCD_displaychar(2, 1, message);
write_dat(key3 % 10 + 0x30);
while (1) {
// 在这里实现其他逻辑
}
}
```
请确保你已经实现了 `write_cmd()` 和 `write_dat()` 函数,并且将 `Check_Key()` 函数替换为实际获取按键值的逻辑。同时,根据你的需求可以调整显示字符的位置和样式。
阅读全文