完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
以下是用8051单片机实现测量矩形波高电平时间和频率,并通过LCD1602显示屏显示的代码: ```c #include #define LCD_DATA P2 sbit RS = P0^0; // RS引脚 sbit RW = P0^1; // RW引脚 sbit EN = P0^2; // EN引脚 void delay(unsigned int time) // 延时函数 { unsigned int i, j; for(i=0;i for(j=0;j<125;j++); } void LCD_Enable() // 使能LCD { EN = 1; delay(1); EN = 0; } void LCD_WriteCmd(unsigned char cmd) // 写命令 { RS = 0; RW = 0; LCD_DATA = cmd; LCD_Enable(); } void LCD_WriteData(unsigned char dat) // 写数据 { RS = 1; RW = 0; LCD_DATA = dat; LCD_Enable(); } void LCD_Init() // LCD初始化 { LCD_WriteCmd(0x38); // 8位数据接口,5*7点阵,两行显示 LCD_WriteCmd(0x0f); // 开启显示,无光标 LCD_WriteCmd(0x06); // 数据写入后指针自动+1 LCD_WriteCmd(0x01); // 清屏 LCD_WriteCmd(0x80); // 设置显示的起始地址为第一行第一个字符 } void LCD_DisplayString(unsigned char x, unsigned char y, unsigned char *str) // 显示字符串 { unsigned char i = 0; if(x<16) // 判断列x是否超出屏幕范围 { if(y) x += 0x40; x |= 0x80; LCD_WriteCmd(x); // 移动光标到指定位置 } while(str[i] != ' |