| 超级好的51单片机编程例程!工程师必看! | ||
| 单片机简介与单片机的发展历史 |
I/O
口功能实例 |
|
| 定时器实例
(1秒报警,200hz输出 200-250变化输出) |
||
| 软件滤波十六进制六位数加法(数码显示) |
求六位和中的最大值和最小值(数码显示) |
|
| 求减去最大和最小值后的值(数码显示) |
除4所得软件滤波值(数码显示) |
|
| 软件模拟一个振 |
在显示频率输出的同时显示AD值(数码显示) |
|
| 过程检定(数码显示) |
||
| 按键数显,数码管显示加一 | ||
| PWM码简介及解码原理 |
||
| 智能定时的4位电子钟(带定时控制) |
智能红外工业控制器 |
|
|
51单片机学习网热心版主单片东东,收集整理的单片机教学课程(例子程序, 特别推荐!)转载请保留连接! 七、AD
转换 7.1
AD转换(数码显示) 程序介绍:利用ADC0809模拟通道3输入电压,经单片机 处理后在数码管上用相对应的16进制数显示出来,0—5V对 应为0--0FFH,实际应用例如:数据采集。 程序操作:程序写完上电运行后,用本机配带的专用起微调 图15所示电位器,会在数码管上看到随不同电压而变化的对 应16进制值。也可以用 万用表实ADC0809IN3脚 电压,来检验所对应显 示的16进制数。 图15 程序实例(ad.asm): ORG
0000H MAIN1: ACALL
DELAY ;延时 ACALL
AD ;呼叫AD子程序 ;将转换的数字量屏蔽高位低位送显//////////////////// MOV
31H,30H MOV
A,30H ANL
A,#0FH MOV
DPTR,#SETTAB MOVC
A,@A+DPTR MOV
SBUF,A D1:
JNB TI,D1 CLR
TI ;////////////////////////////////////////////////// ;将转换的数字量屏蔽低位高位送显//////////////////// MOV
A,30H 20 ANL
A,#0F0H SWAP
A MOV
DPTR,#SETTAB MOVC
A,@A+DPTR MOV
SBUF,A D2:
JNB TI,D2 CLR
TI ;////////////////////////////////////////////////// AJMP
MAIN1 ;返回主程序 AD:
MOV DPTR,#7F00H ;指向转换地址 MOV
A,#03H ;指向转换口 MOVX
@DPTR,A ;转换 MOV
R1,#64H D3:
DJNZ R1,D3 ;等100微秒转换完 MOVX
A,@DPTR ;转换后的值给A MOV
30H,A ;转换的值给30H RET DELAY:
;延时 MOV
R2,#0FFH D14:
MOV R3,#0FFH D12:
DJNZ R3,D12 DJNZ
R2,D14 RET SETTAB: DB
0FCH,60H,0DAH,0F2H,66H,0B6H,0BEH,0E0H, 0FEH,0F6H DB
0EEH,3EH,9CH,7AH,9EH,8EH 21
|