版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、微机原理课程设计说明书题目: 家用电风扇的控制设计 学院: 计算机与通信工程学院专业: : 学号: 指导教师: 2012年 8月 24 日目录前言.11注释清单说明.22芯片介绍.32.18253芯片.32.28255芯片.43设计过程.6 3.1总体设计.63.2硬件设计.6 3.3软件设计.6 3.3.1风速设计 .7 3.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摇头键的时候会摇头,再按会停止摇头,可以手动选择是否摇头.三.本设计主要用到的芯片是8086,8253A和8255A. 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(8253为2MHz);(5) 8254有读回命令(82
5、53没有),除了可以读出当前计数单元的容外,还可以读出状态寄存器的容。(6) 计数脉冲可以是有规律的时钟信号,也可以是随机信号。计数初值公式为n=fCLKi÷fOUTi、其中fCLKi是输入时钟脉冲的频率,fOUTi是输出波形的频率。图14-1是8254的部结构框图和引脚图,它是由与CPU的接口、部控制电路和三个计数器组成。8254的工作方式如下述:(1) 方式0:计数到0结束输出正跃变信号方式。(2) 方式1:硬件可重触发单稳方式。(3) 方式2:频率发生器方式。(4) 方式3:方波发生器。(5) 方式4:软件触发选通方式。(6) 方式5:硬件触发选通方式。图14-1 8254的部
6、接口和引脚8253的控制字有两个:一个用来设置计数器的工作方式,称为方式控制字;另一个用来设置读回命令,称为读回控制字。这两个控制字共用一个地址,由标识位来区分。控制字格式如表14-1所示。读回控制字格式如表14-2所示。当读回控制字的D4位为0时,由该读回控制字D1D2位指定的计数器的状态寄存器容将被锁存到状态寄存器中。状态字格式如表14-3所示。表14-1 8253的方式控制字格式D7D6D5D4D3D2D1D0计数器选择读/写格式选择工作方式选择计数码制选择00计数器001计数器110计数器211读出控制字标志00锁存计数值01读/写低8位10读/写高8位11先读/写低8位,再读/写高8
7、位000方式0001方式1010方式2011方式3100方式4101方式50二进制数1十进制数表142 8253读出控制字格式D7D6D5D4D3D2D1D0110锁存计数值0锁存状态信息计数器选择(同方式控制字)0表143 8253状态字格式D7D6D5D4D3D2D1D0OUT引脚现行状态1高电平 2低电平计数初值是否装入1无效 2计数有效计数器方式(同方式控制字)2.2 8255芯片8255可编程外围接口芯片是Intel公司生产的通用并行I/O接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电,能在以下三种方式下工作:方式0 基本输入/出方式;方式1 选通输入/出方式;方式2 双
8、向选通工作方式。8255的部结构与引脚如图12-1所示,8255工作方式控制字和C口按位置位/复位控制字格式如图12-2所示。图12-1 8255的部结构与引脚 图12-2 8255控制字格式3设计过程3.1总体设计:根据题目要求,其基本功能是用四个按键来控制风速、类型,转头以与停止这四个状态的变换。当风速键按下时实现风速强、中、弱三种状态依次循环切换,由于电机控制芯片没找好,所以用三个LED指示灯来显示;当类型键按下时实现类型正常、睡眠、自然三种状态的依次循环切换,并用三个LED指示灯来显示。题目中类型键要求自然状态转2秒,停4秒;睡眠状态转2秒,停转6秒,这个涉与到时间问题,可以通过硬件或
9、者软件来实现,我们选择通过软件来实现。综上所述,可以采用硬件与软件结合的设计方法来实现基本功能。3.2硬件设计:本次实验除利用了PC机本身资源外(如中断资源),还利用了平台上的8255并行接口单元,8253计数器,LED指示灯电路,直流电机,便构成家用风扇控制电路.本次实验硬件部分主要是用可编程并行通信接口8255A来实现的。四个按键是输入,用8255A的其中一个端口作为输入,这里选择用端口A作为输入;六个LED指示灯用作输出,这里选择用端口B和端口C作为输出。8255A是有多种功能的可编程并行接口电路芯片,8255A分3个端口:端口A、端口B和端口C,每个端口都是8位,共24个外设引脚,共三
10、种输入输出工作方式。1)方式0基本输入输出方式, 适用于无条件传送和查询方式的接口电路。2)方式1选通输入输出方式, 适用于查询和中断方式的接口电路。3)方式2双向选通传送方式, 适用于与双向传送数据的外设; 适用于查询和中断方式的接口电路。本次实验我们选择方式0,只实现基本的输入、输出即可。8253A有3个计数器,这里我们选择计数器0进行计数,CLK0系统时钟信号,计数器0选择工作方式3工作,GATE0接PC0端口,然后将两路接入直流电机的正负极。3.3软件设计: 本设计通过编程对8255A的端口A读入的键值进行判断,再转入到相应的子程序进行状态改变。最后通过端口B进行输出显示。控制系统分四
11、个功能模块,主要包含风速设置、类型设置、默认状态显示和退出系统。3.3.1风速设置 这个模块中风速的三个状态强、中、弱之间的循环切换是通过将端口A的键值逐次加1(初始值为0,每按下一次风速键寄存器值加1),然后对3求余,取其余数分别代表这三个状态来实现的。由于对3求余的余数只有0、1、2三个值,分别代表强、中、弱,将其余数保存到寄存器中,根据寄存器中是0、1、2来判断强、中、弱风三个状态。3.3.2类型设置风的类型有:正常、自然、睡眠三种。a) 正常 电扇连续运转。b) 自然 电扇模拟自然风,即转2s,停4s。c) 睡眠 电扇慢转,产生轻柔的微风,运转2s,停转6s。自然状态和睡眠状态时间的控
12、制是通过调用延时子程序来实现的,由于一个机器周期是10-6秒,延时程序是通过循环来实现的,让指令执行106次来实现1秒。不是很精确。3.3.3转头设置这个模块利用8255和8253来完成,该模块有两种状态即转头和不转头,8255的PC2端口实现状态的输入,PC0端口输出到8253的GATE0端口来控制8253工作,然后通过8253来控制直流电机工作。用按的次数除以2取余数来判断是转头还是停止。4硬件系统框图与说明L7K4K3K2K1L6L5L31L21L11系统总线D0 PA0D1 PA1D2 PA2D3 PA3D4 PA4D5 PA5D6 PA6D7 PA78255APB0 CS PB1 P
13、B2PB3A0 PB4A1 PB5PB6PB7RDWRPC0PC1PC2PC3RESET PC4PC5PC6PC7 正极D0 CLK0D1 GATE0D2 OUT0D3 D4D5D6D7 CLK1 GATE1 OUT18253WR CLK2RD GATE2 OUT2A0A1CS直流电机负极5软件模块主要流程图与说明由于要写出具体的试验程序逻辑复杂,就简要的写出了汇编程序的设计流程。5.1软件框图系统初始化等待按键选择还回DOSYYNNYNK1键?风速选择类型选择K2键?K4键?转头设置开始5.2程序代码DATAS SEGMENT ;此处输入数据段代码 T8255A EQU 200H T8255
14、B EQU 201H T8255C EQU 202HCOUNT0 EQU 204HCONTROL EQU 207H T8255MODE EQU 203H TEMPK1 DB 0F8H KEY1 DB 00H KEY2 DB 00H KEY3 DB 00H KEY1_YUSHU DB 00H KEY2_YUSHU DB 00H KEY3_YUSHU DB 00H THREE DB 03H TWO DB 00H FREE_START DB 00H SHANGCI_START DB 00H DANGQIAN_START DB 00H DATAS ENDS STACKS SEGMENT;此处输入堆栈段
15、代码 DW 100H DUO(0) STACKS ENDS CODES SEGMENT ASSUME CS:CODES,DS:DATAS,SS:STACKS START: MOV AX,DATAS MOV DS,AX ;此处输入代码段代码;8253芯片初始化 MOV DX,CONTROL MOV AL,00110110B OUT DX,AL MOV DX,COUNT0 ;置初值1000H MOV AL,00H OUT DX,AL MOV AH,10H ; OUT DX,AL MOV DX,T8255MODE ;模式字输入 MOV AL,90H ;端口A作为输入,端口B作为输出 OUT DX,A
16、L MOV DX,T8255B ;对灯清零 MOV AL,0FFH OUT DX,AL MOV DX,T8255C ;对电机进行清零; MOV AL,OFFH OUT DX,AL JMP L1 READ: MOV DX,T8255A ;读取端口A的键值 IN AL,DX MOV BX,00H MOV BL,TEMPK1 MOV TEMPK1,AL XOR BL ,AL CMP BL,01H ;判断风速键是否按下 JZ ADD_K1 CMP BL,02H ;判断类型键是否按下 JZ ADD_K2 CMP BL,03H JZ ADD_K3 CMP BL,04H ;判断停止键是否按下 JZ L10
17、MOV BL,SHANGCI_START ;如果没有按键按下,判断上次状态 CMP BL,01H JZ L1 CMP BL,02H JZ L2 CMP BL,03H JZ L3 CMP BL,04H JZ L4 CMP BL,05H JZ L5 CMP BL,06H JZ L6 CMP BL,07H JZ L7 CMP BL,08H JZ L8 CMP BL,09H JZ L9 CMP BL,0AH JZ L10 ADD_K1: INC KEY1 MOV AL,KEY1 MOV AH,00H DIV THREE MOV KEY1_YUSHU,AH JMP CONNEC ADD_K2: INC
18、KEY2 MOV AL,KEY2 MOV AH,00H DIV THREE MOV KEY2_YUSHU,AH JMP CONNECT ADD_K3: INC KEY3 MOV AL,KEY3 MOV AH,00H DIV TWO MOV KEY3_YUSHU,AH JMP CONNECT CONNECT: MOV CL,FREE_START MOV AH,KEY1_YUSHU MOV AL,KEY2_YUSHU MOV BL,KEY3_YUSHU CMP BL,00H JZ STOP CMP BL,01H JZ START A1: CMP AX,0000H JZ L1 CMP AX,0001
19、H JZ L2 CMP AX,0002H JZ L3 CMP AX,0100H JZ L4 CMP AX,0101H JZ L5 CMP AX ,0102H JZ L6 CMP AX ,0200H JZ L7 CMP AX , 0201H JZ L8 CMP AX , 0202H JZ L9 STOP: PUSH DX PUSH AX MOV DX,T8255C MOV AL,00H OUT DX,AL POP AX POP DX JMP A1 START: PUSH DX PUSH AX MOV DX,T8255C MOV AL,01H OUT DX,AL POP AX POP DX JMP
20、 A1 L1: MOV SHANGCI_START,01H MOV AL, 36H ; 弱风正常 JMP SHOW L2: MOV SHANGCI_START,02H MOV AL,2EH ;弱风睡眠 MOV FREE_START,CL MOV DX,T8255B OUT DX, AL CALL DELAY CALL DELAY MOV AL,3EH MOV DX,T8255B OUT DX,AL CALL DELAY CALL DELAY CALL DELAY CALL DELAY CALL DELAY CALL DELAY JMP READ L3: MOV SHANGCI_START,03
21、H MOV AL,1EH ;弱风自然 MOV FREE_START,CL MOV DX,T8255B OUT DX, AL CALL DELAY CALL DELAY MOV AL,3EH MOV DX,T8255B OUT DX,AL CALL DELAY CALL DELAY CALL DELAY CALL DELAY JMP READ L4: MOV SHANGCI_START,04H MOV AL,35H ;中风正常 JMP SHOW L5: MOV SHANGCI_START,05H MOV AL,2DH ;中风睡眠 MOV FREE_START,CL MOV DX,T8255B O
22、UT DX,AL CALL DELAY CALL DELAY MOV AL,3DH MOV DX,T8255B OUT DX,AL CALL DELAY CALL DELAY CALL DELAY CALL DELAY CALL DELAY CALL DELAY JMP READ L6: MOV SHANGCI_START,06H MOV AL,1DH ;中风自然 MOV FREE_START,CL MOV DX,T8255B OUT DX, AL CALL DELAY CALL DELAY MOV AL,3DH MOV DX,T8255B OUT DX,AL CALL DELAY CALL
23、DELAY CALL DELAY CALL DELAY JMP READ L7: MOV SHANGCI_START,07H MOV AL,33H ;强风正常 JMP SHOW L8: MOV SHANGCI_START,08H MOV AL ,2BH ;强风睡眠 MOV FREE_START,CL MOV DX,T8255B OUT DX, AL CALL DELAY CALL DELAY MOV AL,3BH MOV DX,T8255B OUT DX,AL CALL DELAY CALL DELAY CALL DELAY CALL DELAY CALL DELAY CALL DELAY J
24、MP READ L9: MOV SHANGCI_START,09H MOV AL,1BH ;强风自然 MOV FREE_START,CL MOV DX,T8255B OUT DX, AL CALL DELAY CALL DELAY MOV AL,3BH MOV DX,T8255B OUT DX,AL CALL DELAY CALL DELAY CALL DELAY CALL DELAY JMP READ L10: MOV SHANGCI_START,0AH MOV AL,0FFH ;停止 MOV DX,T8255B OUT DX, AL JMP READ SHOW: MOV FREE_STAR
25、T,CL CALL DELAY MOV DX,T8255B OUT DX, AL JMP READ QUIT: MOV AX,4CH INT 21H DELAY PROC PUSH BX PUSH CX MOV CX,07FFH D1: MOV BX,0FFFFH D2: DEC BX JNZ D2 LOOP D1 POP BX POP CX RET DELAY ENDP DELAY6 PROC PUSH CX PUSH AX MOV CX,06H D3: CALL DELAY LOOP D3 POP AX POP CX RET DELAY6 ENDP CODES ENDS END START参考文献1 权 微型计算机技术与应用(第四版) 清华大学 2 汪志宏 江敏 微机原理与接口技术课程设计 机械工业3微机原理与接口技术实验与
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 山西省晋城市部分学校2024-2025学年高二上学期12月月考英语试卷(含答案无听力原文及音频)
- 江苏省盐城市潘黄实验学校 苏科版物理八年级上册 八年级第一学期期末质量检测物 理(含答案)
- 河北省邢台市部分高中2024-2025学年高三(上)期末物理试卷(含答案)
- 2024版海鲜干货购销合同范本
- 2024版办公室保洁人员雇佣协议
- 2024精简版聘用协议:高效规范格式版
- 福建省南平市剑津中学高一数学文月考试卷含解析
- 2024年一级造价师之建设工程技术与计量(交通)题库含答案(a卷)
- 2024特色农业产品销售合同标的
- 2024版医院合同管理规定
- 2025年四川长宁县城投公司招聘笔试参考题库含答案解析
- 2024年06月上海广发银行上海分行社会招考(622)笔试历年参考题库附带答案详解
- TSG 51-2023 起重机械安全技术规程 含2024年第1号修改单
- 计算机科学导论
- 浙江省杭州市钱塘区2023-2024学年四年级上学期英语期末试卷
- 《工程勘察设计收费标准》(2002年修订本)
- 2024年一级消防工程师《消防安全技术综合能力》考试真题及答案解析
- 2024-2025学年六上科学期末综合检测卷(含答案)
- 安徽省森林抚育技术导则
- 2023七年级英语下册 Unit 3 How do you get to school Section A 第1课时(1a-2e)教案 (新版)人教新目标版
- 泌尿科主任述职报告
评论
0/150
提交评论