本文包含原理图、PCB、源代码、封装库、中英文PDF等资源
您需要 登录 才可以下载或查看,没有账号?注册会员
×
本人刚刚入门 ,所以有点水,但是水可以学 不废话了。
要求用0832设计一个数字信号发生器 输出 方波,三角波,梯形波,锯齿波,正弦波
波形幅值—5~+5连续可调 频率可调 设想 用led的亮暗来区别几种波形 用开关选择波形 ,然后 幅值是不是可以用ADC0809的上拉电阻的变化来实现,频率不
知道怎么变 没想法,下面写的是用开关区别波形,接下去 真不知道该怎么写,希望能帮我完善下,最后是能备注,为什么呢,我要的不是结果,是学习过程,备注有利于我看懂程序 (汇编程序)
WL EQU 00H
WH EQU 0FFH
ORG 0000H
LJMP MAIN
ORG 0040H
MAIN: ORL P1,#0FFH
MOV A,P1
JNB ACC.0,P0F
JNB ACC.1,P1F
JNB ACC.2,P2F
JNB ACC.3,P3F
JNB ACC.4,P4F
P0F: LJMP JOB0
P1F: LJMP JOB1
P2F: LJMP JOB2
P3F: LJMP JOB3
P4F: LJMP JOB4
JOB0: MOV DPTR,#0F8FFH
MOV A,#00H
LOOP: MOVX @DPTR,A
INC A
NOP
NOP
JZ MAIN
AJMP LOOP;锯齿波
JOB1: MOV DPTR,#0F8FFH
MOV A,#00H
MOVX @DPTR,A
CALL DELAY
MOV A,#0FFH
MOVX @DPTR,A
CALL DELAY
AJMP MAIN;矩形波
JOB2: MOV DPTR,#0F8FFH
MOV A,#00H
MOVX @DPTR,A
MOV R7,#WL
UP: INC R7
MOV A,R7
MOVX @DPTR,A
CJNE R7,#WH,UP
DOWN: DEC R7
MOV A,R7
MOVX @DPTR,A
CJNE R7,#WL,DOWN
LJMP MAIN;三角波
JOB3:MOV DPTR,#0F8FFH
MOV A,#00H
MOVX @DPTR,A
MOV R7,#WL
UP1: INC R7
MOV A,R7
MOVX @DPTR,A
CJNE R7,#WH,UP1
CALL DELAY
DOWN1:DEC R7
MOV A,R7
MOVX @DPTR,A
CJNE R7,#WL,DOWN
CALL DELAY
LJMP MAIN;梯形波
JOB4: MOV R1,#00H
LOOP2:MOV A,R1
MOV DPTR,#SETTAB
MOVC A,@A+DPTR
MOV DPTR,#0F8FFH
MOVX @DPTR,A
INC R1
AJMP LOOP2
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
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
DELAY:
D1MS:MOV R4,249
DL:NOP
NOP
DJNZ R4,DL
RET
END |