|
51單片機正弦波,三角波,方波,矩形波發(fā)生器,Proteus仿真,匯編、C源碼
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
單片機源程序如下:
- ORG 0000H
- SJMP MAIN
- ORG 0003H
- LJMP _INT0
- ORG 0030H
- MAIN:SETB EA ;CPU 開中斷
- SETB IT0 ;設(shè)置中斷0觸發(fā)方式為邊沿觸發(fā)
- SETB EX0 ;外部中斷0 開中斷
- TRI:CJNE R0,#00H,SIN
- MOV DPTR,#7FFFH
- MOV A,#00H
- UP:MOVX @DPTR,A
- LCALL DELAY
- INC A
- JNZ UP
- DOWN:DEC A
- MOVX @DPTR,A
- LCALL DELAY
- JNZ DOWN
- SJMP TRI
- SIN:CJNE R0,#01H,JUCHI
- MOV R1,#00H
- DA_S:MOV DPTR,#TABLE
- MOV A,R1
- MOVC A,@A+DPTR
- MOV DPTR,#7FFFH
- MOVX @DPTR,A
- LCALL DELAY
- INC R1
- CJNE R1,#32,DA_S
- SJMP SIN
- JUCHI:CJNE R0,#02H,SQU
- MOV DPTR,#7FFFH
- MOV A,#00H
- UP1:MOVX @DPTR,A
- LCALL DELAY
- INC A
- JNZ UP1
- SJMP JUCHI
- SQU:CJNE R0,#03H,TRI
- MOV DPTR,#7FFFH
- MOV A,#00H
- MOVX @DPTR,A
- LCALL DELAY
- MOV A,#0FFH
- MOVX @DPTR,A
- LCALL DELAY
- SJMP SQU
- SJMP $
- _INT0:INC R0
- CJNE R0,#4,EXIT
- MOV R0,#00H
- EXIT:RETI
- DELAY:MOV R2,#0FFH
- DJNZ R2,$
- RET
- TABLE:DB 80H,96H,0AEH,0C5H,0D8H,0E9H,0F5H,0FDH
- DB 0FFH,0FDH,0F5H,0E9H,0D8H,0C5H,0AEH,96H
- DB 80H,66H,4EH,38H,25H,15H,09H,04H
- DB 00H,04H,09H,15H,25H,38H,4EH,66H
-
- END
復(fù)制代碼
所有資料51hei提供下載:
dac0832.rar
(31.13 KB, 下載次數(shù): 40)
|
|