当前位置:首页 > 单片机 > 单片机
[导读]1602LCD分两行显示文字(不能显示中文)1 /*2 RS =数据/命令选择端(H/L)3 R/W=读/写选择端(H/L)因TX-1X开发板此脚接地所以只能写不能读取,故本程序不读只写4 此试验板1602液晶接P0口故此数据通过P0传送5 lilong

1602LCD分两行显示文字(不能显示中文)


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 tab1[]="0123456789ABCDEF"; //第一样显示的数据

16 uchar code tab2[]="GHIJKLMNOPQRSTUV"; //第二行显示的数据

17 void delay(uint);

18 uchar i;

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

20 {

21 RS=0;

22 P0=com;

23 delay(1);

24 EN=1;

25 EN=0;

26 }

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

28 {

29 RS=1;

30 P0=date;

31 delay(1);

32 EN=1;

33 EN=0;

34 }

35 void init()

36 {

37 EN=0;

38 dula=0; //关闭断选

39 wela=0; //关闭位选

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

41 write_com(0x0F); //光标

42 write_com(0x06); //指针

43 write_com(0x01); //清屏

44 }

45 void main()

46 {

47 init();

48 write_com(0x80); //第一行显示地址设为80H

49 for(i=0;i<16;i++)

50 {

51 write_data(tab1[i]);

52 }

53 write_com(0xC0); //第二行显示地址设为80H+40H

54 for(i=0;i<16;i++)

55 {

56 write_data(tab2[i]);

57 }

58 while(1);

59 }

60 void delay(uint x)

61 {

62 uint i;

63 while(x--)

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

65 }


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读
关闭