📄 c8051f020.lst
字号:
C51 COMPILER V8.02 C8051F020 01/09/2009 16:20:58 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE C8051F020
OBJECT MODULE PLACED IN C8051F020.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE program\C8051F020.c LARGE BROWSE DEBUG OBJECTEXTEND PRINT(.\C8051F020.lst)
-OBJECT(C8051F020.obj)
line level source
1
2
3
4 #include "c8051F020.h"
5
6 bit SYSTEM_TEMP_BIT;
7 //------------------------------------------------------------------------------------
8 void Oscillator_Init()
9 {
10 1 int i = 0;
11 1 OSCXCN = 0x67;
12 1 for (i = 0; i < 3000; i++); // Wait 1ms for initialization
13 1 while ((OSCXCN & 0x80) == 0);
14 1 OSCICN = 0x08;
15 1 }
16 //------------------------------------------------------------------------------------
17 void Port_IO_Init(void)
18 {
19 1
20 1 P1MDIN = 0xFF; // 1对应的引脚是数字输入 0对应的引脚是模拟输入 开机默认:0xff
21 1
22 1 P0MDOUT |= 0x00; // 1对应的引脚是推挽输出 0对应的引脚是漏极开路输出 开机默认:0x00
23 1 P1MDOUT |= 0x00; // 1对应的引脚是推挽输出 0对应的引脚是漏极开路输出 开机默认:0x00
24 1 P2MDOUT |= 0x00; // 1对应的引脚是推挽输出 0对应的引脚是漏极开路输出 开机默认:0x00
25 1 P3MDOUT |= 0x00; // 1对应的引脚是推挽输出 0对应的引脚是漏极开路输出 开机默认:0x00
26 1
27 1 P74OUT=0Xff;
28 1
29 1 P0=0xff;
30 1 P1=0xff;
31 1 P2=0xff;
32 1 P3=0xff;
33 1 P4=0xff;
34 1 P5=0xff;
35 1 P6=0xff;
36 1 P7=0xff;
37 1
38 1 XBR0 = 0x04; // Enable UART0
39 1 //XBR1 = 0x04;
40 1 XBR2 = 0x44; // Enable crossbar and weak pull-ups
41 1 P0MDOUT |= 0x01; // enable TX0 as a push-pull output
42 1 P1MDOUT |= 0x01;
43 1 P2MDOUT = 0xe0; // P2口设为推挽方式
44 1 P3MDOUT = 0xff; // P2口设为推挽方式
45 1 //XBR2 &= ~(0x80);//弱上拉允许
46 1 }
47 //------------------------------------------------------------------------------------
48 /*
49 //外部总线初始化
50 void ExtBus_Init(void)
51 {
52
53 EMI0CN = 0x00;//当使用8位的MOVX命令时,XRAM页选择位提供16位外部数据存储器地址的高字节,实际上是选择一个256
-字节的RAM
C51 COMPILER V8.02 C8051F020 01/09/2009 16:20:58 PAGE 2
54 EMI0CF = 0X34;//外部P4-P7,非复用,EMIF=01,ALE=0;
55 EMI0TC = 0x45;//(地址建立时间(0-3)<<6)||(RD/WR(0-15)<<2)||(地址保持时间(0-3))
56
57
58 XBR2 |= 0x40;//交叉开关启动
59 XBR2 &= ~(0x80);//弱上拉允许
60 }
61 //------------------------------------------------------------------------------------
62 /*
63 void ADC_Init()
64 {
65 ADC1CF = 0xF9;
66 AMX1SL = 0x00;
67 ADC1CN = 0x82;
68 P1MDIN = 0xFE;
69 IE = 0x80;
70 EIE2 = 0x09;
71 REF0CN = 0x1A;
72 //REF0CN = 0x02;
73 }
74
75 void ADC0_Init()
76 {
77 AMX0CF = 0X00;
78 ADC0CF = 0XF0;
79 ADC0CN = 0X84;
80 EIE2 = 0x03;
81 IE = 0x80;
82 REF0CN = 0x0b;
83 }
84 //------------------------------------------------------------------------------------
85
86 void DAC_Init()
87 {
88 DAC0CN = 0x87;
89 DAC1CN = 0x80;
90 }
91 //------------------------------------------------------------------------------------
92 /*
93 //ADC2初始化
94 void ADC2_Init(void)
95 {
96
97
98 AMX2CF = 0X00;//低4位是差分输入标志位1为差分输入
99 ADC2CF = ((SYSTEM_CLK/5000000)<<3);
100 ADC2_SetupMul(1);//放大倍数设为1倍
101 ADC2CN = 0XA2;//定时器3触发转换
102 REF0CN&=0Xf7;//设置adc2基准电压为3.3V;
103 REF0CN|=0x20;//开启偏执电压
104 }
105 //------------------------------------------------------------------------------------
106 //读取ADC2转换结果
107 //可工作与中断或非中断方式
108 unsigned char ADC2_Read(void)
109 {
110 unsigned char val;
111 while((ADC2CN&0x20)==0);
112 val = ADC2;
113 ADC2CN&=0x20;
114 return val;
115 }
C51 COMPILER V8.02 C8051F020 01/09/2009 16:20:58 PAGE 3
116 //------------------------------------------------------------------------------------
117 //DAC0初始化
118 void DAC0_Init(void)
119 {
120 DAC0CN = 0x88;//DAC0允许和设定为定时器3启动
121 REF0CN|=0x20;//开启偏执电压
122 }
123 //------------------------------------------------------------------------------------
124 //DAC1初始化
125 void DAC1_Init(void)
126 {
127 DAC1CN = 0x88;//DAC0允许和设定为定时器3启动
128 REF0CN|=0x20;//开启偏执电压
129 }
130 //------------------------------------------------------------------------------------
131 //DAC0输出
132 void DAC0_OUT(unsigned int val)
133 {
134 union
135 {
136 unsigned char uchar[2];
137 unsigned int uint;
138 }int2char;
139
140 int2char.uint = val;
141 DAC0L = int2char.uchar[0];
142 DAC0H = int2char.uchar[1];
143 }
144 //------------------------------------------------------------------------------------
145 //DAC1输出
146 void DAC1_OUT(unsigned int val)
147 {
148 union
149 {
150 unsigned char uchar[2];
151 unsigned int uint;
152 }int2char;
153
154 int2char.uint = val;
155 DAC1L = int2char.uchar[0];
156 DAC1H = int2char.uchar[1];
157 }
158 //------------------------------------------------------------------------------------
159 */
160
161 //------------------------------------------------------------------------------------
162
163
164
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 75 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
IDATA SIZE = ---- ----
BIT SIZE = 1 ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -