8086系统中数字温度传感器TC77的Proteus仿真-6页word资料

合集下载

8086系统中数字温度传感器TC77的Proteus仿真

8086系统中数字温度传感器TC77的Proteus仿真

8086系统中数字温度传感器TC77的Proteus仿真
时斌
【期刊名称】《俪人:教师》
【年(卷),期】2015(000)024
【摘要】Proteus 软件强大的CPU 仿真功能让其在电子、通信、物联网等相关专业的课程学习中有着重要作用.本文给出了一个用Proteus 软件仿真8086 系统下数字温度传感器TC77 的实例,指出在教学实践中采用适当的仿真技术对教学质量提高的重要意义.
【总页数】2页(P227-228)
【作者】时斌
【作者单位】南京师范大学分析测试中心
【正文语种】中文
【中图分类】G642.0
【相关文献】
1.实例和类比教学法在8086/8088指令系统教学中的应用 [J], 陈金立;陈宣
2.A/D转换在8086系统中的仿真研究 [J], 宗素兰;曹吉花
3.《微机原理与接口技术》中8086CPU系统的教学心得 [J], 薛颖操;陈业慧;纪利琴;苏巧平
4.8086C反编译系统中库函数识别技术及其实现 [J], 陈福安;刘宗田
5.Proteus仿真实验在8086《微机原理与接口技术》教学改革中的应用 [J], 王月明
因版权原因,仅展示原文概要,查看原文内容请购买。

单片机温度检测proteus仿真

单片机温度检测proteus仿真
_nop_();
if (!IO_18B20) //读取通信引脚上的值
dat &= ~mask;
else
dat |= mask;
DelayX10us(6); //再延时60us
}
EA = 1; //重新使能总中断
return dat;
}
bit Start18B20() //启动一次18B20温度转换,返回值代表是否启动成功
LcdWriteCmd(0x06); //文字不动,地址自动+1
LcdWriteCmd(0x01); //清屏
}
/***********************DS18B20.c文件程序源代码*************************/
#include <reg51.h>
#include <intrins.h>
_nop_();
} while (--t);
}
bit Get18B20Ack(void) //复位总线,获取存在脉冲,以启动一次读写操作
{
bit ack;
EA = 0; //禁止总中断
IO_18B20 = 0; //产生500us复位脉冲
DelayX10us(50);
IO_18B20 = 1;
DelayX10us(6); //延时60us
}
void LcdWriteCmd(unsigned char cmd) //写入命令函数
{
LcdWaitReady();
LCD1602_RS = 0;
LCD1602_RW = 0;
LCD1602_DB = cmd;
LCD1602_E = 1;
LCD1602_E = 0;

基于PROTEUS的单片机测温系统的仿真设计

基于PROTEUS的单片机测温系统的仿真设计

基于PROTEUS的单片机测温系统的仿真设计I.概述在现代工业生产中,温度的准确测量对于保证产品质量、确保生产安全至关重要。

因此,设计一套可靠的温度测量系统对于工程师来说是必要的。

本文将介绍一种基于PROTEUS仿真平台的单片机测温系统的设计方法,利用该系统可以实现对温度的准确测量和监控。

II.系统设计1.系统硬件设计系统硬件设计包括传感器、单片机和显示器等部件的选型和连接。

温度传感器选用DS18B20数字温度传感器,该传感器具有高精度和抗干扰能力。

单片机选用常用的51系列单片机,如STC89C52等。

显示器可以使用数码管或LCD液晶显示器。

2.系统软件设计系统软件设计包括单片机程序的编写和功能实现。

首先,需要编写初始化程序,初始化系统设置和连接传感器。

其次,编写温度测量程序,通过单片机与传感器进行通信,并获取温度值。

最后,编写温度显示程序,将测得的温度值显示在数码管或LCD显示器上。

III.仿真操作1.运行PROTEUS软件首先,打开PROTEUS软件,并创建一个新的工程文件。

2.添加单片机和传感器在PROTEUS的元件库中找到所需的单片机和传感器元件,并将其拖放到画布中。

然后,通过连线工具将它们连接起来。

3.编写单片机程序使用类似Keil C等开发工具编写单片机程序。

将编写好的程序导入到PROTEUS中的单片机元件中,然后设置程序的执行方式。

4.设置仿真参数设置仿真参数,如仿真时间、时钟频率等。

为了模拟真实环境下的测温系统,可以设置仿真时间较长,以确保系统的稳定性和可靠性。

5.运行仿真点击运行按钮,开始执行仿真。

在仿真过程中,可以观察温度传感器的输出、单片机的工作状态以及显示器的显示情况。

根据需要可以调整相关参数,进行优化和改进。

IV.仿真结果分析通过观察仿真结果,可以评估设计的温度测量系统的性能和稳定性。

根据实际需求,可以对系统参数进行调整和优化。

同时,可以根据仿真结果进一步完善系统设计和功能实现。

基于Proteus仿真的多温度自动检测系统设计

基于Proteus仿真的多温度自动检测系统设计

目录前言 (2)1.多温度自动检测模拟装置设计方案和硬件选择 (2)1.1设计方案 (3)1. 1. 1 研究中的主要问题 (7)1.1.2制造一个检测终端 (3)1.1.3准备LED显示屏 (3)1.2硬件选择 (3)1.2.1主控芯片 (3)1.2.2显示模块 (5)1.2.3无线收发模块.................................................................................. 错误!未定义书签。

方案一:DF无线收发模块........................................................................ 错误!未定义书签。

1.2.4温度传感器 (6)1.2.5数模转换器 (6)2.无线环境监测模拟装置硬件电路的设计 (7)2.1设计框图 (7)2.2温度采集的电路设计 (8)2.2.1温度采集的设计要求 (8)2.2.2温度显示通道号电路 (9)2.3总体方案 (9)2.4单片机系统 (17)3.温度检测模拟装置的软件设计 (11)3.1温度检测的程序设计.............................................................................. 错误!未定义书签。

3.2温度传感器存储方式图 (11)4.系统仿真及结果4.2.Keil与peoteus联机仿真 (12)4.3.protel原理图 (12)结论 (13)参考文献 (15)致谢................................................................................................................... 错误!未定义书签。

摘要多温度自动检测模拟装置借助于单片机进行数据处理,再经由仿真得到相应结果。

基于PROTEUS的单片机测温系统的仿真设计剖析

基于PROTEUS的单片机测温系统的仿真设计剖析

本科毕业设计(论文)题目:基于PROTEUS的单片机测温系统的仿真设计学院:机械电子工程学院专业:测控技术与仪器学号:学生姓名:指导教师:职称:二O一二年五月十八日摘要随着人们生活水平的不断提高,单片机控制无疑是人们追求目标之一,它给人们带来了很大的方便,其中数字温度计就是一个典型的例子,但人们对它的要求越来越高,要为现代人工作,科研,生活,提供更好的更方便的设施就需要从多数单片机技术入手,一切向着数字化控制,智能化控制方向发展,温度传感器适用范围广,数量多,居各种传感器之首。

本文从硬件和软件两方面来讲述温度测量过程,在控制过程中应用单片机AT89C52、数字温度传感器DS18B20、共阴极数码管、锁存器74HC573。

主要是通过DS18B20数字温度传感器采集温度,以单片机为核心控制部件,并通过存储器进行存储、共阴极数码管显示实时温度的一种数字温度计。

软件方面采用C语言来进行程序设计,使指令执行速度快,节省存储空间。

为了便于扩展和更改,软件的设计采用模块化结构,使程序设计的逻辑关系更加简洁明了,使硬件在软件的控制下协调运作。

本设计主要做了如下几方面的工作:一是确定系统的总体设计方案,包括其功能设计、组成与工作原理、设计说明;二是进行硬件电路设计,包括硬件电路构成及测量原理、温度传感器的选择、单片机的选择;三是进行了调试和仿真,获得仿真结果。

经实验测试表明,该系统测量精度高、抗干扰能力强,具有一定的参考价值。

该系统设计和布线简单、结构紧凑、体积小、重量轻、性价比高、扩展方便,在大型仓库、工厂、智能化建筑等领域的温度检测中有广阔的应用前景。

关键词:温度测量;数字温度传感器DS18B20;AT89C52单片机;共阴极数码管显示。

AbstractAs people living standard rise ceaselessly, SCM control is undoubtedly one of the goals of the people to pursue, it brings convenience is not negative, including digital thermometer is one example, but people on its demand is higher and higher, to work for modern, scientific research, life, providing better more convenient facilities should be, from most of the single chip microcomputer, all to digital control system, intelligent control direction, the temperature sensor application scope. The number of sensors in the list.This article from two aspects of hardware and software to tell temperature measurement process, in the main process of single chip microcomputer control application AT89C52, digital temperature sensor DS18B20, cathode tube of digital, latches 74 HC573, mainly through digital temperature sensor DS18B20 collection temperature, with the single chip processor as the core to control components, and through the memory storage, liquid crystal display shows real-time temperature of a digital thermometer. Software using C language program to design, make the instruction execution speed, save storage space. In order to facilitate the expansion and the change, the software design using modular structure, make the program design logical relationship more concise and clear, make the hardware in the software under the control of the harmonious operation.This design is the major of the following aspects of work: one is sure the design of the whole system solutions, including the function design, composition and working principle, design descriptions; 2 it is hardware circuit design, including hardware circuit structure and measuring principle, the temperature sensor of choice, the choice of the single chip microcomputer; 3 it is the testing and simulation, get the simulation results.The test results show that the system measurement precision, strong anti-interference, concrete the certain reference value. The system design and wiring is simple, compact structure, small volume, light weight, high performance/price ratio, expansion of convenient, in the large warehouse, factory, intelligent building and other areas of temperature in detecting have broad application prospects.Keywords: temperature measurement; Digital temperature sensor DS18B20; AT89C52 single chip microcomputer; The cathode tube of digital display.目录摘要 (Ⅰ)Abstract (Ⅱ)第一章概述 (1)1.1 课题研究的背景 (1)1.2 课题研究的意义 (1)1.3 课题设计的目的 (2)1.4 课题设计的任务及要求 (2)第二章系统总体设计 (3)2.1 系统的功能设计 (3)2.2 系统的组成与工作原理 (3)2.3 系统设计说明 (4)第三章系统硬件电路的设计 (5)3.1 系统硬件电路构成及测量原理 (5)3.1.1 系统硬件电路构成 (5)3.1.2 系统工作原理 (6)3.2 单片机AT89C52 (7)3.2.1 AT89C52的主要性能参数 (7)3.2.2 功能特性概述 (7)3.2.3 引脚功能说明 (7)3.2.4 时钟振荡器 (9)3.2.5 AT89C52软件编程模式 (9)3.2.6 单片机最小系统设计 (10)3.2.7 关于单片机上拉和阻值选择的问题 (11)3.3 数字温度传感器DS18B20 (12)3.3.1 DS18B20技术性能描述 (12)3.3.2 数字温度传感器DS18B20的简单介绍 (13)3.3.3 AT89C52单片机与DS18B20的接口 (17)3.3.4 DS18B20使用中注意事项 (19)3.4 温度显示方式 (19)3.4.2 74HC573锁存器 (21)3.4.3 数码管显示 (24)3.4.4 数码管跟液晶显示的选择 (27)第四章系统的软件设计 (29)4.1 系统的总体设计思路 (29)4.2 系统的程序设计 (29)4.2.1 主程序 (29)4.2.2 读出温度子程序 (30)4.2.3 温度转化命令子程序 (30)4.2.4 计算温度子程序 (31)第五章PROTEUS软件仿真 (32)5.1 PROTEUS 仿真器与集成开发环境KEIL (32)5.1.1 PROTEUS 仿真器 (32)5.1.2 集成开发环境KEIL4 (32)5.2 绘制温度测量系统仿真电路图 (33)5.3 实现温度测量系统的仿真 (34)第六章结束语 (35)致谢 (36)参考文献 (37)附录1:程序清单 (38)附录2:设计图纸 (43)第一章概述1.1 课题研究的背景随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,其中数字温度计就是一个典型的例子,但人们对它的要求越来越高,要为现代人工作,科研,生活,提供更好的更方便的设施就需要从多数单片机技术入手,一切向着数字化控制,智能化控制方向发展,温度传感器适用范围广,数量多,居各种传感器之首。

基于8086CPU的温度测试系统设计报告

基于8086CPU的温度测试系统设计报告

《微机应用系统设计》课程设计报告题目:温度测试系统设计专业班级:电子信息科学与技术12103 班设计学生:何志明学号201211020307韩爽学号201211020314 指导教师:樊希平完成时间:2014年5月29日湖南文理学院物理与电子科学学院系统设计原理图源程序:DATA SEGMENTSITUATION DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,58H,5EH,79H,71H BAIWEI DB 0SHIWEI DB 0GEWEI DB 0DATA ENDSCODE SEGMENTORG 100HASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DX,AXAGAIN: MOV DX,0400H ;0809地址OUT DX,AL ;启动转换MOV DX,0600H ;244地址CALL Key_scan ;检测键是否按下WAIT0: IN AL,DXTEST AL,01HJZ WAIT0MOV DX,0400H ;0809地址IN AL,DXDisp: MOV BL,100 ;数码管显示程序(16→10)DIV BLMOV BAIWEI,ALMOV AL,AHAAMMOV SHIWEI,AHMOV GEWEI,ALMOV AH,0MOV SI,AXMOV BX,OFFSET SITUATIONMOV AL,[BX][SI] ; 个位MOV DX,0800HOUT DX,ALMOV AL,SHIWEIMOV SI,AXMOV BX,OFFSET SITUATIONMOV AL,[BX][SI] ;十位MOV DX,0A00HOUT DX,ALMOV AL,BAIWEIMOV SI,AXMOV BX,OFFSET SITUATIONMOV AL,[BX][SI] ;百位MOV DX,0C00HOUT DX,ALJMP AGAINKey_scan: ;按下按键,保持当前数码管数值不变MOV DX,0600HIN AL,DXTEST AL,08HJNZ EXITKEYCALL DELAY ;延时去抖动MOV DX,0600HIN AL,DXTEST AL,08HJNZ EXITKEYJMP STARTEXITKEY:RETDELAY: MOV CX,0DELAY1:NOPLOOP DELAY1RETCODE ENDSEND START设计总结:这两周的微机课程设计,使我们学到了很多知识,通过逐个学习每块芯片的引脚功能和设计整个硬件模块,和参照书本编写程序过程中,复习了课堂所学知识,同时深刻的感觉到课本知识的不足,对概念理解不够深刻。

传感器proteus虚拟实验

《传感器原理与应用》实验指导书版本实验1:基于DS18B20传感器温度测量实验步骤:(1)在Proteus软件画出电路图(2)用keil C 软件写出C程序,并生成.hex文件,导入到单片机当中,进行仿真,观察结果。

包括:2个头文件和; 1个源文件;代码如下:#include <>据端口ex文件,导入到单片机当中,进行仿真,观察结果。

压力测试仪系统描述;输入 15--115kPA压力信号输出 00h--ffh数字信号(adc0832)在LCD上显示实际的压力值,如果超限则报警线性区间标度变换公式: y=(115-15)/(243-13)*X+15kpa作者:单位:日期: <>#include ""#define uint unsigned int#define uchar unsigned char//ADC0832的引脚sbit ADCS =P2^0; //ADC0832 chip seclectsbit ADDI =P3^7; //ADC0832 k insbit ADDO =P3^7; //ADC0832 k outsbit ADCLK =P3^6; //ADC0832 clock signalunsigned char dispbitcode[8]={0xf7,0xfb,0xfd,0xfe,0xef,0xdf,0xbf,0x7f}; //位扫描unsigned char dispcode[11]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xff}; //共阳数码管字段码unsigned char dispbuf[4];uint temp;uchar getdata; //获取ADC转换回来的值void delay_1ms(void) //12mhz delay{unsigned char x,y;x=3;while(x--){y=40;while(y--);}}void display(void) //数码管显示函数{char k;for(k=0;k<4;k++){P1 = dispbitcode[k];P0 = dispcode[dispbuf[k]];if(k==1) //加上数码管的dp小数点P0&=0x7f;delay_1ms();}}/************读ADC0832函数************///采集并返回unsigned int Adc0832(unsigned char channel) //AD转换,返回结果{uchar i=0;uchar j;uint dat=0;uchar ndat=0;if(channel==0)channel=2;if(channel==1)channel=3;ADDI=1;_nop_();_nop_();ADCS=0;//拉低CS端_nop_();_nop_();ADCLK=1;//拉高CLK端_nop_();_nop_();ADCLK=0;//拉低CLK端,形成下降沿1 _nop_();_nop_();ADCLK=1;//拉高CLK端ADDI=channel&0x1;_nop_();_nop_();ADCLK=0;//拉低CLK端,形成下降沿2 _nop_();_nop_();ADCLK=1;//拉高CLK端ADDI=(channel>>1)&0x1;_nop_();_nop_();ADCLK=0;//拉低CLK端,形成下降沿3 ADDI=1;//控制命令结束_nop_();_nop_();dat=0;for(i=0;i<8;i++){dat|=ADDO;//收数据ADCLK=1;_nop_();_nop_();ADCLK=0;//形成一次时钟脉冲_nop_();_nop_();dat<<=1;if(i==7)dat|=ADDO;}for(i=0;i<8;i++){j=0;j=j|ADDO;//收数据ADCLK=1;_nop_();_nop_();ADCLK=0;//形成一次时钟脉冲_nop_();_nop_();j=j<<7;ndat=ndat|j;if(i<7)ndat>>=1;}ADCS=1;//拉低CS端ADCLK=0;//拉低CLK端ADDO=1;//拉高数据端,回到初始状态dat<<=8;dat|=ndat;return(dat); //return ad k}void main(void){while(1){ unsigned int temp;float press;getdata=Adc0832(0);if(14<getdata<243) //当压力值介于15kpa到115kpa 之间时,遵循线性变换{int vary=getdata;//y=(115-15)/(243-13)*X+15kpapress=(*vary)+; //测试时补偿值为temp=(int)(press*10); //放大10倍,便于后面的计算dispbuf[3]=temp/1000; //取压力值百位dispbuf[2]=(temp%1000)/100; //取压力值十位dispbuf[1]=((temp%1000)%100)/10; //取压力值个位dispbuf[0]=((temp%1000)%100)%10; //取压力值十分位display();}}}。

基于proteus仿真的多温度自动检测系统

基于proteus仿真的多温度自动检测系统作者姓名:唐轶专业名称:电子信息科学与技术指导教师:黄宇摘要在工、农业生产和日常生活中,对温度的测量及控制占据着极其重要地位。

在消防电气的非破坏性温度检测,电力、电讯设备之过热故障预知检测,空调系统的温度检测,各类运输工具之组件的过热检测,保全与监视系统之应用,医疗与健诊的温度测试,化工、机械…等设备温度过热检测,温度检测系统都应用的十分广泛。

本文设计的多通道温度检测系统是通过proteus仿真,利用单片机AT89C51单片机作控制器,采用数字式传感器DS18B20进行温度测量,实现多地点的温度实时检测并通过LED显示器件显示温度的功能,能方便地应用于各种温度检测场合。

本设计采用DS18B20和AT89C51单片机研制了一种温度巡回检测系统。

关键词:单片机AT89C51 DS18B20 温度AbstractIn the industrial and agricultural production and daily life, the right temperature measurement and control occupy a very important position. In the fire temperature detection non-destructive electrical, power, telecommunication equipment failures to predict overheating detection, air-conditioning system, temperature measurement, all kinds of means of transport of the components overheating detection, security and surveillance system applications, the temperature of medical and health consultation testing, chemical, and mechanical equipment such as temperature overheat ... detection, temperature detection systems have a wide range of applications.This design of multi-channel temperature measurement system is through proteus simulation, using microcontroller AT89C51 microcomputer as the controller, using digital sensor DS18B20 for temperature measurement, the temperature of multi-location real-time detection and through LED display device displays the temperature function can be easily used in various temperature detection occasions. This design uses DS18B20 and AT89C51 microcontroller developed a temperature circuit detection system.Key words: SCM AT89C51 DS18B20 Temperature目录摘要 (I)Abstract (II)目录 (III)前言 (1)1 设计要求及方案 (2)1.1多路温度自动检测系统技术指标 (2)1.2 温度检测系统的原理功能 (2)1.3 温度检测方案 (2)2 单片机的基础知识 (4)2.1 概述 (4)2.1.1单片机的发展史 (4)2.1.2单片机的应用 (5)2.2单片机基本结构、引脚功能、I/O口 (6)2.2.1单片机的基本结构 (6)2.2.2单片机外部引脚功能和I/O(P0、P1、P2、P3) (8)3 所用器件介绍 (11)3.1 温度传感器(DS18B20) (11)3.1.1 传感器的选择 (11)3.1.2 DS18B20(温度传感器) (11)3.2 74HC595 (12)3.2.1 74HC595引脚说明 (13)3.2.2 74HC595 功能表、注释 (13)3.3 LED显示器 (14)3.3.1 LED 的优点 (14)3.3.2 LED工作方式 (15)4 仿真软件proteus (18)4.1 Proteus软件简介 (18)5 硬件设计 (19)5.1 系统电路结构 (19)5.2 单片机最小系统 (19)5.3 温度采集传感电路 (21)5.4 温度显示电路 (23)5.5 温度显示通道号电路 (24)6 系统软件设计 (25)6.1 系统程序总设计 (25)6.2 温度检测子程序设计 (26)7 系统仿真及结果 (27)7.1 Proteus原理图设计 (27)7.2 Keil与Proteus联机仿真 (27)7.3 protel原理图及PCB版 (28)总结 (29)致谢 (30)参考文献 (31)附件1 PCB图 (32)前言温度的测量在工业、农业、国防等行业有着广泛的应用。

基于8086微处理器的温度测控系统设计

微机原理及接口技术课程设计报告目录目录..........................................................................1 摘要及关键词..................................................................2 1温度控制系统的总体结构概况...................................................2 2系统器件选择.................................................................3 2.1 系统扩展接口的选择.......................................................3 2.2温度传感器与A/D转换器的选择............................................3 2.3 显示接口芯片............................................................3 2.4 8086微处理器及其体系结构................................................3 2.4.1 8086CPU的编程结构.....................................................3 2.4.2执行部件(EU)..........................................................42.4.3总线接口部件(BIU).....................................................43 系统各部分功能模块介绍......................................................4 3.1温度测量和控制部分.......................................................4 3.1.1温度测量部分............................................................43.1.2 温度控制部分...........................................................5 3.2 ADC0809与8255的连接.................................................5 3.3 8086的可编程外设接口电路...............................................6 3.4 数据显示部分.............................................................73.5 系统硬件原理图..........................................................84 软件设计....................................................................8 5系统流程图...................................................................8 5.1 主程序..................................................................8 5.2 BCD码转换子程序........................................................10 5.3 显示子程序..............................................................105.4 温度值设置子程序........................................................106 结论.......................................................................12 参考文献.....................................................................12基于8086的温度测控系统设计摘要本文介绍了一种基于8086微处理器的温度测控系统,采用温度传感器AD590采集温度数据,用CPU控制温度值稳定在预设温度。

8086实验(proteus)

8086实验(Proteus)实验一 IO译码实验一. 实验目的熟悉Proteus软件的使用方法,掌握IO译码方法。

编写程序,以74LS244作为开关输入口,以74LS273为输出口控制LED灯显示。

进一步掌握IO译码方法及8086汇编语言编程方法。

二. 实验电路及连线见目录中Proteus文件:8086实验一.DSN。

三. 实验要求1. 掌握Proteus软件的使用方法,在Proteus软件环境中能够绘制微机系统的连线图。

2. 掌握在Proteus软件环境装载程序的方法,能够利用Emu8086软件编写8086汇编程序,并编译生成可执行文件。

3. 按照所提供的电路图,编写程序,读入74LS244的开关状态,将该状态写入74LS273,控制LED灯的显示。

4. 编写程序,控制三色LED灯(可发红、绿、黄光),模拟十字路口交通灯管理。

5. 如果要求74LS244的选片地址为90H~87H,74LS273的选片地址为A0H~A7H,请修改电路图,再完成实验要求3。

四. 实验说明对实验要求4,因为本实验是模拟交通灯控制实验,所以要先了解实际交通灯的变化规律。

假设一个十字路口为东西南北走向。

初始状态0为东西红灯,南北红灯。

然后转状态1南北绿灯通车,东西红灯。

过一段时间转状态2,南北绿灯闪几次转亮黄灯,延时几秒,东西仍然红灯。

再转状态3,东西绿灯通车,南北红灯。

过一段时间转状态4,东西绿灯闪几次转亮黄灯,延时几秒,南北仍然红灯。

最后循环至状态1。

五. 实验程序框图(实验要求4)六.实验结果应能演示实验结果。

实验二定时器/计数器实验一. 实验目的和内容了解8253定时器的硬件连接方法及时序关系。

掌握8253的各种模式编程及原理。

编程将8253定时器0设定为方式3,定时器1设定在方式2,定时器2设定在方式2,定时器0输出作为定时器1的输入,定时器1的输出作为定时器2的输入,用示波器观察各定时器的输出波形。

设计定时器2的输出接在一个LED上,运行后可观察到该LED在不停闪烁。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

8086系统中数字温度传感器TC77的Proteus仿真
电子、通信、物联网等相关专业在选修课学习中大多有传感器技术等课程,而对传感器的相关实验有仿真和实际制作两大类,即使是实际制作,之前先做仿真也是一个比较好的选择。

目前高校的教学中以8088为重点的微机原理课程一般安排在单片机之前,以致学习传感器课程时单片机课程尚未学完,故用微机原理的知识进行传感器的仿真成为一种选择,同时也能深化对微机原理课程的理解。

1 8086最小系统
微机原理课程大多以8088为核心进行讲解,但遗憾的是目前Proteus 软件里没有8088CPU,只有8086,故要稍作修改,幸好改的地方不多。

图1 8086最小系统图
图1为8086最小系统图,该图提供了16根地址线A0~A15,8根数据线D0~D7,理论上8086可提供16根数据线,但本应用中有8根即可,所以D8~D15没有画出。

注意8086的READY端要接VCC,否则系统运行时只运行1条语句,8086的CLK端未接,时钟用的是内部仿真时钟,一般用5MHz即可。

2 系统的控制信号
图2 8086系统的控制信号
图2为系统的控制信号,CS0为8255的片选信号,IOR和IOW为8255的读选通和写选通信号。

另外要注意8086的28脚M/IO信号和8088不一样,该脚为低电平时表示IO接口,高电平时表示存储器,该表示方法正好和8088相反。

3 IO接口及传感器和显示部分
图3 8255接口、TC77和显示部分
图3为8255接口和数字传感器TC77及数码管显示部分,8255的A口接数码管的段码,B口低4位接数码管的位码,本应用中用的是共阳数码管。

8255的PC7接TC77的CS,PC6接TC77的SCK,PC0接TC77的SI/O。

采用数码管显示是因为程序比较简单,毕竟8086CPU要用汇编进行编程。

4 数字温度传感器TC77
如图3所示,TC77有5个引脚,另外2个是电源和地。

图4 TC77的时序图
图5 TC77的数据格式
图4为TC77的时序图,图5为TC77的数据格式。

由图5可看出TC77有16位数据,但其中后3位不用,一直为1,所以有效位为13位,故图4时序图中为13位数据,注意其中第1位为符号位,最低有效位表示
0.0625℃。

5 数码管显示子程序
display proc ;输出一位数码管
mov dx,8020h
mov bx,offset seg7
xlat
xor al,0FFh
out dx,al ;输出段码
mov dx,8022h
mov al,ah
out dx,al ;输出位码
call delay
mov al,00h ;清位码
out dx,al
ret
display endp
org 0400h ;数码管段码
seg7 db 03fh,006h,05bh,04fh,066h,06dh,07dh,007h,
db 07fh,06fh,077h,07ch,039h,05eh,079h,071h
上述程序为显示子程序,注意seg7段放在程序的代码段里,因为在Proteus中分段比较麻烦,为简单考虑就一起放在代码段里了。

8255的控制口地址为8026h,A口地址为8020h,B口地址为8022h,C口地址为8024h。

该子程序的入口AL中放入要输出的00~0F字符,AH中放入位码,第1个数码管为01h,第2、3、4数码管分别为02h、04h、08h。

6 读取TC77数据子程序
Getdata proc
mov ah,0h
mov dx,8024h
mov al,80h ;CS:1,SCK:0
out dx,al
mov al,00h ;CS:0,SCK:0
out dx,al
mov cx,9
g10: in al,dx
and al,01h
shl ah,1
add ah,al
mov al,40h ;SCK:1
out dx,al
mov al,00h ;SCK:0
out dx,al
loop g10
mov al,80h ;CS:1
out dx,al
ret
getdata endp
上述程序为TC77读取数据程序,为简单起见,未考虑小数和负数的情况。

返回的TC77数据放在AH中。

该程序先把TC77的CS置1,SCK清0,再把CS清0,然后开始串行读取数据,总共读了9位,其中第1位为符号位,为简单考虑丢弃了,最后1位正好代表1℃。

7 主循环程序
start proc far
mov sp,800h
mov dx,8026h
mov al,81h
out dx,al
s10: call getdata ;ah:温度值
mov al,ah
mov ah,0
mov bl,10
div bl
push ax
mov al,ah
mov ah,4
call display
pop ax
mov ah,2
call display
jmp s10
start endp
上述程序为主循环程序,第1行设置了SP,后3行对8255进行初始化。

循环体中的程序为调用读取TC77数据子程序及把返回的AH值用十进制方式显示在数码管的2、3位上。

7 仿真结果
图6 仿真结果
图6为仿真结果,如调整TC77的上下按钮可看到数码管上的数据相应变化,TC77每一次变化0.5℃,连续变化2次就可看到数码管上变化1℃。

图6中示波器上的3个信号分别为TC77的CS、SCK、SI/O信号,图6中SI/O的数据为000011100,第1位为符号位,后面8位转换为十进制即为28,和数码管中显示的一致。

本文给出了一个用Proteus软件仿真8086系统下数字温度传感器
TC77的实例,很好地理解了数字温度传感器的使用方法,为以后的实际制作打下了良好的基础,同时用8086CPU做主控系统在高校的本科教学中也起到了承上启下的效果。

希望以上资料对你有所帮助,附励志名言3条:
1、常自认为是福薄的人,任何不好的事情发生都合情合理,有这样平常心态,将会战胜很多困难。

2、君子之交淡如水,要有好脾气和仁义广结好缘,多结识良友,那是积蓄无形资产。

很多成功就是来源于无形资产。

3、一棵大树经过一场雨之后倒了下来,原来是根基短浅。

我们做任何事都要打好基础,才能坚固不倒。

相关文档
最新文档