之前設計做的一個簡易函數圖形發生器,有三個按鍵控制,分別可以切換成方波、三角波、正弦波形。
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
51hei圖片_20200320153913.png (95.55 KB, 下載次數: 68)
下載附件
仿真電路
2020-3-20 15:39 上傳
51hei圖片_20200320153901.png (303.19 KB, 下載次數: 70)
下載附件
仿真結果
2020-3-20 15:39 上傳
單片機源程序如下:
- ORG 0000H
- LJMP MAIN
- ORG 0100H
- MAIN: JNB P1.0,D1
- JNB P1.1,D2
- JNB P1.2,D3
- LJMP MAIN
- D1: MOV R7,#00H
- LCALL SQU
- LJMP MAIN
- D2: MOV R7,#01H
- LCALL TRI
- LJMP MAIN
- INC R0
- D3: MOV R7,#02H
- LCALL SIN
- LJMP MAIN
- SQU: JNB P1.1,N1
- JNB P1.2,N2
- LJMP SSQU
- N1: MOV R7,#01H
- LJMP TC0
- N2: MOV R7,#02H
- LJMP TC0
- SSQU: CJNE R7,#00H,TC0
- MOV R0,#00H
- K00: MOV P0,#0FFH
- MOV P2,#0FFH
- MOV A,P2
- CPL A
- MOV R3,A
- L00: DEC R3
- CJNE R3,#255,L00
- INC R0
- INC R0
- CJNE R0,#254,K00
- MOV R0,#00H
- K01: MOV P0,#00H
- MOV P2,#0FFH
- MOV A,P2
- CPL A
- MOV R3,A
- L01: DEC R3
- CJNE R3,#255,L01
- INC R0
- INC R0
- CJNE R0,#254,K01
- LJMP SQU
- TC0: RET
- TRI: JNB P1.0,N3
- JNB P1.2,N4
- LJMP TTRI
- N3: MOV R7,#00H
- LJMP TC2
- N4: MOV R7,#02H
- LJMP TC2
- TTRI: CJNE R7,#01H,TC2
- MOV R0,#00H
- K20: MOV P0,R0
- MOV P2,#0FFH
- MOV A,P2
- CPL A
- MOV R3,A
- L20: DEC R3
- CJNE R3,#255,L20
- INC R0
- INC R0
- CJNE R0,#254,K20
- K21: MOV P0,R0
- MOV P2,#0FFH
- MOV A,P2
- CPL A
- MOV R3,A
- L21: DEC R3
- CJNE R3,#255,L21
- DEC R0
- DEC R0
- CJNE R0,#0,K21
- LJMP TRI
- TC2: RET
- SIN: JNB P1.0,N5
- JNB P1.1,N6
- LJMP SSIN
- N5: MOV R7,#00H
- LJMP TC3
- N6: MOV R7,#01H
- LJMP TC3
- SSIN: CJNE R7,#02H,TC3
- MOV R0,#00H
- K30: MOV A,R0
- MOV DPTR,#TAB
- MOVC A,@A+DPTR
- MOV P0,A
- INC R0
- MOV P2,#0FFH
- MOV A,P2
- CPL A
- MOV R3,A
- L30: DEC R3
- CJNE R3,#255,L30
- CJNE R0,#255,K30
- LJMP SIN
- TC3: RET
- TAB: DB 80H,82H,84H,86H,88H,8AH,8CH,8EH,90H,92H,94H,96H,98H,9AH,9CH,9EH
- DB 0A0H,0A2H,0A4H,0A6H,0A8H,0AAH,0ABH,0ADH,0AFH,0B1H, 0B2H,0B4H, 0B6H,0B7H,0B9H,0BAH
- DB 0BCH,0BDH,0BFH,0C0H,0C1H,0C3H,0C4H,0C5H,0C6H,0C8H,0C9H,0CAH,0CBH,0CCH,0CDH,0CEH
- DB 0CEH,0CFH,0D0H,0D1H,0D1H,0D2H,0D2H,0D3H,0D3H,0D4H,0D4H,0D4H,0D4H,0D5H,0D5H,0D5H
- DB 0D5H,0D5H,0D5H,0D5H,0D4H,0D4H,0D4H,0D4H,0D3H,0D3H,0D2H,0D2H,0D1H,0D1H,0D0H,0CFH
- DB 0CEH,0CEH,0CDH,0CCH,0CBH,0CAH,0C9H,0C8H,0C6H,0C5H,0C4H,0C3H,0C1H,0C0H,0BFH,0BDH
- DB 0BCH,0BAH,0B9H,0B7H,0B6H,0B4H,0B2H,0B1H,0AFH,0ADH,0ABH,0AAH,0A8H,0A6H,0A4H,0A2H
- DB 0A0H,9EH,9CH,9AH,98H,96H,94H,92H,90H,8EH,8CH,8AH,88H,86H,84H, 82H
- DB 80H,7DH,7BH,79H,77H,75H,73H,71H,6FH,6DH,6BH,69H,67H,65H,63H,61H
- DB 5FH,5DH,5BH,59H,57H,55H,54H,52H,50H,4EH,4DH,4BH,49H,48H,46H,45H
- DB 43H,42H,40H,3FH,3EH,3CH,3BH,3AH,39H,37H,36H,35H,34H,33H,32H,31H
- DB 31H,30H,2FH,2EH,2EH,2DH,2DH,2CH,2CH,2BH,2BH,2BH,2BH,2AH,2AH, 2AH
- DB 2AH,2AH,2AH,2AH,2BH,2BH,2BH,2BH,2CH,2CH,2DH,2DH,2EH,2EH,2FH,30H
- DB 31H,31H,32H,33H,34H,35H,36H,37H,39H,3AH,3BH,3CH,3EH,3FH,40H,42H
- DB 43H,45H,46H,48H,49H,4BH,4DH,4EH,50H,52H,54H,55H,57H,59H,5BH,5DH
- DB 5FH,61H,63H,65H,67H,69H,6BH,6DH,6FH,71H,73H,75H,77H,79H,7BH,7DH
- END
復制代碼
51hei.png (11.72 KB, 下載次數: 66)
下載附件
2020-3-20 15:53 上傳
所有資料51hei提供下載:
單片機匯編頻率計設計.zip
(94.76 KB, 下載次數: 35)
2020-3-20 15:40 上傳
點擊文件名下載附件
內含仿真電路以及程序的hex文件 下載積分: 黑幣 -5
|