2.2 无线系统设计
F05P微功率发射模块采用SMT工艺,小体积,低功耗,适合短距离无线遥控报警以及单片机无线数据传输。J05R是一款超外差接收模块,该模块采用高频无线通信技术,低噪声RF集成芯片,具有极高灵敏度和性价比,可靠性高;是工业控制、通讯、遥控安防、滚动码遥控、电动门控系统以远距离传输等领域的理想选择。
本次设计以F05P、J05R为发射和接收电路,并配以PT2262、PT2272构成发射和接收模块,均能满足设计要求。为了减轻电路制作的负担,遥控所用发射和接收电路均采用成品电路板,将其与相应的编解码芯片和发射接收电路组合起来,构成完整模块。
2.3 控制系统设计
控制器主要用于对显示、抢答、音乐、计分等模块进行控制。本设计对数据处理的速度要求不高,考虑到成本、电路板布线复杂程度等方面的问题,故采用AT89C51作为系统控制器的CPU方案。单片机算术运算功能强、软件编程灵活、自由度大,可以用软件编程实现各种算法和逻辑控制,并且由于其功耗低、体积小、技术成熟和成本低等优点,使其在各个领域应用广泛。因此采用AT89C51作为控制系统的核心。
··························
3.6 protel原理图设计
根据AT89C51的引脚特性,利用protel软件设计了如下电路图,如图9所示。首先要选出所用的器件。在引脚9加+12v电源,整个电路供电;P1口设计为选手的八路按键,P0为数码显示电路连接部分;XTAL部分为时钟电路的接口;RST端口控制复位电路,P3端口连接蜂鸣器音频部分。
{整体部分见附件,课设报告文档以及仿真程序原理图等,第一次发帖,没太懂这个网站的格式,想插入图片插不进去 }
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
单片机源程序如下:
- 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;对应"灭","1","2" ,"3","4","5","6","7","8","9","灭","F"
- DAT2:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,00H,71H;第一个显示"0"
- DELAY:MOV 35H,#08H
- DELAY3:ACALL DISPLAY
- DJNZ 35H,DELAY3
- RET
- ……………………
- …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
所有资料51hei提供下载:
1503060108 艾营.zip
(695.12 KB, 下载次数: 79)
|