找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4940|回复: 2
收起左侧

1602上显示中文的c语言程序

[复制链接]
ID:119041 发表于 2016-5-21 18:54 | 显示全部楼层 |阅读模式
这个是在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. }
复制代码


评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:312616 发表于 2018-5-6 14:45 | 显示全部楼层
十分感谢
回复

使用道具 举报

ID:3802 发表于 2025-5-4 07:23 | 显示全部楼层
十分感谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表