📄 main.lst
字号:
C51 COMPILER V8.08 MAIN 05/04/2007 21:04:05 PAGE 1
C51 COMPILER V8.08, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND
line level source
1
2 /*********************************************************************
3 12M-AT89S52
4 XX7299A
5 ********************************************************************/
6
7 #include <reg52.h>
8 #include <intrins.h>
9 #include <IIC_C51.h>
10 #include <XX7299A.h>
11
12 #define uchar unsigned char
13 #define uint unsigned int
14
15 unsigned char WrXX7299A(uchar addr,uchar d8)//写一个字节
16 {unsigned char ack;
17 1 ack=I2C_SendStr(XX7299A_Write_DeviceAddr,addr,&d8,1);
18 1 return ack;
19 1 }
20
21 unsigned char WrStrXX7299A(unsigned char suba,//连续写多个字节
22 unsigned char *s,unsigned char no)
23 {unsigned char ack;
24 1 ack=I2C_SendStr(XX7299A_Write_DeviceAddr,suba,s,no);
25 1 return ack;
26 1 }
27
28 unsigned char RdXX7299A(uchar addr,uchar *s)//读一个字节数据到s指向的单元
29 {unsigned char ack;
30 1 ack=I2C_RcvStr(XX7299A_Write_DeviceAddr,addr,s,1);
31 1 return ack;
32 1 }
33
34 unsigned char RdStrXX7299A(unsigned char suba,//读多个字节数据到s指向的单元
35 unsigned char *s,unsigned char no)
36 {unsigned char ack;
37 1 ack=I2C_RcvStr(XX7299A_Write_DeviceAddr,suba,s,no);
38 1 return ack;
39 1 }
40
41 int main(void)
42 {unsigned char nc;
43 1 unsigned int i;
44 1 unsigned char t[8]={1,2,3,4,5,6,7,8};
45 1 unsigned char T[8]={8,7,6,5,4,3,2,1};
46 1
47 1 WrXX7299A(Reg7299_DisDecode0,0xff);//设定当前组为译码显示
48 1 WrStrXX7299A(Reg7299_DisDate0R,t,8);
49 1 WrXX7299A(Reg7299_DisFlash0,0x55);//间隔闪烁
50 1 WrXX7299A(Reg7299_DisFlash0,0x00);//停止闪烁
51 1 WrStrXX7299A(0x00,T,8); //写E2PROM
52 1 WrXX7299A(Reg7299_LoadEEPROM,0x80);//将E2PROM数据装载到寄存器显示
53 1 for(nc=0;nc<4;nc++)
54 1 WrXX7299A(Reg7299_DisDate1R +nc,0xff);//写第二组寄存器
55 1 WrXX7299A(Reg7299_DisCtrl,0x14);//与显示消隐四位数码管显示
C51 COMPILER V8.08 MAIN 05/04/2007 21:04:05 PAGE 2
56 1 WrXX7299A(Reg7299_DisCtrl,0x00);//恢复方式0显示模式
57 1
58 1 WrXX7299A(Reg7299_ShiftCtrl,0x88);//显示数据移位
59 1 WrXX7299A(Reg7299_ShiftCtrl,0x98); //显示数据移位
60 1 WrXX7299A(Reg7299_ShiftCtrl,0x80); //显示数据移位
61 1 WrXX7299A(Reg7299_ShiftCtrl,0x90); //显示数据移位
62 1
63 1 while(1)
64 1 {i=RdXX7299A(Reg7299_KeyValue,&nc);//读按键值到nc
65 2 WrXX7299A(Reg7299_DisDate00,nc%10);//显示按键值
66 2 WrXX7299A(Reg7299_DisDate01,nc/10%10);
67 2 WrXX7299A(Reg7299_DisDate02,nc/100);
68 2 if(i!=0xff)
69 2 {WrXX7299A(Reg7299_DisDate03,i);
70 3 while(1);
71 3 }
72 2 }
73 1
74 1
75 1
76 1
77 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 628 ----
CONSTANT SIZE = 16 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 42
IDATA SIZE = ---- ----
BIT SIZE = ---- 6
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -