led点阵书写显示屏简介+程序

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

LED点阵书写显屏

作品是一个用光敏三极管做中断源的16X16点阵,已经实现了7个功能:

1.书写

2.反显

3.单笔擦除

4.移动文字

5.储存文字(可用显示功能一次放映5个字)

6.清屏(直接擦除屏幕上的文字)

7.放映存储的文字

程序:

8.#include

9.#include

10.#define uchar unsigned char

11.#define uint unsigned int

12.#define LCM_Data P1//数据接口

13.uint dlzbw=0x0001,dlzbw1;

14.uchar Count_a=0; //菜单翻页计数;

15.uchar Count_b; //比较值

16.uchar Count_c=0; //子菜单计数

17.uchar p2hc=0xe0;// p2hcl;

18.uchar p0hc,p0hc1,p0hcl,p0hc1l,sxhc=0;

19.

20.

21.uchar hhc1=0x08,hhc2,lhc1=0x08,lhc2,ydhc=0;

22.

23.

24.

25.uchar lie_1,hang_1;//列行初值为0

26.uint dl,wl,hhc,lhc;//点亮和微亮的延时量缓存行列值

27.uint gbhc=0,dbhc=0;//光笔缓存

28.uchar a_1=1;

29.uchar b_1=0;

30.uchar c_1=0;

31.uchar d_1=0;

32.uchar e_1=0;

33.uint led_dl[16]={0};

34.uint xdata led_dl1[16]={0};

35.uint xdata led_dl2[16]={0};

36.uint xdata led_dl3[16]={0};

37.uint xdata led_dl4[16]={0};

38.sbit s1 = P2^6;

39.sbit s2 = P2^7;

40.sbit LCM_E=P0^2;//定义接口

41.sbit LCM_RW=P0^1;

42.sbit LCM_RS= P0^0;

43.sbit LCM_G0=P2^4;

44.uchar code net0[] = {"Writing"};

45.uchar code net1[] = {">1.Re-display"};

46.uchar code net2[] = {">2.Erase"};

47.uchar code net3[] = {">3.Drag"};

48.uchar code net4[] = {">4.Storage"};

49.uchar code net5[] = {">5.Eliminate"};

50.uchar code net6[] = {">6.Display"};

51.uchar code net7[] = {">Return"};

52.uchar code net8[] = {"Frist_word"};

53.uchar code net9[] = {"Second_word"};

54.uchar code net10[] = {"Third_word"};

55.uchar code net11[] = {"Fourth_word"};

56.uchar code net12[] = {"Wellcome!"};

57.uint code dh[8][16]={0xffff,0x8001,0x8001,0x8001,0x8001,0x8001,0x8001,0x8001,

58.0x8001,0x8001,0x8001,0x8001,0x8001,0x8001,0x8001,0xffff,

59.0xffff,0xffff,0xc003,0xc003,0xc003,0xc003,0xc003,0xc003,

60.0xc003,0xc003,0xc003,0xc003,0xc003,0xc003,0xffff,0xffff,

61.0xffff,0xffff,0xffff,0xe007, 0xe007,0xe007,0xe007,0xe007,

62.

0xe007,0xe007,0xe007,0xe007,0xe007,0xffff,0xffff,0xffff,

63.0xffff,0xffff,0xffff,0xffff,0xf00f,0xf00f,0xf00f,0xf00f,

64.0xf00f,0xf00f,0xf00f,0xf00f,0xffff,0xffff,0xffff,0xffff,

65.0xffff,0xffff,0xffff,0xffff,0xffff,0xf81f,0xf81f,0xf81f,

66.0xf81f,0xf81f,0xf81f,0xffff,0xffff,0xffff,0xffff,0xffff,

67.0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xfc3f,0xfc3f,

68.0xfc3f,0xfc3f,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,

69.0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xfe7f,

70.0xfe7f,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,

71.0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,

72.0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff};

73.

74./********************延时函数************************/

75.void delayliang(uint x)

76.{while(x--);}

77./********************延时函数************************/

78.void delay(uint x,uint y)

79.{while(x--){while(y--);}

80.}

81./********************400ms延时延时函数************************/

82.void Delay400Ms(void)

83.{ uchar TempCycA = 5;

84.unsigned int TempCycB;

85.while(TempCycA--)

86.{ TempCycB=7269;

87.while(TempCycB--);

相关文档
最新文档