這個是在1602上顯示 “年月日” 中文的程序,希望大神不要見笑,還有,本小白建了個51單片機學習交流群:26661550,希望能和大家一起學習交流
完整代碼下載:
1602上顯示漢字.rar
(908 Bytes, 下載次數: 22)
2016-5-21 18:53 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
- /*************************************
- * 程序功能:1602顯示漢字 *
- * *
- * 歡迎加入51單片機學習交流群26661550 *
- * 一起學習共同進步 ^-^ *
- *************************************/
- #include <reg52.H>
- #define uchar unsigned char
- #define uint unsigned int
- sbit lcdrs=P2^6;
- sbit lcdrw=P2^5;
- sbit lcden=P2^7;
- uchar code table[]={
- 0x00,0x00,0x00,0x1F,0x00,0x00,0x00,0x00,//一
- 0x00,0x00,0x0E,0x00,0x1F,0x00,0x00,0x00,//二
- 0x00,0x1F,0x00,0x0E,0x00,0x1F,0x00,0x00,//三
- 0x02,0x04,0x0F,0x12,0x0F,0x0A,0x1F,0x02,//年
- 0x0F,0x09,0x0F,0x09,0x0F,0x09,0x09,0x11,//月
- 0x1F,0x11,0x11,0x1F,0x11,0x11,0x1F,0x00,//日
- 0x00,0x00,0x00,0x0A,0x15,0x0A,0x04,0x00,//心型
- 0x00,0x04,0x15,0x0E,0x1F,0x0E,0x11,0x00//坦克
- };
- uchar code table1[]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07}; //自定義字符數據地址
- uchar code table2[]="2661550";
- void waitready() //檢查lcd是否在忙
- {
- unsigned char sta;
- P0= 0xff;
- lcdrs=0;
- lcdrw=1;
- do{
- lcden=1;
- sta=P0;
- lcden=0;
- }
- while (sta&0x80);
- }
- void write_com(uchar com)
- {
- waitready();
- lcdrs=0;
- lcdrw=0;
- lcden=0;
- P0=com;
- lcden=1;
- lcden=0;
- }
- void write_date(uchar date)
- {
- waitready();
- lcdrs=1;
- lcdrw=0;
- P0=date;
- lcden=1;
- lcden=0;
- }
- void init_lcd1602()
- {
- write_com(0x01); //清屏
- write_com(0x38); //功能設置
- write_com(0x0c); //顯示設置
- write_com(0x06); //輸入方式從左到右
- }
- void main()
- {
- uchar i;
- init_lcd1602();
- while(1)
- {
- write_com(0x40); //開始寫入你要顯示的自定義字符、漢字代碼
- for(i=0;i<64;i++)
- {
- write_date(table[i]);
- }
- write_com(0x80); //從第一行第一列開始顯示
- for(i=0;i<8;i++) //顯示自定義字符
- {
- write_date(table1[i]);
- }
- write_com(0xc0); //第二行地址 顯示群號:26661550
- for(i=0;i<7;i++)
- {
- write_date(table2[i]);
- }
- }
- }
復制代碼
|