📄 stc12c5412ad_driver.lst
字号:
C51 COMPILER V8.05a STC12C5412AD_DRIVER 08/21/2007 12:57:59 PAGE 1
C51 COMPILER V8.05a, COMPILATION OF MODULE STC12C5412AD_DRIVER
OBJECT MODULE PLACED IN STC12C5412AD_DRIVER.OBJ
COMPILER INVOKED BY: C:\Keil\MCU\C51\BIN\C51.EXE STC12C5412AD_DRIVER.C BROWSE DEBUG OBJECTEXTEND
line level source
1 //模块:STC12C5412AD_Driver.C
2 //功能:单片机增强功能驱动模块
3 //晶振:24.000MHz
4 //芯片: STC12C5412AD
5 //版本:V1.0.0
6 //设计:魏广寅
7 //日期:2007.4.10
8 #include "STC12C5412AD.h"
9 #define uchar unsigned char
10 #define uint unsigned int
11 //--------------------------------------------------------------------
12 /*void set_timer0_1T()//设置T0为1T模式
13 {
14 AUXR=AUXR|0x80;
15 }
16 //--------------------------------------------------------------------
17 void set_timer1_1T()//设置T1为1T模式
18 {
19 AUXR=AUXR|0x40;
20 }
21 //--------------------------------------------------------------------
22 void set_timer0_12T()//设置T0为12T模式
23 {
24 AUXR=AUXR&0x7f;
25 }
26 //--------------------------------------------------------------------
27 void set_timer1_12T()//设置T1为12T模式
28 {
29 AUXR=AUXR&0xbf;
30 }
31 //--------------------------------------------------------------------
32 uchar EEPROM_read(uint addr)//EEPROM字节读
33 {
34 ISP_ADDRH=(addr&0xff00)>>8;
35 ISP_ADDRL=addr&0x00ff;
36 ISP_CONTR=0x81;
37 ISP_CMD=1;
38 ISP_TRIG=0x46;
39 ISP_TRIG=0xb9;
40 return ISP_DATA;
41 }
42 //--------------------------------------------------------------------
43 void EEPROM_write(uint addr,uchar dat)//EEPROM字节写
44 {
45 ISP_DATA=dat;
46 ISP_ADDRH=(addr&0xff00)>>8;
47 ISP_ADDRL=addr&0x00ff;
48 ISP_CONTR=0x81;
49 ISP_CMD=2;
50 ISP_TRIG=0x46;
51 ISP_TRIG=0xb9;
52 }
53 //--------------------------------------------------------------------
54 void EEPROM_ERASE(uint addr)//EEPROM扇区擦除
55 {
C51 COMPILER V8.05a STC12C5412AD_DRIVER 08/21/2007 12:57:59 PAGE 2
56 ISP_ADDRH=(addr&0xff00)>>8;
57 ISP_ADDRL=addr&0x00ff;
58 ISP_CONTR=0x81;
59 ISP_CMD=3;
60 ISP_TRIG=0x46;
61 ISP_TRIG=0xb9;
62 } */
63 //--------------------------------------------------------------------
64 /* void set_p3_tw()
65 {
66 P3M0|=0x00;
67 P3M1|=0x00;
68 }*/
69 //--------------------------------------------------------------------
70 void AD_init(uchar AD_port_sel ) //ADC初始化
71 {
72 1 ADC_CONTR|=0x80; //开ADC电源
73 1
74 1 switch(AD_port_sel) //选择作为ADC的端口
75 1 {
76 2 case 0:
77 2 P1M0=0x01;
78 2 P1M1=0x00;
79 2 ADC_CONTR&=0xf8;
80 2
81 2 break;
82 2
83 2 case 1:
84 2 P1M0=0x02;
85 2 P1M1=0x00;
86 2 ADC_CONTR&=0xf8;
87 2 ADC_CONTR|=0x01;
88 2 break;
89 2
90 2 case 2:
91 2 P1M0=0x04;
92 2 P1M1=0x00;
93 2 ADC_CONTR&=0xf8;
94 2 ADC_CONTR|=0x02;
95 2 break;
96 2
97 2 case 3:
98 2 P1M0=0x08;
99 2 P1M1=0x10;
100 2 ADC_CONTR&=0xf8;
101 2 ADC_CONTR|=0x03;
102 2 break;
103 2
104 2 case 4:
105 2 P1M0=0x10;
106 2 P1M1=0x00;
107 2 ADC_CONTR&=0xf8;
108 2 ADC_CONTR|=0x03;
109 2 break;
110 2
111 2 case 5:
112 2 P1M0=0x20;
113 2 P1M1=0x00;
114 2 ADC_CONTR&=0xf8;
115 2 ADC_CONTR|=0x05;
116 2 break;
117 2
C51 COMPILER V8.05a STC12C5412AD_DRIVER 08/21/2007 12:57:59 PAGE 3
118 2 case 6:
119 2 P1M0=0x40;
120 2 P1M1=0x00;
121 2 ADC_CONTR&=0xf8;
122 2 ADC_CONTR|=0x06;
123 2 break;
124 2
125 2 case 7:
126 2 P1M0=0x80;
127 2 P1M1=0x80;
128 2 ADC_CONTR&=0xf8;
129 2 ADC_CONTR|=0x07;
130 2 break;
131 2 }
132 1 ADC_CONTR=0xe7;
133 1 }
134 //--------------------------------------------------------------------
135 uint GET_AD_Result()//启动AD转换并返回转换值
136 {
137 1 uchar temp;
138 1 uint data_temp;
139 1 data_temp=0;
140 1 ADC_DATA=0;
141 1 ADC_LOW2=0;
142 1 ADC_CONTR|=0x08;
143 1 re: temp=0x10;
144 1 temp&=ADC_CONTR;
145 1 if(temp==0)
146 1 goto re;
147 1 ADC_CONTR&=0xe7;
148 1 data_temp=ADC_DATA;
149 1 data_temp<<=2;
150 1 data_temp+=ADC_LOW2;
151 1 return data_temp;
152 1 }
153 //--------------------------------------------------------------------
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 192 ----
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 + -