| 超级好的51单片机编程例程!工程师必看! | ||
| 单片机简介与单片机的发展历史 |
I/O
口功能实例 |
|
| 定时器实例
(1秒报警,200hz输出 200-250变化输出) |
||
| 软件滤波十六进制六位数加法(数码显示) |
求六位和中的最大值和最小值(数码显示) |
|
| 求减去最大和最小值后的值(数码显示) |
除4所得软件滤波值(数码显示) |
|
| 软件模拟一个振 |
在显示频率输出的同时显示AD值(数码显示) |
|
| 过程检定(数码显示) |
||
| 按键数显,数码管显示加一 | ||
| PWM码简介及解码原理 |
||
| 智能定时的4位电子钟(带定时控制) |
智能红外工业控制器 |
|
|
51单片机学习网热心版主单片东东,收集整理的单片机教学课程(例子程序, 特别推荐!)转载请保留连接! 八、DA
转换 8.1
三角波 程序介绍:单片机通过DAC0832转换在LM358的7脚输 出三角波。实际应用如:函数波形发生器。 程序实例(0832shan.asm): ORG
0000H MAIN: MOV
DPTR,#0BFFFH ;选通地址 STR1: MOV
R6,#00H ;通过上升和下降来产生三角波/////////////////// ;电压随时间上升/////////////////////////////// STR2:
MOV A,R6 MOVX
@DPTR,A INC
R6 CJNE
R6,#0FFH,STR2 ;///////////////////////////////////////////// ;电压随时间下降/////////////////////////////// STR3:
DEC R6 MOV
A,R6 MOVX
@DPTR,A CJNE
R6,#00H,STR3 ;///////////////////////////////////////////// AJMP
STR1 END 78 8.2
方波 程序介绍:程序介绍:单片机通过DAC0832转换在 LM358的7脚输出方波。实际应用如:函数波形发生器。 程序实例(0832fan.asm): ORG
0000h MAIN:
MOV DPTR,#0BFFFH ;通过高低电平地的变化来输出方波/////////////// LOOP1: MOV
A,0 MOVX
@DPTR,A ;向选通地址送低电平地 ACALL
DELAY MOV
A,#0FFH MOVX
@DPTR,A ;向选通地址送高电平 ACALL
DELAY AJMP
LOOP1 ;///////////////////////////////////////////// DELAY:
MOV 30H,#0FFH ;延时,通过改变它的大小 可以改变占空比 D2:
DJNZ 30H,D2 RET END 8.3
正弦波 程序介绍:程序介绍:单片机通过DAC0832转换在 LM358的7脚输出正弦波。实际应用如:函数波形发生器。 程序实例(0832xuan.asm): ORG
000H MAIN:
MOV R1,#00H ;取表格初值 79 LOOP1: ;在表格里取数送到指定地址///////////////////// MOV
A,R1 MOV
DPTR,#SETTAB MOVC
A,@A+DPTR MOV
DPTR,#0BFFFH MOVX
@DPTR,A ;///////////////////////////////////////////// INC
R1 ;表格加一 AJMP
LOOP1 ;循环 SETTAB: ;正弦表格///////////////////////////////////// DB
80H,83H,86H,89H,8DH,90H,93H,96H DB
99H,9CH,9FH,0A2H,0A5H,0A8H,0ABH,0AEH DB
0B1H,0B4H,0B7H,0BAH,0BCH,0BFH,0C2H,0C5H DB
0C7H,0CAH,0CCH,0CFH,0D1H, 0D4H,0D6H,0D8H DB
0DAH,0DDH,0DFH,0E1H,0E3H, 0E5H,0E7H,0E9H DB
0EAH,0ECH,0EEH,0EFH,0F1H, 0F2H,0F4H,0F5H DB
0F6H,0F7H,0F8H,0F9H,0FAH, 0FBH,0FCH,0FDH DB
0FDH,0FEH,0FFH,0FFH,0FFH, 0FFH,0FFH,0FFH DB
0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH,0FEH,0FDH DB
0FDH,0FCH,0FBH,0FAH,0F9H, 0F8H,0F7H,0F6H DB
0F5H,0F4H,0F2H,0F1H,0EFH, 0EEH,0ECH,0EAH DB
0E9H,0E7H,0E5H,0E3H,0E1H, 0DEH,0DDH,0DAH DB
0D8H,0D6H,0D4H,0D1H,0CFH, 0CCH,0CAH,0C7H DB
0C5H,0C2H,0BFH,0BCH,0BAH, 0B7H,0B4H,0B1H DB
0AEH,0ABH,0A8H,0A5H,0A2H, 9FH, 9CH, 99H DB
96H, 93H, 90H, 8DH, 89H, 86H, 83H, 80H 80 DB
80H, 7CH, 79H, 78H, 72H, 6FH, 6CH, 69H DB
66H, 63H, 60H, 5DH, 5AH, 57H, 55H, 51H DB
4EH, 4CH, 48H, 45H, 43H, 40H, 3DH, 3AH DB
38H, 35H, 33H, 30H, 2EH, 2BH, 29H, 27H DB
25H, 22H, 20H, 1EH, 1CH, 1AH, 18H, 16H DB
15H, 13H, 11H, 10H, 0EH, 0DH, 0BH, 0AH DB
09H, 08H, 07H, 06H, 05H, 04H, 03H, 02H DB
02H, 01H, 00H, 00H, 00H, 00H, 00H, 00H DB
00H, 00H, 00H, 00H, 00H, 00H, 01H, 02H DB
02H, 03H, 04H, 05H, 06H, 07H, 08H, 09H DB
0AH, 0BH, 0DH, 0EH, 10H, 11H, 13H, 15H DB
16H, 18H, 1AH, 1CH, 1EH, 20H, 22H, 25H DB
27H, 29H, 2BH, 2EH, 30H, 33H, 35H, 38H DB
3AH, 3DH, 40H, 43H, 45H, 48H, 4CH, 4EH DB
51H, 55H, 57H, 5AH, 5DH, 60H, 63H, 66H DB
69H, 6CH, 6FH, 72H, 76H, 79H, 7CH, 80H END 8.4
梯形波 程序介绍:程序介绍:单片机通过DAC0832转换在 LM358的7脚输出梯形波。实际应用如:函数波形发生器。 程序实例(0832ti.asm): ORG
0000h MAIN: MOV
DPTR,#0BFFFH STEP:
MOV R6,#19H MOV
R4,#0AH MOV
A,0 81 LOOP1:
MOVX @DPTR,A ;选通地址 ACALL
DELAY ;延时 ADD
A,R6 ;每次以19H的梯度增加 DJNZ
R4,LOOP1 ;梯度等待的时间 AJMP
STEP ;循环 DELAY: D2:
MOV 31H,#0FFH D1:
DJNZ 31H,D1 RET END
|