家用电器模拟控制系统.docx
- 文档编号:10643696
- 上传时间:2023-02-22
- 格式:DOCX
- 页数:16
- 大小:171.22KB
家用电器模拟控制系统.docx
《家用电器模拟控制系统.docx》由会员分享,可在线阅读,更多相关《家用电器模拟控制系统.docx(16页珍藏版)》请在冰豆网上搜索。
家用电器模拟控制系统
武汉理工大学华夏学院
课程设计
课程名称接口技术及应用Ⅰ
题目家用电器模拟控制系统
专业
班级
学号
姓名
成绩______________
指导教师
2013年6月28日
课程设计任务书
学生姓名:
专业班级:
计算机1102
指导教师:
工作单位:
信息工程系
设计题目:
家用电器模拟控制系统
初始条件:
1、家用电器控制原理示意图
2、TDN86/88型多功能微机实验平台
要求完成的主要任务:
(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)
主要任务:
(在规定的时间内完成下列任务)
1.画出硬件原理图(接口芯片和外设部分)和实验连线图;
2.采用TDN86/88实验教学系统作为实验平台,利用实验系统提供的8253芯片及其它器件,设计硬件原理图(接口芯片和外设部分)和实验连线图;
3.使8253工作在3方式,产生定时时间间隔,作为计时的最小时间单位。
4.编程实现4小时(实验用60秒)延时到,接通家用电器电源,使家用电器工作。
5.用2位7段LED数码管显示时间的计时,60秒到显示00,同时使喇叭响5秒。
时间安排:
(部分时间,某些工作可以重叠进行)
6月24日
布置题目,确定任务、查找相关资料
6月25日~6月27日
功能分析,硬件设计,拟定实验电路,编写程序,调试程序、运行系统,6月27日下午4:
00前检查完系统运行
6月28日
答辩后撰写设计报告。
6月28日上午12:
00前检查完设计报告下午3:
30前(本人)交设计报告
具体要求:
设计报告撰写格式要求(按提供的设计报告统一格式撰写)
具体内容如下:
①设计任务与要求②总体方案与说明
③硬件原理图与说明④实验电路图与说明
⑤软件主要模块流程图⑥源程序清单与注释
⑦问题分析与解决方案(包括调式记录、调式报告,即在调式过程中遇到的主要问题、解决方法及改进设想);
⑧小结与体会
附录:
①源程序(必须有简单注释)②使用说明③参考资料
指导教师签字:
2013年06月24日
系主任签字:
2013年06月日
目录
1.需求分析1
1.1设计题目1
1.2设计任务及要求1
1.3软硬件运行环境及开发工具1
2.总体方案与说明1
2.1主要器材和芯片简介1
2.1.1LED数码管介绍1
2.1.28255A芯片介绍2
2.2设计原理及方法实现3
2.2.1设计原理3
2.2.2设计实现方法4
2.3家用电器模拟控制系统流程图5
3.详细设计6
3.1芯片初始化6
3.1.18255芯片初始化6
3.1.28253芯片的初始化6
3.2LED数码管显示6
3.3延时模块设计7
4.系统调试及操作说明8
4.1系统调试8
4.1.2软件调试8
4.1.3硬件调试8
4.1.4运行结果调试8
4.2实验操作说明8
5.实验小结与体会9
参考文献9
附录:
源程序及部分注释10
1.需求分析
1.1设计题目
运用所学知识设计家用电器模拟控制系统。
1.2设计任务及要求
1.采用TDN86/88实验教学系统作为实验平台,利用实验系统提供的8255芯片及其它器件,2.设计硬件原理图(接口芯片和外设部分)和实验连线图;
3.使8255工作在3方式,产生定时时间间隔,作为计时的最小时间单位。
4.编程实现4小时(实验用60秒)延时到,接通家用电器电源,使家用电器工作。
5.用2位7段LED数码管显示时间的计时,最后显示LED灯亮。
1.3软硬件运行环境及开发工具
实验所使用的实验开发设备是TDN86/88型多功能微机实验平台,它的硬件由基本系统、外设功能模块和面包板实验区三大部分,按模块化开放式结构设计而成。
另外微机一台,一个8253芯片,导线若干。
通过TDN86/88实验平台进行硬件连接,利用TDN集成开发环境进行交通信号灯控制系统的程序设计(采用8086汇编语言)、调试、运行直到满足设计要求。
2.总体方案与说明
2.1主要器材和芯片简介
2.1.1LED数码管介绍
LED数码有共阳和共阴两种,把些LED发光二极管的正极接到一块(一般拼成一个8字加一个小数点)而作为一个引脚,就叫共阳的,相反的,就叫共阴的,那么应用时这个脚就分别的接VCC和GND。
再把多个这样的8字装在一起就成了多位的数码管了。
具体结构如图2.1。
图2.1常见LED数码管结构图
2.1.28255A芯片介绍
8255A是一种可编程的I/O接口芯片,可以与MCS-51系统单片机以及外设直接相连,广泛用作外部并行I/O扩展接口。
8255A内部由PA、PB、PC三个8位可编程双向I/O口,A组控制器和B组控制器,数据缓冲器及读写控制逻辑四部分电路组成。
8255A结构框图和引脚图
图2.28255A结构图
8255A的引脚功能:
数据总线(8条):
D0~D7,用于传送CPU和8255A间的数据、命令和状态字。
RESET:
复位线,高电平有效。
/CS:
片选线,低电平有效。
/RD、/WR:
/RD为读命令线,/WR为写命令线,皆为低电平有效。
A0、A1:
地址输入线:
用于选中PA、PB、PC口和控制寄存器中哪一个工作。
并行I/O总线(24条):
用于和外设相连,共分三组
8255A有两个控制字:
方式控制字和C口置位/复位控制字。
用户通过程序可以把这两个控制字送到8255A的控制寄存器,以设定8255A的工作方式和C口各位状态,具体见图2.1。
方式控制字用于设定8255A三个端口工作于什么方式,是输入还是输出方式。
图2.28255A状态字
2.2设计原理及方法实现
2.2.1设计原理
系统要求实现对家用电器的模拟控制,延时60S后,家用电器开始工作,并且用数码管来显示时间,记录倒数60S,用8253和8259中断来实现延时,用8255来输出显示倒计时,并在60s后输出低电平。
表2.2.18255各端口的作用
A口
B口
C口
显示倒计时的高位
显示倒计时的低位
60秒后输出低电平时家用电器工作
2.2.2设计实现方法
本实验设计的8255端口地址为60H~63H,分别为a口,b口,c口,控制口。
因此A0、A1为选片信号,所以的A0、A1引线直接接到8255的A0、A1。
设计原理图2.4如下:
图2.4设计原理图
实验连线图如下:
图2.58255实验连线图
2.3家用电器模拟控制系统流程图
图2.6系统流程图
3.详细设计
3.1芯片初始化
3.1.18255芯片初始化
标志特征位为1,A、B口均采用工作方式0,A、B、C口均作输出。
MOVAL,80H;8255初始化10000000
OUT63H,AL
3.1.28253芯片的初始化
8253选择通道2,2个字节,3工作方式,二进制计数。
计数初值等于1.19MHZ除以100HZ,即11900,转化为十六进制数2E7CH。
MOVAL,0B6H;8253控制命令字10110110(OUT2接IQR7)
OUT43H,AL
MOVAL,7CH;给8253装初值,产生10MS的方波,每当产生一个方波,OUT2为1,产生中断IQR7
OUT42H,AL
MOVAL,2EH
OUT42H,AL
3.2LED数码管显示
通过汇编语言编写代码将数据显示到led数码管上
LED:
PUSHCX;数码管显示数字
PUSHAX
MOVAX,CX
MOVBL,0AH
MOVAH,0
DIVBL;商放在AL用a口输出,余数放在AH用b口输出
MOVBX,OFFSETTAB;取段码表首地址
XLAT;查表得段码
OUT60H,AL;输出(十位)显示
MOVCX,0600H;延时
A2:
LOOPA2
MOVAL,AH
MOVBX,OFFSETTAB
XLAT
OUT61H,AL;输出(个位)显示
MOVCX,0600H
A3:
LOOPA3
POPAX
POPCX
RET
3.3延时模块设计
通过汇编语言编写代码编写延时1s的子程序,实现延时1s并在数码管中显示CX中的内容。
DELLAY1S:
;AX、bx、cx压入堆站寄存器
PUSHAX
PUSHBX
PUSHCX
CALLLED
MOVCX,0FFFFH
D0:
PUSHAX;实现循环
POPAX
LOOPD0
POPCX
POPBX
POPAX
RET
4.系统调试及操作说明
4.1系统调试
采用了分模块的调试,先调试硬件中断延时模块,发现没有延时的效果,后来采用了软件延时的方法,来调试时间显示模块,发现时间显示模块能正常工作,最后在一起调试,能正常显示,并60s后输出低电平
4.1.2软件调试
在软件调试过程中,先给CX赋值60,再调用延时1S的程序,在延时程序中,再调用数码管显示程序,该循环执行完成后,CX计数器减1,进入下一次循环。
4.1.3硬件调试
在硬件调试过程中,先给CX赋值0,将其与6000比较,若大于则转入停中断,通知电器工作;否则开中断,进入倒计时计数,数码管显示倒计时。
该程序执行完成后,CX计数器加1,进入下一次循环。
4.1.4运行结果调试
程序加载和运行成功后,我们可以看到2位LED数码管,从60开始显示,采用硬件延时,依次减1,一直显示到00,然后LED灯亮。
4.2实验操作说明
(1)按照实验线路图连接电路,连接前检查测试七段数码管是否都亮及接线是否接触不良,t如果发现显示不正常首先检查连线是否问题,看是否是连线接触不良,如果连线都正确就可能是实验器材出问题,可以选择更换LED数码管和更换实验器材。
(2)器材检查和连线链接好后,打开编译软件测试端口链接成功后,输入编译程序并检查无误,经汇编后,连接后装入系统。
(3)点击编译,运行,当显示的结果与我们要达到的效果不一致时,采用单步调试,观察寄存器中的数据和标志位的变化,以及程序中的每一行语句是否执行,是否在寄存器中显示出正确的数据,进一步找出错误的位置和解决方法。
(4)运行完程序后,注意当数码管从60秒到显示00时,观察到LED灯由暗变亮,如果中途没有出现运行错误,则实验基本成功。
5.实验小结与体会
一个星期的课程设计快要结束了,本次课程设计虽然短暂,但依旧让人获益良多。
起初拿到题目后不知道从何下手,因为平时虽然学了微机接口的基础知识,但对于设计题目的具体设计还是有些不清楚,而且汇编语言是一门比较使用的机器语言,运用起来对于刚学不久的还是比较麻烦,所以仔细研究了题目的具体意思后,通过查阅书籍和平时的课程设计报告以及和同学的讨论后,已经有了个初步的印象,然后知道实验的大概设计思路。
虽然最后完成了实验,但实验过程中遇到了许多困难,比如LED灯的连线,必须细心仔细,不然容易不亮,还有在设计代码是,必须注意代码之间的衔接,不然容易运行错误,最后通过查阅资料和同学的指导下一步一步的慢慢将实验逐渐完成。
通过此次的课程设计,不仅锻炼我们的动手能力和代码设计能力,也加深了我们对微机接口知识的进一步了解,更够活学活用融汇贯通平时所学的书本理论知识,让人获益良多。
参考文献
[1]彭虎等编著.微机原理与接口技术(第三版).北京:
电子工业出版社,2011
[2]郭景坤,微机原理与接口技术,清华大学出版社,2011.8
设计者:
徐立
日期:
2013年6月28日
附录:
源程序及部分注释
STACKSEGMENTSTACK
DW64DUP(?
)
STACKENDS
DATASEGMENT
TABDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H
DATAENDS
CODESEGMENT
ASSUMEDS:
DATA,CS:
CODE
START:
MOVAX,DATA
MOVDS,AX
MOVAL,80H;8255初始化
OUT63H,AL
MOVal,0ffh;灯的初始化
OUT62H,al
MOVCX,60;延时60s
T0:
CALLDELLAY1S;调用1s延时
DECCX
INCCX
LOOPT0
MOVAL,00H;60s计时结束接通家用电器
OUT62H,AL
LED:
PUSHCX;数码管显示数字
PUSHAX
MOVAX,CX
MOVBL,0AH
MOVAH,0
DIVBL;商放在AL用a口输出,余数放在AH用b口输出
MOVBX,OFFSETTAB;取段码表首地址
XLAT;查表得段码
OUT60H,AL;输出(十位)显示
MOVCX,0600H;延时
A2:
LOOPA2
MOVAL,AH
MOVBX,OFFSETTAB
XLAT
OUT61H,AL;输出(个位)显示
MOVCX,0600H
A3:
LOOPA3
POPAX
POPCX
RET
DELLAY1S:
;延时1s的子程序,实现延时1s并在数码管中显示CX中的内容
PUSHAX
PUSHBX
PUSHCX
CALLLED
MOVCX,0FFFFH
D0:
PUSHAX
POPAX
LOOPD0
POPCX
POPBX
POPAX
RET
CODEENDS
ENDSTART
设计过程中质疑(或答辩)记载:
1.如何使灯闪烁5s钟,后停止?
答:
可以在闪烁后调用CALLY_5s的延时后,对灯进行复位。
2.MOVAL,80H;OUT63H,AL是什么意思?
答:
80为10000000,方式字为1,A口,B口,C口都为输出,并且A口,B口都使用方式0.
3.moval,0ffh,OUT62H,al是什么作用?
答:
作用是使得led灯开始复位,不亮。
4.MOVBX,OFFSETTAB是什么意思?
答:
取段码表首地址送入BX
指导教师评语:
评分:
签名:
年月日
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 家用电器 模拟 控制系统
![提示](https://static.bdocx.com/images/bang_tan.gif)