📄 nrf_s.asm.bak
字号:
#include <w77e58.h>
Data_I BIT P1.2
CLK BIT P1.3
CS BIT P1.5
CE BIT P1.4
D_Out BIT P3.4
Dr1 BIT P3.2
UART0_DATA EQU 0100H ;测试 1K SRAM
UART1_DATA EQU 0200H
UART2_DATA EQU 0000H
DEC_DPTR MACRO
db 0a5h
ENDM
org 0000
ljmp main
org 0003h
ljmp rx_byte
org 000BH
ljmp time
ORG 0023H
AJMP S_T0
ORG 100H
main:
MOV SP,#5FH ;初始化堆栈
build_word:
mov 47h,#08h
mov 48h,#08h
mov 49h,#1ch
mov 4ah,#50h
mov 4bh,#10h
mov 4ch,#00h;
mov 4dh,#0CCh
mov 4eh,#0CCh
mov 4fh,#0CCh
mov 50h,#0CCh
mov 51h,#00h;以channel 1
mov 52h,#00h
mov 53h,#00h
mov 54h,#00h
mov 55h,#00h
mov 56h,#23h;前六位为地址位数,后为CRC使能
mov 57h,#6Fh;one channel recv,in shockburst mode,250kbps
mov 58h,#29h;以上用于2401初使化,发送
clr P3.3
mov 59h,#00h;time_flag
mov 60h,#08h;ID_L
mov 61h,#08h;ID_H
mov 62h,#1ch;Soft_V_L
mov 63h,#50h;Soft_V_H
mov 64h,#00h;型号_L
mov 65h,#00h;型号_H
mov 66h,#00h;TIME_L
mov 67h,#00h;TIME
mov 68h,#00h;TIME
mov 69h,#00h;TIME_H
mov 6Ah,#00h;当前缓冲区头_L
mov 6Bh,#00h;当前缓冲区头_H
mov 6Ch,#00h;前一贞头_L
mov 6DH,#00h;前一贞头_H
mov 6Eh,#00h;当前缓冲区尾_L
mov 6Fh,#00h;当前缓冲区尾_H
mov 70h,#00h
MOV SCON,#01000000B ;串口0工作于方式1
MOV TMOD,#00100001B ;定时器T1设置为方式2作波特率发生器,定时器T0设置为方式1作波特率发生器
MOV TH0,#0E1H
MOV TL0,#00H
SETB TR0 ;定时器T1开始运行
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -