📄 main.lst
字号:
C51 COMPILER V7.06 MAIN 06/02/2010 14:54:53 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN .\obj\main.obj
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND PRINT(.\obj\main.lst) OBJECT(.\obj\main.ob
-j)
stmt level source
1 /*-----------------------------------------------
2 名称:IIC协议 PCF8591 AD/DA转换
3 论坛:www.doflye.net
4 编写:shifang
5 修改:无
6 内容:使用4路AD中的4路检测外部模拟量输入
7 ------------------------------------------------*/
8 #include <reg52.h>
9 #include "i2c.h"
10 #include "delay.h"
11 #include "display.h"
12
13 #define AddWr 0x90 //写数据地址
14 #define AddRd 0x91 //读数据地址
15
16 extern bit ack;
17 bit WriteDAC(unsigned char dat);
18 /*------------------------------------------------
19 主程序
20 ------------------------------------------------*/
21 main()
22 {
23 1 unsigned char num=0;
24 1 Init_Timer0();
25 1 while (1) //主循环
26 1 {
27 2 WriteDAC(num);
28 2 num++;
29 2 TempData[0]=dofly_DuanMa[num/100];
30 2 TempData[1]=dofly_DuanMa[(num%100)/10];
31 2 TempData[2]=dofly_DuanMa[(num%100)%10];
32 2 DelayMs(100);
33 2 }
34 1 }
35
36 /*------------------------------------------------
37 写入DA转换数值
38 输入参数:dat 表示需要转换的DA数值,范围是0-255
39 ------------------------------------------------*/
40 bit WriteDAC(unsigned char dat)
41 {
42 1 Start_I2c(); //启动总线
43 1 SendByte(AddWr); //发送器件地址
44 1 if(ack==0)return(0);
45 1 SendByte(0x40); //发送器件子地址
46 1 if(ack==0)return(0);
47 1 SendByte(dat); //发送数据
48 1 if(ack==0)return(0);
49 1 Stop_I2c();
50 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 97 ----
C51 COMPILER V7.06 MAIN 06/02/2010 14:54:53 PAGE 2
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 2
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 + -