×
单片机 > 单片机程序设计 > 详情

1602显示中文

发布时间:2020-05-26 发布时间:
|

因1602每个字符用5*8点阵所以只能显示简单的字符,以下程序为了简洁只显示一个中文“年”

 

 1 /*

 2 RS =数据/命令选择端(H/L)

 3 R/W=读/写选择端(H/L)因TX-1X开发板此脚接地所以只能写不能读取,故本程序不读只写

 4 此试验板1602液晶接P0口故此数据通过P0传送

 5 lilongjiang@live.com 8/16/2010

 6  */

 7 

 8 #include

 9  #define uchar unsigned char

10  #define uint unsigned int

11 sbit EN=P3^4;        

12 sbit RS=P3^5;

13 sbit dula=P2^6;        //断选

14 sbit wela=P2^7;        //位选 因这两个芯片也接在P0口故使用液晶避免造成电压低故关闭这两个芯片

15 uchar code year[]={0x08,0x0F,0x12,0x0F,0x0A,0x1F,0x02,0x02};

16 void delay(uint);

17 uchar i;

18 void write_com(uchar com)    //写命令

19 {

20     RS=0;

21     P0=com;

22     delay(1);

23     EN=1;

24     EN=0;

25 }

26 void write_data(uchar date)    //写数据

27 {

28     RS=1;

29     P0=date;

30     delay(1);

31     EN=1;

32     EN=0;

33 }

34 void init()

35 {

36     EN=0;

37     dula=0;                //关闭断选

38     wela=0;                //关闭位选

39     write_com(0x38);    //开显示

40     write_com(0x0F);    //光标

41     write_com(0x06);    //指针

42 }

43 void main()

44 {

45     init();

46     write_com(0x40);    //将自定义字符写入CGRAM

47     for(i=0;i<9;i++)    //循环8次写入

48     {

49         write_data(year[i]);

50     }

51     write_com(0x80);    //写入初始地址

52     write_data(0x00);

53     while(1);

54 }

55 void delay(uint x)

56 {

57     uint i;

58     while(x--)

59         for(i=0;i<110;i++);

60 }




『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
STM32 TIMER2的使用