单片机==lcd_显示时钟(21)
2016-10-10 21:07
295 查看
#include <reg52.h> #include "delay.h" #define LCDPORT P0 sbit RS = P2^4; sbit RW = P2^5; sbit E = P2^6; #define LCD_WRITE_DATA 1 #define LCD_WRITE_COM 0 void lcd_write(unsigned char byte, unsigned char flag) { if(flag) { RS = 1; } else { RS = 0; } RW = 0; E = 1; LCDPORT = byte; delay_us(5); E = 0; } void lcd_init() { delay_ms(16); 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 add() { unsigned char i = 0; while(i < 7) { lcd_write(0x70, LCD_WRITE_COM); lcd_write(0x1f, LCD_WRITE_DATA); lcd_write(0x1f, LCD_WRITE_DATA); lcd_write(0x1f, LCD_WRITE_DATA); lcd_write(0x1f, LCD_WRITE_DATA); lcd_write(0x1f, LCD_WRITE_DATA); lcd_write(0x1f, LCD_WRITE_DATA); lcd_write(0x1f, LCD_WRITE_DATA); lcd_write(0x1f, LCD_WRITE_DATA); lcd_write(4 + i + 0x80, LCD_WRITE_COM); lcd_write(0x6, LCD_WRITE_DATA); lcd_write(4 + i + 0x80 + 0x40, LCD_WRITE_COM); lcd_write(0x6, LCD_WRITE_DATA); delay_ms(255); i++; } } void lcd_elec() { lcd_write(0x40, LCD_WRITE_COM); lcd_write(0x1f, LCD_WRITE_DATA); lcd_write(0x1f, LCD_WRITE_DATA); lcd_write(0x10, LCD_WRITE_DATA); lcd_write(0x10, LCD_WRITE_DATA); lcd_write(0x10, LCD_WRITE_DATA); lcd_write(0x10, LCD_WRITE_DATA); lcd_write(0x10, LCD_WRITE_DATA); lcd_write(0x10, LCD_WRITE_DATA); lcd_write(4 + 0x80, LCD_WRITE_COM); lcd_write(0x0, LCD_WRITE_DATA); lcd_write(0x48, LCD_WRITE_COM); lcd_write(0x10, LCD_WRITE_DATA); lcd_write(0x10, LCD_WRITE_DATA); lcd_write(0x10, LCD_WRITE_DATA); lcd_write(0x10, LCD_WRITE_DATA); lcd_write(0x10, LCD_WRITE_DATA); lcd_write(0x10, LCD_WRITE_DATA); lcd_write(0x1f, LCD_WRITE_DATA); lcd_write(0x1f, LCD_WRITE_DATA); lcd_write(4 + 0x80 + 0x40, LCD_WRITE_COM); lcd_write(0x1, LCD_WRITE_DATA); lcd_write(0x50, LCD_WRITE_COM); lcd_write(0x1f, LCD_WRITE_DATA); lcd_write(0x1f, LCD_WRITE_DATA); lcd_write(0x0, LCD_WRITE_DATA); lcd_write(0x0, LCD_WRITE_DATA); lcd_write(0x0, LCD_WRITE_DATA); lcd_write(0x0, LCD_WRITE_DATA); lcd_write(0x0, LCD_WRITE_DATA); lcd_write(0x0, LCD_WRITE_DATA); lcd_write(5 + 0x80, LCD_WRITE_COM); lcd_write(0x2, LCD_WRITE_DATA); lcd_write(6 + 0x80, LCD_WRITE_COM); lcd_write(0x2, LCD_WRITE_DATA); lcd_write(7 + 0x80, LCD_WRITE_COM); lcd_write(0x2, LCD_WRITE_DATA); lcd_write(8 + 0x80, LCD_WRITE_COM); lcd_write(0x2, LCD_WRITE_DATA); lcd_write(9 + 0x80, LCD_WRITE_COM); lcd_write(0x2, LCD_WRITE_DATA); lcd_write(10 + 0x80, LCD_WRITE_COM); lcd_write(0x2, LCD_WRITE_DATA); lcd_write(0x58, LCD_WRITE_COM); lcd_write(0x0, LCD_WRITE_DATA); lcd_write(0x0, LCD_WRITE_DATA); lcd_write(0x0, LCD_WRITE_DATA); lcd_write(0x0, LCD_WRITE_DATA); lcd_write(0x0, LCD_WRITE_DATA); lcd_write(0x0, LCD_WRITE_DATA); lcd_write(0x1f, LCD_WRITE_DATA); lcd_write(0x1f, LCD_WRITE_DATA); lcd_write(5 + 0x80 + 0x40, LCD_WRITE_COM); lcd_write(0x3, LCD_WRITE_DATA); lcd_write(6 + 0x80 + 0x40, LCD_WRITE_COM); lcd_write(0x3, LCD_WRITE_DATA); lcd_write(7 + 0x80 + 0x40, LCD_WRITE_COM); lcd_write(0x3, LCD_WRITE_DATA); lcd_write(8 + 0x80 + 0x40, LCD_WRITE_COM); lcd_write(0x3, LCD_WRITE_DATA); lcd_write(9 + 0x80 + 0x40, LCD_WRITE_COM); lcd_write(0x3, LCD_WRITE_DATA); lcd_write(10 + 0x80 + 0x40, LCD_WRITE_COM); lcd_write(0x3, LCD_WRITE_DATA); lcd_write(0x60, LCD_WRITE_COM); lcd_write(0x1c, LCD_WRITE_DATA); lcd_write(0x1c, LCD_WRITE_DATA); lcd_write(0x04, LCD_WRITE_DATA); lcd_write(0x04, LCD_WRITE_DATA); lcd_write(0x04, LCD_WRITE_DATA); lcd_write(0x04, LCD_WRITE_DATA); lcd_write(0x07, LCD_WRITE_DATA); lcd_write(0x07, LCD_WRITE_DATA); lcd_write(11 + 0x80, LCD_WRITE_COM); lcd_write(0x4, LCD_WRITE_DATA); lcd_write(0x68, LCD_WRITE_COM); lcd_write(0x07, LCD_WRITE_DATA); lcd_write(0x07, LCD_WRITE_DATA); lcd_write(0x04, LCD_WRITE_DATA); lcd_write(0x04, LCD_WRITE_DATA); lcd_write(0x04, LCD_WRITE_DATA); lcd_write(0x04, LCD_WRITE_DATA); lcd_write(0x1c, LCD_WRITE_DATA); lcd_write(0x1c, LCD_WRITE_DATA); lcd_write(11 + 0x80 + 0x40, LCD_WRITE_COM); lcd_write(0x5, LCD_WRITE_DATA); delay_ms(200); add(); } void main() { lcd_init(); while(1) { lcd_elec(); } }
相关文章推荐
- 【单片机】时钟及温度的显示
- mipi LCD 的CLK时钟频率与显示分辨率及帧率的关系【转】
- 单片机==数码管用delay函数显示时钟(5)
- mipi LCD 的CLK时钟频率与显示分辨率及帧率的关系
- mipi LCD 的CLK时钟频率与显示分辨率及帧率的关系
- LCD显示时钟
- 单片机时钟程序(8)lcd1602.c
- 单片机时钟程序(9)lcd1602.h
- mipi LCD 的CLK时钟频率与显示分辨率及帧率的关系
- 单片机时钟程序(9)lcd1602.h
- 单片机LCD显示时间,并设置暂停启动键
- STC单片机之1602显示时钟
- mipi LCD 的CLK时钟频率与显示分辨率及帧率的关系
- 单片机lcd改进版时钟
- 32单片机学习之lcd显示字符
- 单片机练习 - 使用1602LCD显示DS18B20的温度值
- 在μPD78F0485单片机实验盒上编写程序实现在LCD上显示日历功能
- [转]mipi LCD 的CLK时钟频率与显示分辨率及帧率的关系
- 用电脑修改时间的时钟(LCD1602显示)--单片机考试
- 利用单片机的数码管模拟时钟的显示时间