#include "./clock.h"
sbit RS = P2^4;
sbit RW = P2^5;
sbit E = P2^6;
//ÄÖÖÓʱ¼ä
unsigned char s = 0;
unsigned char m = 0;
unsigned char h = 0;
unsigned char flag = 1;
//
void lcd_write(unsigned char byte, unsigned char flag)
{
if(flag)
{
RS = LCD_WRITE_DATA;
}
else
{
RS = LCD_WRITE_COM;
}
RW = 0;
E = 1;
LCDPORT = byte;
delay_us(5);
E = 0;
}
void lcd_init()
{
delay_ms(15);
lcd_write(0x38,LCD_WRITE_COM);
delay_ms(5);
lcd_write(0x38,LCD_WRITE_COM);
delay_ms(5);
lcd_write(0x38,LCD_WRITE_COM);
delay_ms(5);
lcd_write(0x38,LCD_WRITE_COM);
delay_ms(5);
lcd_write(0x08,LCD_WRITE_COM);
delay_ms(5);
lcd_write(0x01,LCD_WRITE_COM);
delay_ms(5);
lcd_write(0x06,LCD_WRITE_COM);
delay_ms(5);
lcd_write(0x0c,LCD_WRITE_COM);
delay_ms(5);
}
void display1(void)
{
lcd_write(0x80+0x40+4,LCD_WRITE_COM);
lcd_write((h/10)+'0',LCD_WRITE_DATA);
lcd_write((h%10)+'0',LCD_WRITE_DATA);
lcd_write(':',LCD_WRITE_DATA);
lcd_write((m/10)+'0',LCD_WRITE_DATA);
lcd_write((m%10)+'0',LCD_WRITE_DATA);
lcd_write(':',LCD_WRITE_DATA);
lcd_write((s/10)+'0',LCD_WRITE_DATA);
lcd_write((s%10)+'0',LCD_WRITE_DATA);
}
void main()
{
unsigned char key;
timer0();
lcd_init();
timer1();
while(1
51单片机—LCD显示闹钟时间
最新推荐文章于 2024-07-23 18:05:46 发布
本文展示了如何使用51单片机编写程序,通过LCD显示器显示实时的闹钟时间,并实现了时间修改和计时功能。程序中包括了LCD初始化、定时器配置以及按键扫描等功能,允许用户通过按键设定和调整时间。
摘要由CSDN通过智能技术生成