单片机课程设计实验报告111.docx
- 文档编号:2922559
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:15
- 大小:238.33KB
单片机课程设计实验报告111.docx
《单片机课程设计实验报告111.docx》由会员分享,可在线阅读,更多相关《单片机课程设计实验报告111.docx(15页珍藏版)》请在冰豆网上搜索。
单片机课程设计实验报告111
单片机课程设计
实验报告
—电压表
指导教师:
王建强
学院:
电气工程
班级:
电气0810
一、实验要求
1.应用ADC0832芯片在三个LED数码管显示
2.显示量程为:
0-0.2V显示0-199(mv)
0.2V-2V显示199-1.99(v)
3.实现电压量程的切换,数据采样,电压采样等功能
二、元件分析
1、ADC0832芯片特点
8位分辨率。
逐次逼近型。
5V电源供电时,基准电压为5V。
输入模拟电压范围为0~5V。
输入和输出电平与TTL和CMOS兼容。
有两个可供选择的模拟输入通道。
在250KHz时钟频率时,转换时间为32us。
2、管脚说明
CS片选使能端,低电平有效。
CH0模拟输入通道0,差分输入时。
作为IN+或IN一使用。
CH1模拟输入通道1,差分输入时,作为IN+或IN一使用。
GND电源地
DI模拟输入选择输入端。
DO模数转换数据串行输出端。
CLK芯片时钟输入。
VCC/REF芯片工作电源与基准电压输入端。
3、ADC0832工作时序
当把ADC0832的CS置高,内部所有寄存器清0,芯片禁止使用。
当ADC0832的CS由高变低时,且保持低电平直到转换完全结束。
此时芯片开始转换工作,同时由处理器向芯片时钟输入端CLK输入时钟脉冲,DO/DI端则使用DI端输入通道功能选择的数据信号。
ADC0832配置位逻辑表
输入形式
配置位
选择通道号
CH0
CH1
CH0
CH1
差分
0
0
+
-
0
1
-
+
单端
1
0
+
1
1
+
在第1个时钟脉冲的下沉之前DI端必须是高电平,表示启始信号。
在第2、3个脉冲下沉之前DI端应输入2位数据用于选择通道功能。
当此2位数据为“1”、“0”时,只对CH0进行单通道转换。
当2位数据为“1”、“1”时,只对CH1进行单通道转换。
当2位数据为“0”、“0”时,将CH0作为正输入端IN+,CH1作为负输入端IN-进行输入。
当2位数据为“0”、“1”时,将CH0作为负输入端IN-,CH1作为正输入端IN+进行 输入。
到第3个脉冲的下沉之后DI端的输入电平就失去输入作用,此后DO/DI端则开始利用数据输出DO进行转换数据的读取。
从第4个脉冲下沉开始由DO端输出转换数据最高位DATA7,随后每一个脉冲下沉DO端输出下一位数据。
直到第11个脉冲时发出最低位数据DATA0,一个字节的数据输出完成。
也正是从此位开始输出下一个相反字节的数据,即从第11个字节的下沉输出DATD0。
随后输出8位数据,到第19个脉冲时数据输出完成,也标志着一次A/D转换的结束。
最后将CS置高电平禁用芯片,直接将转换后的数据进行处理就可以了。
三、电路图
四、实验内容
1、电路的工作原理
调节滑动变阻器给运放正端输入小于2V的电压,该电压通过运放放大后接入ADC0832,ADC0832在软件设定下对放大后的电压进行AD转换,得到对应的二进制码,再通过软件判断,对该电压进行合适的档位选择(0~0.2V选用25倍档位;0~2V选用2.5倍档位)。
选用合适的档位得到正确的二进制码后,进行BCD转换,然后通过LED数码显示读出被测电压的值。
2、电路硬件部分剖析
硬件电路主要由四部分组成,量程选择模块、AD转换模块、数码显示模块、单片机和一些电路。
(1)量程选择模块由可调输入电源、继电器、运算放大器和限压电路组成可调电源由负载5V电压的滑动变阻器构成,调节触头即可改变输入运放“+”端的电压。
继电器的作用就是通过开关的变换以改变接入运放“-”端和输出端的电阻。
(2)档位的选择也是以此为硬件基础的。
继电器的电磁铁一端接+5V电源,另一端则接在NPN型三极管的集电极。
三极管的基极则与单片机的P1.2.相连,借助软件设计,改变P1.2的电平即可控制继电器的工作状态,进而改变接入电压的放大倍数,从而达到改变档位的要求。
(3)数码显示模块由三个八段数码管、两片数码管驱动芯片74HC245和一片锁存和缓冲芯片74HC573以及单片机P0口(字形)、P1.5、P1.6、P1.7(字位)构成。
(4)限压电路主要功能是为了防止电压超过ADC0832的正常转换电压ADC0832芯片主要起着AD转换的作用。
单片机用89CS52,外围电路包括:
6MHZ晶振,复位电路,电源和一些为使单片机正常工作的相应连接。
3、程序流程图
主程序
AD转换子程序
档位选择程序
BCD码转换程序
A中数据除以127对应的AD转换就是二进制码除以2.5,得到实际电压值所对应的二进制码,然后再除以51以得到实际电压值的最高位,故总的来看,A中数据除以127(127=2.5x51)。
显示子程序
子程序流程图
4、程序
ORG0000H
MAIN:
CLRP1.2
CLR00H
SETBP1.4
L1:
MOVSP,#60H
ACALLDELAY
ACALLCONV
ACALLJUDGE
ACALLDISPLAY
LJMPL1
CONV:
SETBP3.0;初始化通道选择
CLRP3.2
NOP
NOP
CLRP3.3;拉低/CS端
NOP
NOP
SETBP3.2;拉高CLK端
NOP
NOP
CLRP3.2;拉低CLK端,形成下降沿
SETBP3.0
NOP
NOP
SETBP3.2;拉高CLK端
NOP
NOP
CLRP3.2;拉低CLK端,形成下降沿
CLRP3.0;1-0选择1通道
NOP
NOP
SETBP3.2;拉高CLK端
NOP
NOP
CLRP3.2;拉低CLK端,形成下降沿
SETBP3.0
NOP
NOP
MOVR7,#8;准备送下后8个时钟脉冲
RECEIVE:
MOVC,P3.1;接收数据
MOVACC.0,C
RLA;左移一次
SETBP3.2
NOP
NOP
CLRP3.2;形成一次时钟脉冲
NOP
NOP
DJNZR7,RECEIVE;循环7次
MOVC,P3.1;接收数据
MOVACC.0,C
SETBP3.3;拉高/CS端
CLRP3.2;拉低CLK端
SETBP3.;拉高数据端,回到初始状态
MOV30H,A
RET
JUDGE:
JB00H,LOOP
CJNEA,#0FFH,LOOP1
SETB00H;大量程
SETBP1.2
SJMPDONE
LOOP:
CJNEA,#19H,LOOP2
CLR00H;小量程
CLRP1.2
SJMPDONE
LOOP1:
CLR00H
CLRP1.2
LCALLBCDCON
SJMPDONE
LOOP2:
JCCLEAR
LCALLBCDCON
SJMPDONE
CLEAR:
CLR00H
CLRP1.2
SJMPDONE
DONE:
RET
BCDCON:
MOVA,30H
MOVB,#200
MULAB
MOVR4,B
MOVA,R4
MOVB,#100
DIVAB
MOV40H,A
MOVA,B
MOVB,#10
DIVAB
MOV41H,A
MOV42H,B
DISPLAY:
SETBP1.5
SETBP1.6
SETBP1.7
NUMBER1:
JBP1.2,LED
MOVDPTR,#TAB1
MOVA,40H
MOVCA,@A+DPTR;查字形表
MOVP0,A;P0口作字形
CLRP1.4
SETBP1.4
CLRP1.5
ACALLDELAY
SETBP1.5
SJMPNUMBER2
LED:
MOVDPTR,#TAB2
MOVA,40H
MOVCA,@A+DPTR;查字形表
MOVP0,A;P0口作字形
CLRP1.4
SETBP1.4
CLRP1.5
ACALLDELAY
SETBP1.5
NUMBER2:
MOVDPTR,#TAB1
MOVA,41H
MOVCA,@A+DPTR;查字形表
MOVP0,A
CLRP1.4;P0口作字形
SETBP1.4
CLRP1.6
ACALLDELAY
SETBP1.6
NUMBER3:
MOVDPTR,#TAB1
MOVA,42H
MOVCA,@A+DPTR;查字形表
MOVP0,A
CLRP1.4;P0口作字形
SETBP1.4
CLRP1.7
ACALLDELAY
SETBP1.7
RET
TAB1:
DB
0FCH,60H,0DAH,0F2H,66H,0B6H,0BEH,0E0H,0FEH,0F6H;不带小数点的字形表
TAB2:
DB
0FDH,61H,0DBH,0F3H,67H,0B7H,0BFH,0E1H,0FFH,0F7H;带小数点的字形表
DELAY:
MOVR3,#0AH;延时程序
DELAY1:
MOVR4,#0FFH
DELAY2:
DJNZR4,DELAY2
DJNZR3,DELAY1
RET
五、仿真图
六、总结
这次的单片机课程设计给了我很大的收获,在做课程设计的实验前,我以为不会难做,应该很快就能将实验报告做完。
直到做完测试实验时,我才知道其实并不容易做,但学到的知识与难度成正比,使我受益匪浅。
我认为在做实验前,一定要将课本上的知识吃透,因为这是做实验的基础。
做这个实验的时候,你要清楚各个元件的功能。
如何使用。
例如ADC0832芯片的使用功能,如果你不清楚它的功能,在做实验时才去摸索,这将使你极大地浪费时间,使你事倍功半。
做实验时,一定要亲力亲为,务必要将每个步骤,每个细节弄清楚,弄明白,实验后,还要复习,思考,这样,你的印象才深刻,记得才牢固,否则,过后不久你就会忘得一干二净,这还不如不做.通过这次单片机的课程设计,我对单片机的知识有了更深的认识和了解,学习到了基本理论在实践中综合运用的初步经验,掌握了ADC0832的功能应用,电压变设计的基本方法、设计步骤,培养综合设计与编程的能力。
更重要的是培养了我们的实践技能,同时提高了硬件电路的分析和解决实际问题的能力。
而且使我学到了不少实用的知识。
更重要的是,做实验的过程,思考问题的方法,这与做其他的实验是通用的,真正使我们受益匪浅。
所以我们更应该学好课内的知识才能不断地应用于实践。
在实践中不断提高自己的能力。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 课程设计 实验 报告 111