压力信号的时时采集

老人参 2004-01-18 08:49:15
压力信号的时时采集:

用TLV2543和AT89C2051,我想把压力信号时时采集,然后,通过232口送到电脑,电脑直接就可以处理这些船回来的字符串,我编的程序请高手指教:可不可以,将硬件电路图和程序发到我的邮箱,小弟不尽感激:laorenshen@163.com

CLK EQU P3.3
DIN EQU P3.4
DOUT EQU P3.5
CS EQU P3.7
ORG 0000H
START: MOV SP,#60H
RD_AD:
CLR CLK ;;清I/O时钟
SETB CS ;;设置片选为高
CLR CS ;;设置片选为低
MOV R4,#08 ;;先读高8位
MOV A, R1 ;;把方式/通道控制字放到A
LOP1:
MOV C,DOUT ;;读转换结果
RLC A ;;A寄存器左移,移入结果数据位,移出方式/通道控制位
MOV DIN,C ;;输出方式/通道位
SETB CLK ;;设置I/O时钟为高
CLR CLK ;;清I/O时钟
DJNZ R4,LOP1 ;;R4不为0,则返回LOP1
MOV R2,A ;;转换结果的高8位放到R2中
MOV A,#00H ;;复位A寄存器
MOV R4,#04 ;;再读低4位
LOP2:
MOV C,DOUT ;;读转换结果
RLC A ;;A寄存器左移,移入结果数据位
SETB CLK ;;设置I/O时钟为高
CLR CLK ;;清I/O时钟
DJNZ R4,LOP2 ;;R4不为0,则返回LOP2
MOV R3,A ;;转换结果的低4位放到R3中
SETB CS ;;设置片选为高
RET
;串行数据传输模块包括串行口初始化子程序和数据传输子程序,各子程序分别如下。其中数据传输采用查询方式,也可以方便地改为中断方式。
INIT_COM:
MOV SCON,#50H ;;串口方式1工作,8位数据位,1位停止位,无奇偶校验
MOV PCON,#80H ;;SMOD=1,波特率增倍
MOV TMOD,#20H ;;波特率设置,fOSC=12MHz,波特率=2* 2400,N=0F3H
MOV TH1,#0F3H
MOV TL1,#0F3H
SETB TR1 ;;启动定时器T1
RET
RS232:
MOV R0,#30H ;;缓冲区首地址30H→R0
MOV R5,#22 ;;发送数据长度→R5,11* 2=22
LOOP:
MOV A,@R0 ;;取数据→A
MOV SBUF,A ;;数据→SBUF
WAIT:
JBC TI,CONT ;;判断发送中断标志,是1则转到CONT,并清TI
SJMP WAIT
CONT:
INC R0
DJNZ R5,LOOP
RET
DATA_SAM:
MOV R0,#30H ;;数据缓冲区首地址30H→R0
MOV R1,#00000000B ;;0通道方式/通道数据
ACALL RD_AD ;;第一次读取的转换结果可能不准确,丢弃。
MOV R1,#00010000B ;;1通道方式/通道数据
ACALL RD_AD ;;送1通道方式/通道数据并读第0通道转换结果
MOV A,R2
MOV @R0,A;R2 ;;转换结果存放到数据缓冲区,下同
INC R0
MOV A,R3
MOV @R0,A;R3
INC R0
MOV R1,#00100000B ;;2通道方式/通道数据
ACALL RD_AD ;;送2通道方式/通道数据并读第1通道转换结果
MOV A,R2
MOV @R0,A;R2
INC R0
MOV A,R3
MOV @R0,A;R3
INC R0
RET
...全文
123 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
CrazyGentleman 2004-01-21
  • 打赏
  • 举报
回复
靠!

27,375

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧