微机原理及其应用 微型计算机温度控制系统设计课程设计报告

合集下载

微型计算机控制技术课程设计

微型计算机控制技术课程设计

微型计算机温度控制系统设计1总体方案设计温度控制是工业生产中经常碰到的过程控制问题之一。

对温度准确的测量和有效的控制是一些设备优质高产、低耗和安全生产的重要指标。

当今计算机控制技术在这方面的应用,已使温度控制系统达到自动化、智能化,比过去单纯采用电子线路进行PID 调节的效果要好得多,可控性方面也有了很大提高[1]。

1.1设计要求该系统为基于数字PID 的电加热炉温度控制系统。

电加热炉用于合金钢产品热力特性实验,迪娜加热炉用电炉丝提供功率,使其在在预定时间内江路内温度稳定到给定的温度值。

在本控制对象加热炉功率为8KW ,有220V 交流电源供电,采用双向可控硅进行控制。

本设计针对一个温区进行温度控制,要求控制温度范围50-350℃,保温阶段温度控制精度为±1℃。

选择合适的传感器,计算机输出信号经转换后通过双向可控硅控制器控制加热电阻两端的电压。

其对象温控数学模型为1)(+=-s K s G T e d s d τ (1.1)其中:时间常数T d =350s 秒放大系数K d =50滞后时间τ=10秒 控制算法选用改进的PID 控制。

1.2方案设计要想达到设计要求的内容,少不了以下几种器件:单片机、温度传感器、LCD显示屏、直流电动机等。

其中单片机用做主控制器,控制其它器件的工作和处理数据;温度传感器用来检测环境中的实时温度,并将检测值送到单片机中惊醒数值比较;LCD 显示屏用来显示温度数字值;直流电动机用来表示电加热炉的工作情况,转动表示迪娜加热炉通电加热,停止转动表示电加热炉断电停止加热。

整体思路如下:首先我们通过按键设定所需要的温度,然后利用温度传感器检测电加热炉的实时加热温度,并传送至单片机与设定值进行比较。

若检测值小于设定值,则无任何动作,电加热炉继续导通加热;若检测值大于设定值,则单片机控制光电耦合器导通,继电器动作,电加热炉断电停止加热。

一旦炉温低于设定值,单片机又控制光电耦合器断开,继电器开关分离,电加热炉开始导通加热。

微机原理课程设计温度控制

微机原理课程设计温度控制

摘要:本设计采用直接数字控制(DDC )对加热炉进行控制,使其温度稳定在在某一个值上。

并且具有键盘输入温度给定值,LED 数码管显示温度值和温度达到极限时提醒操作人员注意的功能。

1 概述温度是工业生产中常见的工艺参数之一,任何物理变化和化学反应过程都与温度密切相关,因此温度控制是生产自动化的重要任务。

对于不同生产情况和工艺要求下的温度控制,所采用的加热方式,燃料,控制方案也有所不同。

例如冶金、机械、食品、化工等各类工业生产中广泛使用的各种加热炉、热处理炉、反应炉等;燃料有煤气、天然气、油、电等;控制方案有直接数字控制(DDC ),推断控制,预测控制,模糊控制(Fuzzy ),专家控制(Expert Control),鲁棒控制(Robust Control ),推理控制等。

本设计的控制对象为一电加热炉,输入为加在电阻丝两断的电压,输出为电加热炉内的温度。

输入和输出的传递函数为:G (s)=2/(s(s+1))。

控温范围为100~500℃,所采用的控制方案为直接数字控制(DDC )中的最少拍控制。

2 温度控制系统的组成框图采用典型的反馈式温度控制系统,组成部分见下图。

其中数字控制器的功能由微型机算机实现。

3 控制系统结构图及总述图中由4~20mA 变送器,I/V ,A/D 转换器构成输入通道,用于采集炉内的温度信号。

其中,变送器选用XTR101,它将热电偶信号(温度信号)变为4~20mA 电流输出,再由高精密电流/电压变换器RCV420将4~20mA 电流信号变为0~5V 标准电压信号,以供A/D 转换用。

转换后的数字量与与炉温的给定值数字化后进行比较,即可得到实际炉温和给定炉温的偏差。

炉温的设定值由键盘输入。

由微型计算机构成的数字控制器按最小拍进行运算,计算出所需要的控制量。

数字控制器的输出经标度变换后送给8253,由8253定时计数器转变8086 CPU定时计数器SCR 触发回路SCR 主回路电 加 热 炉4~20mA 变送器I/V A/D 数字滤波为高低电平的不同持续时间,送至SCR触发电路,触发晶闸管并改变其导通角大小,从而控制电加热炉的加热电压,起到调温的作用。

《温度控制系统设计》报告

《温度控制系统设计》报告

计算机硬件技术课程设计实践报告学院:自动化工程学院班级: 2012153姓名:徐建红学号: 201026002015年1月21日一、设计题目温度控制系统的设计二、开发目的利用8086微处理器设计出符合下面要求的系统:1)采用温度传感器AD590采集温度数据,CPU 控制温度值稳定在预设温度。

2)当温度低于预设温度值时系统自动启动电加热器,温度高于预设温度值时断开电加热器,数码管上输出的数字就是对应于所测量的实际温度。

3)根据实际需要设置温度并进行重新控制调节,使温度达到设定值并保持稳定,最大值为76.8℃,温度大于76.8℃时,系统会报错并退出系统。

三、设计方案图 1-1 系统原理框图因为温度传感器在仿真中无法使用,故用一滑动变阻器代替。

四、硬件原理图本系统在8086微处理器为核心的基础上,在扩展8255A ,ADC0809,8279,AD590,LED数码管,继电器等器件,从而构成整个硬件系统。

8086CPU的编程结构及引脚8086 CPU包括两大部分:EU和BIUBIU不断地从存储器取指令送入IPQ,EU不断地从IPQ取出指令执行;EU和BIU 构成了一个简单的2工位流水线;指令预取队列IPQ是实现流水线操作的关键(类似于工厂流水线的传送带)。

AD7~AD0:三态,地址/数据复用线。

ALE有效时为地址的低8位。

地址信号有效时为输出,传送数据信号时为双向。

A19~A16:三态,输出。

高4位地址信号,与状态信号S6-S3分时复用。

A15~A8 :三态,输出。

输出8位地址信号。

WR:三态,输出。

写命令信号;RD:三态,输出。

读命令信号;IO/M:三态,输出。

指出当前访问的是存储器还是I/O接口。

高:I/O接口,低:内存DEN:三态,输出。

低电平时,表示DB上的数据有效;RESET:输入,为高时,CPU执行复位;ALE:三态,输出。

高:AB地址有效;DT/ R:三态,输出。

数据传送方向,高:CPU输出,低:CPU输入8255A8255A主要功能:含3个独立的8位并行输入/输出端口,各端口均具有数据的控制和锁存/缓冲能力。

微机原理课程设计报告(温度测控,动态五角星)

微机原理课程设计报告(温度测控,动态五角星)

计算机科学与技术学院微机原理课程设计报告书课题(一)温度测控系统课题(二)动态五角星班级______________________姓名 ____ __ _________ ___ ____ ___________指导教师日期 2010.1.18~ 2010.1.28目录一.温度测控系统(硬件设计) (3)1.设计内容 (3)2.设计原理及方案 (3)电路原理图 (3)3.程序流程图 (4)4.系统功能框图 (5)5.硬件连接示意图 (5)6.汇编源程序代码 (7)7.实施结果 (10)二、动态五角星(软件设计) (12)1 设计目的 (12)2 设计内容 (12)3 设计要求 (12)4 设计原理 (12)5 程序流程图 (13)6 程序代码 (13)7 程序及硬件系统调试情况 (16)三.设计总结与体会 (16)四、参考文献 (17)一.温度测控系统(硬件设计)1.设计内容利用ADC0809采用中断方式设计一个温度测控系统,在七段数码管上显示温度值,并根据测试的温度进行控制。

当检测温度到达温度上限60℃时启动直流电动机,而温度低于下限30℃时停止电动机。

数码管上的显示内容为:XX C (采用十进制显示)(温度值在数码管上显示)。

2.设计原理及方案电路原理图直流电机上图中ADC0809的INO输入端接温度传感的ANZ端,进行温度量的采集,CLOCK接1M;8255A中A、B口与数码管连接如上图,PC0接直流电机的DCIN,其中地址端口接200。

3.程序流程图上图实现了本次实验所要要求的功能:检测温度到达温度上限60℃时启动直流电动机,而温度低于下限30℃时停止直流电动机,并在数码管上显示所采集到的数字量和转换后的模拟量。

开始初始化8255A选0809通道0并启动A/D读A/D转换结果温度>60℃启动直流电机温度≤30℃停止直流电机延时数码管数值显示4.系统功能框图5.硬件连接示意图如下图所示,ADC0809的INO 输入端接温度传感的ANZ 端,CLOCK 接1M ,CS09接地址端口208,8255A 中地址端口接200,A 口接下图中的数码管的LA-LH ,B 口接数码管的Y 0-Y 5;PC 0接直流电机DCIN 。

温度控制系统方案报告

温度控制系统方案报告

方案报告实验名称温度控制系统课程名称微机与接口课程设计姓名:学号:日期:教师:一、实验要求在从机(实验装置)上进行温度/压力的采样、变换、控制、显示、传输等,在DOS环境下用x86汇编完成面向芯片的低层开发采样:系统实时采样温度和压力值,根据压力大小确定设定温度,对应 t= p/20 + 40(t为设定温度,p为压力值).如p=500克,则 t 为65度, 通过温度传感器采集实时温度。

控制:用加温和冷却使实时温度与设定温度拟合.显示:在PC机上显示相应操作和状况提示,在装置的段码显示器动态显示设定及实时温度。

通讯:接受来自主机的运行和退出命令进行相应操作,运行期间,不间断地向主机送出即刻的设定和实时温度。

在主机(PC系统机)上进行界面设计、图形输出、对从机的实时控制等,在WINDOWS环境下用高级语言完成编程.设定串行通讯的端口,帧格式,日期和时间等,有打开串行端口,运行,退出等按钮,后两个用于本身及对从机的运行控制,有定时接受从机全体数据的memo框和显示有效数据的edit框,将有效数据以曲线图形方式动态实时显示,主机和从机通过异步串行方式进行通讯串行通讯: RS232C标准,三线连接相同的帧格式波特率全双工方式主机发送命令:启动命令: 0DH(回车) 退出命令: 1BH (ESC键)从机发送数据数据表达为ASCII码,设定温度以‘A’为数据前缀,实时温度以‘B’为数据前缀每次采样后均向主机发送设定温度和实时温度如‘A45.6B37.8’表示当前设定温度为45.6度,实时温度为37.8度主机定时(如:1000MS)读取接收数据,并以这批数据的第一个‘AXX.XBXX.X’为有效的设定温度和实时温度值通信要注意的事项:随时监听,保证不丢失(处理上收用中断,发可以用中断或查询)保证通信数据正确:通信上增加差错控制,数据包提供握手信号主机设计要求:串行端口和帧格式的选择,所有接收数据的显示,如采用MEMO框,及从数据中截取的有效数据显示,如采用EDIT框应有打开端口,启动,退出三个基本命令按钮能将接收有效数据以曲线图形动态显示二、设计方案涉及的硬件芯片:8255并行接口:用于加温冷却控制,端口号:218-21BH8255管理显示键盘:用于装置上的设定温度实时温度的动态显示,端口号:210-212H8250UART(PC内):用于与主机的全双工串行通讯,端口号:3F8H-3FFH(COM1), 2F8H-2FFH(COM2)0809 A/D转换器:作为压力(IN0通道)和温度(IN1通道)的A/D采样输入,端口号:208H(压力),209H(温度) 从机流程和主机流程:。

微机控制原理课程设计报告

微机控制原理课程设计报告

微机控制原理课程设计报告一、课程目标知识目标:1. 让学生掌握微机控制原理的基本概念,包括微处理器、接口技术、中断处理等;2. 使学生了解微机控制系统的结构组成、工作原理及设计方法;3. 帮助学生理解并运用微机控制技术进行简单的控制系统设计。

技能目标:1. 培养学生运用微机控制原理解决实际问题的能力;2. 提高学生进行微机控制系统分析与设计的实际操作技能;3. 培养学生团队协作、沟通交流的能力,以适应实际工作中的项目开发需求。

情感态度价值观目标:1. 激发学生对微机控制技术的兴趣,培养其探索精神和创新意识;2. 培养学生严谨的科学态度和良好的工程伦理观念;3. 增强学生的国家意识,使其认识到微机控制技术在我国经济社会发展中的重要作用。

课程性质:本课程为专业选修课,旨在帮助学生掌握微机控制原理的基础知识,提高学生的实际操作能力和创新能力。

学生特点:学生已具备一定的电子技术基础,具有较强的学习能力和实践欲望。

教学要求:结合课本内容,注重理论与实践相结合,以项目为导向,培养学生解决实际问题的能力。

通过课程学习,使学生能够达到预定的知识、技能和情感态度价值观目标。

在教学过程中,将目标分解为具体的学习成果,便于教学设计和评估。

二、教学内容1. 微机控制系统概述:介绍微机控制系统的基本概念、发展历程、应用领域,使学生了解微机控制技术的背景及重要性。

教材章节:第一章2. 微处理器及其接口技术:讲解微处理器的结构、工作原理,以及常用的接口技术。

教材章节:第二章、第三章3. 中断处理与定时器/计数器:分析中断处理的过程,介绍定时器/计数器的工作原理及应用。

教材章节:第四章、第五章4. 微机控制系统设计方法:阐述微机控制系统的设计步骤、方法以及注意事项。

教材章节:第六章5. 微机控制系统实例分析:分析典型的微机控制系统案例,使学生了解实际应用中的设计方法和技巧。

教材章节:第七章6. 实践教学环节:组织学生进行微机控制系统的设计与实践,提高学生的实际操作能力。

微电脑温度控制课程设计

微电脑温度控制课程设计

微电脑温度控制课程设计一、课程目标知识目标:1. 学生能理解微电脑温度控制的基本原理,掌握温度传感器的工作机制及其在温度控制中的应用。

2. 学生能够描述微电脑温度控制系统中的关键部件,如微控制器、温度传感器、加热器和冷却器等,并阐述它们之间的相互关系。

3. 学生能够解释温度控制算法的基本概念,包括PID控制原理及其在温度控制中的应用。

技能目标:1. 学生能够设计并搭建简单的微电脑温度控制系统,运用编程实现温度的实时监控与调节。

2. 学生通过实践操作,掌握使用温度传感器收集数据,微控制器处理数据,以及执行器调节温度的技能。

3. 学生能够运用问题解决策略,分析并调试温度控制系统的故障,提高系统稳定性和精确性。

情感态度价值观目标:1. 学生培养对工程技术的兴趣和好奇心,激发对电子技术领域的探索热情。

2. 学生通过团队合作完成温度控制项目,增强沟通协调能力和集体荣誉感。

3. 学生在课程学习中能够认识到科技在生活和社会发展中的应用,培养科技创新和社会责任感。

二、教学内容本课程教学内容主要包括以下三个方面:1. 微电脑温度控制原理:- 温度传感器原理与种类(对应教材第3章)- 微控制器原理及应用(对应教材第4章)- 温度控制系统的基本组成与工作原理(对应教材第5章)2. 温度控制系统的设计与实现:- 温度传感器与微控制器的接口技术(对应教材第6章)- PID控制算法原理及其在温度控制中的应用(对应教材第7章)- 温度控制系统的编程与调试(对应教材第8章)3. 实践操作与问题解决:- 搭建简单的微电脑温度控制系统(对应教材第9章)- 温度控制系统的故障分析与调试(对应教材第10章)- 温度控制系统的优化与改进(对应教材第11章)教学内容安排和进度如下:第1-2周:学习温度传感器原理与种类,了解微控制器原理及应用;第3-4周:学习温度控制系统的基本组成与工作原理,探讨PID控制算法;第5-6周:掌握温度传感器与微控制器的接口技术,进行编程与调试;第7-8周:实践搭建微电脑温度控制系统,分析并解决故障;第9-10周:对温度控制系统进行优化与改进,总结课程学习成果。

微机原理与应用温度显示课程设计报告

微机原理与应用温度显示课程设计报告

1 设计思路1.1设计原理本次课程设计的容为模拟热水器温度控制系统设计与实现。

利用AD0809芯片将模拟量的温度转换为数字量,然后将AD采样到的结果进行制式的转换并将结果显示在数码管上。

采样的结果与设定的温度限值进行比较,若超温了则让超温指示灯亮。

根据需要,需选择的芯片有AD0809 A/D变换芯片,8255可编程并行接口。

通过应用模数转换器ADC0809将从模拟电阻上采集的数据通过端口IN0输入,在A/D 的转换下,获得8位二进制的数字量(D7—D0),然后输入到8088系统总线上,进而输入到可编程并行接口8255上,选择工作方式0方式,把数据输入到七段数码管上,然后显示出数字信息。

同时应用比较程序,设定温度值。

如果在小于30值时则使8255C输出00FH值信号让显示灯始终,显示绿色,表示温度过低。

如果温度超过100值则使8255C口输出0F0H值信号让显示灯提示,显示红色灯,表示温度过高。

如果温度在30至100以则使8255C口无输出信号让显示灯熄灭,表示温度在正常围。

1.2 设计环境及设备PC机一台、windows 98系统、实验箱,导线若干。

8255并口:用做接口芯片,与数码管相连。

ADC0809:用于将模拟量转化为数字量。

数码管:三个LED用于分别显示百十个位的温度值。

LED:用作警报灯,大体表示是否当前值在安全围。

1.3 设计框图2 设计流程图2.1 主程序流程图2.2 主要程序流程图3 设计所用芯片3.1 8086简介由于此系统最终要在唐都科教仪器出品的32位微机教学实验系统TD-PITE/PITC上进行实验,故设计硬件配置时采用Intel8086,整个实验的硬件配置都以此为原则进行设计选用。

Intel8086是16位的微处理器(理论学习中为8088,其部总线为16位,外部总线为8位,故称为准16位微处理器),它采用HMOS工艺40条引脚封装。

8086工作时使用5V电源,时钟频率5MHz(8086-1为10MHz,8086-2为8MHz)它有20根地址线,故可寻址的存空间为1MB。

计算机控制技术课程设计-温度控制系统设计

计算机控制技术课程设计-温度控制系统设计

计算机控制技术课程设计-温度控制系统设计引言温度控制是在很多工业和生活应用中至关重要的一项技术。

随着计算机控制技术的发展和普及,利用计算机控制温度已经成为一种常见的方法。

本文将介绍一个基于计算机控制技术的温度控制系统设计。

系统设计系统框架本系统采用分布式控制结构,由三个主要组成部分组成:传感器模块、控制模块和执行模块。

系统框架系统框架传感器模块负责实时采集温度数据,并将数据传送给控制模块。

控制模块根据传感器模块的数据和预设的设定值进行逻辑判断和决策,然后将决策结果发送给执行模块。

执行模块根据控制模块的结果来控制实际的温度执行设备。

硬件设计本系统需要以下硬件组件:•温度传感器:用于实时采集温度数据。

•控制器:用于运行控制模块的程序。

•执行器:用于控制温度执行设备。

软件设计本系统需要以下软件组件:•控制程序:负责接收温度传感器传输的数据,进行逻辑判断和决策,并将结果发送给执行程序。

•执行程序:根据控制程序的结果控制实际的温度执行设备。

•用户界面:提供友好的用户界面,用于设定温度控制的设定值和查看实时的温度数据。

系统流程系统主要分为三个阶段:温度数据采集、控制决策和执行控制。

温度数据采集1.温度传感器开始采集温度数据。

2.传感器将采集到的温度数据发送给控制程序。

控制决策1.控制程序接收到温度数据。

2.控制程序根据预设的设定值和温度数据进行逻辑判断。

3.根据逻辑判断结果,控制程序生成相应的控制方案。

4.控制程序将控制方案发送给执行程序。

执行控制1.执行程序接收到控制方案。

2.执行程序根据控制方案控制实际的温度执行设备。

3.执行程序将执行结果反馈给控制程序。

功能设计温度设定功能用户可以通过用户界面设定温度控制的设定值。

用户界面将设定值发送给控制程序,控制程序将设定值存储在内存中。

实时数据显示功能用户界面可以实时显示温度传感器采集到的温度数据。

温度数据通过控制程序发送给用户界面,并在用户界面显示。

控制逻辑设计控制程序根据采集的温度数据和设定值进行逻辑判断,判断温度是否超过设定值的上限或下限。

微型计算机应用系统的课程设计报告

微型计算机应用系统的课程设计报告

课程设计课程名称微机原理课程设计与实践题目名称微型计算机应用系统的设计2012年 3 月 15日实验的任务书计算器(1)(一)目的(1)巩固和加深对《微机原理及应用》课程内容的认识和理解,提高应用水平。

(2)掌握汇编语言程序的编程方法。

(3)熟悉键盘控制和七段数码管的使用。

(二)设计要求及设计程序课程设计内容上机编程来译码。

1.1第一个程序的流程图1.2源程序STACK SEGMENT STACKDW 64 DUP(?)STACK ENDSDATA SEGMENTTAB1 DB 05H,09H,0FH,0CH ;设置四位查询位TAB2 DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H ;设置0~F的十六位数码管段码DB 7FH,6FH,77H,7CH,39H,5EH,79H,71HDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AXMOV AL,80H ;8255A初始化OUT 63H,ALL1: MOV DL,0F7HMOV SI,OFFSET TAB1MOV CX,0004HL2: MOV AL,DL ;位码送给ALOUT 61H,ALMOV AL,[SI]MOV BX,OFFSET TAB2 ;查表取出数码管的段码XLAT TAB2OUT 60H,AL ;查表的段码送A口显示INC SIROL DL,01H ;下个要显示的数码管位码 CALL TIMELOOP L2JMP L1TIME: PUSH AX ;延时程序PUSH CXMOV CX,0002HTIME1: MOV AX,0300HTIME2: DEC AXJNZ TIME2LOOP TIME1POP CXPOP AXRETCODE ENDSEND START二、2.1将8个键按实验室要求定义键值,按任意键在显示器上显示对应键值,2.2 流程图2.3源程序:STACK SEGMENT STACKDW 64 DUP (?)STACK ENDSDATA SEGMENTVAR1 DB 0BFH,0DFH,0EFH,0F7HVAR2 DB 3FH,3FH,3FH,3FH,3FHVAR3 DB 00H,00H,00H,00H,00HTABL DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07HDB 7FH,6FH,77H,7CH,39H,5EH,79H,71HDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AXMOV AL,89HOUT 63H,AL ;8255A初始化STT: MOV AL,00H ;键盘测试OUT 61H,ALNEXT: IN AL,62HAND AL,82HCMP AL,82HJNZ KEYABCCALL DISP ;调用显示程序 JMP STT;--------------------------------------------------------------------- KEYABC: CALL TIME ;延时,去抖动IN AL,62HAND AL,82HCMP AL,82HJNZ KEY_7JMP STTKEY_7: MOV AL,0F7H ;键盘扫描识别OUT 61H,ALIN AL,62HTEST AL,02HJNZ KEY_ACALL KEY7JMP STTKKEY_A: TEST AL,80HJNZ KEY_1CALL KEYAJMP STTKKEY_1: MOV AL,0EFHOUT 61H,ALIN AL,62HTEST AL,02HJNZ KEY_FCALL KEY1JMP STTKKEY_F: TEST AL,80HJNZ KEY_BCALL KEYFJMP STTKKEY_B: MOV AL,0DFHOUT 61H,ALIN AL,62HTEST AL,02HJNZ KEY_6CALL KEYBJMP STTKKEY_6: TEST AL,80HJNZ KEY_ECALL KEY6JMP STTKKEY_E: MOV AL,0BFHOUT 61H,ALIN AL,62HTEST AL,02HJNZ KEY_9CALL KEYEJMP STTKKEY_9: TEST AL,80HJNZ KEY_01CALL KEY9KEY_01: JMP STTK;---------------------------------------------------------------------;按键7处理子程序KEY7: CALL LP1 ;低4位字节前移MOV AL,07HMOV [DI+4],ALLEA BX,TABL ;查表取出要显示数字的数码管段码XLAT TABLMOV [SI+4],ALCALL DISP ;显示RET ;返回;--------------------------------------------------------------------- KEYA: CALL LP1 ;按键A处理子程序MOV AL,0AHMOV [DI+4],ALLEA BX,TABLXLAT TABLMOV [SI+4],ALCALL DISPRET;--------------------------------------------------------------------- KEY1: CALL LP1 ;按键1处理子程序MOV AL,01HMOV [DI+4],ALLEA BX,TABLXLAT TABLMOV [SI+4],ALCALL DISPRET;--------------------------------------------------------------------- KEYF: CALL LP1 ;按键F处理子程序MOV AL,0FHMOV [DI+4],ALLEA BX,TABLXLAT TABLMOV [SI+4],ALCALL DISPRET;--------------------------------------------------------------------- KEYB: CALL LP1 ;按键B处理子程序MOV AL,0BHMOV [DI+4],ALLEA BX,TABLXLAT TABLMOV [SI+4],ALCALL DISPRET;--------------------------------------------------------------------- KEY6: CALL LP1 ;按键6处理子程序MOV AL,06HMOV [DI+4],ALLEA BX,TABLXLAT TABLMOV [SI+4],ALCALL DISPRET;--------------------------------------------------------------------- KEYE: CALL LP1 ;按键E处理子程序MOV AL,0EHMOV [DI+4],ALLEA BX,TABLXLAT TABLMOV [SI+4],ALCALL DISPRET;--------------------------------------------------------------------- KEY9: CALL LP1 ;按键9处理子程序MOV AL,09HMOV [DI+4],ALLEA BX,TABLXLAT TABLMOV [SI+4],ALCALL DISPRET;--------------------------------------------------------------------- LP1: MOV CX,0004H ;数据移位保存子程序(前移四位)MOV SI,OFFSET VAR2MOV DI,OFFSET VAR3LP2: MOV AL,[SI+3]MOV [SI+4],ALMOV AL,[DI+3]MOV [DI+4],ALDEC SIDEC DILOOP LP2RET;--------------------------------------------------------------------- DISP: MOV SI,OFFSET VAR1 ;显示子程序MOV DI,OFFSET VAR2MOV CX,0004HDIR: MOV AL,[SI]OUT 61H,ALMOV AL,[DI]OUT 60H,ALCALL TIMEINC SIINC DILOOP DIRRET;--------------------------------------------------------------------- TIME: PUSH AX ;延时程序PUSH CXMOV CX,0002HTIME1: MOV AX,0300HTIME2: DEC AXJNZ TIME2LOOP TIME1POP CXPOP AXRET;--------------------------------------------------------------------- STTK: CALL DISP ;放键测试程序MOV AL,00HOUT 61H,ALIN AL,62HAND AL,82HCMP AL,82HJNZ STTKJMP STTCODE ENDSEND START三计算器程序3.1要求:1.在显示器上显示任意四位十六进制数2.将8个键按实验室要求定义键值,按任意键在显示器上显示对应键值,要求显示值能够左移。

【精品】计算机控制技术课程设计温度控制系统设计

【精品】计算机控制技术课程设计温度控制系统设计

课程设计题目温度控制系统设计学院自动化学院专业自动化专业班级姓名指导教师2014年6月24日课程设计任务书题目:温度控制系统设计要求完成的主要任务:被控对象为电炉,采用热阻丝加热,利用大功率可控硅控制器控制热阻丝两端所加的电压大小,来改变流经热阻丝的电流,从而改变电炉炉内的温度。

可控硅控制器输入为0-5伏时对应电炉温度0-300℃,温度传感器测量值对应也为0-5伏,对象的特性为二阶惯性系统,惯性时间常数为T1=20秒,滞后时间常数为τ=10秒。

1)设计温度控制系统的计算机硬件系统,画出框图;2)编写积分分离PID算法程序,从键盘接受K p、T i、T d、T及β的值;3)通过数据分析T i改变时对系统超调量的影响.4)撰写设计说明书。

时间安排:6月9日查阅和准备相关技术资料,完成整体方案设计6月10日—6月12日完成硬件设计6月13日-6月15日编写调试程序6月16日-6月17日撰写课程设计说明书6月18日提交课程设计说明书、图纸、电子文档指导教师签名:年月日系主任(或责任教师)签名:年月日本次课程设计我设计的题目是温度控制系统。

通过专业课程的学习,我将引入计算机,单片机,传感器,以及PID算法来实现电炉温度的自动控制,完成课程设计的任务.计算机的自动控制是机器和仪表的发展趋势,它不仅解放了劳动力,也比以往的人为监控更准确,更及时。

一旦温度发生变化,计算机监控系统可以立即检测到并通过模拟量数字通道传送到计算机。

计算机接收到信号后通过与给定值进行比较后,计算出偏差,再通过PID控制算法给出下一步将要执行的指令。

最后通过模拟量输出通道将指令传送到生产过程,实现机器仪表的智能控制.本次课程设计用到了MATLAB这一软件,通过编写程序,将被控系统离散化。

再通过MATLAB中的simulink 仿真功能,可以看到随着Ki,Kp,Kd改变波形发生的改变,从而可以通过波形直观地看出PID参数对系统动态性能的影响。

微型计算机控制技术及应用课程设计

微型计算机控制技术及应用课程设计

微型计算机控制技术及应用课程设计一、前言微型计算机控制技术是现代电子技术和计算机技术发展到一定阶段的产物,是控制理论和计算机技术相结合的一门学科。

微型计算机是由微观元器件组成的计算机,具有小型、低功耗等优点,广泛应用于控制领域。

微型计算机控制技术在日常生活中应用广泛,如空调、洗衣机、电视、冰箱、汽车等都是利用微型计算机控制技术来实现的。

本文将介绍微型计算机控制技术的应用,并通过课程设计来进一步加深对这门学科的理解。

二、微型计算机控制技术的应用微型计算机控制技术的应用范围很广,可以应用于许多领域,比如家电、汽车、机械、医疗设备等。

以下是一些常见的应用场景:1. 家电控制系统现代家庭中有大量的电器设备,这些设备的智能化和自动化程度越来越高。

在这些设备中,微型计算机可以实现电器的控制和自动化,比如智能电视、智能空调、智能冰箱等。

这些设备利用传感器采集环境数据,然后通过微型计算机对数据进行处理,并控制设备的运行。

2. 汽车电子控制系统现代汽车电子技术越来越复杂,其中微型计算机扮演着重要的角色。

微型计算机可以实现汽车中的许多功能,包括车身控制、安全气囊、发动机控制等。

传感器可以采集车辆的状态信息,微型计算机将这些信息处理后,再根据处理结果控制汽车的行驶状态。

3. 医疗设备微型计算机在医疗设备中的应用也越来越广泛。

比如可植入式心脏起搏器、血糖仪、血氧仪等。

这些设备都利用微型计算机进行处理和控制,实现对患者的监测和治疗。

三、课程设计为了加深对微型计算机控制技术的理解,我们可以通过进行一些实践性的课程设计来学习。

以下是一个简单的课程设计:1. 实验目的通过实践,了解微型计算机的控制原理和应用。

2. 实验原理本实验采用单片机 AT89C52,通过 Keil C 编写程序,实现对 LED 灯的控制。

3. 实验器材和软件1.单片机 AT89C522.Keil C 软件3.连线板和杜邦线4.LED 灯、电阻等4. 实验内容和步骤1.连接单片机和 LED 灯。

微机原理及应用课设

微机原理及应用课设

微机原理及应用课设微机原理及应用是计算机专业中非常重要的一门课程,通过学习这门课程,我们可以深入了解计算机的基本原理,以及如何应用计算机技术解决实际问题。

在本次课程设计中,我们将围绕着微机原理及应用的主题,设计一个基于单片机的智能温控系统。

首先,我们需要明确设计智能温控系统的目的。

智能温控系统是一种自动控制的系统,通过对室内温度进行检测,根据设定的温度范围自动调节暖气或空调的工作状态,实现室内温度的稳定控制。

本次设计的目的就是要设计出一套可以实现智能温控的系统,即通过对温度传感器的采集数据,控制开关控制器,控制加热器的加热进入室内,从而实现室内温度稳定控制的设计方案。

下面是我们设计的硬件部分。

系统硬件采用基于AT89S52的单片机来实现,同时接入LCD1602液晶显示模块,DS18B20温度传感器和继电器等元件。

其中,DS18B20温度传感器可以实现以数字方式输出温度值,通过与AT89S52单片机相连接,可以将温度值实时显示在LCD1602液晶显示模块上。

而继电器则是负责控制加热器的开关状态,保证室内温度稳定。

详细的硬件连接如下:(1)DS18B20温度传感器:将温度传感器的VCC与单片机的P1.0口相连,将地线与单片机的GND相连,将数据线连接到单片机的P1.1口上。

(2)LCD1602液晶显示模块:将液晶显示模块的VCC连接到单片机的P0.0口上,将地线连接到单片机的GND上,将RS引脚连接到单片机的P0.2口,将RW引脚连接到单片机的P0.1口,将E引脚连接到单片机的P0.3口上,将D4-D7四个数据引脚分别连接到单片机的P0.4-P0.7口上。

(3)继电器:继电器的控制引脚与单片机的P2.7口相连,继电器的正负极分别连接到外部加热器控制电路的AC220V电源接口上。

接下来是我们设计的软件部分。

我们通过Keil C语言IDE软件来编写单片机的程序,实现温度采集、数据处理和控制继电器等各种功能。

8086微机原理实验之温度计控制实验

8086微机原理实验之温度计控制实验

报告提交日期
3
计算机硬件实验室实验报告
课程名称:微机原理及应用 姓 名 学 号 班 级 成 绩
设备名称及软件环境 实验名称
Windows XP 操作系统 emu8086 仿真器 实验日期
[0006]温度计控制实验
一.实验内容 1.使用 IO 方式实现温度采集和加热控制; 2.控制温度保持在 50℃和 80℃并个维持 5s; 3.温度计升至 120℃自然降温,降至 20℃时保持 1s 后升温,循环上述。 二.理论分析或算法分析
开始
从 125 端口得知温度当前值 温度继续上升
N
温度当前值是否等于 50 Y 维持 5s
温度继续上升
N
温度当前值是否等于 80 Y 维持 5s
温度继续上升
N 温度当前值是否大于 120
Y
打开酒精灯,温度上升
维持 1s
关闭酒精灯,温度自然下降
(含实现思路、程序流程图、实验电路图和源程序列表等) 代码: Inc bh Mov ax, cs Mov al,5 Mov ds,ax Cmp bh,al Start1: In al,125 Jl Start2 Mov bl,50 mov bh,00h Sub al,bl Start: Mov al,1 jl Low1 Out 127,al Jz High1 In al,125 Low1: Mov al,1 cmp al,120 Out 127,al jl Start Jmp Start1 je High High1: Mov al,0 High: Mov al,0 Out 127,al Out 127,al Jmp Delay1 Start3: In al,125 Delay1: Mov cx,0fh Mov bl,20 Mov dx,4240h Cmp bl,al Mov ah,86h Jnz Start3 Int 15h Low3: Mov al,1 Inc bh Out 127,al Mov al,5 Jmp Start1 Cmp bh,al High3: Mov al,0 Jl Start1 Out 127,al Mov bh,00h Jmp Delay1 Start2: In al,125 Delay3: Mov cx,0fh Mov bl,80 Mov dx,4240h Sub al,bl Mov ah,86h Jl Low2 Int 15h Jz High2 Inc bh Low2: Mov al,1 Mov al,5 Out 127,al Cmp bh,ax Jmp Start2 Jc Start3 High2: Mov al,0 Jmp Start1 Out 127,al Jmp Delay2 Delay2: Mov cx,0fh Mov dx,4240h Mov ah,86h Int 15h

微机原理与接口课程设计温度控制系统

微机原理与接口课程设计温度控制系统

微机原理与接口课程设计温度控制系统信息科学与技术学院微机原理与接口课程设计课程题目:温度控制系统学生姓名: 唐维学号: 2009082208 专业、年级 : 计科 09 级1 班指导教师: 周涛时间: 2012年1月12日目录1(题目及要求 ..................................................................... (3)1.1 题目:设计一个温度控制系统 (3)1.2 要求: .................................................................... .................... 3 2. 功能设计 ..................................................................... .. (3)2.1 功能模块 ..................................................................... (3)2. 2 ADC0809与8255的连接 (5)2.3系统流程图 ..................................................................... (7)2.3.2 BCD码转换子程序 (9)2.3.3.显示子程序 ..................................................................... . (9)2.3.4.温度值设置子程序 (9)3.详细设计 ..................................................................... .. (11)3.1 系统工作原理...................................................................... .. (11)3.2 系统硬件选择和设计 (11)3.3ADC0809 ................................................................ . (12)3.4 8279键盘、显示接口电路 (14)3.4.3 LED显示器工作原理 (17)3.5系统软件设计...................................................................... ...... 184.总结 ..................................................................... ............................... 19 5.参考文献 ..................................................................... ....................... 19 6.附:源程序 ..................................................................... . (19)1(题目及要求1.1 题目:设计一个温度控制系统1.2 要求:1)、检测2)、数码管显示3)、报警2. 功能设计2.1 功能模块2.1.1 温度测量和控制部分1)温度测量部分A\D590是AD公司生产的一种精度和线度较好的双端集成传感器,其输出电流与绝对温度有关,对于电源电压从5-10V变化只引起1uA最大电流的变化或1摄氏度等效误差。

计算机控制课程设计报告温度控制系统的设计及实现

计算机控制课程设计报告温度控制系统的设计及实现

- - --学校代码: 10128学号: 200710202174课程设计说明书题目:温度控制系统的设计与实现学生:学院:电力学院系别:自动化专业:自动化班级:指导教师:二〇一年一月十四日工业大学课程设计〔论文〕任务书课程名称:计算机控制系统课程设计学院:电力学院班级:自动化07-3班学生:石鑫学号:200710202174 指导教师:磊志明温度控制系统是一种典型的过程控制系统,在工业生产中具有极其广泛的应用。

温度控制系统的对象存在滞后,它对阶跃信号的响应会推迟一些时间,对自动控制产生不利的影响,因此对温度准确的测量和有效的控制是此类工业控制系统中的重要指标。

温度是一个重要的物理量,也是工业生产过程中的主要工艺参数之一,物体的许多性质和特性都与温度有关,很多重要的过程只有在一定温度围才能有效的进展,因此,对温度的准确测量和可靠控制,在工业生产和科学研究中就具有很重要的意义。

本文阐述了过程控制系统的概念,介绍了一种温度控制系统建模与控制,以电热水壶为被控对象,通过实验的方法建立温度控制系统的数学模型,采用了PID算法进展系统的设计,到达了比拟好的控制目的。

关键词:温度控制;建模;自动控制;过程控制;PIDAbstractIn industrial production with extremely extensive application,temperature control system is a typical process control system.Temperature control system has the larger inertia. It is the response signal to step off some of time.And it producesthe adverse effect to the temperature measurement.The control system is the important industrial control index. Temperature is an important parameters in the process of industrial production.Also it is one of the main parameters of objects, many properties and characteristics oftemperature, many important process only under certain temperature range can efficiently work.Therefore, the precise measurement of temperature control, reliable industrial production and scientific research has very important significance.This paper discusses the concept of process control system and introduces a kind of temperature control system .The electric kettle is the controlled object, PID algorithm is used for system design,through experience method to get the model of temperature control system and we can get the controlied response well.Keywords:Temperature control; Mathematical modeling; Automatic control;Process control; PID- - --目录第一章概述错误!未定义书签。

微机原理及其应用 微型计算机温度控制系统设计课程设计报告

微机原理及其应用  微型计算机温度控制系统设计课程设计报告

《微机原理及其应用》课程设计报告2011年3月2日一、课程设计题目及系统功能介绍微型计算机温度控制系统设计,假设工业现场温度范围为0~75℃,温度值经传感器检测后,经变送器变成0~5V范围内的电压信号。

电压信号送A/D转换器ADC0809转换成对应的数字量。

数字量经数字滤波后送入CPU作为本次采样值。

在LED数码显示器上显示温度值(采用十进制显示),并对温度进行测试和控制,当检测温度到达温度上限60℃时红灯亮,蜂鸣器报警,低于下限30℃时黄灯亮,蜂鸣器报警,以达到监控温度的目的。

本设计采用程序控制方式。

系统功能:每隔0.1秒钟对现场温度连续采集三次取平均值作为本次采样的有效值;判断温度是否高于上限值60℃或低于下限值30℃,如超出该范围则分别用红、黄发光二极管和报警;把采集来的电压值转化成温度值在LED显示器上显示;若键盘输入“R”则返回DOS,结束程序。

二、硬件设计系统的硬件工作原理: CPU通过8255查询8253的定时时间是否已到,若到则对8253接口2重新初始化且用ADC0809模/数转换器采样,不到则继续七段数码管显示与LED灯和蜂鸣器的过程,循环以上。

系统框图如下:地址分配: 8255 288h8253 280hADC0809 298h-29fhDAC0832 290h重要芯片功能介绍:1、可编程并行接口8255采取工作方式0,输入控制字88h,即A口输出,C口高四位输入,C口低四位输出PA0—PA6对应接七段数码管a b c d e f g接口,PC0 PC1对应七段数码管的位码接口PC2 PC3对应黄红LED灯,PC4接8253计数器2的OUT2端口2、可编程定时器/计数器(8253)分别对8253的计数器1和计数器2初始化采用方式3和方式0,使计数器2产生每隔0 .1秒的高电平3、ADC0809模/数转换器如图虚线接线即可3、DAC0832数/模转换器DAC0832是用于蜂鸣器报警的三、软件设计先对硬件8255 8253进行初始化且用ADC0809第一次采样,通过8255的PC4端口查询8253的定时时间是否已到,若到则对8253接口2重新初始化且用ADC0809模/数转换器采样,不到则继续七段数码管显示与LED灯和蜂鸣器的过程,最后若有键按下则返回DOS,否则返回继续查询PC4端口、循环。

微机原理课程设计交通灯,温控系统实验报告

微机原理课程设计交通灯,温控系统实验报告

序号山东理工大学计算机学院课程设计(微机原理及接口技术)班级姓名学号指导教师二○一二年一月九日课程设计任务书及成绩评定课题名称直流电机速度控制器的设计,I、题目的目的和要求:学习和掌握计算机中常用接口电路的应用和设计技术,熟悉和掌握微机系统的软硬件的设计方法和步骤,熟悉微机汇编程序编写和应用软硬件调试的基本流程,进一步加强理论知识和应用相结合的实践和锻炼,加深对专业知识的学习和理解,掌握8253,,8259等芯片的连线及使用方式。

使自己的设计水平和对所学的知识的应用能力以及分析问题和解决问题的能力得到全面提高。

一、利用按键控制直流电动机的转速。

按键定义如下:0 停止,1 1/10转速,2 2/10转速……9 最高速(D/A输出满量程),键号每加1,D/A 输出增加0.5V 。

二、II、设计进度及完成情况III、主要参考资料及文献IV、成绩评定:设计成绩:(教师填写)指导老师:(签字)年月日目录一、电机速度控制器的设计 (2)(一) (2)(二) (3)(三) (4)(四) (5)(五) (9)二、 (10)(一) (10)(二) (11)(三) (15)(四) (16)(五) (20)三、设计总结 (21)1一、直流电机速度控制器的设计(一)系统概述(二)系统分析与设计芯片8255并行接口是以数据的字节为单位与I/O 设备或被控制对象之间传递信息。

CPU 和接口之间的数据传送总是并行的,即可以同时传递8 位、16 位、32 位等。

8255 可编程外围接口芯片是Intel 公司生产的通用并行I/O 接口芯片,它具有A、B、C 三个并行接口,用+5V 单电源供电,能在以下三种方式下工作:方式0:基本输入输出方式1:选通输入输出方式2:双线传送2芯片8255功能及引脚图三种工作方式由工作方式控制字决定,方式控制字由CPU通过输入/输出指令来提供。

三个端口中C口被分为两个部分,上半部分随A口称为A组,下半部分随B口称为B组.其中A口可工作与方式0、1和2,而B口只能工作在方式0和1。

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

《微机原理及其应用》课程设计报告2011年3月2日一、课程设计题目及系统功能介绍微型计算机温度控制系统设计,假设工业现场温度范围为0~75℃,温度值经传感器检测后,经变送器变成0~5V范围内的电压信号。

电压信号送A/D转换器ADC0809转换成对应的数字量。

数字量经数字滤波后送入CPU作为本次采样值。

在LED数码显示器上显示温度值(采用十进制显示),并对温度进行测试和控制,当检测温度到达温度上限60℃时红灯亮,蜂鸣器报警,低于下限30℃时黄灯亮,蜂鸣器报警,以达到监控温度的目的。

本设计采用程序控制方式。

系统功能:每隔0.1秒钟对现场温度连续采集三次取平均值作为本次采样的有效值;判断温度是否高于上限值60℃或低于下限值30℃,如超出该范围则分别用红、黄发光二极管和报警;把采集来的电压值转化成温度值在LED显示器上显示;若键盘输入“R”则返回DOS,结束程序。

二、硬件设计系统的硬件工作原理: CPU通过8255查询8253的定时时间是否已到,若到则对8253接口2重新初始化且用ADC0809模/数转换器采样,不到则继续七段数码管显示与LED 灯和蜂鸣器的过程,循环以上。

系统框图如下:地址分配: 8255 288h8253 280hADC0809 298h-29fhDAC0832 290h重要芯片功能介绍:1、可编程并行接口8255采取工作方式0,输入控制字88h,即A口输出,C口高四位输入,C口低四位输出PA0—PA6对应接七段数码管a b c d e f g接口,PC0 PC1对应七段数码管的位码接口PC2 PC3对应黄红LED灯,PC4接8253计数器2的OUT2端口2、可编程定时器/计数器(8253)分别对8253的计数器1和计数器2初始化采用方式3和方式0,使计数器2产生每隔0 .1秒的高电平3、ADC0809模/数转换器如图虚线接线即可3、DAC0832数/模转换器DAC0832是用于蜂鸣器报警的三、软件设计先对硬件8255 8253进行初始化且用ADC0809第一次采样,通过8255的PC4端口查询8253的定时时间是否已到,若到则对8253接口2重新初始化且用ADC0809模/数转换器采样,不到则继续七段数码管显示与LED灯和蜂鸣器的过程,最后若有键按下则返回DOS,否则返回继续查询PC4端口、循环。

主程序流程图:七段数码管流程图红黄灯及蜂鸣器程序如下:mov cl,[shuju]cmp cl,60 ;采样得来的数据与30和60进行比较,不在它们之间的红黄灯、蜂鸣器报警jnc licmp cl,30jc xiongjmp exitli: or al,08hcall beepjmp exitxiong: or al,04hcall beepexit: mov dx,io8255a ;通过8255C端口输出到LED灯out dx,al采样子程序mov bx,0mov cx,3xun: mov dx,io0809out dx,alpush cxmov cx,0FFH ;延时delay1: loop delay1pop cxin al,dxmov ah,0mov dl,5 ;将采样数据转化为0-75之间的温度值mul dlmov dl,17div dlmov ah,0add bx,ax ;循环三次取样loop xunmov ax,bxmov cl,3div cl ;取三次数据后平均值mov [shuju],almov ah,0mov cl,10div clmov di,offset buffer1 ;将采样三次得出的均值的个位与十位分别存在buffer与buffer+1中mov [di],ahmov [di+1],al四、讨论和感想首先感受最深的的是汇编的基础一定要扎实,否则很容易出现低级错误,比如说一些死循环之类的东西。

我们这组最开始的时候连硬件检测都没做就直接执行程序,当然做不出什么来的。

后来又入入续续发现了一些低级错误,不过都一步步改正了。

还有就是主程序一定要简洁易读,最好事先画好流程图。

硬件不要频繁初始化,最好是在程序开头就全部初始化完毕,像8255 8253一类。

为保证程序易读、便于添加和修改,必要的注释是很好的,子程序中最好开头和结尾对子程序中用到的寄存器都进行入出栈操作,这能有效的防止一些低级错误。

以上是我碰到的问题及其解决方法、心得体会。

五、源程序的清单:data segmentioport equ 0c400h-0280hio8255a equ ioport+28ah ;8255C口地址io8255b equ ioport+28bh ;8255控制寄存器地址io8255c equ ioport+288h ;8255A口地址io0832a equ ioport+290hio8253a equ ioport+283h ;8253工作方式控制寄存器地址io8253b equ ioport+281h ;计数器1io8253c equ ioport+282h ;计数器2io0809 equ ioport+298h ;蜂鸣器led db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh ;段码buffer1 db 0,0 ;存放要显示的十位和个位bz dw ? ;位码data1 db 80h,0,0,0,0,0,0,0db 0ffh,0,0,0,0,0,0,0db 80h,0,0,0,0,0,0,0db 00h,0,0,0,0,0,0,0 ;红灯正弦波数据data2 db 80h,96h,0aeh,0c5h,0d8h,0e9h,0f5h,0fdhdb 0ffh,0fdh,0f5h,0e9h,0d8h,0c5h,0aeh,96hdb 80h,66h,4eh,38h,25h,15h,09h,04hdb 00h,04h,09h,15h,25h,38h,4eh,66h ;黄灯正弦波数据shuju db 0 ;存放采样三次后的均值data endscode segmentassume cs:code,ds:datastart: mov ax,datamov ds,axmov dx,io8255b ;将8255设为A口输出 C高4位输入低四位输出mov al,88hout dx,almov al,70h ;设8253通道1工作方式0mov dx,io8253aout dx,almov ax,100 ;写入计数器初值2000mov dx,io8253bout dx,almov al,ahout dx,almov al,0b6h ;设8253通道2工作方式3mov dx,io8253aout dx,almov ax,1000 ;写入计数器初值500mov dx,io8253cout dx,almov al,ahout dx,alcall adcypanduan: mov dx,io8255a ;从8255的c口输入in al,dxand al,10hjz xianshi ;Pc4不为1跳到显示call delaycall adcyxianshi: call qiduanpush ax ;LED灯与蜂鸣器程序段push cxpush dxmov cl,[shuju] cmp cl,60jnc licmp cl,30jc xiongjmp exitli: or al,08hcall beepjmp exit xiong: or al,04hcall beep exit: mov dx,io8255a out dx,alpop dxpop cxpop axmov dx,0ffh mov ah,06int 21hje panduan ;有按键退出否则循环mov ah,4ch ;返回int 21hqiduan proc near ;七段数码管子程序push dipush sipush bxpush cxpush dxmov di,offset buffer1 ;设di为显示缓冲区loop2: mov bh,02lll: mov byte ptr bz,bhpush didec diadd di, bzmov bl,[di] ;bl为要显示的数pop dimov al,0mov dx,io8255aout dx,almov bh,0mov si,offset led ;置led数码表偏移地址为SIadd si,bx ;求出对应的led数码mov al,byte ptr [si]mov dx,io8255c ;自8255a的口输出out dx,almov al,byte ptr bz ;使相应的数码管亮mov dx,io8255a ;位选变化out dx,almov cx,3000delay2: loop delay2 ;延时mov bh,byte ptr bzshr bh,1jnz lllpop dxpop cxpop bxpop sipop diret ;子程序返回qiduan endpadcy proc near ;AD采样子程序push axpush bxpush cxpush dxpush dimov bx,0mov cx,3xun: mov dx,io0809out dx,alpush cxmov cx,0FFH ;延时delay1: loop delay1pop cxin al,dxmov ah,0mov dl,5mul dlmov dl,17div dlmov ah,0add bx,ax ;循环三次取样loop xunmov ax,bxmov cl,3div cl ;取三次数据后平均值mov [shuju],almov ah,0mov cl,10div clmov di,offset buffer1mov [di],ahmov [di+1],alpop dipop dxpop cxpop bxpop axretadcy endpdelay proc nearpush ax ;8253初始化push dxmov al,70h ;设8253通道0工作方式0mov dx,io8253aout dx,almov ax,500 ;写入计数器初值500mov dx,io8253bout dx,almov al,ahout dx,alpop dxpop axret ;子程序返回delay endpbeep proc near ;蜂鸣器子程序push cxpush dxpush simov cx,60 ;取60次32个正弦波数据dd: mov si,0ooo: mov al,data1[si] ;取正弦波数据mov dx,io0832aout dx,al ;放音push cxmov cx,6000delay6: loop delay6 ;软件延时pop cxinc sicmp si,32 ;是否取完32个数据jl ooo ;若没有,则继续loop dd ;总循环次数60是否完,没有,则继续pop sipop dxpop cxret ;子程序返回beep endpcode endsend start(注:文档可能无法思考全面,请浏览后下载,供参考。

相关文档
最新文档