📄 dpcf8576.lst
字号:
C51 COMPILER V7.01 DPCF8576 02/11/2003 10:59:18 PAGE 1
C51 COMPILER V7.01, COMPILATION OF MODULE DPCF8576
OBJECT MODULE PLACED IN Dpcf8576.OBJ
COMPILER INVOKED BY: D:\KEIL\C51\BIN\C51.EXE Dpcf8576.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 /****************************************************************************
2 * File:DPCF8576.C
3 * 功能:使用PCF8676驱动程序LCD,显示" Hello dp-932 "
4 * 说明:将跳线器J11、J12分别短接到SDA、SCL端;
5 * 通过跳线器J8、J9选择高频晶振6MHz,J28短接到BEEP端。
6 ****************************************************************************/
7 #include "VI2C_C51.H"
8 #include "PCF8576.H"
9 #include "REG932.H"
10
11 sbit BEEP = P2^7;
12
13 /****************************************************************************
14 * 名称:DelayNS
15 * 功能:长软件延时
16 * 入口参数:no 延时参数,值越大时延时越久
17 ****************************************************************************/
18 void DelayNS(uchar no)
19 { uchar i,j;
20 1 for(; no>0; no--)
21 1 { for(i=0; i<200; i++)
22 2 for(j=0; j<250; j++);
23 2 }
24 1 }
25
26
27 /* 液晶显示字符表,0-9 */
28 uchar code LED_TAB1[] = {0xB7,0x06,0xE5,0xC7,0x56,0xD3,0xF3,0x07,0xF7,0xD7};
29 uchar code LED_TAB2[] = {0xED,0x60,0xA7,0xE3,0x6A,0xCB,0xCF,0xE0,0xEF,0xEB};
30
31 void main(void)
32 { uchar disp_buf[20]; // 定义显示缓冲区
33 1 uchar i;
34 1
35 1 P1M1=0x00; // 设置IO口工作模式
36 1 P1M2=0x00;
37 1 P2M1=0xc0;
38 1 P2M2=0xc0;
39 1
40 1 /* 初始化PCF8576,正常工作模式,打开显示,1/3偏压,4背极,禁止闪烁 */
41 1 if( PCF8576_Ini(MODE_E, NOGLITTER)==0 )
42 1 { while(1) // 若器件无应答,则蜂鸣报警
43 2 { BEEP = ~BEEP;
44 3 DelayNS(5);
45 3 }
46 2 }
47 1
48 1 /* 输出显示数据,全显示 */
49 1 for(i=0; i<20; i++)
50 1 { disp_buf[i]=0xff;
51 2 }
52 1 PCF8576_Disp(0, 0x00, disp_buf, 20); // 0x00是数据指针指向00H的指令
53 1 DelayNS(50);
54 1
55 1 /* 显示"123...."*/
C51 COMPILER V7.01 DPCF8576 02/11/2003 10:59:18 PAGE 2
56 1 for(i=1; i<8; i++) // 第1行显示数据
57 1 { disp_buf[i]=LED_TAB1[i]|0x08;
58 2 }
59 1 for(i=9; i<16; i++) // 第2行显示数据
60 1 { disp_buf[i]=LED_TAB2[i-8]|0x10;
61 2 }
62 1 PCF8576_Disp(0, 0x00, disp_buf, 20);
63 1 DelayNS(150);
64 1
65 1 /* 显示" Hello dp-932 " */
66 1 for(i=0; i<20; i++)
67 1 { disp_buf[i]=0x00;
68 2 }
69 1 disp_buf[1]=0x76; // 'H'
70 1 disp_buf[2]=0xf1; // 'E'
71 1 disp_buf[3]=0xb0; // 'L'
72 1 disp_buf[4]=0xb0; // 'L'
73 1 disp_buf[5]=0xb7; // 'O'
74 1
75 1 disp_buf[15]=0x67; // 'd'
76 1 disp_buf[14]=0xae; // 'p'
77 1 disp_buf[13]=0x02; // '-'
78 1 disp_buf[12]=LED_TAB2[9]; // '9'
79 1 disp_buf[11]=LED_TAB2[3]; // '3'
80 1 disp_buf[10]=LED_TAB2[2]|0x10; // '2'
81 1 PCF8576_Disp(0, 0x00, disp_buf, 20);
82 1 while(1);
83 1 }
84
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 214 ----
CONSTANT SIZE = 20 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 20
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -