模块6半导体温度传感器.docx
- 文档编号:4254451
- 上传时间:2022-11-28
- 格式:DOCX
- 页数:21
- 大小:569.83KB
模块6半导体温度传感器.docx
《模块6半导体温度传感器.docx》由会员分享,可在线阅读,更多相关《模块6半导体温度传感器.docx(21页珍藏版)》请在冰豆网上搜索。
模块6半导体温度传感器
目录
1设计内容1
2实验设备1
3实验(设计)原理1
3.1A/D、D/A电路1
3.2AD590工作模块2
3.3LCD显示电路9
4设计思路12
5程序流程13
6程序清单14
7实验现象及说明18
8在小组工作中主要承担的任务17
9结论及设计心得体会17
参考文献17
1设计内容
利用8086CPU板、EL-MUT-III实验箱和半导体温度传感器AD590设计实现当前温度的显示,使数码管和液晶屏显示当前温度。
2实验设备
1、EL-MUT-III实验箱
2、8086CPU板
3、温度传感器模块2
3实验(设计)原理
3.1A/D、D/A电路
八路八位A/D实验电路由一片ADC0809,一片74LS04,一片74LS32组成,该电路中,ADIN0—ADIN7是ADC0809的模拟量输入插孔,CS0809是0809的AD启动和片选的输入插孔,EOC是0809转换结束标志,高电平表示转换结束。
齐纳二极管LM336-5提供5V的参考电源,ADC0809的参考电压,数据总线输出,通道控制线均已接好,八位双缓冲D/A实验电路由一片DAC0832。
一片74LS00,一片74LS04,一片LM324组成,该电路中除DAC0832的片选未接好外,其它信号均已接好,片选插孔标号CS0832。
输出插孔标号DAOUT。
该电路为非偏移二进制D/A转换电路,通过调节POT3,可调节D/A转换器的满偏值,调节POT2,可调节D/A转换器的零偏值。
如图3-1所示
图3-1A/D、D/A电路
3.2AD590工作模块
AD590的工作原理见模块说明,其测量电路如图3-2下所:
图3-2AD590电路
图3-3输入电路
第一部分:
如图3-3是入电路,圈内所示是输入端,与输入端并联的是VCC电路,保证放大环节工作在适当的静态工作点。
第一级是比例负反馈,经过放大的电路运输到下一级。
如图3-4电压设置部分
第二部分:
如图3-4,压零点设置部分,方框内的输入为基准电压,可通过调节此点的电压控制整个电路的基准电压。
圆圈内的输入作用为调节电压零点,可以通过人为的调节设置电压零点。
如图3-4电压设置部分
第三部分:
如图3-4,压设置部分,增益调节,通过调整电位器,改变负反馈的比例,进而使得增益改变,此电路的增益GAIN=20。
如图3-4电压设置部分
第四部分:
如图3-4,输出环节,通过电压负反馈集成运放进一步方法电流的值。
且保证了输出稳定
3.3LCD显示电路
点阵式LCD显示电路是在系统板上外挂电正式液晶显示模块,模块的数据线、状态、控制线都通过插孔引出。
可直接与系统相连。
(1)、OCMJ2×8液晶模块介绍及使用说明
OCMJ中文模块系列液晶显示器内含GB231216*16点阵国标一级简体汉字和ASCII8*8(半高)及8*16(全高)点阵英文字库,用户输入区位码或ASCII码即可实现文本显示。
也可用作一般的点阵图形显示器之用。
提供位点阵和字节点阵两种图形显示功能,用户可在指定的屏幕位置上以点为单位或以字节为单位进行图形显示。
完全兼容一般的点阵模块。
OCMJ中文模块系列液晶显示器可以实现汉字、ASCII码、点阵图形和变化曲线的同屏显示,并可通过字节点阵图形方式造字。
本系列模块具有上/下/左/右移动当前显示屏幕及清除屏幕的命令。
OCMJ中文模块所有的设置初始化工作都是在上电时自动完成的,实现了“即插即用”。
同时保留了一条专用的复位线供用户选择使用,可对工作中的模块进行软件或硬件强制复位。
规划整齐的10个用户接口命令代码,非常容易记忆。
标准用户硬件接口采用REQ/BUSY握手协议,简单可靠。
表1OCMJ2X8(128X32)引脚说明
引脚
名称
方向
说明
引脚
名称
方向
说明
1
VLED+
I
背光源正极(LED+5V)
8
DB1
I
数据1
2
VLED-
I
背光源负极(LED-OV)
9
DB2
I
数据2
3
VSS
I
地
10
DB3
I
数据3
4
VDD
I
(+5V)
11
DB4
I
数据4
5
REQ
I
请求信号,高电平有效
12
DB5
I
数据5
6
BUSY
O
应答信号=1:
已收到数据并正在处理中
=0:
模块空闲,可接收数据
13
DB6
I
数据6
7
DB0
I
数据0
14
DB7
I
数据7
硬件接口
接口协议为请求/应答(REQ/BUSY)握手方式。
应答BUSY高电平(BUSY=1)表示OCMJ忙于内部处理,不能接收用户命令;BUSY低电平(BUSY=0)表示OCMJ空闲,等待接收用户命令。
发送命令到OCMJ可在BUSY=0后的任意时刻开始,先把用户命令的当前字节放到数据线上,接着发高电平REQ信号(REQ=1)通知OCMJ请求处理当前数据线上的命令或数据。
OCMJ模块在收到外部的REQ高电平信号后立即读取数据线上的命令或数据,同时将应答线BUSY变为高电平,表明模块已收到数据并正在忙于对此数据的内部处理,此时,用户对模块的写操作已经完成,用户可以撤消数据线上的信号并可作模块显示以外的其它工作,也可不断地查询应答线BUSY是否为低(BUSY=0?
),如果BUSY=0,表明模块对用户的写操作已经执行完毕。
可以再送下一个数据。
如向模块发出一个完整的显示汉字的命令,包括坐标及汉字代码在内共需5个字节,模块在接收到最后一个字节后才开始执行整个命令的内部操作,因此,最后一个字节的应答BUSY高电平(BUSY=1)持续时间较长,具体的时序图和时间参数说明查阅相关手册。
用户命令
用户通过用户命令调用OCMJ系列液晶显示器的各种功能。
命令分为操作码及操作数两部分,操作数为十六进制。
共分为3类10条。
分别是:
一)、字符显示命令:
1、显示国标汉字;
2、显示8X8ASCII字符;
3、显示8X16ASCII字符;
二)、图形显示命令:
4、显示位点阵;
5、显示字节点阵;
三)、屏幕控制命令:
6、清屏;
7、上移;
8、下移;
9、左移;
10、右移;
(以下所示取值范围分别为:
2X8、4X8、5X10的取值范围)
1)显示国标汉字
命令格式:
F0XXYYQQWW
该命令为5字节命令(最大执行时间为1.2毫秒,Ts2=1.2mS),其中
XX:
为以汉字为单位的屏幕行坐标值,取值范围00到07、02到09、00到09
YY:
为以汉字为单位的屏幕列坐标值,取值范围00到01、00到03、00到04
QQWW:
坐标位置上要显示的GB2312汉字区位码
2)显示8X8ASCII字符
命令格式:
F1XXYYAS
该命令为4字节命令(最大执行时间为0.8毫秒,Ts2=0.8mS),其中
XX:
为以ASCII码为单位的屏幕行坐标值,取值范围00到0F、04到13、00到13
YY:
为以ASCII码为单位的屏幕列坐标值,取值范围00到1F、00到3F、00到4F
AS:
坐标位置上要显示的ASCII字符码
3)显示8X16ASCII字符
命令格式:
F9XXYYAS
该命令为4字节命令(最大执行时间为1.0毫秒,Ts2=1.0mS),其中
XX:
为以ASCII码为单位的屏幕行坐标值,取值范围00到0F、04到13、00到13
YY:
为以ASCII码为单位的屏幕列坐标值,取值范围00到1F、00到3F、00到4F
AS:
坐标位置上要显示的ASCII字符码
4)显示位点阵
命令格式:
F2XXYY
该命令为3字节命令(最大执行时间为0.1毫秒,Ts2=0.1mS),其中
XX:
为以1*1点阵为单位的屏幕行坐标值,取值范围00到7F、20到9F、00到9F
YY:
为以1*1点阵为单位的屏幕列坐标值,取值范围00到40、00到40、00到40
5)显示字节点阵
命令格式:
F3XXYYBT
该命令为4字节命令(最大执行时间为0.1毫秒,Ts2=0.1mS),其中
XX:
为以1*8点阵为单位的屏幕行坐标值,取值范围00到0F、04到13、00到13
YY:
为以1*1点阵为单位的屏幕列坐标值,取值范围00到1F、00到3F、00到4F
BT:
字节像素值,0显示白点,1显示黑点(显示字节为横向)
6)清屏
命令格式:
F4
该命令为单字节命令(最大执行时间为11毫秒,Ts2=11mS),其功能为将屏幕清空。
7)上移
格式:
F5
该命令为单字节命令(最大执行时间为25毫秒,Ts2=25mS),其功能为将屏幕向上移一个点阵行。
8)下移
命令格式:
F6
该命令为单字节命令(最大执行时间为30毫秒,Ts2=30mS),其功能为将屏幕向下移动一个点阵行。
9)左移
命令格式:
F7
该命令为单字节命令(最大执行时间为12毫秒,Ts2=12mS),其功能为将屏幕向左移动一个点阵行。
10)右移
命令格式:
F8
该命令为单字节命令(最大执行时间为12毫秒,Ts2=12mS),其功能为将屏幕向右移动一个点阵行。
显示窗口坐标关系
下图为汉字、ASCⅡ码显示屏幕坐标(ASCⅡ码Y坐标以点阵坐标为准)。
如显示图形点阵,则以128*64(OCMJ4X8)或128*32(OCMJ2X8)点阵坐标为准,可在屏幕任意位置显示。
如图3-5屏幕显示坐标关系表
4设计思路
首先利用汇编语言编程,将AD590模块与8086CPU和EL-MUT-III实验箱链接,将AD590获得的温度信息传给数码管,将其显示出来。
当给温度传感器加热时,观察到数码管的示数明显上升后,链接显示屏电路,并适当修改程序使之能够在液晶显示屏上显示当前温度。
5程序流程
5.1温度在数码管上显示:
(左图)
5.2温度在显示屏上显示:
(右图)
6程序清单
6.1数码管显示程序
6.1.2半导体温度传感器在数码管上的显示
CON8279EQU0492H
DAT8279EQU0490H
CS0809EQU04D0H;给变量赋初值,且初值无法更改。
CS0809为A/D转换芯片
ASSUMECS:
CODE
CODESEGMENTPUBLIC
ORG100H;下一条指令的段地址是0100H
START:
MOVDX,CS0809;
MOVAL,34H;
OUTDX,AL;给CS0809信号,刺激其工作
WAIT:
MOVCX,0010H;CX赋值10H,决定WAIT1的等待时长
WAIT1:
NOP
NOP;系统什么都不做,等待2个时钟周期
LOOPWAIT1;CX不等于0则继续等待,让AD590模块充分时间获取温度信息
MOVDX,CS0809;04D0H大于FFH,故先将输出信息给DX
INAL,DX;CS0809端口信息存入AL寄存器
MOVAH,00H;清零AH
MOVBL,0AH;在BL内存入0AH,及10
DIVBL;DX/BL,商放AL,余数放AH,将获得的温度信息个位和十位分开,便于后续显示
MOVBH,AL;将商及十位数放BH
MOVBL,AH;将余数及个位数放BL
DISP:
MOVDI,OFFSETSEGCOD;SEGCOD存储器偏移地址给DI
MOVAX,08H
MOVDX,CON8279
OUTDX,AX;给CON8279端口片选信号
MOVAX,90H
MOVDX,CON8279
OUTDX,AX;给CON8279赋初值10010000B
MOVDX,DAT8279;将数码管的端口地址给存在DX中
MOVAL,BH;将温度的十位数信息给AL
MOVAH,00H;AH赋值00H
ADDDI,AX;十位数与SEGCON的段首相加,得到数码管显示的数字的信号。
此处十分巧妙,先将0~FH的激发数码管显示的代码存入SEGCON,再逐位与之比较,得到对应激发数码管显示的代码。
MOVAL,CS:
[DI];同上
OUTDX,AL;将温度十位给数码管显示
NOP
NOP;等待两个时钟周期
MOVDI,OFFSETSEGCOD
MOVAL,BL
MOVAH,00H
ADDDI,AX
MOVAL,CS:
[DI]
OUTDX,AL;与上类似,将温度个位给数码管显示
DELAY:
MOVCX,2A00H
DELAY1:
NOP
NOP
LOOPDELAY1;显示延时,便于人眼读数
JMPSTART;重新测量
SEGCODDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H
;数码管采用共阴极接法,最高位对应h,最低位对应a,故3FH=00111111B即数码管显示0,06H对应00000110B即数码管显示1……71H对应01110001B即数码管显示F。
CODEENDS
ENDSTART;代码结束
6.2数码管、液晶屏显示程序
CON8279EQU0492H
DAT8279EQU0490H
CS0809EQU04D0H;给变量赋初值,且初值无法更改。
CS0809为A/D转换芯片
ASSUMECS:
CODE
CODESEGMENTPUBLIC
ORG100H;下一条指令的段地址是0100H
START:
MOVDX,CS0809;
MOVAL,34H;
OUTDX,AL;给CS0809信号,刺激其工作
WAIT:
MOVCX,0010H;CX赋值10H,决定WAIT1的等待时长
WAIT1:
NOP
NOP;系统什么都不做,等待2个时钟周期
LOOPWAIT1;CX不等于0则继续等待,让AD590模块充分时间获取温度信息
MOVDX,CS0809;04D0H大于FFH,故先将输出信息给DX
INAL,DX;CS0809端口信息存入AL寄存器
MOVAH,00H;清零AH
MOVBL,0AH;在BL内存入0AH,及10
DIVBL;DX/BL,商放AL,余数放AH,将获得的温度信息个位和十位分开,便于后续显示
MOVBH,AL;将商及十位数放BH
MOVBL,AH;将余数及个位数放BL
DISP:
MOVDI,OFFSETSEGCOD;SEGCOD存储器偏移地址给DI
MOVAX,08H
MOVDX,CON8279
OUTDX,AX;给CON8279端口片选信号
MOVAX,90H
MOVDX,CON8279
OUTDX,AX;给CON8279赋初值10010000B
MOVDX,DAT8279;将数码管的端口地址给存在DX中
MOVAL,BH;将温度的十位数信息给AL
MOVAH,00H;AH赋值00H
ADDDI,AX;十位数与SEGCON的段首相加,得到数码管显示的数字的信号。
此处十分巧妙,先将0~FH的激发数码管显示的代码存入SEGCON,再逐位与之比较,得到对应激发数码管显示的代码。
MOVAL,CS:
[DI];同上
OUTDX,AL;将温度十位给数码管显示
NOP
NOP;等待两个时钟周期
MOVDI,OFFSETSEGCOD
MOVAL,BL
MOVAH,00H
ADDDI,AX
MOVAL,CS:
[DI]
OUTDX,AL;与上类似,将温度个位给数码管显示
DELAY:
MOVCX,2A00H
DELAY1:
NOP
NOP
LOOPDELAY1;显示延时,便于人眼读数
WRTAB:
MOVSI,OFFSETASCIITAB
MOVDI,OFFSETTABLE
ADDDI,1BH;将位置确定在TABLE里第一个问号处,及温度高位应存放的地址
MOVAL,BH
MOVAH,00H
ADDSI,AX
MOVAL,[SI]
MOV[DI],AL
MOVSI,OFFSETASCIITAB;将位置确定在TABLE里对应ASCIITAB第一个问号处,及温度高位找到对应的数字
ADDDI,04H
MOVAL,BL
MOVAH,00H
ADDSI,AX
MOVAL,[SI]
MOV[DI],AL;SI、DI加4,分别寻找到低位温度的对应值
DISPLCD:
;LCD显示程序
MOVDX,04A6H
MOVAX,88H
OUTDX,AX
MOVAX,70H
OUTDX,AX;初始化程序
MOVAL,0F4H
CALLCOMD;调用检查是否繁忙程序
CALLDELAY2;调用延迟程序
START1:
MOVSI,OFFSETTABLE
MOVCX,36;将TABLE首地址与SI连接,
WR1:
MOVDX,04A4H
INAX,DX
ANDAX,80H;REQ置位,是否繁忙
JNZWR1
MOVAL,CS:
[SI];不繁忙将TABLE地址给AL
CALLCOMD
INCSI
LOOPWR1;重复WR1,将TABLE上显示的书写完为止(CX不为0,则继续书写)
CALLDELAY
JMPSTART;显示延迟,返回开始从新测量
DELAY2:
MOVCX,1000H
DLYB:
LOOPDLYB
RET;延迟程序
COMD:
检测程序
MOVDX,04A0H
OUTDX,AL
MOVDX,04A6H
MOVAX,71H
OUTDX,AX
MON:
MOVDX,04A4H
INAX,DX
ANDAX,80H;检查是否忙碌,
JZMON;若不忙碌,则输出信息
MOVDX,04A6H
MOVAX,70H
OUTDX,AX
RET;返回原程序
TABLEDB0F0H,00H,00H,21,17,0F0H,01H,00H,39,16,0F0H,02H,00H,46,34,0F0H,03H,00H,22,40,0F1H,08H,05H,58,0F1H,09H,05H,?
0F1H,0AH,05H,?
;液晶屏上显示的内容,0F0H是显示中文,0F1H是显示数字。
00H,00H表示第0行第0列,03H,00H是表示第0行第3列。
21,17这些数字是表示显示的中文的代码。
ASCIITABDB30H,31H,32H,33H,34H,35H,36H,37H,38H,39H,40H,41H,42H,43H,44H,45H,46H
;此处数字信号寻找到对应的ASCII码
SEGCODDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H
CODEENDS
ENDSTART
7实验现象及说明
图7-1和图7-2为给传感器加热,数码管显示的示数的变化
图7-3为液晶屏测试电路
图7-4为数码管、液晶屏同时显示温度的电路
图7-1数码管显示
图7-2数码管示温变化
图7-3显示屏测试电路
图7-4数码管、晶屏显示
8在小组中主要承担的任务
读懂程序和AD590电路、修改程序、给组员讲解程序、检查电路
9结论及心得体会
结论:
数码管能够准确测量当前温度,并能够实时更新。
液晶屏幕只能够显示测量瞬间的温度,数码管和液晶屏能够同时显示。
心得体会:
这次课程设计时间很紧促,在短短的时间内我和我的队友通力协作完成了此次课设。
我最大的感悟就是我们现处大三这个阶段,是十分重要的理论知识转向时间的阶段。
我们可以将我们学过的专业基础知识融会贯通,运用到实际生活中。
就例如我们学过的微机原理及接口技术、模拟电路以及数字电路,就在这个课程设计上得到了充分的体现。
类似于测量温度、报警、录音等功能,在生活中随处可见。
而在此次课设上,微机原理的知识显得尤其重要,它是一个将功能实现的魔术棒,而将我们所学的编程语言运用到实例中更加大了我对这门课程的兴趣。
类另一方面是,每一次动手实践课我都能够感觉到团队对于个人的重要性。
一滴水的质量有限,但是当它融入海洋之后它的质量就是无穷的了,我们也是,一个人的智慧是有限的,但是当我们以团队的身份解决问题时,我们的力量很大了。
参考文件
[1]董洁.微型计算机原理及接口技术.第1版.北京:
机械工业出版社,2013.4
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 模块 半导体 温度传感器