2.2 無線系統(tǒng)設(shè)計(jì)
F05P微功率發(fā)射模塊采用SMT工藝,小體積,低功耗,適合短距離無線遙控報(bào)警以及單片機(jī)無線數(shù)據(jù)傳輸。J05R是一款超外差接收模塊,該模塊采用高頻無線通信技術(shù),低噪聲RF集成芯片,具有極高靈敏度和性價(jià)比,可靠性高;是工業(yè)控制、通訊、遙控安防、滾動(dòng)碼遙控、電動(dòng)門控系統(tǒng)以遠(yuǎn)距離傳輸?shù)阮I(lǐng)域的理想選擇。
本次設(shè)計(jì)以F05P、J05R為發(fā)射和接收電路,并配以PT2262、PT2272構(gòu)成發(fā)射和接收模塊,均能滿足設(shè)計(jì)要求。為了減輕電路制作的負(fù)擔(dān),遙控所用發(fā)射和接收電路均采用成品電路板,將其與相應(yīng)的編解碼芯片和發(fā)射接收電路組合起來,構(gòu)成完整模塊。
2.3 控制系統(tǒng)設(shè)計(jì)
控制器主要用于對(duì)顯示、搶答、音樂、計(jì)分等模塊進(jìn)行控制。本設(shè)計(jì)對(duì)數(shù)據(jù)處理的速度要求不高,考慮到成本、電路板布線復(fù)雜程度等方面的問題,故采用AT89C51作為系統(tǒng)控制器的CPU方案。單片機(jī)算術(shù)運(yùn)算功能強(qiáng)、軟件編程靈活、自由度大,可以用軟件編程實(shí)現(xiàn)各種算法和邏輯控制,并且由于其功耗低、體積小、技術(shù)成熟和成本低等優(yōu)點(diǎn),使其在各個(gè)領(lǐng)域應(yīng)用廣泛。因此采用AT89C51作為控制系統(tǒng)的核心。
··························
3.6 protel原理圖設(shè)計(jì)
根據(jù)AT89C51的引腳特性,利用protel軟件設(shè)計(jì)了如下電路圖,如圖9所示。首先要選出所用的器件。在引腳9加+12v電源,整個(gè)電路供電;P1口設(shè)計(jì)為選手的八路按鍵,P0為數(shù)碼顯示電路連接部分;XTAL部分為時(shí)鐘電路的接口;RST端口控制復(fù)位電路,P3端口連接蜂鳴器音頻部分。
{整體部分見附件,課設(shè)報(bào)告文檔以及仿真程序原理圖等,第一次發(fā)帖,沒太懂這個(gè)網(wǎng)站的格式,想插入圖片插不進(jìn)去 }
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
圖片2.jpg (121.31 KB, 下載次數(shù): 44)
下載附件
仿真結(jié)果
2019-5-10 11:21 上傳
圖片1.jpg (118.76 KB, 下載次數(shù): 39)
下載附件
總電路圖
2019-5-10 11:21 上傳
圖圖01.jpg (20.33 KB, 下載次數(shù): 29)
下載附件
圖2.1
2019-5-10 11:34 上傳
單片機(jī)源程序如下:
- OK EQU 20H
- RING EQU 22H
- ORG 0000H
- AJMP MAIN
- ORG 0003H
- AJMP INT00
- ORG 000BH
- AJMP T00
- ORG 0013H
- AJMP INT11
- ORG 001BH
- AJMP T11
- ORG 0040H
- MAIN:MOV R1,#30
- MOV R2,#60
- MOV TMOD,#11H MOV TH0,#0F0H
- MOV TL0,#0FFH
- MOV TH1,#3CH
- MOV TL1,#0B0H;50ms
- SETB EA
- SETB ET0
- SETB ET1
- SETB EX0
- SETB EX1
- CLR OK
- CLR RING
- SETB TR1
- SETB TR0
- LOOP:MOV R5,#0BH
- MOV R4,#0BH
- MOV R3,#0BH
- ACALL DISPLAY
- JB P3.0,LOOP1
- ACALL DELAY
- JB P3.0,LOOP1
- ACALL BARK
- MOV A,R1
- MOV R6,A
- SETB OK
- MOV R7,#01H
- MOV R3,#0AH
- AJMP COUNT
- LOOP1:JNB P1.0,FALSE1
- JNB P1.1,FALSE2
- JNB P1.2,FALSE3
- JNB P1.3,FALSE4
- JNB P1.4,FALSE5
- JNB P1.5,FALSE6
- JNB P1.6,FALSE7
- JNB P1.7,FALSE8
- AJMP LOOP
- FALSE1:MOV R3,#01H
- AJMP ERROR
- FALSE2:MOV R3,#02H
- AJMP ERROR
- FALSE3:MOV R3,#03H
- AJMP ERROR
- FALSE4:MOV R3,#04H
- AJMP ERROR
- FALSE5:MOV R3,#05H
- AJMP ERROR
- FALSE6:MOV R3,#06H
- AJMP ERROR
- FALSE7:MOV R3,#07H
- AJMP ERROR
- FALSE8:MOV R3,#08H
- AJMP ERROR
- ;====中斷====
- INT00:MOV A,R1
- MOV B,#0AH
- DIV AB
- MOV R5,A
- MOV R4,B
- MOV R3,#0AH
- ACALL DISPLAY
- JNB P3.4,INC0
- JNB P3.5,DEC0
- JNB P3.1,BACK0
- AJMP INT00
- INC0:MOV A,R1
- CJNE A,#63H,ADD0
- MOV R1,#00H
- ACALL DELAY
- AJMP INT00
- ADD0:INC R1
- ACALL DELAY
- AJMP INT00
- DEC0:MOV A,R1
- JZ SETT
- DEC R1
- ACALL DELAY
- AJMP INT00
- SETT:MOV R1,#63H
- ACALL DELAY
- AJMP INT00
- BACK0:RETI
- INT11:MOV A,R2
- MOV B,#0AH
- DIV AB
- MOV R5,A
- MOV R4,B
- MOV R3,#0AH
- ACALL DISPLAY
- JNB P3.4,INC1
- JNB P3.5,DEC1
- JNB P3.1,BACK1
- AJMP INT11
- INC1:MOV A,R2
- CJNE A,#63H,ADD1
- MOV R2,#00H
- ACALL DELAY
- AJMP INT11
- ADD1:INC R2
- ACALL DELAY
- AJMP INT11
- DEC1:MOV A,R2
- JZ SET1
- DEC R2
- ACALL DELAY
- AJMP INT11
- SET1:MOV R2,#63H
- ACALL DELAY
- AJMP INT11
- BACK1:RETI
- REPEAT:MOV A,R2
- MOV R6,A
- CLR RING
- COUNT:MOV R0,#00H
- MOV TH1,#3CH
- MOV TL1,#0B0H
- RECOUNT:MOV A,R6
- MOV B,#0AH
- DIV AB
- MOV 30H,A
- MOV 31H,B
- MOV R5,30H
- MOV R4,31H
- MOV A,R6
- SUBB A,#07H
- JNC MAX
- MOV A,R0
- CJNE A,#0AH,FULL
- CLR RING
- AJMP CHECK
- FULL:CJNE A,#14H,CHECK
- SETB RING
- MOV A,R6
- JZ QUIT
- MOV R0,#00H
- DEC R6
- AJMP CHECK
- MAX:MOV A,R0
- CJNE A,#14H,CHECK
- DEC R6
- MOV R0,#00H
- CHECK:JNB P3.1,QUIT
- JNB OK,CHECK1
- AJMP NEXT1
- CHECK1:JNB P3.0,REPEAT
- NEXT1:ACALL DISPLAY
- JB OK,ACCOUT
- AJMP RECOUNT
- ACCOUT:MOV A,36H
- JNB ACC.0,TRUE1
- JNB ACC.1,TRUE2
- JNB ACC.2,TRUE3
- JNB ACC.3,TRUE4
- JNB ACC.4,TRUE5
- JNB ACC.5,TRUE6
- JNB ACC.6,TRUE7
- JNB ACC.7,TRUE8
- AJMP RECOUNT
- QUIT:CLR OK
- CLR RING
- AJMP LOOP
- TRUE1:ACALL BARK
- MOV A,R2
- MOV R6,A
- MOV R3,#01H
- CLR OK
- AJMP COUNT
- TRUE2:ACALL BARK
- MOV A,R2
- MOV R6,A
- MOV R3,#02H
- CLR OK
- AJMP COUNT
- TRUE3:ACALL BARK
- MOV A,R2
- MOV R6,A
- MOV R3,#03H
- CLR OK
- AJMP COUNT
- TRUE4:ACALL BARK
- MOV A,R2
- MOV R6,A
- MOV R3,#04H
- CLR OK
- AJMP COUNT
- TRUE5:ACALL BARK
- MOV A,R2
- MOV R6,A
- MOV R3,#05H
- CLR OK
- AJMP COUNT
- TRUE6: ACALL BARK
- MOV A,R2
- MOV R6,A
- MOV R3,#06H
- CLR OK
- AJMP COUNT
- TRUE7:ACALL BARK
- MOV A,R2
- MOV R6,A
- MOV R3,#07H
- CLR OK
- AJMP COUNT
- TRUE8:ACALL BARK
- MOV A,R2
- MOV R6,A
- MOV R3,#08H
- CLR OK
- AJMP COUNT
- ERROR: MOV R0,#00H
- MOV TH1,#3CH
- MOV TL1,#0B0H
- MOV 34H,R3
- HERE: MOV A,R0
- CJNE A,#06H,FLASH;0.3s
- CLR RING
- MOV R3,#0AH
- MOV R4,#0AH
- MOV R5,#0AH;
- AJMP CHECK2
- FLASH:CJNE A,#0CH,CHECK2
- SETB RING
- MOV R0,#00H
- MOV R3,34H
- MOV R5,#0BH
- MOV R4,#0BH
- AJMP CHECK2
- CHECK2: JNB P3.1,QUIT1
- ACALL DISPLAY
- AJMP HERE
- QUIT1:CLR RING
- CLR OK
- AJMP MAIN
- DISPLAY:MOV DPTR,#DAT1
- MOV A,R3
- MOVC A,@A+DPTR
- MOV P2,#0FEH
- MOV P0,A
- ACALL DELAY2
- MOV DPTR,#DAT2
- MOV A,R5
- MOVC A,@A+DPTR
- MOV P2,#0FDH
- MOV P0,A
- ACALL DELAY2
- MOV A,R4
- MOVC A,@A+DPTR
- MOV P2,#0FBH
- MOV P0,A
- ACALL DELAY2
- RET
- DAT1:DB 00H,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,00H,71H;對(duì)應(yīng)"滅","1","2" ,"3","4","5","6","7","8","9","滅","F"
- DAT2:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,00H,71H;第一個(gè)顯示"0"
- DELAY:MOV 35H,#08H
- DELAY3:ACALL DISPLAY
- DJNZ 35H,DELAY3
- RET
- ……………………
- …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼
0.png (9.85 KB, 下載次數(shù): 53)
下載附件
2019-5-17 06:19 上傳
所有資料51hei提供下載:
1503060108 艾營(yíng).zip
(695.12 KB, 下載次數(shù): 79)
2019-5-10 11:30 上傳
點(diǎn)擊文件名下載附件
八路搶答器 下載積分: 黑幣 -5
|