?? main.lst
字號(hào):
C51 COMPILER V7.07 MAIN 07/05/2006 05:56:10 PAGE 1
C51 COMPILER V7.07, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: c:\Keil\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 #define uchar unsigned char //定義一下方便使用
2 #define uint unsigned int
3 #define ulong unsigned long
4 #include <reg52.h> //包括一個(gè)52標(biāo)準(zhǔn)內(nèi)核的頭文件
5 //本課試驗(yàn)寫入一個(gè)字節(jié)到24c02中
6
7 char code dx516[3] _at_ 0x003b;//這是為了仿真設(shè)置的
8
9 #define WriteDeviceAddress 0xa0 //定義器件在IIC總線中的地址
10 #define ReadDviceAddress 0xa1
11 sbit SCL=P2^7;
12 sbit SDA=P2^6;
13
14 sbit P10=P1^0;
15
16 //定時(shí)函數(shù)
17 void DelayMs(uint number)
18 {
19 1 uchar temp;
20 1 for(;number!=0;number--)
21 1 {
22 2 for(temp=112;temp!=0;temp--) ;
23 2 }
24 1 }
25
26 //開(kāi)始總線
27 void Start()
28 {
29 1 SDA=1;
30 1 SCL=1;
31 1 SDA=0;
32 1 SCL=0;
33 1 }
34
35 //結(jié)束總線
36 void Stop()
37 {
38 1 SCL=0;
39 1 SDA=0;
40 1 SCL=1;
41 1 SDA=1;
42 1 }
43
44 //測(cè)試ACK
45 bit TestAck()
46 {
47 1 bit ErrorBit;
48 1 SDA=1;
49 1 SCL=1;
50 1 ErrorBit=SDA;
51 1 SCL=0;
52 1 return(ErrorBit);
53 1 }
54
55 //寫入8個(gè)bit到24c02
C51 COMPILER V7.07 MAIN 07/05/2006 05:56:10 PAGE 2
56 Write8Bit(uchar input)
57 {
58 1 uchar temp;
59 1 for(temp=8;temp!=0;temp--)
60 1 {
61 2 SDA=(bit)(input&0x80);
62 2 SCL=1;
63 2 SCL=0;
64 2 input=input<<1;
65 2 }
66 1 }
67
68 //寫入一個(gè)字節(jié)到24c02中
69 void Write24c02(uchar ch,uchar address)
70 {
71 1 Start();
72 1 Write8Bit(WriteDeviceAddress);
73 1 TestAck();
74 1 Write8Bit(address);
75 1 TestAck();
76 1
77 1 Write8Bit(ch);
78 1 TestAck();
79 1
80 1 Stop();
81 1 DelayMs(10);
82 1 }
83
84
85
86 //老鼠愛(ài)大米
87 uchar code dami[]={
88 "321-|3.2_1-|3231|3_6.5-|3_5_665|65-3_2_|122_3_2|12--|"
89 };
90
91 //本課試驗(yàn)寫老鼠愛(ài)大米的樂(lè)譜到24c02中
92 void main(void) // 主程序
93 {
94 1 uchar i;
95 1 for(i=0;dami[i]!=0;i++)
96 1 {
97 2 Write24c02(dami[i],i);// 逐個(gè)寫入到24c02的中
98 2 }
99 1 Write24c02(0x00,i); //寫入最后一個(gè)0
100 1
101 1 P10=0; //指示運(yùn)行完畢
102 1 while(1); //程序掛起
103 1
104 1
105 1 }
106
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 129 ----
CONSTANT SIZE = 54 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
IDATA SIZE = ---- ----
BIT SIZE = ---- 1
END OF MODULE INFORMATION.
C51 COMPILER V7.07 MAIN 07/05/2006 05:56:10 PAGE 3
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -