单片机课程设计报告简易数字电压表Word格式文档下载.docx
- 文档编号:19572412
- 上传时间:2023-01-07
- 格式:DOCX
- 页数:13
- 大小:177.69KB
单片机课程设计报告简易数字电压表Word格式文档下载.docx
《单片机课程设计报告简易数字电压表Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《单片机课程设计报告简易数字电压表Word格式文档下载.docx(13页珍藏版)》请在冰豆网上搜索。
TLC0834与单片机的接口参考电路如图1所示,
图1
1)A/D转换部分
1.1TLC0834AD转换器
TLC0834的启动和转换可以由软件自由控制。
根据TLC0834的工作时序图,
图2控制逻辑表
图3时序图
其转换过程是:
片选置CS为低(保证CS有一个从高到低的跳变),该电平能使所有的逻辑功能有效,CS引脚在整个转换过程中应保持低电平。
此时DO端为高阻,DI端等待指令
起始向DI端输出第一个逻辑高,表示起始位。
由于DI端的数据移入多路器地址移位寄存器是在每个时钟的上升跳变时发生的,因此每次向DI端置入一位数据时,应在CLK端输出一个从0到1的跳变。
配置接下来的3位是配置位,用以选择输入通道及输入方式。
连续3个时钟的上升沿将3位配置位移入移位寄存器。
转换当启始位、3位配置位移入移位寄存器后,转换便开始,即在第4个时钟的下降沿转换开始。
同时DI端转为高阻状态,DO端脱离高阻状态,为输出数据做准备。
读取在第5个脉冲的下降沿单片机即可读取DO端的数据,第5至第12个脉冲,共读取8位数据,读取的顺序是从高到低(D7D6D5D4D3D2D1D0)。
TLC0834在输出以最高位(MSB)开头的数据流后,又以最低位(LSB)开头重输出一遍数据流,最低位共用。
如果你需要,可以接着向CLK端输出第12至19个脉冲,以读取7位数据(D1D2D3D4D5D6D7),如果不需要,可以省去第13至第20个脉冲,直接结束这一次转换周期,即置CS高电平
1.2硬件电路设计
图4硬件电路图
其中P1.7口接TLC0834的片选端,P1.6用于产生A/D转换的时钟,P1.5和P1.4分别接芯片的DO和DI端,用于对TLC0834进行初始化和接收转换得到的数据。
这里参考电压是5V,即A/D转换器的输入电压范围为0-5V。
1.3TLC0834初始化程序
CLRP1.6;
清时钟
CLRP1.5
SETBP1.7;
CS=1
CLRP1.7;
CS=0
SETBP1.5;
置1启动位
SETBP1.6
CLRP1.6
1写SGL
SETBP1.6;
时钟0-1跳变
CLRP1.6
CLRP1.5;
0写ODD
0写SELECTBIT1
CLRP1.6;
通道0,单端输入
LCALLADCONV
ADCONV:
MOVR0,#08H
ADLOP0:
SETBP1.4;
置1使P1.4为输入
MOVC,P1.4
RLCA;
a左移并将c补到最低位
DJNZR0,ADLOP0
MOV70H,A
MOVR0,#07H
ADLOP1:
SETBP1.6
DJNZR0,ADLOP1
SETBP1.7;
结束一次转换
RET
2)数据处理
数据处理部分主要是将ADC转换得到的数据进行处理,转换成相应的电压值,因为TLC0834是8位AD模数转化器而且参考电压为5V,所以就是把0~255十进制数转换成0.00V~5.00V。
可根据下面的公式转换:
(
为十进制数)
程序的流图如图所示:
图5
数据处理的程序如下:
TURN_SUB:
MOVA,70H
MOVB,#51
DIVAB;
除与51,余数放在B
MOV78H,A;
存个位数
MOVA,B
CLRF0
SUBBA,#1AH
MOVF0,C
MOVA,#10
MULAB
DIVAB
JBF0,LOOP1
ADDA,#5
LOOP1:
MOV79H,A
SUBBA,#1AH
JBF0,LOOP2
LOOP2:
MOV7AH,A
3)显示功能
显示子程序采用动态扫描法实现三位数码管的数值显示。
测量所得的A/D转换数据放在70H内存中,转换成十进制BCD码放在78H~7AH单元中,寄存器R1用作数据地址指针。
程序流图如下:
图6
4)源程序代码
org0000h
jmpMAIN
;
startoftheprogram
org0100h
初始化tlc0834
MAIN:
CLRP1.5
CLRP1.7;
SETBP1.4;
P1.4输入
LCALLADCONV;
;
调用数据转换子程序
LCALLTURN_SUB
调用显示子程序
LCALLDISP_SUB
转换成通道1
CH1:
1写ODD
SETBP1.4;
P1.4输入
LCALLDISP_SUB
LJMPMAIN
----------------------------------------------
MOVR0,#08H
MOVC,P1.4
MOV70H,A
置CS为高,停止转换
RET
MOVA,70H
MOV78H,A
---------------------------------------
DISP_SUB:
MOVR1,#78H
CLRA
LCALLPLAY
CLRP3.7
SETBP2.0
LCALLDELAY
CLRP2.0
INCR1
SETBP2.1
CLRP2.1
SETBP2.2
CLRP2.2
PLAY:
MOVA,@R1
MOVDPTR,#TAB
MOVCA,@A+DPTR;
查表
MOVP3,A
DELAY:
MOVR6,#10H
D1:
MOVR7,#10H
D2:
DJNZR7,D2
DJNZR6,D1
共阳极数码管的段码
TAB:
DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
END
5)整体硬件电路
图7
6)设计心得
在这次设计中,收获真的挺大的,首先在硬件的设计上就是就收获很多,首先,我们需要设计硬件电路,在设计中我们要考虑各个I/O口的驱动能力,当使用P0口驱动外接电路时,需要接上拉电阻。
I/O口在作为输入应先对I/O口的寄存器先写1。
硬件电路设计完成后就要根据硬件电路开始编写程序了,在对TLC0834芯片的编程过程中,首先需要知道该芯片的时序图,即我们要根据时序图编写程序从而去控制该芯片正常的工作。
这次我设计的是一个简易的电压表,一开始,我先利用了protues软件进行电路的连接与仿真,设计了51的最小系统,包括了复位电路,晶振电路。
而后设计了ADC与51的接口电路,用P1.7的高低电平来产生ADC的时钟信号。
数码管用的三显示共阳的,使用动态扫描法来驱动数码管。
这个过程不仅让我温习了单片机的知识,也让我对单片机有了更深的了解。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 课程设计 报告 简易 数字 电压表
![提示](https://static.bdocx.com/images/bang_tan.gif)