解释下列C51代码#include "reg52.h" unsigned char Disp[]="Pechin Science "; #define LCD1602_DATAPINS P0 sbit LCD1602_E=P2^7; sbit LCD1602_RW=P2^5; sbit LCD1602_RS=P2^6; void Lcd1602_Delay1ms(unsigned int c) { unsigned char a,b; for (; c>0; c--) { for (b=199;b>0;b--) { for(a=1;a>0;a--); } } } void LcdWriteCom(unsigned char com) { LCD1602_E = 0; LCD1602_RS = 0; LCD1602_RW = 0; LCD1602_DATAPINS = com; Lcd1602_Delay1ms(1); LCD1602_E = 1; Lcd1602_Delay1ms(5); LCD1602_E = 0; } void LcdWriteData(unsigned char dat) { LCD1602_E = 0; LCD1602_RS = 1; LCD1602_RW = 0; LCD1602_DATAPINS = dat; Lcd1602_Delay1ms(1); LCD1602_E = 1; Lcd1602_Delay1ms(5); LCD1602_E = 0; } void LcdInit() { LcdWriteCom(0x38); LcdWriteCom(0x0c); LcdWriteCom(0x06); LcdWriteCom(0x01); LcdWriteCom(0x80); } void main(void) { unsigned char i; LcdInit(); for(i=0;i<16;i++) { LcdWriteData(Disp[i]); } while(1); }
时间: 2023-06-26 15:09:28 浏览: 126
单片机中用c编程时头文件reg51.h及reg52.h解析
这是一段基于C51单片机的LCD1602显示屏驱动程序。代码主要包含以下几个函数:
1. Lcd1602_Delay1ms:延时函数,用于延时一段时间,单位为毫秒。
2. LcdWriteCom:向LCD屏幕发送命令,其中com为命令码。
3. LcdWriteData:向LCD屏幕发送数据,其中dat为数据码。
4. LcdInit:LCD1602初始化函数,用于初始化LCD屏幕。
在主函数中,首先调用LcdInit函数对LCD屏幕进行初始化,然后通过循环将字符数组Disp中的字符一个一个发送到LCD屏幕上进行显示。
需要注意的是,该代码中使用了C51的一些特有的语法,如sbit等。因此,如果要在其他类型的单片机上使用该代码,需要进行相应的修改。
阅读全文