




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、微机原理课程设计说明书题目 :家用电风扇的控制设计学院 :计算机与通信工程学院专业 :姓名 :学号 :指导教师 :2012年 8月 24 日目录 .11.22.32.18253.32.28255. .4 3. .63.1 .63.2 .63.3 .63.3.1.73.3.2.73.3.3. .74硬件框图及说明 .85软件模块及流程说明 . .95.1软件框图 .95.2 程序代码 .10参考文献 .17总结体会 .18前言随着物联网时代的到来 , 芯片越来越显示其重要的价值 , 而如何将物联网引入普通家庭 , 让普通老百姓感受到他们的实惠 , 针对这个问题我设计了一个简易的电风扇程序其概况如
2、下 :一 . 课程设计的题目是家用风扇控制器 , 用微机中硬件与软件相结合的方法设计出一个电风扇的控制器 .二 . 控制器有四个按钮 , 分别为风速 , 类型 , 转头和停止键 ; 三个 LED 指示灯用于指示风速强、 中、弱;另外三个 LED指示灯用于指示类型为睡眠、自然和正常 , 还有一个直流电机控制是否转头 . 功能如下 :1. 电扇处于停转状态时,所有指示灯不亮,只有按下“风速”键时电扇才会旋转。电扇在任何状态,只要按下“停止”键,则进入停转状态。2. 风速的强、中、弱分别对应于电扇转动的快速、中速和慢速.3. 初始状态为:风速“弱” ,类型“正常” .4. 按“风速”键,状态由“弱”
3、 “中”“强”“弱” , 往复循环改变,每按一下按键改变一次状态;5. 按“类型” 键,其状态由“正常”“睡眠”“自然”“正常” , 往复循环改变;1) 正常电扇连续运转;2)自然电扇模拟自然风,即转 2s,停 4s;3)睡眠电扇慢转,产生轻柔的微风,运转 2s ,停转 6s.6. 当按下 K3摇头键的时候会摇头,再按会停止摇头,可以手动选择是否摇头 .1 注释说明清单下文中所表示的字母的意思如下:K1:风速键 , 用来控制风速, 风速包括弱风 , 中风 , 强风三种 . 每按一次 K1 键风速就循环改变一次.K2:类型键 , 用来控制风的类型 , 类型包括正常风 , 睡眠风 , 自然风 ,
4、每按一次 K2 键风种将会循环改变一次 .K3: 转头键 , 只要系统启动后按此键, 风扇就会在转头与不转头之间切换 .K4: 停止键 , 一旦风扇运行按停止键就会关闭.L1: 弱风指示灯L2: 中风指示灯L3:强风指示灯L5:正常风指示灯L6:睡眠风指示灯L7:自然风指示灯2 芯片介绍2.1 8253芯片8253 是 Intel 公司生产的可编程间隔定时器。 8253 具有以下基本功能:(1) 有 3 个独立的 16 位计数器;(2) 每个计数器可按二进制或十进制( BCD )计数;(3) 每个计数器可编程工作于 6 种不同工作方式;(4) 8254 每个计数器允许的最高计数频率为10MHz
5、(8253 为 2MHz );(5) 8254 有读回命令( 8253 没有),除了可以读出当前计数单元的内容外,还可以读出状态寄存器的内容。(6) 计数脉冲可以是有规律的时钟信号, 也可以是随机信号。 计数初值公式为 n=fCLKi fOUTi 、其中 fCLKi 是输入时钟脉冲的频率, fOUTi 是输出波形的频率。图 14-1 是 8254 的内部结构框图和引脚图,它是由与CPU 的接口、内部控制电路和三个计数器组成。8254 的工作方式如下述:(1) 方式 0:计数到 0 结束输出正跃变信号方式。(2) 方式 1:硬件可重触发单稳方式。(3) 方式 2:频率发生器方式。(4) 方式 3
6、:方波发生器。(5) 方式 4:软件触发选通方式。(6) 方式 5:硬件触发选通方式。图 14-1 8254的内部接口和引脚8253 的控制字有两个:一个用来设置计数器的工作方式,称为方式控制字;另一个用来设置读回命令, 称为读回控制字。 这两个控制字共用一个地址, 由标识位来区分。控制字格式如表 14-1 所示。读回控制字格式如表 14-2 所示。当读回控制字的D4 位为 0 时,由该读回控制字D1 D2 位指定的计数器的状态寄存器内容将被锁存到状态寄存器中。状态字格式如表14-3 所示。表 14-1 8253的方式控制字格式D7D6D5D4D3D2D1D0计数器选择读写格式选择工作方式选择
7、计数码制选择00计数器 000锁存计数值000方式 00二进制数01计数器 101读写低 8 位001方式 11十进制数10计数器 210读写高 8 位010方式 211读出控制11先读写低 8 位,011方式 3字标志再读写高8 位100方式 4101方式 5表 14 28253读出控制字格式D7D6D5D4D3D2D1D0110锁存计数0锁存状态计数器选择(同方式控制0值信息字)表 14 3 8253状态字格式D7D6D5D4D3D2D1D0OUT引脚现行状态计数初值是否装入计数器方式(同方式控制字)1高电平2 低电平1无效 2 计数有效2.28255芯片8255 可编程外围接口芯片是In
8、tel 公司生产的通用并行IO 接口芯片,它具有A、 B、C 三个并行接口,用+5V 单电源供电,能在以下三种方式下工作:方式 0 基本输入出方式;方式 1 选通输入出方式;方式 2 双向选通工作方式。8255 的内部结构及引脚如图12-1 所示, 8255 工作方式控制字和C 口按位置位复位控制字格式如图12-2 所示。图 12-1 8255的内部结构及引脚图 12-2 8255控制字格式3 设计过程3.1 总体设计:根据题目要求,其基本功能是用四个按键来控制风速、类型,转头以及停止这四个状态的变换。当风速键按下时实现风速强、中、弱三种状态依次循环切换, 由于电机控制芯片没找好, 所以用三个
9、 LED指示灯来显示;当类型键按下时实现类型正常、睡眠、自然三种状态的依次循环切换,并用三个 LED指示灯来显示。题目中类型键要求自然状态转2 秒,停 4 秒;睡眠状态转 2 秒,停转6 秒,这个涉及到时间问题,可以通过硬件或者软件来实现,我们选择通过软件来实现。综上所述,可以采用硬件与软件结合的设计方法来实现基本功能。3.2 硬件设计:本次实验除利用了PC 机本身资源外 ( 如中断资源 ), 还利用了平台上的 8255 并行接口单元, 8253 计数器 ,LED 指示灯电路 , 直流电机,便构成家用风扇控制电路 .本次实验硬件部分主要是用可编程并行通信接口 8255A来实现的。四个按键是输入
10、,用 8255A的其中一个端口作为输入,这里选择用端口 A 作为输入;六个 LED指示灯用作输出, 这里选择用端口 B 和端口 C 作为输出。8255A 是有多种功能的可编程并行接口电路芯片,8255A分3个端口:端口 A、端口 B 和端口 C,每个端口都是8 位 , 共 24 个外设引脚 , 共三种输入输出工作方式。1) 方式 0基本输入输出方式 , 适用于无条件传送和查询方式的接口电路。2) 方式 1选通输入输出方式 , 适用于查询和中断方式的接口电路。3) 方式 2双向选通传送方式 , 适用于与双向传送数据的外设 ; 适用于查询和中断方式的接口电路。本次实验我们选择方式 0, 只实现基本
11、的输入、输出即可。8253A 有 3 个计数器,这里我们选择计数器0 进行计数, CLK0链接系统时钟信号,计数器0 选择工作方式 3 工作, GATE0接 PC0端口,然后将两路接入直流电机的正负极。3.3 软件设计:本设计通过编程对8255A 的端口 A 读入的键值进行判断,再转入到相应的子程序进行状态改变。最后通过端口B 进行输出显示。控制系统分四个功能模块,主要包含风速设置、类型设置、默认状态显示和退出系统。3.3.1 风速设置这个模块中风速的三个状态强、中、弱之间的循环切换是通过将端口A 的键值逐次加 1( 初始值为 0, 每按下一次风速键寄存器值加1) ,然后对 3求余,取其余数分
12、别代表这三个状态来实现的。由于对3 求余的余数只有0、 1、 2 三个值,分别代表强、中、弱,将其余数保存到寄存器中,根据寄存器中是 0、 1、 2 来判断强、中、弱风三个状态。3.3.2 类型设置风的类型有:正常、自然、睡眠三种。a) 正常 电扇连续运转。b) 自然 电扇模拟自然风,即转 2s,停 4s 。c) 睡眠 电扇慢转,产生轻柔的微风,运转 2s ,停转 6s。自然状态和睡眠状态时间的控制是通过调用延时子程序来实现的,由于一个机器周期是 10-6 秒,延时程序是通过循环来实现的,让指令执行 106 次来实现 1 秒。不是很精确。3.3.3 转头设置这个模块利用8255 和 8253
13、来完成,该模块有两种状态即转头和不转头, 8255 的 PC2端口实现状态的输入,PC0端口输出到 8253 的 GATE0端口来控制 8253 工作,然后通过8253 来控制直流电机工作。用按的次数除以 2 取余数来判断是转头还是停止。4 硬件系统框图及说明系统总线5 软件模块主要流程图及说明由于要写出具体的试验程序逻辑复杂,就简要的写出了汇编程序的设计流程。5.1 软件框图5.2 程序代码DATASSEGMENT;此处输入数据段代码T8255AEQU200HT8255BEQU201HT8255CEQU202HCOUNT0EQU204HCONTROLEQU207HT8255MODEEQU20
14、3HTEMPK1DB0F8HKEY1DB00HKEY2DB00HKEY3DB00HKEY1_YUSHUDB00HKEY2_YUSHUDB00HKEY3_YUSHUDB00HTHREEDB03HTWODB00HFREE_STARTDB00HSHANGCI_STARTDB00HDANGQIAN_STARTDB00HDATASENDSSTACKSSEGMENT;此处输入堆栈段代码STACKSCODESSTART:DWENDSSEGMENTASSUMEMOVMOV100H DUO(0)CS:CODES,DS:DATAS,SS:STACKSAX,DATASDS,AX;此处输入代码段代码;8253 芯片初
15、始化MOVDX,CONTROLOUTDX,ALMOVDX,COUNT0;置初值 1000HMOVAL,00HOUTDX,ALMOVAH,10H;OUTDX,ALMOVDX,T8255MODE;模式字输入MOVAL,90H;端口 A 作为输入,端口B 作为输出OUTDX,ALMOVDX,T8255B;对灯清零MOVAL,0FFHOUTDX,ALMOVDX,T8255C;对电机进行清零;MOVAL,OFFHOUTDX,ALJMPL1READ: MOVDX,T8255A;读取端口 A 的键值INAL,DXMOVBX,00HMOVBL,TEMPK1MOVTEMPK1,ALXORBL ,ALCMPBL,
16、01H;判断风速键是否按下JZADD_K1CMPBL,02H;判断类型键是否按下JZADD_K2CMPBL,03HJZADD_K3CMPBL,04H;判断停止键是否按下JZL10MOVBL,SHANGCI_START;如果没有按键按下,判断上次状态CMPJZCMPJZCMPJZBL,01HL1BL,02HL2BL,03HL3CMPBL,04HJZL4CMPBL,05HJZL5CMPBL,06HJZL6CMPBL,07HJZL7CMPBL,08HJZL8CMPBL,09HJZL9CMPBL,0AHJZL10ADD_K1:INCKEY1MOVAL,KEY1MOVAH,00HDIVTHREEMOVK
17、EY1_YUSHU,AHJMPCONNECADD_K2:INCKEY2MOVAL,KEY2MOVAH,00HDIVTHREEMOVKEY2_YUSHU,AHJMPCONNECTADD_K3:INCKEY3MOVAL,KEY3MOVAH,00HDIVTWOMOVKEY3_YUSHU,AHJMPCONNECTCONNECT:MOVCL,FREE_STARTMOVAH,KEY1_YUSHUMOVAL,KEY2_YUSHUMOVBL,KEY3_YUSHUCMPBL,00HJZSTOPCMPBL,01HJZSTARTA1:CMPAX,0000HJZL1CMPAX,0001HJZL2CMPAX,0002H
18、JZL3CMPAX,0100HJZL4CMPAX,0101HJZL5CMPAX ,0102HJZL6CMPAX ,0200HJZL7CMPAX , 0201HJZL8CMPAX , 0202HJZL9STOP:PUSHDXPUSHAXMOVDX,T8255CMOVAL,00HOUTDX,ALPOPAXPOPDXJMPA1START:PUSHDXPUSHAXMOVDX,T8255CMOVAL,01HOUTDX,ALPOPAXPOPDXJMPA1L1:MOVSHANGCI_START,01HMOVAL, 36H; 弱风正常JMPSHOWL2:MOVSHANGCI_START,02HMOVAL,2E
19、H;弱风睡眠MOVFREE_START,CLMOVDX,T8255BOUTDX, ALCALLDELAYCALLDELAYMOVAL,3EHMOVDX,T8255BOUTDX,ALCALLDELAYCALLDELAYCALLDELAYCALLDELAYCALLDELAYCALLDELAYJMPREADL3:MOVSHANGCI_START,03HMOVAL,1EH;弱风自然MOVFREE_START,CLMOVDX,T8255BOUTDX, ALCALLDELAYCALLDELAYMOVAL,3EHMOVDX,T8255BOUTDX,ALCALLDELAYCALLDELAYCALLDELAYC
20、ALLDELAYJMPREADL4:MOVSHANGCI_START,04HMOVAL,35H;中风正常JMPSHOWL5:MOVSHANGCI_START,05HMOVAL,2DH; 中风睡眠MOVFREE_START,CLMOVDX,T8255BOUTDX,ALCALLDELAYCALLDELAYMOVAL,3DHMOVDX,T8255BOUTDX,ALCALLDELAYCALLDELAYCALLDELAYL6:CALLCALLCALLJMPMOVMOVMOVMOVOUTCALLCALLMOVMOVOUTDELAYDELAYDELAYREADSHANGCI_START,06HAL,1DH;
21、 中风自然FREE_START,CLDX,T8255BDX, ALDELAYDELAYAL,3DHDX,T8255BDX,ALCALLDELAYCALLDELAYCALLDELAYCALLDELAYJMPREADL7:MOVSHANGCI_START,07HMOVAL,33H;强风正常JMPSHOWL8:MOVSHANGCI_START,08HMOVAL ,2BH;强风睡眠MOVFREE_START,CLMOVDX,T8255BOUTDX, ALCALLDELAYCALLDELAYMOVAL,3BHMOVDX,T8255BOUTDX,ALCALLDELAYCALLDELAYCALLDELAYC
22、ALLDELAYCALLDELAYCALLDELAYJMPREADL9: MOVSHANGCI_START,09HMOVAL,1BH;强风自然MOVFREE_START,CLMOVDX,T8255BOUTDX, ALCALLDELAYCALLDELAYMOVAL,3BHMOVDX,T8255BOUTDX,ALCALLDELAYCALLDELAYCALLDELAYCALLDELAYJMPREADL10:MOVSHANGCI_START,0AHMOVAL,0FFH;停止MOVDX,T8255BOUTDX, ALJMPREADSHOW:MOVFREE_START,CLCALLDELAYMOVDX,T
23、8255BOUTDX, ALJMPREADQUIT:MOVAX,4CHINT21HDELAYPROCPUSHBXPUSHCXMOVCX,07FFHD1:MOVBX,0FFFFHD2:DECBXJNZD2LOOPD1POPBXPOPCXRETDELAYENDPDELAY6PROCPUSHCXPUSHAXMOVCX,06HD3:CALLDELAYLOOPD3POPAXPOPCXRETDELAY6ENDPCODESENDSENDSTART参考文献1 权 微型计算机技术及应用(第四版) 清华大学出版社2 汪志宏 江敏 微机原理与接口技术课程设计机械工业出版社3 微机原理与接口技术实验及课程设计西南交通大学出版社4 王忠民,王钰,王小睫 . 微型计算机原理 (第二版) 西安电子科技大学出版社设
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 人生之舟(第四单元)-2025-2026学年七年级语文上册阅读素养通关训练(原卷版)
- 2025年度高效农业灌溉抽水承包合同模板下载
- 2025年度专业厨房清洁与消毒服务承包合同
- 2025版社交媒体内容版权合作合同
- 2025年度房地产公司应收账款融资借款合同书
- 2025年度太阳能路灯照明工程合同样本
- 颅骨修补护理要点
- 郑州化工知识培训班课件
- 2025四川成都高新未来科技城发展集团有限公司招聘20人考试参考试题及答案解析
- 2025浙江舟山市普陀区民政局代管国有企业招聘合同制工作人员1人考试参考试题及答案解析
- 早教托育合伙人合同协议
- 2025至2030年中国视频监控系统行业市场运行态势及投资战略研究报告
- AIGC艺术设计 课件 第8章 AIGC艺术设计的思考与展望
- 物业财务基础知识培训课件
- 九上语文第2课《周总理你在哪里》课件
- 增值税留抵退税培训课件
- 车辆安全隐患排查台账表
- 人教版(2024)八年级上册英语Unit 1 Happy Holiday教案
- 大模型概念、技术与应用实践 课件 第6章 智能体
- 小学三年级秋季第一学期家长会
- 民用航空飞机电子系统技术
评论
0/150
提交评论