导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→大家帮我看看这个程序哪里有问题[求助][MADSWAN]

 *第28133篇: 大家帮我看看这个程序哪里有问题[求助]

  
楼 主:MADSWAN 2004年12月6日00:17
 大家帮我看看这个程序哪里有问题[求助]
关于用TLC2543数模转换,采集的。并送往PC上位机显示
我是根据上的设计来搭的电路,程序是根据武汉力源的中文手册进行了一点修改,现在先利用TLC2543的内部测试电压实现八位数据检测电路程序的可靠性,但是为什么A/D采集的结果不对,总是FF,换成12,16位数据位也是全1,这下没招了,各位高手帮帮忙了。
电路图:
按此在新窗口浏览图片
程序如下:
ORG 0000H
JMP START
CLK EQU P3.3
DIN EQU P3.4
DOUT EQU P3.5
CS EQU P3.7

ORG 1000H
START: MOV SP,#50H ;初始化堆栈指针
MOV P3,#0FFH ;初始化端口1的I/O管脚
CLR CLK ;设置I/O时钟为低电平
SETB CS ;设置片选信号为高电平
MOV A,#0FFH
ACALL TLC2543;空执行一次转换
ACALL TLC2543
ACALL rs232      

TLC2543:
MOV R4,#10110100B ;读模式/通道数据到寄存器R4和A(选择内部测试电平为2.5V,ref+为5v,8位数据模式)
MOV A,R4
CLR CLK
SETB CS
CLR CS ;设置片选信号为低电平
MOV A,R4
AD:#08 ;装载记数器初始值
LOOP1:

MOV C,DOUT ;读数据位到C
RLC A ;A寄存器左移,移入结果数据位,移出方式通道控制位
MOV DIN,C ;输出模式/通道位数据
SETB CLK ;设置I/O时钟为高电平
CLR CLK ;设置I/O时钟为低电平
DJNZ R5,LOOP1 ;循环得到其它位
MOV R2,A ;把转换结果移入R2
RET

rs232:
MOV SCON,#50H ;串口方式1工作,8位数据位,1位停止位,无奇偶校验 
MOV TMOD,#20H ;波特率设置,fOSC=6MHz,波特率=2* 1200,N=0F3H 
MOV PCON,#80H ;SMOD=1,波特率增倍 
MOV TH1,#0F3H 
MOV TL1,#0F3H 
SETB TR1 ;启动定时器T1 
MOV A,r2
MOV SBUF,a 
jnb TI,$
CLR TI
RET


END

  
2楼:guest 2004年12月6日09:26
 采集2543时应该适当延时,尤其发送给2
采集2543时应该适当延时,尤其发送给2543的时钟信号
  
3楼:MADSWAN 2004年12月6日18:45
 那延时多少时间合适??
以下是引用guest在2004-12-6 9:26:35的发言:
采集2543时应该适当延时,尤其发送给2543的时钟信号

那延时多少时间合适??

>>>>>>对该主题发表你的看法

本主题贴数3,分页: [第1页]


[上一篇主题]:求助:光纤通讯的基本原理和电路

[下一篇主题]:4510开发板运行uClinux后,怎样对Flash编程?