数字温度计(微机原理课程设计).doc_第1页
数字温度计(微机原理课程设计).doc_第2页
数字温度计(微机原理课程设计).doc_第3页
数字温度计(微机原理课程设计).doc_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一、实验目的1、学习ADC0809、8279A与微机8088系统的接口方法,以及8088CPU用查询方式对键值扫描的编程方法,了解并掌握LED数码管显示的原理和编程方法。2、掌握ADC0809和微机接口方法工作方式和编程原理。并且学会用8255A并行口传输数据的方法。3、通过自己编写汇编程序和在实验箱上的调试,学会8086/8088的编程原理和方法,和各芯片与其的连接原理和方法,并学会通过编程协调各芯片的正常工作。二、实验内容说明通过编程,本实验要求通过温度传感器向ADC0809芯片中输入模拟信号,通过ADC0809输出数字信号后,由8086CPU处理,在数码管上显示十进制的温度数值。由于实验室没有温度传感器的放大电路,于是温度传感器和放大电路由一个0-5V滑动变阻器代替。三、ADC0809的介绍ADC0809是采样频率为8位的、以逐次逼近原理进行模数转换的器件。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8个单断模拟输入信号中的一个进行A/D转换。1主要特性1)8路8位AD转换器,即分辨率8位。 2)具有转换起停控制端。 3)转换时间为100s4)单个5V电源供电 5)模拟输入电压范围05V,不需零点和满刻度校准。 6)工作温度范围为-4085摄氏度 7)低功耗,约15mW。 2内部结构 ADC0809是CMOS单片型逐次逼近式AD转换器,内部结构如图1322所示,它由8路模拟开关、地址锁存与译码器、比较器、8位开关树型DA转换器、逐次逼近 3外部特性(引脚功能)ADC0809芯片有28条引脚,采用双列直插式封装,如图1323所示。下面说明各引脚功能。 IN0IN7:8路模拟量输入端。2-12-8:8位数字量输出端。ADDA、ADDB、ADDC:3位地址输入线,用于选通8路模拟输入中的一路ALE:地址锁存允许信号,输入,高电平有效。 START: AD转换启动信号,输入,高电平有效。 EOC: AD转换结束信号,输出,当AD转换结束时,此端输出一个高电平(转换期间一直为低电平)。 OE:数据输出允许信号,输入,高电平有效。当AD转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。CLK:时钟脉冲输入端。要求时钟频率不高于640KHZ。 REF(+)、REF(-):基准电压。 Vcc:电源,单一5V。 GND:地。 ADC0809的工作过程是:首先输入3位地址,并使ALE=1,将地址存入地址锁存器中。此地址经译码选通8路模拟输入之一到比较器。START上升沿将逐次逼近寄存器复位。下降沿启动 AD转换,之后EOC输出信号变低,指示转换正在进行。直到AD转换完成,EOC变为高电平,指示AD转换结束,结果数据已存入锁存器,这个信号可用作中断申请。当OE输入高电平 时,输出三态门打开,转换结果的数字量输出到数据总线上。四、实验原理接线图根据图示,在DVCC8086试验箱上按要求连接线路图。五、实验程序的编写1、程序的编写思路通过ADC0809芯片将输入的模拟量转化为2位16进制数,数值为0-FFH,共256个数,要求输出温度为0-100C。所以根据要求, 将ADC0809所得数据乘以100再除以FFH,再对所得数据进行16进制向10进制转换,并通过8279A从数码管输出。2、实验程序CODE SEGMENT ;定义代码段ASSUME CS:CODEADPORT EQU 0060H ;定义0809端口地址CONTPORT EQU 00DFH ;定义8279命令口地址DATAPORT EQU 00DEH ;定义8279数据口地址START: JMP ADCONTORL ;无条件跳转至ADCONTORL DATA1 EQU 0583H ;定义DATA1地址为0583HDATA2 EQU 0500H ;定义DATA2地址为0500HADCONTORL:CALL FORMAT ;调用FORMAT MOV CX,4 ;设CX为4 MOV BX,0 ;设BX为0A0: MOV WORD PTR DS:BX+0584H,0000H ;0584-0588无任何显示 (对应数码管前四个) ADD BX,2 ;BX加2再给BX LOOP A0 ;循环A0四次ADCON: MOV AX,00 ;AX清零 MOV DX,ADPORT ;通道值送0809端口 OUT DX,AL ;启动本次A/D转换 MOV CX,0500H ;将0500H送入CXDELAY: LOOP DELAY ;延时 MOV DX,ADPORT ;读取A/D转换结果 IN AL,DX CALL CONVERS ;调用显示转换程序 CALL LEDDISP ;调用显示子程序 JMP ADCON ;跳转至ADCONCONVERS: MOV BL,100 ;进行显示转换,将100送入BL MUL BL ;A/D转换结果乘100再给到AX MOV BL,0FFH ;将FFH给到BL DIV BL ;AX中数据除FFH,商在AL中,余数在AH中 MOV AH,0 ;余数清零A1: MOV BL,100 ;显示温度值百位数,将100送入BL MOV SI,DATA1 ;SI指向0582H DIV BL ;AX中数据除100,商在AL中,余数在AH中 PUSH AX ;保存AX MOV AH,0 ;余数清零 MOV BX,AX ;将AX送入BX中 MOV AL,DS:BX+DATA2 ;取数码管段码 CMP AL,3FH ;如果是0 JZ C1 ;跳到c1, CMP AL,3FH ;如果大于0 JNZ C2 ;跳到c2 C1: MOV AL,0H ;不显示百位 JMP C3 ;跳到c3 C2: MOV AL,06H ;显示1 JMP C3 ;跳到c3 C3: MOV SI,AL POP AX ;取出AX MOV AL,AH ;将AH给AL MOV AH,0 ;AH清零 DEC SI ;SI自减1 MOV BL,10 ;显示温度值十位数 将10送入BL DIV BL ;AX中数据除10,商在AL中,余数在AH中 PUSH AX ;AX放入堆栈 MOV AH,0 ;清AH MOV BX,AX ;AX给BX MOV AL,DS:BX+DATA2 ;取数码管段码 MOV SI,AL ;显示AL POP AX ;取AX MOV AL,AH ;AH放入AL MOV AH,0 ;清AH DEC SI ;DEC自减1,显示下一位 MOV BX,AX ;显示温度值个位数 MOV AL,DS:BX+DATA2 ;取AL段码 MOV SI,AL ;显示AL DEC SI ;SI自减,显示下一位 MOV AL,39H ;显示摄氏度标志C MOV SI,AL ;显示C RETLEDDISP: MOV AL,90H ;设置控制字 MOV DX,CONTPORT OUT DX,AL MOV BYTE PTR DS:0600H,00 LED1: CMP BYTE PTR DS:0600H,07H JA LED2 MOV BL,DS:0600H MOV BH,0H MOV AL,DS:BX+0580H MOV DX,DATAPORT OUT DX,AL ADD BYTE PTR DS:0600H,01H JNZ LED1LED2: RETFORMAT: MOV BX,0 MOV WORD PTR DS:BX+0500H,063FH ADD BX,2 MOV WORD PTR DS:BX

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论