89C51单片机弹TruE
2025-11-05 来源:bilibili
代码:
ORG 0000H
JMP MAIN
ORG 000BH
JMP INTT0
ORG 0100H
MAIN:
nop
MOV SP,#60H
MOV TMOD,#01H ;初始化定时器及其中断
SETB ET0
SETB EA
SETB TR0 ;启动定时器0
START:
SETB P1.3
MOV 30H,#00H
NEXT:
MOV A,30H
MOV DPTR,#TABLE ;从TABLE中读取数据--响声时间
MOVC A,@A+DPTR
MOV R2,A
JZ ENDD
ANL A,#0FH
MOV R5,A
MOV A,R2
SWAP A
ANL A,#0FH
JNZ SING
CLR TR0
JMP D1
SING:
DEC A
MOV 22H,A
RL A
MOV DPTR,#TABLE1
MOVC A,@A+DPTR
MOV TH0,A
MOV 21H,A
MOV A,22H
RL A
INC A
MOVC A,@A+DPTR
MOV TL0,A
MOV 20H,A
SETB TR0
D1:LCALL DELAY
INC 30H
LJMP NEXT
ENDD:CLR TR0
LJMP MAIN
INTT0:PUSH PSW
PUSH ACC
MOV TL0,20H
MOV TH0,21H
CPL P1.3
POP ACC
POP PSW
RETI
DELAY:
NOP;R5的值就是声响持续时间
MOV R7,#02
DELAY0: MOV R4,#187
DELAY1: MOV R3,#248
DJNZ R3,$
DJNZ R4,DELAY1
DJNZ R7,DELAY0
DJNZ R5,DELAY
RET
TABLE: DB 0E2H,92H,0D2H,0E2H,0B2H,0B1H,0D1H,0D2H
DB 0A2H,0B4H,04H,0E2H,0D4H,04H,02H,0D2H
DB 0E2H,02H,0E1H,00B1H,92H,0E1H,0A1H,0B2H
DB 02H,0D2H,0E2H,02H,0E1H,0D1H,0B2H,0E1H
DB 0B1H,0B1H,04H,04H,04H,04H ;前奏
DB 42H,31H,41H,44H,04H,02H,01H,31H
DB 22H,0F2H,0F1H,04H,22H,32H,42H,31H,41H
DB 44H,04H,02H,31H,21H,11H,21H,12H
DB 04H,04H,82H,91H,81H,74H,72H,62H
DB 42H,21H,21H,21H,62H,61H,42H,21H
DB 31H,34H,03H,21H,22H,32H,42H,31H
DB 41H,44H,04H,62H,61H,71H,62H,31H
DB 41H,34H,04H,82H,91H,81H,74H,72H
DB 72H,62H,42H,21H,21H,21H,62H,61H
DB 42H,21H,31H,34H,02H,92H,0A2H,0A1H
DB 0B1H,0A2H,91H,71H,74H,03H,31H,0A2H
DB 92H,0A4H,0A4H,04H,04H ;第一小节
DB 0B4H,0B4H,0A4H,92H,82H,72H,61H,71H
DB 74H,04H,62H,92H,0B2H,0A1H,0B1H,0B4H
DB 03H,61H,043H,0B1H,0A2H,91H,0A1H,0A4H
DB 02H,0B2H,0A2H,92H,94H,94H,0B4H,0B4H
DB 0C2H,0B2H,94H,04H,62H,92H,0A2H,91H
DB 0A1H,0A4H,04H,72H,0A2H,0B2H,0A1H,0B1H
DB 0B4H,04H,04H,04H,04H,04H,04H,04H
DB 92H,0A4H,0A4H,04H,04H ;小高潮
DB 42H,31H,41H,44H,04H,02H,01H,31H
DB 22H,0F2H,0F1H,04H,22H,32H,42H,31H,41H
DB 44H,04H,02H,31H,21H,11H,21H,12H
DB 04H,04H,82H,91H,81H,74H,72H,62H
DB 42H,21H,21H,21H,62H,61H,42H,21H
DB 31H,34H,03H,21H,22H,32H,42H,31H
DB 41H,44H,04H,62H,61H,71H,62H,31H
DB 41H,34H,04H,82H,91H,81H,74H,72H
DB 72H,62H,42H,21H,21H,21H,62H,61H
DB 42H,21H,31H,34H,02H,92H,0A2H,0A1H
DB 0B1H,0A2H,91H,71H,74H,03H,31H,0A2H
DB 92H,0A4H,0A4H,04H,04H ;第二小节
DB 0B4H,0B4H,0A4H,92H,82H,72H,61H,71H
DB 74H,04H,62H,92H,0B2H,0A1H,0B1H,0B4H
DB 03H,61H,043H,0B1H,0A2H,91H,0A1H,0A4H
DB 02H,0B2H,0A2H,92H,94H,94H,0B4H,0B4H
DB 0C2H,0B2H,94H,04H,62H,92H,0A2H,91H
DB 0A1H,0A4H,04H,72H,0A2H,0B2H,0A1H,0B1H
DB 0B4H,0B4H,02H,02H ;高潮
DB 74H,74H,84H,84H,94H,94H,0A4H,0A4H
DB 0C4H,0C4H,0D4H,0E2H,0D2H,0E4H,0E4H
DB 0E4H,0E4H,0E4H,0E4H,04H,04H
DB 0B4H,0B4H,0A4H,92H,82H,82H,72H,61H
DB 71H,74H,03H,61H,62H,92H,0B2H,0A1H
DB 0B1H,0B4H,03H,61H,043H,0B1H,0A2H,91H
DB 0A1H,0A4H,02H,0B2H,0A2H,92H
DB 94H,92H,92H,91H,0B4H,0B4H,0C2H,0B1H
DB 91H,94H,03H,61H,62H,92H,0A2H,91H
DB 0A1H,0A4H,04H,72H,0A2H,0B2H,0A1H,0B1H
DB 0B4H,0B4H,0B4H
TABLE1: DW 64524,64580,64684,64777,64820,64898,64968,64400
DW 65058,65110,65157,65178,65217
END
- 六大全新产品系列推出,MCX A微控制器家族迎来创新
- 意法半导体全新STM32C5系列,重新定义入门级微控制器性能与价值,赋能万千智能设备
- 从控制到系统:TI利用边缘AI重塑嵌入式MCU的边界
- 模组复用与整机重测在SRRC、CCC、CTA/NAL认证中的实践操作指南
- 有源晶振与无源晶振的六大区别详解
- 英飞凌持续巩固全球微控制器市场领导地位
- 使用 Keil Studio for Visual Studio Code开发 STM32 设备
- 蓝牙信道探测技术原理与开发套件实践
- LoRa、LoRaWAN、NB-IoT与4G DTU技术对比及工业无线方案选型分析
- Microchip 推出生产就绪型全栈边缘 AI 解决方案,赋能MCU和MPU实现 智能实时决策




