📄 5_1_8.s43
字号:
#include "msp430x11x1.h"
CS equ 001h ; P2.0 被定义为CS端
CLK equ 002h ; P2.1 被定义为Clock端
DO equ 008h ; P2.3 被定义为数据输出端
ORG 0F000h ; MSP430F1121程序开始处
RESET mov #0300h,SP ; 初始化堆栈指针
bis.b #CS,&P2OUT ; CS=1
bis.b #CS+CLK,&P2DIR ; CS 与 Clk定义为输出方向
Mainloop call #Meas_0831 ;循环调用0831子程序,这里只为示例
jmp Mainloop
;0831测量子程序,转换的数据存放在内部RAM 200 H单元
Meas_0831
bic.b #CS,&P2OUT ; 片选CS=0,开始转换
push.b #09 ; 循环计数器,一位开始,八位数据
ADC_Loop bis.b #CLK,&P2OUT ;CLK=1
bic.b #CLK,&P2OUT ; CLK=0
bit.b #DO,&P2IN ; DO -> C (carry),读转换结果
rlc.b &200h ; C -> 200h 依次存放到200H单元
dec.b 0(SP) ; 9次循环完了吗
jnz ADC_Loop ; 没有完,则继续
incd.w SP ; 还原堆栈指针
bis.b #CS,&P2OUT ;CS=1
ret
ORG 0FFFEh ; RESET 向量地址
DW RESET ; RESET 向量数据
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -