标题: 1602上显示中文的c语言程序 [打印本页]

作者: 一只风筝    时间: 2016-5-21 18:54
标题: 1602上显示中文的c语言程序
这个是在1602上显示  “年月日” 中文的程序,希望大神不要见笑,还有,本小白建了个51单片机学习交流群:26661550,希望能和大家一起学习交流

完整代码下载:
1602上显示汉字.rar (908 Bytes, 下载次数: 22)

  1. /*************************************
  2. *    程序功能:1602显示汉字             *
  3. *                                     *
  4. *  欢迎加入51单片机学习交流群26661550 *
  5. *  一起学习共同进步  ^-^                     *
  6. *************************************/


  7. #include <reg52.H>
  8. #define uchar unsigned char
  9. #define uint unsigned int
  10. sbit lcdrs=P2^6;
  11. sbit lcdrw=P2^5;
  12. sbit lcden=P2^7;
  13. uchar code table[]={
  14. 0x00,0x00,0x00,0x1F,0x00,0x00,0x00,0x00,//一
  15. 0x00,0x00,0x0E,0x00,0x1F,0x00,0x00,0x00,//二
  16. 0x00,0x1F,0x00,0x0E,0x00,0x1F,0x00,0x00,//三
  17. 0x02,0x04,0x0F,0x12,0x0F,0x0A,0x1F,0x02,//年
  18. 0x0F,0x09,0x0F,0x09,0x0F,0x09,0x09,0x11,//月
  19. 0x1F,0x11,0x11,0x1F,0x11,0x11,0x1F,0x00,//日
  20. 0x00,0x00,0x00,0x0A,0x15,0x0A,0x04,0x00,//心型
  21. 0x00,0x04,0x15,0x0E,0x1F,0x0E,0x11,0x00//坦克
  22. };
  23. uchar code table1[]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07};  //自定义字符数据地址
  24. uchar code table2[]="2661550";


  25. void waitready()  //检查lcd是否在忙
  26. {         
  27.         unsigned char sta;
  28.   P0= 0xff;  
  29.   lcdrs=0;
  30.   lcdrw=1;
  31. do{
  32.    lcden=1;
  33.    sta=P0;
  34.    lcden=0;
  35.         }
  36.         while (sta&0x80);
  37. }


  38. void write_com(uchar com)
  39. {
  40.         waitready();
  41.         lcdrs=0;
  42.         lcdrw=0;
  43.         lcden=0;
  44.         P0=com;
  45.         lcden=1;
  46.         lcden=0;
  47. }
  48. void write_date(uchar date)
  49. {
  50.         waitready();
  51.         lcdrs=1;
  52.         lcdrw=0;
  53.         P0=date;
  54.         lcden=1;
  55.         lcden=0;
  56. }
  57. void init_lcd1602()
  58. {
  59.         write_com(0x01);  //清屏
  60.         write_com(0x38);  //功能设置
  61.         write_com(0x0c);  //显示设置
  62.         write_com(0x06);  //输入方式从左到右
  63. }
  64. void main()
  65. {
  66.         uchar i;
  67.         init_lcd1602();
  68.         while(1)
  69.         {
  70.                 write_com(0x40);    //开始写入你要显示的自定义字符、汉字代码
  71.                 for(i=0;i<64;i++)
  72.                 {
  73.                         write_date(table[i]);
  74.                 }
  75.                 write_com(0x80);    //从第一行第一列开始显示
  76.                 for(i=0;i<8;i++)        //显示自定义字符
  77.                 {
  78.                         write_date(table1[i]);   
  79.                 }
  80.                 write_com(0xc0);   //第二行地址  显示群号:26661550
  81.                 for(i=0;i<7;i++)
  82.                 {
  83.                         write_date(table2[i]);
  84.                 }
  85.         }
  86. }
复制代码



作者: popop    时间: 2018-5-6 14:45
十分感谢
作者: qzyhlf    时间: 2025-5-4 07:23
十分感谢




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1