全新论坛MCU智学网上线,欢迎访问新论坛!稀缺资源、技术干货、参考设计、原厂资料尽在MCU智学网
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版

51单片机数据采集系统设计问题

[复制链接]
1170 0

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
我的数据采集系统基于AT89S52,AD是12位的max1240,数据经串口传送到电脑,有LABVIEW编程显示。现在PCB电路已经焊接好,串口测试可以正常,可接输入信号对系统进行测试的时候输出数据出错,我把部分数据贴出来,大家帮我分析一下是什么原因?是硬件还是软件错误?

正弦波测试结果:(红色为错误测试数据)

6036 2600 04CD 0477 0532 06EC 06AA 0752 08ED 0871 09E6
0944 0A91 0ACD 0AE9 0AF6 0AD6 0AD8 0AAA 0A7A 0A1A 0AB7 0943 09BB 0825 088E
87E6 069F 30B1 7076 3022 7B83 E182 6182 EE81 9381 4881 1281 EC80 DE80 E680
8260 5300 BE60 75E0 5200 3039 70A8 B0BD 7018 B02A E100
05A2 065F 0711 08B0
0841 09B9 0923 0A73 0AB2 0ADC 0AF3 0AF6 0AE5

波形图:(我认为其中小于5的数据为正确数据)


5_39175_679e32fbc51560d.jpg


直流信号输入测试结果:(红色为错误测试数据)


05F3 05F3 05ED 05F4 05F3 05F1 05F3 05F3 05E1 05F2 05F3 05F4 05F3 05F4 05F4
05F4 05F3 05F2 05F3 05F3 05F3 05F4 05F4 05F3 05F3 05F3 05F4 05F2 05F3 05F4 05F2 05F3 05F4 05F2 85F3 05F3 85F5 05F3 85F3 85F5 61BE 705E B057 F3C1 5E70 5DB0 5E70 AFF3 C1F3 05F4 C1F3 05F2 05F3 05F3 05F3 05F3 05F3 05F3 05F3 05F4 05F3 05F4 05F3 05F3 05F4 05F3 05F3 05F3 05F3 05F0 05F3 05F3 05EB 05F3 05F3 05FE C1F3 05F2 05F3 05F3 05F4 05F3 05F3 05F3 05F3 05F3 05F3 85F2 05F4 85F3 05F3 85F4 85F4 61BE 7005 F485 F3C1 5F70 5EB0 5E70 9030 AFF4 05F3 C1F3 05F4 05F3 05F3 05F4 05F3 05F4 05F3 05F3 05F3 05F4 05F4 05F3 05F4 05F3 05F3 05F4 05F3 05F4 05F4 05F3 05F3 05F3 05F4 05FB C15F 70BE 3057 F405 F305 F505 F305 F305 F405 F305 F305

程序:

ORG 0000H
LJMP MAIN ;转到初始化程序
ORG 0030H
MAIN: clR C
MOV SP,#40H
MOV SCON,#50H ;串口 方式 1
MOV TMOD,#20H ;T1 模式2
MOV TL1,#0FDH ;波特率 9600 的常数
MOV TH1,#0FDH
SETB TR1
MAX1240: MOV A, #00H
MOV R7, #08H
CLR P1.0
CLR P1.1
NOP
JNB P1.2, $
SETB P1.0
MSB: CLR P1.0
NOP
SETB P1.0
MOV C, P1.2
MOV P1.3,C
RLC A
DJNZ R7, MSB
MOV R3, A
MOV R7, #08H
MOV A, #00H
LSB: CLR P1.0
NOP
SETB P1.0
MOV C, P1.2
MOV P1.3,C
RLC A
DJNZ R7, LSB
MOV R2, A
NOP
SETB P1.1
zhuan: MOV A,R2
SWAP A
MOV R2,A
MOV A,R3
SWAP A
MOV R3,A
ANL A,#0F0H
ADD A,R2
MOV R2,A
MOV A,R3
ANL A,#0FH
MOV R3,A
MOV 40H,R2
MOV 41H,R3
RS232: MOV R0, #40H
MOV R5,#2
LOOP:
MOV A,@R0
MOV SBUF,A
WAIT:
JBC TI,CONT
SJMP WAIT
CONT:
INC R0
DJNZ R5,LOOP
AJMP MAX1240

;********************************************************
;AD转换子程序,转换值存放在AD_TMP中
;转换值范围为0-255之间
;********************************************************

END
[ 此贴被hxx123456在2009-02-15 18:34重新编辑 ]

举报

回复
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

打开支付宝扫一扫,最高立得1212元红包
搜索

图文热点

更多

社区学堂

更多

客服中心

QQ:187196467 服务时间:周一至周日 8:30-20:30

关注我们

关于我们
关于我们
友情链接
联系我们
帮助中心
网友中心
购买须知
支付方式
服务支持
资源下载
售后服务
定制流程
关注我们
官方微博
官方空间
官方微信
快速回复 返回顶部 返回列表