最新传感器数据采集系统

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

传感器数据采集系统

传感器数据采集系统

以下内容需要回复才能看到

[hide]

请高手看看我做的实验台的数据采集系统,看看下面的程序哪里有问

题???????

图一,为硬件电路图,

图二,为计算机方面的软件界面(用VB做的)

;======================

; 设置波特率

;======================

ORG 0000H

AJMP MAIN

ORG 0003H

AJMP ADZD

MAIN:

MOV TMOD,#20H ;令定时器1工作于模式2

MOV TH1,#0FDH

MOV TL1,#0FDH ;设定计数值,令波特率为9600 SETB TR1 ;启动定时器1

SETB IT0 ;为边沿触发方式

SETB EA ;开中断

SETB EX0 ;允许中断

;======================

; 接收数据

;======================

MOV SCON,#70H ;设定串行端口为模式1 LOOP: CLR RI ;清除接收中断标志位(开始接收数据)

JNB RI,$ ;等待数据接收完毕

;======================

; 判断哪个按钮被按下

;======================

MOV A,SBUF ;接收到的数据(即代码)存入A内NEXT1: CJNE A,#'1',NEXT0 ;若代码为1(即“开始”按钮被按下) AJMP ADZH ;则调用AD转换模块NEXT0: CJNE A,#'0',DONT ;若代码为0(即“复位”按钮被按下) AJMP ALLOFF ;则跳去执行ALLOFF DONT: AJMP LOOP ;重复执行程序

;=========================================

===========

; 执行相应的程序

;=========================================

===========

;AD转换模块

ADZH:

MOV R0,#30H ;存数据首地址

SETB 3.7 ;经与非门后使R/C=0

CLR 3.6 ;经与非门后使CE=1 MOV DPTR,#3FFFH ;使AO=0,CS=0,启动12位转换

MOVX @DPTR,A ;启动AD转换

HERE: AJMP HERE ;等待中断

ADZD:

USH SW

USH DPH

USH DPL

USH ACC ;保护现场

CLR 3.7 ;经与非门后使R/C=1

MOV DPTR,#3FFFH ;允许高8位并行输出(CS=0,R/C=1,AO=0) MOVX A,@DPTR ;读高8位

MOV @R0,A ;高8位存入RAM单元

MOV DPTR,#7FFFH ;允许低4位加上4个0输出

(CS=0,R/C=1,AO=1)

MOVX A,@DPTR ;读低4位

ANL A,#0FH ;屏蔽高4位随机数据

INC R0 ;数据地址加1

MOV @R0,A ;存低4位

OP ACC ;恢复现场

OP DPL

POP DPH

POP PSW

RETI

AJMP SENDON

;复位按钮的相应程序

ALLOFF: MOV P0,#00H ;数据清零

AJMP SENDALL ;发送代码1

;=========================================

===========

; 发送数据

;=========================================

===========

;发送代码0

SENDALL:

CLR TI ;清除发送中断标志位(准备发送数据) MOV SBUF,#'0' ;发送代码2

JNB TI,$ ;等待数据发送完毕

AJMP LOOP ;重复执行程序

;发送代码1

SENDON:

CLR TI

MOV SBUF,#'1'

JNB TI,$

AJMP LOOP

END

相关文档
最新文档