📄 max518.lst
字号:
C51 COMPILER V7.20 MAX518 03/06/2007 10:46:54 PAGE 1
C51 COMPILER V7.20, COMPILATION OF MODULE MAX518
OBJECT MODULE PLACED IN MAX518.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE MAX518.C BROWSE DEBUG OBJECTEXTEND
line level source
1 /*******************************************************************
2
3 MAX518信号发生器实验
4 网址:http://www.kaifaban.com
5
6 功能:在OUT0,OUT1端输出相位相反的锯齿波
7
8 ********************************************************************/
9 #include <reg52.h>
10 #include <intrins.h>
11 #define uchar unsigned char
12 #define uint unsigned int
13 sbit SCL=P3^4;//串行时钟线
14 sbit SDA=P3^5;//串行数据线
15 //I2C延时程序
16 void I2cDelay(){
17 1 _nop_();_nop_();_nop_();_nop_();_nop_();
18 1 }
19 //I2C起始条件
20 void I2cStart(){
21 1 SDA=1;
22 1 _nop_();
23 1 SCL=1;
24 1 I2cDelay();
25 1 SDA=0;
26 1 I2cDelay();
27 1 SCL=0;//钳住I2C总线,准备发送或接收数据
28 1 _nop_();
29 1 }
30 //I2C停止条件
31 void I2cStop(){
32 1 SDA=0;
33 1 _nop_();
34 1 SCL=1;
35 1 I2cDelay();
36 1 SDA=1;
37 1 I2cDelay();
38 1 }
39 //等待应答
40 bit WaitAck(){
41 1 uchar Time=255;
42 1 SDA=1;
43 1 _nop_();
44 1 SCL=1;
45 1 I2cDelay();
46 1 while(SDA){
47 2 Time--;
48 2 if(Time==0){
49 3 I2cStop();
50 3 return (0);
51 3 }
52 2 }
53 1 SCL=0;
54 1 _nop_();
55 1 return (1);
C51 COMPILER V7.20 MAX518 03/06/2007 10:46:54 PAGE 2
56 1 }
57 //I2C写一字节数据
58 void I2cWriteByte(uchar Data){
59 1 uchar i;
60 1 for(i=0;i<8;i++){
61 2 SCL=0;
62 2 I2cDelay();
63 2 SDA=(bit)(Data&0x80);
64 2 Data<<=1;
65 2 I2cDelay();
66 2 SCL=1;
67 2 I2cDelay();
68 2 }
69 1 SCL=0;
70 1 }
71 //I2C写数据到MAX518
72 void I2cWrite(uchar Command,uchar Data){
73 1 I2cStart();//启动总线
74 1 I2cWriteByte(0x58);//发送器件地址
75 1 WaitAck();
76 1 I2cWriteByte(Command);//发送命令字节
77 1 WaitAck();
78 1 I2cWriteByte(Data);//发送数据
79 1 WaitAck();
80 1 I2cStop();
81 1 }
82 //主函数
83 main(){
84 1 uchar i=0;
85 1 while(1){
86 2 I2cWrite(0x00,i);
87 2 I2cWrite(0x01,0xFF-i);
88 2 i++;
89 2 }
90 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 142 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
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 + -