单片机接口综合课程设计毕业设计.docx
- 文档编号:9959103
- 上传时间:2023-05-22
- 格式:DOCX
- 页数:17
- 大小:974.54KB
单片机接口综合课程设计毕业设计.docx
《单片机接口综合课程设计毕业设计.docx》由会员分享,可在线阅读,更多相关《单片机接口综合课程设计毕业设计.docx(17页珍藏版)》请在冰点文库上搜索。
单片机接口综合课程设计毕业设计
一.实习目的:
1、了解单片机系统设计的基本方法,掌握采用80S51单片机及TLC2543设计数字电压表的过程;
2、了解电压表的工作原理,加深对所学专业知识的认识;
3、熟悉C51程序编写与调试过程;
4、掌握先进开发工具的使用.
二.实习内容:
初始化中主要对AT89S51,TLC2543的管脚和数码管的位选及所用到的内存单元70H,78H,79H,7AH进行设置。
准备工作做好后便启动TLC2543对DS0脚输入进的0~5V电压模拟信号进行数据采集并转换成相对应的0~255十进制数字量。
在数据处理子程序中,运用标度变换知识,编写算法将0~255十进制数字量转换成0.0~5.0的数据,输出到显示子程序进行显示。
整个主程序就是在A/D转换,数据处理及显示程序循环执行。
整个程序流程框如图示。
三.数字电压表简介:
数字电压表出现在50年代初,60年代末发起来的电压测量仪表,简称DVM,它采用的是数字化测量技术,把连续的模拟量,也就是连续的电压值转变为不连续的数字量,加以数字处理然后再通过显示器件显示。
这种电子测量的仪表之所以出现,一方面是由于电子计算机的应用逐渐推广到系统的自动控制信实验研究的领域,提出了将各种被观察量或被控制量转换成数码的要求,即为了实时控制及数据处理的需要;另一方面,也是电子计算机的发展,带动了脉冲数字电路技术的进步,为数字化仪表的出现提供了条件。
所以,数字化测理仪表的产生与发展与电子计算机的发展是密切相关的;同时,为革新电子测量中的烦锁和陈旧方式也催促了它的飞速发展,如今,它又成为向智能化仪表发展的必要桥梁。
如今,数字电压表已绝大部分已取代了传统的模拟指针式电压表。
因为传统的模拟指针式电压表功能单一,精度低,读数的时候也非常不方便,很容易出错。
而采用单片机的数字电压表由于测量精度高,速度快,读数时也非常的方便,抗干扰能力强,可扩展性强等优点已被广泛的应用于电子及电工的测量,工业自动化仪表,自动测试系统等智能化测量领域。
显示出强大的生命力。
数字电压表最初是伺服步进电子管比较式,其优点是准确度比较高,但是采样速度慢,重量达几十公斤,体积大。
继之出现了斜波式电压表,它的速度方面稍有提高,但是准确度低,稳定性差,再后来出现了比较式仪表改进逐次渐近式结构,它不仅保持了比较式准确度高的优点,而且速度也有了很大的提高,但它有一缺点是抗干扰能力差,很容易受到外界各种因素的影响。
随后,在斜波式的基础上双引伸出阶梯波式,它的唯一的进步是成本降低了,可是准确宽,速以及抗干扰能力都未能提高。
而现在,数字电压表的发展已经是非常的成熟,就原理来讲,它从原来的一,二种已发展到多种,在功能上讲,则从测单一参数发展到能测多种参数;从制作元件来看,发展到了集成电路,准确度已经有了很大的提高,精度高达1NV;读数每秒几万次,而相对以前,它的价格也有了降低了很多。
四.数字电压表设计方案介绍:
这种方案是利用单片机系统与模数转换芯片、显示模块等的结合构建数字电压表。
由于单片机的发展已经成熟,利用单片机系统的软硬件结合,可以组装出许多的应用电路来。
此方案的原理是模数(A/D)转换芯片的基准电压端,被测量电压输入端分别输入基准电压和被测电压。
模数(A/D)转换芯片将被测量电压输入端所采集到的模拟电压信号转换成相应的数字信号,然后通过对单片机系统进行软件编程,使单片机系统能按规定的时序来采集这些数字信号,通过一定的算法计算出被测量电压的值。
最后单片机系统将计算好了的被测电压值按一定的时序送入显示电路模块加以显示。
五.主要芯片介绍:
5.1TLC2543:
5.1.1TLC2543的引脚排列
5.1.2TLC2543引脚功能连接
引脚号
名称
I/O
说明
1~9,11,12
AIN0~AIN10
I
模拟量输入端。
11路输入信号由内部多路器选通。
对于4.1MHz的I/OCLOCK,驱动源阻抗必须小于或等于50Ω,而且用60pF电容来限制模拟输入电压的斜率
15
I
片选端。
在
端由高变低时,内部计数器复位。
由低变高时,在设定时间内禁止DATAINPUT和I/OCLOCK
17
DATAINPUT
I
串行数据输入端。
由4位的串行地址输入来选择模拟量输入通道
16
DATAOUT
O
A/D转换结果的三态串行输出端。
为高时处于高阻抗状态,
为低时处于激活状态
19
EOC
O
转换结束端。
在最后的I/OCLOCK下降沿之后,EOC从高电平变为低电平并保持到转换完成和数据准备传输为止
10
GND
地。
GND是内部电路的地回路端。
除另有说明外,所有电压测量都相对GND而言
18
I/OCLOCK
I
输入/输出时钟端。
I/OCLOCK接收串行输入信号并完成以下四个功能:
(1)在I/OCLOCK的前8个上升沿,8位输入数据存入输入数据寄存器。
(2)在I/OCLOCK的第4个下降沿,被选通的模拟输入电压开始向电容器充电,直到I/OCLOCK的最后一个下降沿为止。
(3)将前一次转换数据的其余11位输出到DATAOUT端,在I/OCLOCK的下降沿时数据开始变化。
(4)I/OCLOCK的最后一个下降沿,将转换的控制信号传送到内部状态控制位
14
REF+
I
正基准电压端。
基准电压的正端(通常为Vcc)被加到REF+,最大的输入电压范围由加于本端与REF-端的电压差决定
13
REF-
I
负基准电压端。
基准电压的低端(通常为地)被加到REF-
20
Vcc
电源
5.1.3TLC2543的时序图
5.274ls595
5.2.1TLC2543的引脚排列
5.2.2TLC2543的引脚功能连接:
O1~O7(1~7脚):
八路并行输出端,可以直接控制数码管的8个段。
QH(9脚):
级联输出端,接下一个的SER
SER(14脚):
串行数据输入端
/SRCLR(10脚):
低电平时将移位寄存器的数据清零,通常将他接VCC
SRCLK(11脚):
上升沿时数据寄存器的数据移位,(脉冲宽度通常选微秒级的)
RCLK(12脚):
上升沿时移位寄存器的数据进入数据存储寄存器,(通常在使用前置为低电平,然后移位,以为结束后置为高电平)
/G(13脚):
高电平时禁止输出(高阻态),可以用一引脚控制达到闪烁和熄灭功能,也可直接接低电平。
5.2.3TLC2543的工作过程:
1、/G(13脚)置低电平,/SRCLR(10脚)接高电平(或直接接地和VCC)
2、RCLK(12脚)置低电平
3、SRCLK(11脚)先低电平后高电平产生上升沿8次,移位至595(从低到高)
4、RCLK(12脚)置高电平产生上升沿,送出数据至数码管
5.2.474ls595的时序图
六.数字电压表实现电路:
6.1A/D转换模块
下图是试验箱上的具有SPI接口的A/D转换芯片TLC2543的电路,它的CLK接SPI的时钟端,Din引脚接SPI的输入端,Dout接SPI的输出端。
6.2显示模块
七.数字电压实现程序:
DINBITP1.0
CLKBITP1.1
DOUTBITP1.2
ORG0000H
MAIN:
MOVP2,#0FFH
MOVP1,#0FFH
MOV30H,#0H;转换数据存放高4位
MOV31H,#0H;转换数据存放低8位
MOV52H,#0;小数点中间位显示数值存放单元
MOV51H,#0;小数点后第一位显示数值存放单元
MOV50H,#0;整数显示数值存放单元
L1:
ACALLKAD
ACALLJISUAN
ACALLXIANSHI
AJMPL1
ZHUAN:
MOVR0,#31H
MOVA,30H
XCHDA,@R0
MOVR1,A
MOVA,31H
SWAPA
MOV31H,A
MOVA,#0
MOV30H,R1
MOVR1,#30H
XCHDA,@R1
MOVA,@R1
SWAPA
MOV30H,A
RET
TAB:
DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
TAB1:
DB40H,79H,24H,30H,19H,12H,02H,78H,00H,10H
KAD:
MOVR0,#30H
MOVR6,#8;判断接受数据是否8个
MOVR7,#10H;转换出来为16位数据需要16个脉冲
MOVR4,#0CH;8个控制字,要求结果输出为16位
MOVR5,#00H;接受转换数据存放R5寄存器里
CLRCLK
MOVP2,#0
MOVA,R5
MOVC,DOUT
RLCA
MOVR5,A
DECR6;片选下降沿输出端口有最高位输出
X2:
MOVA,R4
RLCA
MOVR4,A
MOVDIN,C
SETBCLK;脉冲上升沿读入控制字高位
NOP
CLRCLK
MOVA,R5
MOVC,DOUT
RLCA
MOVR5,A
DECR6;脉冲下降沿输出端口有输出并且读入
MOVA,R6
JZX1;把R6赋予A判断其是否为0,若为0则转移
X3:
DJNZR7,X2
AJMPX4
X1:
MOVR6,#8
MOVA,R5
MOV@R0,A;读入8位后保存
INCR0
AJMPX3
X4:
MOVP2,#0FFH;片选信号赋予高电平,直到下次工作
ACALLZHUAN;把读取的16位数作变换转为12位
RET
JISUAN:
CLRC
MOVA,31H
MOVB,#05H
MULAB;低8位数据乘以10
MOVR1,A;乘积低8位储存
MOVR2,B
MOVA,30H;高4位乘以10
MOVB,#05H
MULAB;乘积高8位为0不处理
ADDCA,R2;乘积低8位与上次乘积高8位相加
MOV55H,#0
MOVR0,#55H
XCHDA,@R0
MOVR2,55H
MOVR0,#50H
SWAPA;将上述相加的和取其高4位就相当于整体除以4096
MOV@R0,A;将商保存于50H内
MOVR3,#03;小数点三位,保证下述三次循环
L0:
MOV31H,R1;将余数低8位保存于31H
MOV30H,R2;将余数高4位存于30H
CLRC
MOVA,31H
MOVB,#10
MULAB
MOVR1,A
MOVR2,B
MOVA,30H
MOVB,#10
MULAB
ADDCA,R2
MOV55H,#0
MOV60H,R0
MOVR0,#55H
XCHDA,@R0
MOVR2,55H
SWAPA
MOVR0,60H
INCR0
MOV@R0,A
DJNZR3,L0
MOVR0,#50H
RET
XIANSHI:
MOVP2,#06;让595数据锁存器处于待工作状态
MOVR7,#4;共显示3位数码管
MOVR0,#53H;先显示小数点最后位先送53H内数据所对应的段码
MOVR3,#4;小数点显示三位数码管
DL1:
MOVDPTR,#TAB
CJNER3,#01H,DL0;判断是否该显示整数部分
MOVDPTR,#TAB1;若是则取带小数点的表格首地址
DL0:
MOVA,@R0
MOVR6,#8;每个段码发送需8个脉冲
CJNER3,#00H,DL2
MOVDPTR,#TAB
DL2:
MOVCA,@A+DPTR
LB1:
CLRCLK
RLCA
MOVDIN,C
SETBCLK
DJNZR6,LB1
DECR0;发送完一次后,其自减为显示下一段码
DECR3;小数点后发送位数自减
DJNZR7,DL1;判断是否4位发送完
CLRDISP:
MOVR2,#40;每次显示都要发送64个2进制,上面已完成32个传送
CLRBIT:
CLRCLK
SETBP1.0;数码管前4个不显示,所以送入1
SETBCLK
DJNZR2,CLRBIT
MOVP2,#0FFH;传送完64位后,上升沿使移位寄存器数据进入锁存器并显示
RET
END
八.实习心得:
一周的时间有时会让人觉得很短暂,有时让人觉得很漫长,短暂与漫长取决于我们的态度和兴趣。
一周的单片机实习过得很快,也过得很充实,在这短短的一周时间,通过本次课程设计,我对单片机这门课程有了更进一步的了解。
掌握了老师要求的内容,另外,在对单片机编程方面,我又掌握了一些编程思想,使得程序更为简练、易懂,而且更为严谨,程序执行的稳定性得到了提高。
本次课程设计是我目前收获很大的一次课程设计。
在设计数字电压表时,我对TCL2543的工作原理有了理解,对其启动设置、转换结束判断以及输出控制等都基本掌握。
在整个软件的设计制作过程中,A/D转换模块的软件编程较难,需要时刻秉着认真、仔细的态度去完成。
在软件编程上对子程序的编程存在偏差。
在设计数字电压表时,我对TCL2543的工作原理有了理解,对其启动设置、转换结束判断以及输出控制等都基本掌握。
在整个软件的设计制作过程中,A/D转换模块的软件编程较难,需要时刻秉着认真、仔细的态度去完成。
在软件编程上对子程序的编程存在偏差,后来经过老师和同学的帮助,使我有了清晰的思路。
电路设计方面,我对其与单片机的连接也有了更为直观的认识,并我准确的实现了TLC2543芯片与单片机的连接。
我是工学专业的学生,设计是我们将来必需的技能,这次课程设计恰恰给我们提供了一个应用自己所学知识的机会,从到图书馆查找资料到对程序的设计对系统的调试再到最后的成型,都对我所学的知识进行了检验和充实。
可以说,本次课程设计有苦也有甜。
这周过得很愉快也很充实,实习过程中,我遇到了许多问题,但在同学和老师的热心帮助下,这些问题都得到了解决。
在这里,感谢老师和同学对我的帮助和支持。
九.参考书目:
1)谭浩强.C程序设计.北京:
清华大学出版社,2005年.
2)陈洪中。
数字电压表。
水利电力出版社,1989
3)周立功.单片机实验与实践.北京:
北京航空航天大学出版社
4)阎石.数字电子技术基础.北京:
高等教育出版社,2006
5)吴国经.单片机应用技术.北京:
中国电力出版社,2003.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 接口 综合 课程设计 毕业设计