欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標(biāo)題:
簡(jiǎn)易單片機(jī)信號(hào)發(fā)生器實(shí)現(xiàn)
[打印本頁(yè)]
作者:
yangjie6666
時(shí)間:
2019-7-5 11:07
標(biāo)題:
簡(jiǎn)易單片機(jī)信號(hào)發(fā)生器實(shí)現(xiàn)
這是我單片機(jī)完成的課題。
可以實(shí)現(xiàn)方波正弦波三角波
并且利用視覺暫留原理顯示頻率
protues仿真和keil程序已打包上傳
單片機(jī)源程序如下:
ORG 00H
SEL EQU 50H ;存波形地址 00方波,01三角波,02正弦波
RANGE EQU 51H;存幅度
FREQ EQU 52H;存頻率
INC_1 EQU 55H;
INC_2 EQU 56H;
RAN_SIN EQU 57H;三角波幅度
;定義按鍵的地址
AN_SEL EQU P3.2 ;選擇波形
AN_FREQ EQU P3.3;調(diào)節(jié)頻率
AN_RANGE EQU P3.4;調(diào)節(jié)幅度
AN_RST EQU P3.5;恢復(fù)
MOV R0, #00H ;發(fā)光管的顯示頻率.由于電流小不夠負(fù)載驅(qū)動(dòng)管
MOV R1, #05H
MOV R2, #00H
MOV R3, #00H
MOV R4, #00H
LJMP MAIN
ORG 0003H
LJMP SEL_FUNC
ORG 000BH
LJMP FREQ_FUNC
ORG 0013H
LJMP RANGE_FUNC
ORG 001BH
LJMP SEL_RST
ORG 0100H
MAIN:
MOV SP,#60H
CLR A
CLR C
MOV SEL,#00H ;默認(rèn)為方波
MOV RANGE,#7FH;RANGE為中間值,且不變
MOV FREQ,#00
MOV P1,#00H ;P1口數(shù)據(jù)位輸出
MOV INC_1,#00H ;三角波上升
MOV INC_2,#00H ;三角波下降
MOV RAN_SIN,#01H
SETB IT1
SETB EX1
MOV TMOD,#66H
MOV TL0,#0FFH
MOV TH0,#0FFH ;外部計(jì)數(shù) ,按一下馬上跳轉(zhuǎn)
MOV TL1,#0FFH
MOV TH1,#0FFH
SETB TR0
SETB TR1
SETB ET0 ;啟動(dòng)各種中斷
SETB ET1
SETB IT0
SETB EX0
SETB EA
LCALL LED_SHOW
MAIN_L:MOV A,SEL
MOV DPTR,#WAVE
JMP @A+DPTR ;和250的散轉(zhuǎn)指令對(duì)應(yīng),無(wú)中斷就在此循環(huán),顯示波形
SJMP MAIN_L
SQUARE:
LCALL LED_SHOW
MOV R5,SEL
CJNE R5,#00H,WAVE_BACK
MOV P1,RANGE;幅值
LCALL DELAY_Xus ;把SEL值給R5, 設(shè)定方波占空比為50%
LCALL DELAY_1000us
MOV P1,#00H
LCALL DELAY_Xus
LCALL DELAY_100us
SJMP SQUARE
R_SEL:;三角波
LCALL LED_SHOW
MOV R5,SEL
CJNE R5,#01H,WAVE_BACK
LCALL JINC_F
RECT: DJNZ INC_1,RECT
INC P1 ;三角波上升下降
MOV A,P1
;LCALL DELAY_100us
CJNE A,RANGE,RECT
MOV INC_1,INC_2
DOWN: DJNZ INC_2,DOWN
DEC P1
MOV R0,P1
CJNE R0,#00H,DOWN
MOV INC_2,INC_1
LJMP R_SEL
RET
;MOV P1,#00H
;MOV R0,P1
;CJNE R0,#00H,DOWN
;MOV INC_F2,INC_F1
;LJMP R_SEL
;RET
JINC_F: MOV A,#0FFH
MOV B,RANGE
DIV AB ;檢查是不是在一個(gè)循環(huán)內(nèi)部;B的值會(huì)改變;
MOV INC_1,B ;一樣才循環(huán)
MOV INC_2,B
RET
SIN:
MOV DPTR,#TABLE_SIN
S_SEL: MOV R5,SEL
CJNE R5,#02H,WAVE_BACK
SL: CLR A
MOVC A, @A+DPTR ;數(shù)表的值和B運(yùn)算得到幅度變化。
MOV B,RAN_SIN
DIV AB
MOV P1,A
LCALL DELAY_10us
INC DPTR
MOV A,#01H
MOVC A,@A+DPTR
CJNE A,#21H,S_SEL
LJMP SIN
WAVE_BACK:RET
FREQ_FUNC: INC FREQ
AN0:
MOV R4,#0AH
CJNE R4,#0AH,BACK
LCALL DELAY1
LJMP AN1
AN1:
INC R3
CJNE R3,#0AH,BACK
LCALL DELAY1
LJMP AN2
AN2:
MOV R3,#00H
INC R2
CJNE R2,#0AH,BACK
LJMP AN3
AN3:
MOV R2,#00H
INC R1
CJNE R1,#0AH,BACK
LJMP AN4
AN4:
MOV R1,#00H
INC R0
CJNE R0,#0AH,BACK
LJMP AN5
AN5:
MOV R0,#00H
RETI
BACK:RETI ;R3-R0分別是個(gè)十百千位,每一個(gè)計(jì)數(shù)滿進(jìn)位
RANGE_FUNC:INC RANGE
INC RAN_SIN
MOV R6,RAN_SIN
CJNE R6,#00H,FUNC_RET
MOV RAN_SIN,#01H
RETI
SEL_FUNC: INC SEL
MOV R6,SEL
CJNE R6,#03H,FUNC_RET
MOV SEL,#00H
RETI
FUNC_RET:RETI
SEL_RST:CLR A
CLR C
MOV SEL,#00H
MOV RANGE,#7FH
MOV FREQ,#00
MOV P1,#00H
MOV INC_1,#00H
MOV INC_2,#00H
MOV RAN_SIN,#01H
RETI
LED_SHOW: ;LED顯示
SETB P2.5 ; p2.5是數(shù)碼管總開關(guān)
MOV A,R0
MOV DPTR,#TABLE
MOVC A,@A+DPTR
SETB P2.0 ;P2.0 2.1 2.2 2.3 置為0 四個(gè) 讓之前的四位頻率顯示
MOV P0,A
LCALL DELAY
CLR P2.0
MOV A,R1
MOV DPTR,#TABLE
MOVC A,@A+DPTR
SETB P2.1
MOV P0,A
LCALL DELAY
CLR P2.1
MOV A,R2
MOV DPTR, #TABLE
MOVC A,@A+DPTR
SETB P2.2
MOV P0,A
LCALL DELAY
CLR P2.2
MOV A,R3
MOV DPTR,#TABLE
MOVC A,@A+DPTR
SETB P2.3
MOV P0,A
LCALL DELAY
CLR P2.3
RET
TABLE: DB 90H,80H,0F8H,92H,99H,0B0H,82H,0A4H,0F9H,0C0H ;數(shù)碼管0-9數(shù)字
DELAY1:MOV R6,#0FFH
LP:MOV R7,#0FFH
LP1:NOP
DJNZ R7,LP1
DJNZ R6,LP
RET
DELAY:MOV R6,#0FH
LP2:MOV R7,#10
LP3:NOP
DJNZ R7,LP3
DJNZ R6,LP2
RET
DELAY_100us: NOP
MOV R6,#04H
L1:MOV R7,#0AH
L2:DJNZ R7,L2
DJNZ R6,L1
RET
DELAY_1000us: NOP
MOV R6,#0AAH
L111:MOV R7,#0AH
L222:DJNZ R7,L2
DJNZ R6,L1
RET
DELAY_Xus:MOV A,FREQ
MOV R6,FREQ
JZ DE_BACK
NOP
L11:MOV R7,#0AH
L22:DJNZ R7,L22
DJNZ R6,L11
RET
DELAY_10us:MOV A,FREQ
JZ DE_BACK
MOV R3,FREQ
DJNZ R3,$
DE_BACK:RET
WAVE:LCALL SQUARE
LCALL R_SEL
LCALL SIN
TABLE_SIN:
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,09FH,09CH,099H
DB 096H,093H,090H,08DH,089H,086H,083H,080H
DB 080H,07CH,079H,078H,072H,06FH,06CH,069H
DB 066H,063H,060H,05DH,05AH,057H,055H,051H
DB 04EH,04CH,048H,045H,043H,040H,03DH,03AH
DB 038H,035H,033H,030H,02EH,02BH,029H,027H
DB 025H,022H,020H,01EH,01CH,01AH,018H,016H
DB 015H,013H,011H,010H,00EH,00DH,00BH,00AH
DB 09H,08H,07H,06H,05H,04H,03H,02H
DB 02H,01H,00H,00H,00H,00H,00H,00H
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,21H ;21H為 結(jié)束標(biāo)志位
END
復(fù)制代碼
所有資料51hei提供下載:
Protues.rar
(68.45 KB, 下載次數(shù): 23)
2019-7-5 11:07 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
keil.rar
(29.85 KB, 下載次數(shù): 20)
2019-7-5 11:07 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
作者:
元元元。。。
時(shí)間:
2023-6-26 18:55
可以實(shí)現(xiàn)什么頻率,頻率選擇怎么樣
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1