微机接口、汇编语言课程设计——温控系统

2024-02-24 02:50

本文主要是介绍微机接口、汇编语言课程设计——温控系统,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 微机接口、汇编语言课程设计——温控系统
    • 一、课程设计目的
      • 知识方面
      • 能力方面
    • 二、设计内容及具体要求
      • 设计内容
      • 具体要求
    • 三、所需实验设备
    • 四、设计的方案及电路原理图
      • 4.1设计方案
        • 使用端口分工
        • 硬件连线
        • 变量设置
        • 程序模块组成
          • 主程序
          • 初始化模块
          • 子程序
          • 电路原理图
    • 五、软件的流程图
      • *主程序
      • 初始化模块
    • 六、软硬件调试过程
      • 6.1 调试过程
      • 6.2 问题与解决方法
    • 七、设计总结
      • 7.1 已实现的功能
      • 7.2 待改进的地方
      • 7.3 改进的措施
      • 7.4 创新方法
    • 八、课程设计心得体会
    • 参考代码:

微机接口、汇编语言课程设计——温控系统

课设背景:本次课程设计最终应用于大棚温控系统,大棚蔬菜养殖需要合适的温度,过高过低均会产生不利影响。所以本次课程设计的目的是将大棚温度控制在合适的温度内,一旦温度超过设定阈值则会产生相应报警反馈,例如直流电机转动降温、蜂鸣器发出警报音乐,提示管理员前来关注大棚情况并进行相应的处理操作。

一、课程设计目的

知识方面

  1. 微机系统与接口技术课程中各接口芯片的功能、及用法。
  2. 掌握汇编语言程序或C语言程序设计方法。
  3. 熟悉软硬件调试的方法。

能力方面

  1. 网上查找资料,自学绘图软件和其它接口芯片的文档,培养自我学习能力。
  2. 具有进行初步需求分析和系统设计的能力。
  3. 具有结构化程序设计的能力。
  4. 培养软硬件协同调试的能力。
  5. 能够综合运用所学知识解决实际问题的能力。
  6. 能够撰写比较完善的课程设计报告,培养撰写书面报告的能力。

二、设计内容及具体要求

设计内容

1.通过数字式温度计模块与蜂鸣器电子琴模块相结合初步实现在到达温度设定阈值时发出警报提示音乐,说明大棚温度过高需要注意,再结合步进电机实现发出警报后步进电机开始旋转降温,同时点亮小灯,实现照明功能。
2.在基础课程设计的前提下,进行创新,加入显示屏文字提示,进一步达到更贴合实际情境的实现方式。

具体要求

  1. 开关命令如下:
命令功能
K1启动蜂鸣器模块
K2控制电子琴模块
K3随时关闭电子琴
  1. 用右边4个数码管显示命令当前测出的温度。 当温度超出设定阈值后,右边4个数码管均不显示,进入高温警报、降温模块。
    具体温度显示格式如下:
显示功能
##.#正常显示温度
----高温报警时刻

3.说明书(详见附录)中综合实验部分必须用到 3 个或 3 个以上。
4.必须用到键盘和 LED 数码管模块进行相关的设置和显示。

三、所需实验设备

  1. A1区:12864液晶显示模块电路

在这里插入图片描述
在这里插入图片描述
显示模块用来显示需要显示的提示字

  1. A3区:系统总线、片选区
    系统总线:
    在这里插入图片描述

片选区
在这里插入图片描述

3.B4区:简单I/O、SRAM电路
在这里插入图片描述

在这里插入图片描述
此模块用来连接CPU和LED,使两者进行数据传输

在这里插入图片描述
在这里插入图片描述

4.D2区:DAC0832数模转换
在这里插入图片描述

在这里插入图片描述
此模块将CPU读到的数据转换为电压模拟量控制直流电机

5.D3区:8255电路、数码管驱动电路
在这里插入图片描述

在这里插入图片描述

6.E1区:直流电机转速测量/控制
使用光电开关测速
在这里插入图片描述
在这里插入图片描述

7.F2区:温度测量/控制

在这里插入图片描述

在这里插入图片描述

  1. F3区:PWM电压转换、功率放大电路
    PWM电压转换电路
    在这里插入图片描述

在这里插入图片描述
功率放大电路
在这里插入图片描述
在这里插入图片描述

9.F4区:发光管、开关
在这里插入图片描述

JP27:开关控制接口;闭合-0信号,断开-1信号

10.F5区:键盘&LED
在这里插入图片描述

在这里插入图片描述

11.F8区:蜂鸣器
在这里插入图片描述

Ctrl:控制接口,0-蜂鸣
此元器件由8255电路传输的的数据控制

四、设计的方案及电路原理图

4.1设计方案

  1. 首先查阅资料,我们需要深入了解测温元件、液晶显示技术以及各种芯片的工作原理。这包括但不限于:
    测温元件:测温元件是用来检测温度的器件,它可以将温度转换成电信号。常见的测温元件有热电阻、热电偶等。
    液晶显示:液晶显示是通过改变液晶的透光性来实现显示的。它通常需要配合背光和偏光片使用。
    芯片工作原理:例如8255芯片、DA转换器等,它们各自的功能和工作原理都需要了解清楚。
  2. 进行模块化设计,可以简化主程序和提高可维护性,我们应该采用模块化的设计方法。这意味着将各个功能(如温度检测、显示、电机控制等)划分为独立的模块,每个模块都有明确的输入和输出。
  3. 分工合作,根据模块的划分,团队成员可以分工进行开发和调试。每个成员负责一个或几个模块,最后再进行整合。
  4. 在基础实验成功的前提下,进行适当的改进和创新。基础实验中我们将需要通过测温元件测出的温度通过数码管显示出来。将需要显示的提示文字显示在液晶显示屏上。将直流电机做到能由DA转换器经过PWM电压转换功放大电路直接控制转和停,并在转和停的同时实现照明灯的亮灭。蜂鸣器模块需要实现能由8255芯片读取开关量状态后输出的数据直接控制。将这几个模块整合成一个一个综合作业时便要求在测到的温度达到设定阈值后直流电机开始转动降温,并能根据温度的高低分为两个挡位转动降温,同时蜂鸣器发出警报音乐,提醒管理人员注意,前来进行相关处理。管理人员到来后可以手动关闭警报音或停止转机转动降温,自行处理。并要求在整个温控过程中能根据系统状态实时调整提示文字,方便人员知悉情况。
    以下分成端口分工、硬件连线、变量设置、程序模块组成等部分进行介绍。
使用端口分工

在这里插入图片描述

硬件连线

在这里插入图片描述

变量设置

为了各模块的衔接完整和程序的正常运行,考虑设置以下变量:
在这里插入图片描述

程序模块组成

具体在软件的流程图中介绍。

主程序

(1)调用显示“开始工作”提示字;
(2)调用测温模块进行测温;
(3)判断是否超过温度设定阈值,如果没有则将温度显示在数码管上,回到(2)循环执行;
(4)如果超过设定温度且开关K1开启则将调用显示“高温报警”提示字,并判断是否超出超高温阈值;
(5)如果没有超出超高温阈值,直流电机缓慢转动降温,并判断开关K2是否打开,若打开则点亮照明灯发出警示;
(6)如果超出超高温阈值,直流电机高速转动降温,并判断开关K2是否打开,若打开则同时点亮照明灯发出警示并开启报警音乐(可通过开关K3随时关闭);
(7)回到(2)循环执行。

初始化模块

(1)【Init8255】8255 初始化:进行蜂鸣器和照明灯控制;
(2)【Init8255_t】8255关于测温的初始化:进行温度量读入控制;
(3)【InitDisBuffer】温度缓冲区的初始化:给显示缓冲区赋初值,消隐;
(4)【LCD_INIT】液晶初始化:完成清屏并开启显示控制;

子程序

(1)【DelayTime】延时操作:通过蜂鸣器播放的延时长度不一致形成不同的音 符,利于后面实现报警音乐

这篇关于微机接口、汇编语言课程设计——温控系统的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/740726

相关文章

详解Java如何向http/https接口发出请求

《详解Java如何向http/https接口发出请求》这篇文章主要为大家详细介绍了Java如何实现向http/https接口发出请求,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 用Java发送web请求所用到的包都在java.net下,在具体使用时可以用如下代码,你可以把它封装成一

在C#中获取端口号与系统信息的高效实践

《在C#中获取端口号与系统信息的高效实践》在现代软件开发中,尤其是系统管理、运维、监控和性能优化等场景中,了解计算机硬件和网络的状态至关重要,C#作为一种广泛应用的编程语言,提供了丰富的API来帮助开... 目录引言1. 获取端口号信息1.1 获取活动的 TCP 和 UDP 连接说明:应用场景:2. 获取硬

JAVA系统中Spring Boot应用程序的配置文件application.yml使用详解

《JAVA系统中SpringBoot应用程序的配置文件application.yml使用详解》:本文主要介绍JAVA系统中SpringBoot应用程序的配置文件application.yml的... 目录文件路径文件内容解释1. Server 配置2. Spring 配置3. Logging 配置4. Ma

2.1/5.1和7.1声道系统有什么区别? 音频声道的专业知识科普

《2.1/5.1和7.1声道系统有什么区别?音频声道的专业知识科普》当设置环绕声系统时,会遇到2.1、5.1、7.1、7.1.2、9.1等数字,当一遍又一遍地看到它们时,可能想知道它们是什... 想要把智能电视自带的音响升级成专业级的家庭影院系统吗?那么你将面临一个重要的选择——使用 2.1、5.1 还是

高效管理你的Linux系统: Debian操作系统常用命令指南

《高效管理你的Linux系统:Debian操作系统常用命令指南》在Debian操作系统中,了解和掌握常用命令对于提高工作效率和系统管理至关重要,本文将详细介绍Debian的常用命令,帮助读者更好地使... Debian是一个流行的linux发行版,它以其稳定性、强大的软件包管理和丰富的社区资源而闻名。在使用

Java后端接口中提取请求头中的Cookie和Token的方法

《Java后端接口中提取请求头中的Cookie和Token的方法》在现代Web开发中,HTTP请求头(Header)是客户端与服务器之间传递信息的重要方式之一,本文将详细介绍如何在Java后端(以Sp... 目录引言1. 背景1.1 什么是 HTTP 请求头?1.2 为什么需要提取请求头?2. 使用 Spr

Ubuntu系统怎么安装Warp? 新一代AI 终端神器安装使用方法

《Ubuntu系统怎么安装Warp?新一代AI终端神器安装使用方法》Warp是一款使用Rust开发的现代化AI终端工具,该怎么再Ubuntu系统中安装使用呢?下面我们就来看看详细教程... Warp Terminal 是一款使用 Rust 开发的现代化「AI 终端」工具。最初它只支持 MACOS,但在 20

windows系统下shutdown重启关机命令超详细教程

《windows系统下shutdown重启关机命令超详细教程》shutdown命令是一个强大的工具,允许你通过命令行快速完成关机、重启或注销操作,本文将为你详细解析shutdown命令的使用方法,并提... 目录一、shutdown 命令简介二、shutdown 命令的基本用法三、远程关机与重启四、实际应用

Debian如何查看系统版本? 7种轻松查看Debian版本信息的实用方法

《Debian如何查看系统版本?7种轻松查看Debian版本信息的实用方法》Debian是一个广泛使用的Linux发行版,用户有时需要查看其版本信息以进行系统管理、故障排除或兼容性检查,在Debia... 作为最受欢迎的 linux 发行版之一,Debian 的版本信息在日常使用和系统维护中起着至关重要的作

什么是cron? Linux系统下Cron定时任务使用指南

《什么是cron?Linux系统下Cron定时任务使用指南》在日常的Linux系统管理和维护中,定时执行任务是非常常见的需求,你可能需要每天执行备份任务、清理系统日志或运行特定的脚本,而不想每天... 在管理 linux 服务器的过程中,总有一些任务需要我们定期或重复执行。就比如备份任务,通常会选在服务器资