?? sin.txt
字號:
DA 轉換 三角波 正旋波 梯形波(dac0832)
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
8.2 利用dac0832產生方波
程序介紹:程序介紹:單片機通過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產生正弦波
程序介紹:程序介紹:單片機通過DAC0832轉換在
LM358的7腳輸出正弦波。實際應用如:函數波形發生器。
程序實例(0832xuan.asm):
ORG 000H MAIN: MOV R1,#00H ;取表格初值 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 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產生梯形波
程序介紹:程序介紹:單片機通過DAC0832轉換在
LM358的7腳輸出梯形波。實際應用如:函數波形發生器。
程序實例(0832ti.asm):
ORG 0000h MAIN: MOV DPTR,#0BFFFH STEP: MOV R6,#19H MOV R4,#0AH MOV A,0 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
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -