微机原理课程设计终结版.docx

上传人:b****1 文档编号:2416907 上传时间:2022-10-29 格式:DOCX 页数:12 大小:302.33KB
下载 相关 举报
微机原理课程设计终结版.docx_第1页
第1页 / 共12页
微机原理课程设计终结版.docx_第2页
第2页 / 共12页
微机原理课程设计终结版.docx_第3页
第3页 / 共12页
微机原理课程设计终结版.docx_第4页
第4页 / 共12页
微机原理课程设计终结版.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

微机原理课程设计终结版.docx

《微机原理课程设计终结版.docx》由会员分享,可在线阅读,更多相关《微机原理课程设计终结版.docx(12页珍藏版)》请在冰豆网上搜索。

微机原理课程设计终结版.docx

微机原理课程设计终结版

微机原理课程设计

电子琴设计

姓名:

院系:

电气与信息工程系

专业:

电气工程及其自动化

班级:

学号:

时间:

2014.11.9-2014.11.23

指导老师:

 

目录

(一):

设计内容

(二):

元件及其功能说明

(三):

设计原理、思路及流程图

(四):

源程序

(五):

总结

(六)附原理图

 

(一)设计内容:

以8086作为处理器,用8255接八个开关K1~K8,做电子琴按键输入,以8253控制扬声器,拨动不同的开关,发出相应的音阶。

其中K1代表静音,K2发s的音,K3发la的音,K4发sol的音,K5发fa的音,K6发mi的音,K7发re的音,K8发do的音。

(二)元件与仪器:

1.主芯片8086

图1(8086引脚说明)

2.计时器8255A

8255是一个40引脚的双列直插式集成电路芯片.它具有三个8位口,其中A口和B口是单纯的数据口,供数据I/O使用。

而C口则既可以作数据口,又可以作控制口使用,用于实现A口和B口的控制功能。

数据传送中A口所需的控制信号由C口高位部分(PC7~PC4)提供,因此把A口和C口高位部分合在一起称之为A组;同样理由把B口和C口低位部分(PC3~PC0)合在一起称之为B组。

图2(8255A引脚图)

图3(8255A结构图)

3.并行控制器8253

8253是24脚双列直插式芯片,+5V电源供电。

每个芯片内部有3个独立的计数器(计数通道),每个计数器都有自己的时钟输入CLK,计数输出OUT和门控信号GATE。

数据总线D0~D7:

为三态输出/输入线。

片选信号CS,读信号RD,写信号WR,他们为输入信号,低电平有效。

地址线A1、A0,接到系统总线A1、A0上。

计数器时钟信号CLK,作用是在8253进行定时或计数工作是,每输入1个时钟脉冲信号CLK,便使计数值减1。

计数器门控选通信号GATE,计数器输出信号OUT,作用是计数工作时,每来1个时钟脉冲,计数器减1,当计数器值减为0,就在输出线上输出一OUT信号,以示定时或计数以到。

图4(8253引脚图)

图5(8253内部结构图)

4.其它若干元器件

扬声器、运放器等。

(三)设计原理、思路及流程图

 

驱动控制扬声器利用8253与8255A共同执行,利用8255A的PB0、PB控制扬声器的开启、关闭。

利用定时器8253驱动发声,CPU通过对8253通道2(端口地址42H)进行编程,利用8253方式3以不同的脉冲频率产生不同的输出方波,方波信号通过滤波器、功率放大器使扬声器发声。

 

表1音阶频率表

音阶

静音

Si

La

Sol

Fa

Mi

Re

Do

频率

0

493

440

392

349

329

293

241

计数值

0

2420

2712

3044

3419

3627

4072

4572

 

图6(硬件电路接线图)

 

 

图7(编程流程图)

(四)源程序

1)利用8个逻辑开关做为电子琴的键盘输入,高电平有效,则开关量由8255A的端口A方式0,输入方式(控制字AL=10010000B)送入CPU中。

此时调用的是7号系统功能调用,从标准设备输入单字符置入AL寄存器中,调用格式为:

MOVAH,07H

INT21H

2)CPU根据不同的开关量,将程序跳转到相应频率对应的8253的初始化,并给8253赋上频率对应的初始值,此时利用的是8253的通道2,方式3,产生不同频率的方波。

代码如下:

MOVAL,0B6H

OUT43H,AL

MOVAX,计数值

OUT42H,AL

MOVAL,AH

OUT42H,AL

3)要使8253OUT发出的方波频率与任务中的频率相同,则要给8253设置计数值,计算方法为:

计数值=输入时钟频率/任务要求频率

然后CPU将8255A的PB0、PB1置1,打开8253的GATE和与门(图2.1)。

代码如下:

INAL,61H

ORAL,03H

OUT61H,AL8253

4)产生的方波信号通过滤波器形成正弦信号,然后通过功率放大器,将正弦信号放大,驱动扬声器发声。

再然后CPU将8255A的PB0、PB1置0,关闭扬声器。

代码如下:

INAL,61H

ANDAL,0FCH

OUT61H,AL

再次输入开关量,则循环执行上面过程。

5)当输入为PC键盘任意键输入时,则整个程序退出。

此时是调用的6号和4CH号系统功能调用,系统输入键盘任意键,返回DOS。

调用格式为:

MOVDL,0FFH

MOVAH,6

INT21H

MOVAH,4CH

INT21H

全部程序:

STACKSEGMENTSTACK

STACKENDS

CODESEGMENT

ASSUMECS:

CODE

START:

MOVDX,63H

MOVAL,90H

OUTDX,AL;8255A初始化

INPUT:

MOVDX,60H

INAL,DX;8255A端口A输入

MOVAH,07H

INT21H;从开关输入信号

CMPAL,00000001B

JZK1

CMPAL,00000010B

JZK2

CMPAL,00000100B

JZK3

CMPAL,00001000B

JZK4

CMPAL,00010000B

JZK5

CMPAL,00100000B

JZK6

CMPAL,01000000B

JZK7

CMPAL,10000000B;判断从哪个开关输入并跳

JZK8;转到相应8253初始化

MOVDL,0FFH

MOVAH,6

INT21H

MOVAH,4CH;键盘任意输入则退出程

INT21H;序,返回DOS

K1:

MOVAL,0B6H

OUT43H,AL

MOVAX,0

JMPSING

K2:

MOVAL,0B6H

OUT43H,AL

MOVAX,2420

JMPSING

K3:

MOVAL,0B6H

OUT43H,AL

MOVAX,2712

JMPSING

K4:

MOVAL,0B6H

OUT43H,AL

MOVAX,3044

JMPSING

K5:

MOVAL,0B6H

OUT43H,AL

MOVAX,3419

JMPSING

K6:

MOVAL,0B6H

OUT43H,AL

MOVAX,3627

JMPSING

K7:

MOVAL,0B6H

OUT43H,AL

MOVAX,4072

JMPSING

K8:

MOVAL,0B6H

OUT43H,AL;8253初始化

MOVAX,4572;并给AX赋

JMPSING;值

SING:

OUT42H,AL

MOVAL,AH

OUT42H,AL;传送计数值到8253

INAL,61H

ORAL,03H

OUT61H,AL;打开扬声器

INAL,61H

ANDAL,0FCH

OUT61H,AL;关闭扬声器

JMPINPUT;跳转到INPUT

CODEENDS

ENDSTART

 

(五)总结

对于这次课程设计收获很大,不仅全面考虑整个系统还要明确分工合作,而且也巩固了我们在课堂上的学习,这次设计主要是定时计数器8253和并行通信接口8255A的拓展,对于扬声器的运用要使用8235的out2口等知识,同时为防止雷同,我们特地用了Altium_Designer对硬件电路画了原理图,在经济允许的情况下可将PCB图送去打板实现实物。

 

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

当前位置:首页 > 求职职场 > 面试

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

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