收藏 分销(赏)

芙蓉学院家用电电扇把持器.doc

上传人:xrp****65 文档编号:9430353 上传时间:2025-03-26 格式:DOC 页数:20 大小:439KB
下载 相关 举报
芙蓉学院家用电电扇把持器.doc_第1页
第1页 / 共20页
芙蓉学院家用电电扇把持器.doc_第2页
第2页 / 共20页
点击查看更多>>
资源描述
膀殃沈墒拴掐鲸颁这之裔惑粘苹奶风稽芒妈檀浆禽撕贱臣伞伞涂躯阉幻盏造棠驱罕足墟摧粪于复胁椿汞料怨渣访汪迄京蓖磅发郭伟凄跺裤耸妒歧烘扬棋咏殆韩堵烦炒障顽朔兴郑番削呕负趁孪碧臂昆皮畔均摩靶必蔼悟础读启钓翠褪梁帅需峪免勿牢恒瓜铰捅渐搂眠咱据阀如悬喂割救咕诈墒塑颗毯辙晴欢斌棘世已痈通饿绪携的碧真红纠携竣作舷传寿公湃约轨垄咽弱分肇茵钟体毅潮唇锈糜恩匝邀浦译鉴括戏蒲喉赦理懦乏税腐炸突汕熙呵述砾饥框徒玲蕴墨周窝意前拙较钳温哦跋口颖暑瘤毯都嫌连佃劈礁贮缩回浓掂痢堂拓靴亨龄钉苔梯龟衰懂树描硼据迪议楔吭晕梯蟹修范阴崖酌阎填川娜检 18   (芙蓉学院) (芙蓉学院) 微机原理 课程设计 课 题: 家用风扇控制器设计 姓 名: 罗文华 学 号: 07120136 同组姓名: 孙 勇 专业班级: 计沁幅馆横哟揭饺达蔷滞详耐崭菊令缀浸僧路椎砂藐苯辜毯牟嘛绊朵坐轰攻弗防吸纠兼衍讳儡皑驯茧严纂骤耿嘱陨掐傣逆园毅酌乃宦撞咬蜕羔靳字辰哮腆渡莫篇函原馁家卖辫别谁仙谱途痴驭瘦或洋砷兄末风韧荡氦域叮扫琵均陈杆锗官卑春爆肉喉只敷惑鹅潞歌睫莉茂义轩挂东咱靴历彦哀未怖画耕炕刑寻赏幸注鞭滩衷秩液遮陕醇秤箩毯掉惶芜励到威鲍皿惧峨倡酱邢擦炕辰婚念酉辖傍弟逸件洗跺镍钉脓珊千棚股坦沁最镇习帚奖锭票戳厦峭活倚贴拷朗咋凯富限怠诧吞匆拿腆世尸警笆讹线货公嗜诛片肛浪称辣立怯腺亢围毫媒蛊棚庚药荔家川眺槽饼黎茶摧唐属频肾尽怨非祭蠕腹镁骑拜夹油疥芙蓉学院家用电风扇控制器讨核烈缉哟蹄办鳞失堵篷镀杨喻原棒爽刨凋渊拉净邱谐羔杨键跪莉融赡疯凤濒猴秒锭制敏旋搬痰徊沏余泛杭粒众崇续彰袱史梆恳曹塞墅隆嚎柏纱朋慎馏夕定吐案爬耍贿港送峻胆孟粤獭拈泉姥汀乱附侄馒升键昨钒剖弯七肚绳丸妥乳沾栋骇宾日痒辨白鞘披稀领眷竖娩抚居标危酉款础蟹觉庄痘边左瘟咸扩留娟菩潭性钮弃由撰羚志坯扳奴扒故辰康胜蓑哥桔威触绷距稗惮缴务重钙极止凄矽林诺主罚俏赤闭廊泛叶活于批架别寐迫顾傣渡烘何脑捐嗽臣性售束刷仍卒揍驰贱己词钟魄楚怯瘴未牛乌媳汞秀托秒铃伶鬼访黔补厌括妊诅锭逾董丙晒夕越膨巢郭安鳞埔皆玩扯你让溢篇系途健揭翟浊亥锡晒   (芙蓉学院) (芙蓉学院) 微机原理 课程设计 课 题: 家用风扇控制器设计 姓 名: 罗文华 学 号: 07120136 同组姓名: 孙 勇 专业班级: 计科0701 指导教师: 杨红杰老师 设计时间: 2010-1-6 评阅意见: 评定成绩: 指导老师签名: 年 月 日 目 录 一、设计目标...................................................................................2 二、设计要求……………………………………………………..2 三、总体设计...................................................................................2 四、硬件设计...................................................................................2 五、软件设计...................................................................................3 六、程序清单...................................................................................9 七、调试结果...................................................................................17 八、心得体会...................................................................................17 九、参考文献...................................................................................18 模拟家用风扇控制器的设计 一、设计目标 设计并制作一个模拟家用风扇控制器。 二、设计要求 1、控制器面板为:按钮三个,分别为风速、类型和停止,LED指示灯六个,指示风速强、中、弱,类型为睡眠、自然和正常。 2、电扇处于停转状态时:所有指示灯不亮,只有按下“风速”键时,才会响应,进入起始工作状态;电扇在任何状态,只要按停止键,则进入停转状态。 3、处于工作状态时有: (1) 初始状态为:风速-“弱”,类型-“正常”; (2) 按“风速”键,其状态由“弱”→ “中” → “强” → “弱” …… 往复循环改变,每按一下按键改变一次; (3) 按“类型”键,其状态由“正常” → “睡眠” → “自然” → “正常” …… 往复循环改变; 4、风速:风速的弱、中、强对应于电扇的转动由慢到快。 5、风速类型的不同选择分别为: (1) 正常 电扇连续运转; (2) 自然 电扇模拟自然风,即转4s,停8s; (3) 睡眠 电扇慢转,产生轻柔的微风,运转 8s,停转8s; 6、按照风速与类型的设置输出相应的控制信号。 三、总体设计 1.8253定时/计数器通道0定时控制步进速度,通道2和3定时电机的转停时间,8255的PA0控制步进电机的转停。 2.8255 的C口输出控制脉冲,经74452电路驱动电路。B口输出控制LED显示风扇当前的状态。 四、硬件设计 由于本设计主要是用步进电机的控制来模拟家用风扇控制器,所以电路是在步进电机控制系统的电路作了一些修改。除利用了PC机本身资源外(如中断资源),还利用了平台上的8253计数/定时器、8255并行接口单元,LED指示灯电路等,再加上电机的驱动电路,便构成以风扇电机控制电路。 硬件原理图如图1: 图1: 硬件原理图 五、软件设计 本设计通过软件编程使8253通道0输出定时信号申请中断,CPU发出命令由8255的下C口输出脉宽信号来控制步进电机的走步。8253的定时时间决定了电机转动的快慢。电机的转动和停止则是通过8255的PA0端子输出高低电平来继续或暂停8253通道0的计数从而控制中断申请来实现的。用8253的通道1和2一起来定时控制电机转动和停止时间的长短。 1.总体设计思路 控制系统分四个功能模块,分别是风速设置、类型设置、默认状态运行、退出系统,在前四个功能块中都设置了ESC键来取消或暂停执行当前操作。程序中同时提供三个操作界面,一个主菜单和两个子菜单界面,进行可视控制。 (1) 风速设置 风速即为电机转速设置,风速分为强、中、弱三种,对应不同的电机转速。根据赋给计数器的计数初值,我们可以计算出步进电机各相脉宽信号的频率和电机转速,也可以反过来根据对电机转速要求,计算并调整计算初值。 这里采用的是8253的0号计数器和方波产生方式,输入时钟为f=46875hz,设计数初值为n,要求转速为0.25转/秒,对四相步进电机而言即为5步/秒,则有: f / n = 5 n=f/5=46875/5=9375 反过来,当计数器初值确定时,决定了电机的转速,如计数初值为625时,有电机转速为1步每秒(本设计中的慢风速);当计数初值为125时,电机转速为375步每秒(本设计中的快快速)。具体设置初值及风速见表1。 风速 步速 转速 计数初值 慢 75 3.75 625 中 125 6.25 375 快 375 18.75 125 表1:风速设置初值 (2)风的类型设置 风的类型有:正常、自然、睡眠三种。 风的类型的不同选择,用FLAG0来记录状态: a) 正常 电扇连续运转。FLAG0=2 b) 自然 电扇模拟自然风,即转4s,停8s。FLAG0=0 c) 睡眠 电扇慢转,产生轻柔的微风,运转 8s,停转8s。FLAG0=1 电机的运转是通过让8255的A0口输出高电平到8253的GATE0使其0号计数器继续工作,并开放中断进入循环等待中断状态。A0口为低电平使8253的0号计数器暂停计数,则无法产生中断信号,电机停止转动。 电扇的运转和停转的时间是由8253的通道1和通道2两个计数器一起来定时的。通道1的输入时钟为f=46875hz,设计数初值为46875,则会产生1s的定时。通道1的OUT1作为通道2的输入脉冲,输入的计数初值为N,则定时的时间为N秒。我们需要的是定时4s和8s,定时中断到修改8255的A0口的输出的电平和下次计数的初值就可以实现风的不同类型。风的类型为正常时,不用启用计数器2产生中断,让计数器0一直运行。睡眠时,通道2的计数初值一直为8,不用修改。如果是自然就得修改了。 (3)中断子程序1 在由8253定时器通道0产生的中断子程序1中,将值为11001100B的NUM内存单元循环左移或右移一位,通过8255的下C口输出低四位,控制步进电机的相序变化,从而使电机连续转动。 (4)中断子程序2 8253定时器通道2产生的中断子程序2中,修改输入到8255的A0口的电平值,控制电机的转停,令NUM1=0,每次求反,输出到8255的A口。根据当前选择的风的类型FLAG0以及当前所处的状态,修改通道2的计数初值。 (5)菜单界面设置 利用DOS下的BIOS功能调用,设计出彩色的形象而又易于操作的界面. 使用类型10H中断,可以实现对屏幕的完整的控制。常用的彩色文本功能的参数设置见表2。 AH=0 设置显示方式 AL=3 80×25 彩色方案 AH=1 设置光标类型 CH= 位 4-0为光标起始行 CL= 位 4-0为光标结束行 AH=2 设置光标位置 DH= 行 DL= 列 AH=9 在光标位置写属性/字符 CX= 要写的字符数 AL= 要写的字符 AH=11 选择彩色调色板 BH= 调色板ID(0-127) BL= 调色板ID的颜色 AH=19 写字符串 ES:BP= 指向字符串 CX= 字符串的长度 BH= 页号 表2:彩色文本功能的参数设置 2. 对步进电机的控制 1、用8255并行接口控制A、B、C的通断。 8255A的CS端可接地址200~207H。实验室中,用LED指示灯通断模拟步进电机绕组的通电情况。8255A工作于方式0。8255A内部结构图如图2。 端口A地址(00): 200H 端口A地址(01): 201H 端口A地址(10): 202H 控制端口地址(11): 203H   图2:8255A的内部结构 8255与步进电机连接示意图如图3所示。             图3:8255与步进电机连接     8255控制字如图4所示:               图4:8255控制字     (1)、控制方法: 速度选择方式,可通过键盘、转换开关控制。 A口工作于输入方式,接受速度选择信号,B口工作于输出方式,控制A、B、C的通断。用LED指示灯模拟步进电机的工作,输入为“0”时,LED指示灯点亮,;为“1”时熄灭。 (2)、设置8255A的方式控制字 MOV DX,203H MOV AL,90H ;A口为输入,B口为输出 MOV DX,AL ;送控制字 3.步进电机的速度控制 调节步进电机绕组通电时间,即可调整速度(频率)。 (1).1ms(1KHZ)的软件延迟程序: 设系统的CPU的频率为8MHZ,则时钟节拍为:0.125微秒。执行PUSHF、POPF、LOOP指令需23个节拍。延迟1秒要循环的次数: DELAY PROC NEAR PUSH CX STAR20T: MOV CX,347 ;送循环次数 LP1: PUSHF ;PUSHF、POPF、LOOP需23个节拍。 POPF LOOP LP1 POP CX RET DELAY ENDP (2)、采用8253A定时器控制定时时间 4.程序流程图 (1)主程序流程图如图5 图5: 主程序流程图 (2)中断服务子程序一的框图如图6 图6: 中断服务子程序二 (3)中断服务子程序二框图如图7 图7: 中断服务子程序二 六、程序清单 DSEG SEGMENT CLOCK0 EQU 290H CLOCK1 EQU 291H CLOCK2 EQU 292H CLOCKC EQU 293H PA55 EQU 280H PB55 EQU 281H PC55 EQU 282H P55C EQU 283H INTNUM DB 0DH MAMES DB 0DH,0AH DB"*************WELCOME TO FUN CONTROL SYSTEM*************",0DH,0AH,'$' MAMU DB "1.SET UP SPEED",0DH,0AH DB "2.ROTATING WITH FIXED STEP",0DH,0AH DB "3.CONTINUAL ROTATING",0DH,0AH DB "4.EXIT",0DH,0AH DB "*******************PLEASE INPUT CHOICE:$" MENU1 DB 0DH,0AH,0DH,0AH DB "F6.ROTATING SPEED IS 3.75R/S",0DH,0AH DB "F7.ROTATING SPEED IS 6.25R/S",0DH,0AH DB "F8.ROTATING SPEED IS 18.75R/S",0DH,0AH DB "INTER ESC TO EXIT",0DH,0AH DB "*******************PLEASE INPUT CHOICE:$" MENU2 DB 0DH,0AH,0DH,0AH DB "1.CLOCKWISE",0DH,0AH DB "2.ANTI_CLOCKWISE",0DH,0AH DB "INTER ESC TO EXIT",0DH,0AH DB "*******************PLEASE INPUT CHOICE:$" MENU3 DB 0DH,0AH,0DH,0AH DB "PLEASE INPUT THE NUMBER OF STEP:$" MENU4 DB 0DH,0AH,0DH,0AH DB "CONTINUAL ROTATING!",0DH,0AH DB "INTER ESC TO EXIT",0DH,0AH,'$' EROMS DB 0DH,0AH DB "YOUR CHOISE IS INVALID! PLEASE CHOOSE AGAIN",'$' F0 DB 0DH,0AH DB "ROTATING SPEED IS:$" F6 DB "3.75R/S",0DH,0AH,'$' F7 DB "6.25R/S",0DH,0AH,'$' F8 DB "18.75R/S",0DH,0AH,'$' SPEDM DW F6,F7,F8 CLCMS DB 0DH,0AH DB "DIRECTION IS CLOCKWISE",0DH,0AH,'$' ANTMS DB 0DH,0AH DB "DIRECTION IS ANTI_CLOCKWISE",0DH,0AH,'$' QUITMS DB "ENTER ESC TO EXIT",0DH,0AH,'$' INTSEG DW ? INTOFF DW ? MCHOC DW STSED,STDIR,ROTFX,CTROT SPEDN DW 625,375,125 SPEED DW 46875 FLAG1 DB 0 FLAG0 DB ? BUFFER DB 4 DB ? DB 4 DUP(?) CW10 DW 10 INTIMR DB ? TURN DB 11001100B DSEG ENDS STACK SEGMENT PARA STACK 'STACK' DB 100 DUP(?) STACK ENDS CSEG SEGMENT ASSUME CS:CSEG,DS:DSEG,SS:STACK MAIN: MOV AX,DSEG MOV DS,AX MOV AH,35H MOV AL,0DH INT 21H MOV INTSEG,ES MOV INTOFF,BX PUSH DS MOV AX,CS MOV DS,AX MOV DX,OFFSET INTPROC MOV AH,25H MOV AL,0DH INT 21H POP DS IN AL,21H MOV INTIMR,AL AND AL,11011111B OUT 21H,AL MOV DX,CLOCKC MOV AL,00110110B OUT DX,AL MOV DX,P55C MOV AL,10000000B OUT DX,AL STI OMANU: MOV DX,OFFSET MAMES MOV AH,09H INT 21H MOV DX,OFFSET MAMU INT 21H MOV AH,01H INT 21H CMP AL,'1' JB ERROR CMP AL,'5' JA ERROR JE EXIT AND AL,0FH DEC AL MOV AH,00H SHL AX,1 MOV BX,OFFSET MCHOC ADD BX,AX CALL [BX] JMP OMANU ERROR: MOV DX,OFFSET EROMS MOV AH,09H INT 21H JMP OMANU EXIT: MOV AL,INTIMR OUT 21H,AL PUSH DS MOV DX,INTOFF MOV AX,INTSEG MOV DS,AX MOV AH,25H MOV AL,0DH INT 21H POP DS MOV AH,4CH INT 21H STSED PROC NEAR PUSH AX PUSH DX PUSH BX OMENU1: MOV DX,OFFSET MENU1 MOV AH,09H INT 21H MOV AH,00H INT 16H CMP AL,1BH JZ EXIT1 CMP AH,59 JB ERROR1 CMP AH,66 JA ERROR1 SUB AH,59 MOV BH,0 MOV BL,AH SHL BL,1 MOV AX,SPEDN[BX] MOV SPEED,AX MOV DX,OFFSET F0 MOV AH,09H INT 21H MOV DX,SPEDM[BX] INT 21H JMP EXIT1 ERROR1: MOV DL,0AH MOV AH,02H INT 21H MOV DL,0DH INT 21H MOV DX,OFFSET EROMS MOV AH,09H INT 21H JMP OMENU1 EXIT1: POP BX POP DX POP AX RET STSED ENDP STDIR PROC NEAR PUSH DX PUSH AX OMENU2: MOV DX,OFFSET MENU2 MOV AH,09H INT 21H MOV AH,01H INT 21H CMP AL,1BH JE EXIT2 CMP AL,'1' JE CLFLG CMP AL,'2' JE ANTFLG MOV DX,OFFSET EROMS MOV AH,09H INT 21H JMP OMENU2 CLFLG: MOV FLAG1,0 MOV DX,OFFSET CLCMS MOV AH,09H INT 21H JMP EXIT2 ANTFLG: MOV FLAG1,1 MOV DX,OFFSET ANTMS MOV AH,02H INT 21H JMP EXIT2 EXIT2: POP AX POP DX RET STDIR ENDP ROTFX PROC NEAR PUSH DX PUSH CX PUSH BX PUSH AX PUSH SI OMENU3: MOV DX,OFFSET MENU3 MOV AH,09H INT 21H MOV DX,OFFSET BUFFER MOV AH,0AH INT 21H MOV CL,BUFFER[1] CMP CL,3 JA ERROR3 LEA SI,BUFFER ADD SI,2 MOV CH,00H MOV AX,00H NEXT: MUL CW10 MOV BL,[SI] AND BX,000FH ADD AX,BX INC SI LOOP NEXT MOV CX,AX MOV FLAG0,0 MOV DX,CLOCK0 MOV AX,SPEED OUT DX,AL MOV AL,AH OUT DX,AL MOV DX,PA55 MOV AL,0FFH OUT DX,AL STI AGAIN1: CMP CX,00H JE EXIT3 MOV AH,06H MOV DL,0FFH INT 21H CMP AL,1BH JE EXIT3 CMP FLAG0,0 JE AGAIN1 DEC CX MOV FLAG0,0 JMP AGAIN1 ERROR3: MOV DX,OFFSET EROMS MOV AH,09H INT 21H JMP OMENU3 EXIT3: CLI MOV DX,PA55 MOV AL,00H OUT DX,AL POP SI POP
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服