📄 10.4.lst
字号:
C51 COMPILER V6.20c 10_4 09/02/2001 15:04:33 PAGE 1
C51 COMPILER V6.20c, COMPILATION OF MODULE 10_4
OBJECT MODULE PLACED IN 10.4.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 10.4.c DEBUG OBJECTEXTEND
stmt level source
1 #include <reg52.h>
2 typedef unsigned int uint;
3 typedef unsigned char uchar;
4 sbit Sda=P1^1; //串行数据
5 sbit Scl=P1^2; //串行时钟
6 void mDelay(uchar j) //廷时
7 {
8 1 uint i;
9 1 for(;j>0;j--)
10 1 for(i=0;i<10;i++)
11 1 {}
12 1 }
13 void Start(void) //起始条件
14 {
15 1 Sda=1;
16 1 Scl=1;
17 1 Sda=0;
18 1 }
19 void Stop(void) //停止条件
20 {
21 1 Sda=0;
22 1 Scl=1;
23 1 Sda=1;
24 1 }
25 void Ack(void) //应答位
26 {
27 1 Sda=0;
28 1 Scl=1;
29 1 Scl=0;
30 1 }
31 void Send(uchar Dat) //发送数据子程序,Dat为要求发送的数据
32 {
33 1 uchar BitCounter=8; //位数控制
34 1 uchar temp; //中间变量控制
35 1 do
36 1 {
37 2 temp=Dat;
38 2 Scl=0;
39 2 if((temp&0x80)==0x80) //如果最高位是1
40 2 Sda=1;
41 2 else
42 2 Sda=0;
43 2 Scl=1;
44 2 temp=Dat<<1; //RLC
45 2 Dat=temp;
46 2 BitCounter--;
47 2 }
48 1 while(BitCounter);
49 1 Scl=0;
50 1 }
51 void moveout(uchar num)
52 {
53 1 Start(); //发送启动信号
54 1 Send(0x58); //发送器件地址
55 1 Ack();
C51 COMPILER V6.20c 10_4 09/02/2001 15:04:33 PAGE 2
56 1 Send(0x00); //发送命令
57 1 Ack();
58 1 Send(num);
59 1 Ack();
60 1 Stop();
61 1 mDelay(2);
62 1 }
63
64 void main()
65 {
66 1 uchar shuju;
67 1 moveout(shuju);
68 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 112 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 1
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 + -