ImageVerifierCode 换一换
格式:DOC , 页数:18 ,大小:196.50KB ,
资源ID:7454814      下载积分:10 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/7454814.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(模拟电风扇工作.doc)为本站上传会员【xrp****65】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

模拟电风扇工作.doc

1、 沈阳航空航天大学 课 程 设 计 报 告 课程设计名称:微机系统综合课程设计 课程设计题目:模拟电风扇工作 院(系):计算机学院 专 业:计算机科学与技术 班 级: 学 号: 姓 名: 指导教师: 完成日期: 沈阳航空航天大学课程设计报告 目 录 第1章 总体设计方案 1 1.1 设计原理 1 1.2 设计思路 1 1.3 实验环境 2 第2章 详细设计方案 3 2.1 硬件电路设计 3 2.2 主程序设计

2、4 2.3 功能选择模块的设计与实现 5 第3章 结果测试及分析 6 3.1 结果测试 6 3.2 结果分析 6 参考文献 7 附 录 8 -16- 沈阳航空航天大学课程设计报告 第1章 总体设计方案 第1章 总体设计方案 1.1 设计原理 根据课程设计任务书的要求,要求实现模拟电风扇的工作,电风扇的开关利用输入量来控制,用可编程并行接口芯片8255的输入端接收这一信号,双色灯模拟风扇转动方向,可以设计三个变换延时的子程序,用小键盘ABC,来调用以控制不同的风速,定时显示利用受可编程定时器

3、芯片8253控制的可编程中断控制器8259给可编程并行接口芯片8255和键盘显示接口芯片8279产生每秒钟一次的中断,控制彩色发光二极管和LED的显示。 1.2 设计思路 采用汇编语言程序设计的方法结合硬件电路设计方法,利用AEDK实验箱上已有芯片8259,8255,8253,8279来实现模拟电风扇工作。首先需要一个总开关,用来控制电风扇的开关,可以用8255的输入端接收这一信号, 其次需要实现的功能是三级风速的变换,可以设计三个变换延时的子程序,并根据键盘输入的不同来分别调用这三个步骤,再次是要实现定时功能,当时间减为零时,向8255的AL中输入06AH,使彩色发光二极管显示初始化。

4、 (1) 提出方案 总开关是用来控制风扇的启动停止的,所以只需有两种状态,即开和关,所以,我选择用实验箱左下角的K1来实现这一功能。为了能显示风扇的转动,我选用8255和实验箱左上角的S双色灯来显示风扇的转动。为了实现定时功能,我选用可编程定时器芯片8253定时,可编程中断控制器8259产生中断,用中断程序来控制定时。由于定时要能显示时间及风扇转动时要用键盘控制风速等,所以还需要键盘显示接口芯片8279。 (2) 方案论证 1) 用8255和彩灯模拟风扇的转动,所以,可以将8255的B口设为工作在方式0,输出状态,然后通过输出不同二进制数来控制彩灯的显示,通过循环右移使彩灯循环显示来实

5、现风扇转动的模拟。 2) 用左下角K1控制风扇的转动与停止,所以,可将8255A口设为方式0,输入状态,来读取开关的状态,然后在程序中判断输入的是1还是0,进而控制风扇的转动与停止。 3) 为了实现定时的功能,可以用8253的分频功能,将输入的脉冲信号分频,然后输入到8259的INT0以产生周期为1s的中断,在中断服务程序中来实现时间的递减,当减到0时就将风扇停止,这样就实现了定时功能了。 4) 为了实现三级风速的选择和定时功能、定时时间的变化显示等功能,需要8279的键盘显示功能,还需要键盘的数字键来实现定时时间的设定。最后就是用数码管显示时间的变化了。 1.3 实验环境 ·硬件

6、环境:AEDK实验箱,PC机。 ·软件环境:LCA88ET应用软件。 沈阳航空航天大学课程设计报告 第2章 详细设计方案 第2章 详细设计方案 2.1 硬件电路设计 硬件电路由键盘显示接口芯片8279构成,如图2.1所示。 K1 Pa0     8255 Pb0 …… Pb7 cs 8279 Clk1 out1 Gate1 8253 clk0 Out0 cs gate0 Int0 8259 cs 200~

7、207 210~217 220~227 228~22f DR4…DR1…DY4…DY1 cs Pc0 Pc3 脉冲源 LED显示 JING 键盘输入 图2.1 硬件电路连线图 8279是可编程设置型键盘/显示芯片,其特点是:(1)可同时进行键盘扫描及文字显示;(2)键盘扫描模式; (3)右边进入或左边进入,16字符或8字符显示。8255是可编程并行接口芯片,A口工作在方式0,输入;B口工作在方式0,输出;C口工作在方式0,输出;8253将脉冲源分频,产生周期为1s的脉冲信号,驱动8259产生周期为1s的中断。8255、8259、8253、8279的端口地址分

8、别接210H-217H、220H-227H、200H-207H、228H-22FH。 2.2 主程序设计 主程序流程图如图2.2所示 图2.2 主程序流程图 2.3 功能选择模块的设计与实现 利用8279显示芯片显示倒计时,当数码管变为000时风扇停止转动。如图2.3.1所示 图2.3.1 功能选择模块流程图 沈阳航空航天大学课程设计报告 第3章 结果测试及分析 第3章 结果测试及分析 3.1 结果测试 编译并连接程序

9、然后全速运行,在数码管上就显示000。此时双色彩灯是初始状态,即只有一个灯是红的,其余三个灯都是绿色。然后,将开关K1向上扳去,此时8255的PA0口输入高电平,发现双色彩灯循环亮红灯,这样,当以一定的速度循环点亮四个灯,就会模拟出风扇的转动了。在风扇转动时,按下键盘上的A、B、C键,则彩灯会分别以不同的速度循环点亮红色(风速依次变大),这样就实现了通过键盘实现三级风速的选择功能了。当风扇在某一风速下转动时,按下D键,则进入定时状态,接着只需按下键盘上的数字键,设定好定时的时间,然后再按下D键,风扇就将在设定的时间内转动,并且在数码管上显示时间的变化,逐渐减少,当减到0时,风扇就将停止转动。

10、这就是定时功能的实现。 3.2 结果分析 开始运行时,发现双色彩灯并不是按理想顺序逐渐点亮红色,后来,检查程序发现并没有错,最后,检查硬件连线时发现,8255B口得导线与双色灯的接口连接顺序错了,调整了连接顺序后彩灯理想的顺序循环点亮了。 实验结果基本实现了课设的要求,虽然有些问题和程序还会有些不稳定,但是所要求的功能都实现了,那些问题我会在以后进行完善 。 沈阳航空航天大学课程设计报告 附 录 参考文献 [1]王爱英.计算机组成与设计 [M] 北京:教育出版社, 2003 [2]王中民.

11、微型计算机原理 [M] 西安: 西安电子科技大学出版社, 2007 [3]杨素行.微型计算机系统原理及应用 [M] 北京: 清华大学出版社, 1996 [4]张雪兰.汇编语言程序设计 [M] 北京: 清华大学出版社, 2006 附 录 data segment isend db 0 n0 db 0 n1 db 0 n2 db 0 keykind db 0 oldkey db 0 kind db 0 isstop db 0 numbers d

12、b 3fh,6,5bh,0,0,0,0,0,0,0 data ends code segment assume cs:code,ds:data main:                  cli mov ax,cs mov ds,ax mov kind,0 mov keykind,0ah mov oldkey,0ah mov kind,06 mov isstop,0 mov isend,0 mov n0

13、0 mov n1,0 mov n2,0 call initnumbers call init8255 call init8259 call init8253 call modifyint mov dx,212h mov al,0 out dx,al call cleardevice call display mov al,0 mov dx,22

14、ah out dx,al mov al,30h out dx,al mov al,6ah sti dowhat: push ax dowait: mov dx,210h in al,dx test al,1 jz dowait pop ax call readakey cmp keykind,0ah jnz a1 mov kind,2 call gotonext jmp aa a1:                   

15、 cmp keykind,0bh jnz a2 mov kind,1 call gotonext jmp aa a2: cmp keykind,0ch jnz a3 mov kind,0 call gotonext jmp aa a3: cmp keykind,0dh jnz a4 push ax mov dx,212h ;c口给0 mov al,0 out dx,al pop ax mov isstop,0 push ax mov a

16、l,oldkey mov keykind,al call reading mov dx,212h mov al,0ffh out dx,al pop ax sti ;开中断,进入中断程序计时 jmp aa a4: cmp keykind,0eh jnz aa push ax mov al,oldkey mov keykind,al pop ax aa: jmp dowhat gotonext:                  mov dx,

17、211h out dx,al ror al,1 ror al,1 continue: cmp kind,2 jnz mm1 call speed2 jmp mm3 mm1:                   cmp kind,1 jnz mm2 call speed1 jmp mm3 mm2: cmp kind,0 jnz mm3 call speed0 mm3: push ax mm33: cmp isstop,0 jz mm4 mov dx,211h mov a

18、l,0ffh out dx,al mov dx,210h in al,dx test al,1 jnz mm33 mov isstop,0 cli mm4: pop ax ret readakey: ;读键盘 push ax mov al,keykind mov oldkey,al mov dx,22ah in al,dx and al,0fh cmp al,0 jz gotoexit

19、 ;没按键就直接返回 mov al,40h mov dx,22ah out dx,al mov dx,228h in al,dx mov keykind,al gotoexit: pop ax ret speed1:                   push cx mov cx,18000 sp1: loop sp1 pop cx ret speed2: push cx mov cx,50000 sp2: loop sp2 pop cx ret speed0:

20、push cx mov cx,8000 sp0: loop sp0 pop cx ret readisd: key: ;读键盘,是D键返回 mov dx,22ah in al,dx and al,0fh cmp al,0 jz key mov al,40h out dx,al mov dx,228h in al,dx

21、 cmp al,0dh jnz key ret reading: ;计时时间输入  push ax mov n0,0 mov n1,0 mov n2,0 call readanumber mov n0,al call display call readanumber cmp al,0dh

22、 jz readexit mov ah,n0 mov n0,al mov n1,ah call display call readanumber cmp al,0dh jz readexit mov ah,n0 mov n0,al mov al,n1 mov n1,ah mov n2,al call display

23、 call readisd readexit: pop ax ret readanumber: key2: mov dx,22ah in al,dx and al,0fh cmp al,0 jz key2 mov al,40h out dx,al mov dx,228h in al,dx ret initnumbers: push bx mov bx,offset numbers ;初始化数码管显示数字表0-9 mov byt

24、e ptr[bx],3fh mov byte ptr[bx+1],6 mov byte ptr[bx+2],5bh mov byte ptr[bx+3],4fh mov byte ptr[bx+4],66h mov byte ptr[bx+5],6dh mov byte ptr[bx+6],7dh mov byte ptr[bx+7],7 mov byte ptr[bx+8],7fh mov byte ptr[bx+9],6fh pop bx ret display:              ;从左到右依次在三个数码管上显示

25、数字 call cleardevice mov bx,offset numbers mov al,80h mov dx,22ah out dx,al mov al,n0 xor ah,ah add bx,ax mov al,[bx] mov dx,228h out dx,al mov bx,offset numbers mov al,81h mov dx,22ah out dx,al mov dx,228h mov al,n1 xor ah,ah add bx,ax mo

26、v al,[bx] out dx,al mov bx,offset numbers mov al,82h mov dx,22ah out dx,al mov dx,228h mov al,n2 xor ah,ah add bx,ax mov al,[bx] out dx,al ret intcount: push ax push bx push dx cmp n0,0 jz next1 dec n0 jmp next4 next1: mov n0,9 cmp n1,

27、0 jz next2 dec n1 jmp next4 next2: mov n1,9 cmp n2,0 jz next3 dec n2 jmp next4 next3: mov n2,9 next4: cmp n0,0 jnz next5 cmp n1,0 jnz next5 cmp n2,0 jnz next5 mov isstop,1 mov dx,212h mov al,0 out dx,al next5: call display pop dx

28、 pop bx pop ax iret init8255: mov al,90h mov dx,213h out dx,al ret init8259: mov al,13h mov dx,220h out dx,al mov dx,221h mov al,30h out dx,al mov al,3 out dx,al mov al,0feh out dx,al ret modifyint: push ds push bx push ax xor ax,ax

29、 mov ds,ax mov bx,30h*4 mov ax,offset intcount mov [bx],ax mov ax,8100h mov [bx+2],ax pop ax pop bx pop ds ret init8253: push ax mov al,35h mov dx,203h out dx,al mov ax,0ffffh mov dx,200h out dx,al mov al,ah out dx,al mov al,75h mov dx,2

30、03h out dx,al mov ax,27 mov dx,201h out dx,al mov al,ah out dx,al pop ax ret cleardevice: ;清空显示内存 push ax push dx mov al,0c1h mov dx,22ah out dx,al wait1: mov dx,22ah in al,dx test al,80h jnz wait1 pop dx pop ax ret cod

31、e ends end main 沈阳航空航天大学课程设计报告 课程设计总结: 通过这次课程设计,我也发现了许多在学习中没有发现和注意到的缺点和不足,在调试运行时,程序不是很稳定,这很有可能是我对软件和硬件的结构和功能的了解还不是很透彻,加之第一次用汇编语言编写程序,编写出的程序来多多少少有一些缺陷,所以,这可能是运行时出现不稳定的主要原因;再有,调试程序时,一些调试方法不够熟练,很多调试方法和工具都不知道,有时一个很简单的错误费很大劲才能找出来。在本次课程设计中,老师和同学给予了我无私的帮助,这次课设我能顺利的完成,与大家的帮助是分不开的,在这要感谢,我会在以后的学习及工作中努力

32、完善自己的。 正是此次课程设计,让我对所学的微机原理知识有了更深的理解,对各芯片,特别是8255、8259、8253、8279等常用芯片的功能和使用方法有了更加深入的了解,也能相对熟练的运用这些芯片来实现各种功能。使我明白了许多当时在课堂上并没有理解的疑问,在用汇编语言编写程序时,使我更加熟悉各种语句的作用和使用,为我以后程序语言与硬件结合打下了坚实的基础。我觉得这次课程设计使得我综合地运用了我所学习的知识,令知识的脉络在我的脑中逐渐清晰,所以说学以致用才能起到最好的学习效果。 指导教师评语: 指导教师(签字):       年 月 日 课程设计成绩

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

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

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

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

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

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

客服