求大神帮忙看下电路图和汇编语言程序使波形频率能在1-1KHZ 可调
附录 程序清单
ORG 0000H
SJMP START
ORG 30H
START:
CJNE A,#0FFH,KEY
SJMP $
KEY: JNB P1.0,KEY0
JNB P1.1,KEY1
JNB P1.2,KEY2
JNB P1.3,KEY3
SJMP START
KEY0: ACALL SIN
SJMP KEY
KEY1: ACALL FANG
SJMP KEY
KEY2: ACALL JUCHI
SJMP KEY
KEY3: ACALL SJIAO
SJMP KEY
SIN:
LOOP: MOV R0,#00H
LOOP1: MOV A,R0
MOV DPTR,#TABLE
MOVC A,@A+DPTR
MOV P2,A
INC R0
MOV P0,#0FFH
MOV R3,P0
L1: INC R3
CJNE R3,#00H,L1
CJNE R0,#255,LOOP1
JNB P1.4,E1
SJMP LOOP
E1: RET
FANG:
LOOP2:
MOV A,#00H
MOV P2,A
MOV P0,#0FFH
MOV A,P0
CPL A
MOV R3,A
ACALL DELAY
JNB P1.4,E2
MOV A,#0FFH
MOV P2,A
MOV P0,#0FFH
MOV A,P0
CPL A
MOV R3,A
ACALL DELAY
SJMP LOOP2
E2: RET
JUCHI: MOV A,#00H
LOOP6: MOV P2,A
INC A
MOV P0,#0FFH
MOV R3,P0
L4: INC R3
CJNE R3,#00H,L4
JNB P1.4,E3
SJMP LOOP6
E3: RET
SJIAO:
MOV A,#00H
LOOP9: MOV P2,A
INC A
MOV P0,#0FFH
MOV R3,P0
L5: INC R3
CJNE R3,#00H,L5
CJNE A,#0FFH,LOOP9
LOOP8: DEC A
MOV P0,#0FFH
MOV R3,P0
L6: INC R3
CJNE R3,#00H,L6
MOV P2,A
CJNE A,#00H,LOOP8
JNB P1.4,E4
SJMP LOOP9
E4: RET
DELAY:
LOOP3: MOV R6,#1
LOOP4: MOV R5,#250
LOOP5: NOP
NOP
DJNZ R5,LOOP5
DJNZ R6,LOOP4
DJNZ R3,LOOP3
RET
TABLE: 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,0FFH,0FFH
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,0BAH
DB 0AEH,0ABH,0A8H,0A5H,0A2H,09FH,09CH,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,0CH,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
那电路用改吗??但是这样不能通过按键修改频率啊,按键加在哪呢?? 求大神回复 帮帮忙,急求啊
追答按键加在哪呢?
--可加在 P1 口的空闲引脚上。
--用来调整一个变量(如30H单元)的大小。
--再修改一下子程序:
DELAY:
LOOP3: MOV R6, 30H ;--用调好的数,控制延时。
……
但是,延时时间,并不是容易掌握的,
所以,频率的控制,只能是停留在概念上,使用起来,不合适。
参考:
http://wapapp.baidu.com/do_sermon/item/a4ad641a9b8102ffddeeca30
我不要控制,只是想让他频率能够调节,在示波器上能够看见波形频率的变化。大神 您看能帮我修改下延时子程序吗?让转换键 或者添加其他键,按键后可以修改频率,从而改变波形的周期,能够在仿真软件上的示波器中观看出来
追答在 P1.5、P1.6,安装两个按键。
ORG 0000H
SJMP START
ORG 30H
START:
CJNE A, #0FFH, KEY
SJMP $
KEY:
JNB P1.0, KEY0
JNB P1.1, KEY1
JNB P1.2, KEY2
JNB P1.3, KEY3
JNB P1.5, KEY5
JNB P1.6, KEY6
SJMP START
;------------------------------------
KEY0:
CALL SIN
SJMP KEY
KEY1:
CALL FANG
SJMP KEY
KEY2:
CALL JUCHI
SJMP KEY
KEY3:
CALL SJIAO
SJMP KEY
;------------------------------------
KEY5:
CJNE R5, #100, J_ADD
SJMP KEY
;------------------------------------
KEY6:
DJNZ R5, J_SUB
J_ADD:
INC R5
J_SUB:
SJMP KEY
;------------------------------------
SIN:
LOOP:
MOV R0, #0
LOOP1:
MOV A, R0
MOV DPTR, #TABLE
MOVC A, @A+DPTR
MOV P2, A
CALL DL_R5
INC R0
CJNE R0, #0, LOOP1
JNB P1.4, E1
SJMP LOOP
E1:
RET
;--------------------------
DL_R5:
MOV A, R5
MOV R6, A
DJNZ R6, $
RET
;------------------------------------
FANG:
LOOP2:
……
其它不变。
试试看。
大神,只有正弦波可以改变 其他三种波形改变不了呢,大神,那 其他的怎么改 能再帮下忙吗?先谢谢您了
追答前几天,记得是提交了全部的程序。
今天来看,这里却是空白的!
只好重新写在下面:
;-----------------------------
FANG:
LOOP2:
MOV P2, #0
CALL DL_R5
CALL DL_R5
JNB P1.4, E2
MOV P2, #0FFH
CALL DL_R5
CALL DL_R5
JNB P1.4, E2
SJMP LOOP2
E2:
RET
;-----------------------------
JUCHI:
MOV A, #0
LOOP6:
MOV P2, A
INC A
CALL DL_R5
JNB P1.4, E3
SJMP LOOP6
E3:
RET
;-----------------------------
SJIAO:
MOV A, #0
LOOP9:
MOV P2, A
INC A
CALL DL_R5
JNB P1.4, E4
JNZ LOOP9
LOOP8:
DEC A
CALL DL_R5
JNB P1.4, E4
JNZ LOOP8
SJMP LOOP9
E4:
RET
;-----------------------------