实验时间: 2013 年 7 月 8 日 星期 一 时间 : 15 : 15 ~ 17 :10
实验室(房间号): 综420 实验台号码: 6 班级: 电子1004 姓名: 黄佳卿 指导教师签字: 成绩:
实验 五 MCS-51单片机与TLC549串行A/D转换器接口芯片编程实验 一、实验目的和要求
学习掌握TLC549的工作原理及编程方法。
二、实验算法
通过TLC549的工作时序来编写程序进行AD转换,采集256次数据
进行累加,低位放于R1,高位放于R2,进行平均后即只取高位即可。 三、实验电路图
采用DP-51PROC单片机综合仿真实验台,P1口接LED,P3.2、 P3.3、
P3.4分别接TLC549的DAT、CLK、/CS。 四、实验流程图 调用TLC549子程序,延时子程序 主程序 R3为计数器,是否到了256次 以R2为为高位、R1为低位对AD值累加 否 是 取反、显示、寄存器清零
SETB CLK 计数器R7赋初值 CLR /CS TLC549子程序 CLR CLK N
RLC A R7减1 R7是否为0 SETB Y CLK SETB /CS RET 是 - 1 -
五、程序清单 验证实验程序清单:
DAT BIT P3.2 CLK BIT P3.3 CS BIT P3.4 ORG 8000H LJMP 8100H ORG 8100H START: MOV SP,#60H MOV R3,#00H MOV R1,#00H MOV R2,#00H
LOOP: LCALL TLC549_ADC ; CPL A ; MOV P1,A
LCALL DELAY
CLR C ADD A,R1 MOV R1,A CLR A
ADDC A,R2 MOV R2,A DJNZ R3,LOOP CPL A MOV P1,A MOV R3,#00H MOV R1,#00H MOV R2,#00H
SJMP LOOP
TLC549_ADC: PUSH 07H
- 2 -
CLR A CLR CLK MOV R7,#08H CLR CS NOP
LOOP1: SETB CLK MOV C,DAT RLC A CLR CLK
DJNZ R7,LOOP1 SETB CS SETB CLK POP 07H RET
DELAY: PUSH 00H MOV R0,#00H DJNZ R0,$ POP 00H RET
END
六、实验结果与分析 实验运行结果:
转动电位器,LED会以二进制的方式变化,当没有加平均滤波的时候最
后几位LED会跳动,加了滤波之后LED会很稳定。 分析:
由于芯片的特性,低位不太准确,进行平均滤波之后消除了误差。
七、实验体会和建议
本次实验学习了TLC549,相比ADC0832而言,有很多优势,如低功耗,操作简单,接口占用IO口少,节约系统资源,转化时间快,最重要的是它的价格还远远比ADC0832要便宜,所以以后在实际的电路设计中要注重器件的选用。
八、主要仪器设备
- 3 -
名称 型号 备 注 DP-51PROC单片机综DP-51PROC 合仿真实验台
- 4 -
因篇幅问题不能全部显示,请点此查看更多更全内容