📄 ex9-2a.lst
字号:
A51 MACRO ASSEMBLER EX9_2A 11/30/2009 13:14:18 PAGE 1
MACRO ASSEMBLER A51 V8.01
OBJECT MODULE PLACED IN ex9-2a.OBJ
ASSEMBLER INVOKED BY: C:\Keil\C51\BIN\A51.EXE ex9-2a.asm SET(SMALL) DEBUG EP
LOC OBJ LINE SOURCE
1 ;$include (STC12C5A.INC) ;包含STC12C5A60S2单片机寄存器定义文件
+1 2 $nomod51
+1 3 +1 $save
+1 152 +1 $restore
0031 153 ADC_HI EQU 31H ;A/D转换结果高2位
0030 154 ADC_LOW EQU 30H ;A/D转换结果低8位
0000 155 ORG 0000H
0000 020050 156 LJMP MAIN
002B 157 ORG 002BH
002B 020072 158 LJMP ADC_ISR ;ADC中断服务程序入口
0050 159 ORG 0050H
0050 160 MAIN:
0050 758170 161 MOV SP, #70H ;设置堆栈
0053 43BC80 162 ORL ADC_CONTR, #80H ;开A/D转换电源,第一次使用时要打开内部模拟电源
0056 7420 163 MOV A, #20H
0058 120083 164 LCALL DELAY ;开A/D转换电源后要加适当延时,1ms以内即可
005B 759D04 165 MOV P1ASF,#04H ;设置P1.2的模拟量功能
005E 75BCE2 166 MOV ADC_CONTR,#11100010B ;选择P1.2作为A/D转换通道
0061 7405 167 MOV A, #05H
0063 120083 168 LCALL DELAY ;如果切换A/D转换通道,则需要加延时
0066 43A204 169 ORL AUXR1,#04H ;设置ADC转换结果存储格式(A
DRJ=1)
0069 43BC08 170 ORL ADC_CONTR, #00001000B ;启动A/D转换
006C D2AD 171 SETB EADC ;EADC=1, 开放ADC的中断控制位
006E D2AF 172 SETB EA ;开放CPU总中断
0070 80FE 173 SJMP $ ;循环等粗卸
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -