微机原理课设 模拟风扇Word下载.doc

上传人:b****1 文档编号:13251289 上传时间:2022-10-08 格式:DOC 页数:18 大小:322KB
下载 相关 举报
微机原理课设 模拟风扇Word下载.doc_第1页
第1页 / 共18页
微机原理课设 模拟风扇Word下载.doc_第2页
第2页 / 共18页
微机原理课设 模拟风扇Word下载.doc_第3页
第3页 / 共18页
微机原理课设 模拟风扇Word下载.doc_第4页
第4页 / 共18页
微机原理课设 模拟风扇Word下载.doc_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

微机原理课设 模拟风扇Word下载.doc

《微机原理课设 模拟风扇Word下载.doc》由会员分享,可在线阅读,更多相关《微机原理课设 模拟风扇Word下载.doc(18页珍藏版)》请在冰豆网上搜索。

微机原理课设 模拟风扇Word下载.doc

2.1硬件电路设计 3

2.2主程序设计 4

2.3功能选择模块的设计与实现 5

第3章结果测试及分析 6

3.1结果测试 6

3.2 结果分析 6

参考文献 7

附录 8

-16-

课程设计报告第1章总体设计方案

第1章总体设计方案

1.1设计原理

利用芯片8259,8255,8253,8279,分别控制中断,彩色发光二极管,时钟,和LED显示。

用受8253控制的8259给8255和8279产生每秒钟一次的中断,控制彩色发光二极管和LED的显示

1.2设计思路

首先需要一个总开关,用来控制电风扇的开关,可以用8255的输入端接收这一信号,信号为1时进入循环,此时彩色发光二极管通过红绿色灯显示风扇的转动效果,不为1时执行下一步。

其次需要实现的功能是三级风速的变换,可以设计三个变换延时的子程序,并根据键盘输入的不同来分别调用这三个步骤。

再次是要实现定时功能,用8253和8259实现这一功能并不困难,当时间减为零时,向8255的AL中输入O6AH,使彩色发光二极管显示初始化。

还有就是彩色发光二极管的显示问题,只需将8255中控制彩灯显示的数据起始值设为01101010,然后循环左移两位即可。

(1)提出方案

总开关是用来控制风扇的启动停止的,所以只需有两种状态,即开和关,所以,我选择用实验箱右下角的开关来实现这以功能。

为了能显示风扇的转动,我选用8255和实验箱右上角的彩灯来显示风扇的转动。

为了实现定时功能,我选用8253定时,8259产生中断,用中断程序来控制定时。

由于定时时要能显示时间及风扇转动时要有风速等一些功能的选择,所以还需要8279键盘显示接口芯片。

(2)方案论证

1)用8255和彩灯模拟风扇的转动,所以,可以将8255的B口设为工作在方式0,输出状态,然后通过输出不同二进制数来控制彩灯的红绿显示,通过循环移位使彩灯循环显示来实现风扇转动的模拟。

2)用右下角的开关控制风扇的转动与停止,所以,可将8255A口设为方式0,输入状态,来读取开关的状态,然后在程序中判断输入的是1还是0,进而控制风扇的转动与停止。

3)为了实现定时的功能,可以用8253的分频功能,将输入的脉冲信号分频,以输出1HZ的脉冲信号,然后输入到8259的INT0以产生周期为1s的终端,即每秒钟进一次中断,在中断服务程序中来实现时间的递减,当减到0时就将风扇停止,这样就实现了定时功能了。

4)为了实现三级风速的选择和定时功能、定时时间的变化显示等功能,需要8279的键盘显示功能,在键盘上设置三个键分别控制三级风速,在设置一个按键来控制定时功能的选择,当按下定时功能键后,还需要键盘的数字键来实现定时时间的设定。

最后就是用数码管显示时间的变化了。

1.3实验环境

·

硬件环境:

AEDK实验箱,PC机。

软件环境:

LCA88ET应用软件。

课程设计报告第2章详细设计方案

第2章详细设计方案

2.1硬件电路设计

硬件电路由键盘显示接口芯片8279构成,如图2.1所示。

K1

Pa0

   8255

Pb0……Pb7

cs

8279

Clk1out1

Gate18253clk0

Out0csgate0

Int0

8259cs

200~207

210~217

220~227

228~22f

DL8……DL1

cs

Pc0

Pc3

脉冲源

图2.1硬件电路连线图

8279是可编程设置型键盘/显示芯片,其特点是:

(1)可同时进行键盘扫描及文字显示;

(2)键盘扫描模式;

(3)传感器扫描模式;

(4)激发输入模式;

(5)8乘8键盘FIFO;

(6)具有接点消除抖动,2键锁定及N键依次读出模式;

(7)双排8位数或双排16位数显示器;

(8)右边进入或左边进入,16字符或8字符显示。

8255的A口工作在方式0,输入;

B口工作在方式0,输出;

C口工作在方式0,输出;

8253将脉冲源分频,产生周期为1s的脉冲信号,驱动8259产生周期为1s的中断。

8255、8259、8253、8279的端口地址分别接210H-217H、220H-227H、200H-207H、228H-22FH。

2.2主程序设计

图2.2主程序流程图

2.3功能选择模块的设计与实现

图2.3.1功能选择模块流程图

课程设计报告第3章结果测试及分析

第3章结果测试及分析

3.1结果测试

编译并连接程序,然后全速运行,在数码管上就显示计时器的时间,开始时是全0。

此时双色彩灯是初始状态,即只有一个灯是红的,其余三个灯都是绿色。

然后,将开关K1向上扳去,时8255的PA0口输入高电平,此时发现双色彩灯还是循环亮红灯,并且只有一个灯是红色的,其余都是绿色,这样,当以一定的速度循环点亮四个灯,就会模拟出风扇的转动了。

在风扇转动时,按下键盘上的A、B、C键,则彩灯会分别以不同的速度循环点亮红色,这样就实现了通过键盘实现三级风速的选择功能了。

当风扇在某一风速下转动时,按下D键,则进入定时状态,接着只需按下键盘上的数字键,设定好定时的时间,然后再按下D键,风扇就将在设定的时间内转动,并且在数码管上显示时间的变化,逐渐减少,当减到0时,风扇就将停止转动。

这就是定时功能的实现。

3.2结果分析

开始运行时,发现双色彩灯并不是按理想顺序逐渐点亮红色,后来,检查程序发现并没有错,最后,检查硬件连线时发现,8255B口得导线与双色灯的借口连接顺序错了,调整了连接顺序后彩灯理想的顺序循环点亮了。

风扇正常运行了,但是在定时时发现数码管上的时间没有变化,过了定时的时间后,风扇也没有停止,开始以为程序问题,单步运行后发现一切正常,然后检查数码管显示也没发现问题,这时将接在INT0上的导线拔下,接在发光二极管上发现没有电流,最后,断定是8253并没有产生脉冲信号给8259,导致中断服务程序无法进入,使得计时功能失效,所以才会出现刚才的问题,于是,我测试了几根好用的导线从新将8253的连线连一遍,再运行时定时功能就好用了。

实验结果基本实现了课设的要求,虽然有些问题和程序还会有些不稳定,但是所要求的功能都实现了,那些问题我会在以后进行完善。

课程设计报告参考文献

参考文献

[1]王爱英.计算机组成与设计[M]北京:

教育出版社,2003

[2]杨素行.微型计算机系统原理及应用[M]北京:

清华大学出版社,1996

[3]张雪兰.汇编语言程序设计[M]北京:

清华大学出版社,2006

[4]龚尚福.微机原理与接口技术[M]西安:

西安电子科技大学出版社,2003

[5]王中民.微型计算机原理[M]西安:

[6]沈美明,温冬婵.IBM-PC汇编语言程序设计[M]北京:

清华大学出版社,2001

课程设计报告附录

附录

datasegment

isenddb0

n0db0

n1db0

n2db0

keykinddb0

oldkeydb0

kinddb0

isstopdb0

numbersdb3fh,6,5bh,0,0,0,0,0,0,0

dataends

codesegment

assumecs:

code,ds:

data

main:

                 

cli

movax,cs

movds,ax

movkind,0

movkeykind,0ah

movoldkey,0ah

movkind,06

movisstop,0

movisend,0

movn0,0

movn1,0

movn2,0

callinitnumbers

callinit8255

callinit8259

callinit8253

callmodifyint

movdx,212h

moval,0

outdx,al

callcleardevice

calldisplay

movdx,22ah

moval,30h

moval,6ah

sti

dowhat:

pushax

dowait:

movdx,210h

inal,dx

testal,1

jzdowait

popax

callreadakey

cmpkeykind,0ah

jnza1

movkind,2

callgotonext

jmpaa

a1:

                   

cmpkeykind,0bh

jnza2

movkind,1

a2:

cmpkeykind,0ch

jnza3

movkind,0

a3:

cmpkeykind,0dh

jnza4

movdx,212h;

c口给0

moval,0

outdx,al

movisstop,0

moval,oldkey

movkeykind,al

callreading

movdx,212h

moval,0ffh

sti;

开中断,进入中断程序计时

a4:

cmpkeykind,0eh

jnzaa

push

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工作范文 > 制度规范

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1