本文主要是介绍微机接口、汇编语言课程设计——温控系统,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
文章目录
- 微机接口、汇编语言课程设计——温控系统
- 一、课程设计目的
- 知识方面
- 能力方面
- 二、设计内容及具体要求
- 设计内容
- 具体要求
- 三、所需实验设备
- 四、设计的方案及电路原理图
- 4.1设计方案
- 使用端口分工
- 硬件连线
- 变量设置
- 程序模块组成
- 主程序
- 初始化模块
- 子程序
- 电路原理图
- 五、软件的流程图
- *主程序
- 初始化模块
- 六、软硬件调试过程
- 6.1 调试过程
- 6.2 问题与解决方法
- 七、设计总结
- 7.1 已实现的功能
- 7.2 待改进的地方
- 7.3 改进的措施
- 7.4 创新方法
- 八、课程设计心得体会
- 参考代码:
微机接口、汇编语言课程设计——温控系统
课设背景:本次课程设计最终应用于大棚温控系统,大棚蔬菜养殖需要合适的温度,过高过低均会产生不利影响。所以本次课程设计的目的是将大棚温度控制在合适的温度内,一旦温度超过设定阈值则会产生相应报警反馈,例如直流电机转动降温、蜂鸣器发出警报音乐,提示管理员前来关注大棚情况并进行相应的处理操作。
一、课程设计目的
知识方面
- 微机系统与接口技术课程中各接口芯片的功能、及用法。
- 掌握汇编语言程序或C语言程序设计方法。
- 熟悉软硬件调试的方法。
能力方面
- 网上查找资料,自学绘图软件和其它接口芯片的文档,培养自我学习能力。
- 具有进行初步需求分析和系统设计的能力。
- 具有结构化程序设计的能力。
- 培养软硬件协同调试的能力。
- 能够综合运用所学知识解决实际问题的能力。
- 能够撰写比较完善的课程设计报告,培养撰写书面报告的能力。
二、设计内容及具体要求
设计内容
1.通过数字式温度计模块与蜂鸣器电子琴模块相结合初步实现在到达温度设定阈值时发出警报提示音乐,说明大棚温度过高需要注意,再结合步进电机实现发出警报后步进电机开始旋转降温,同时点亮小灯,实现照明功能。
2.在基础课程设计的前提下,进行创新,加入显示屏文字提示,进一步达到更贴合实际情境的实现方式。
具体要求
- 开关命令如下:
命令 | 功能 |
---|---|
K1 | 启动蜂鸣器模块 |
K2 | 控制电子琴模块 |
K3 | 随时关闭电子琴 |
- 用右边4个数码管显示命令当前测出的温度。 当温度超出设定阈值后,右边4个数码管均不显示,进入高温警报、降温模块。
具体温度显示格式如下:
显示 | 功能 |
---|---|
##.# | 正常显示温度 |
---- | 高温报警时刻 |
3.说明书(详见附录)中综合实验部分必须用到 3 个或 3 个以上。
4.必须用到键盘和 LED 数码管模块进行相关的设置和显示。
三、所需实验设备
- A1区:12864液晶显示模块电路
显示模块用来显示需要显示的提示字
- A3区:系统总线、片选区
系统总线:
片选区
3.B4区:简单I/O、SRAM电路
此模块用来连接CPU和LED,使两者进行数据传输
4.D2区:DAC0832数模转换
此模块将CPU读到的数据转换为电压模拟量控制直流电机
5.D3区:8255电路、数码管驱动电路
6.E1区:直流电机转速测量/控制
使用光电开关测速
7.F2区:温度测量/控制
- F3区:PWM电压转换、功率放大电路
PWM电压转换电路
功率放大电路
9.F4区:发光管、开关
JP27:开关控制接口;闭合-0信号,断开-1信号
10.F5区:键盘&LED
11.F8区:蜂鸣器
Ctrl:控制接口,0-蜂鸣
此元器件由8255电路传输的的数据控制
四、设计的方案及电路原理图
4.1设计方案
- 首先查阅资料,我们需要深入了解测温元件、液晶显示技术以及各种芯片的工作原理。这包括但不限于:
测温元件:测温元件是用来检测温度的器件,它可以将温度转换成电信号。常见的测温元件有热电阻、热电偶等。
液晶显示:液晶显示是通过改变液晶的透光性来实现显示的。它通常需要配合背光和偏光片使用。
芯片工作原理:例如8255芯片、DA转换器等,它们各自的功能和工作原理都需要了解清楚。 - 进行模块化设计,可以简化主程序和提高可维护性,我们应该采用模块化的设计方法。这意味着将各个功能(如温度检测、显示、电机控制等)划分为独立的模块,每个模块都有明确的输入和输出。
- 分工合作,根据模块的划分,团队成员可以分工进行开发和调试。每个成员负责一个或几个模块,最后再进行整合。
- 在基础实验成功的前提下,进行适当的改进和创新。基础实验中我们将需要通过测温元件测出的温度通过数码管显示出来。将需要显示的提示文字显示在液晶显示屏上。将直流电机做到能由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】延时操作:通过蜂鸣器播放的延时长度不一致形成不同的音 符,利于后面实现报警音乐
这篇关于微机接口、汇编语言课程设计——温控系统的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!