微机原理课程设计报告文档格式.docx

上传人:b****7 文档编号:22857606 上传时间:2023-02-05 格式:DOCX 页数:14 大小:787.48KB
下载 相关 举报
微机原理课程设计报告文档格式.docx_第1页
第1页 / 共14页
微机原理课程设计报告文档格式.docx_第2页
第2页 / 共14页
微机原理课程设计报告文档格式.docx_第3页
第3页 / 共14页
微机原理课程设计报告文档格式.docx_第4页
第4页 / 共14页
微机原理课程设计报告文档格式.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

微机原理课程设计报告文档格式.docx

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

微机原理课程设计报告文档格式.docx

电路原理图(设计连接图):

3.汇编源程序代码

;

***********************功能说明*****************************

题目二利用D/A设计波形发生器

利用D/A设计一个波形发生器,能分别产生三角波、正弦波、锯齿波和方波,

至少设计一种波形切换方式。

功能:

本项目用到8255,DAC0832芯片

1产生四种波形

2键盘切换波形

3数码管显示波形号(1-三角波,2-正弦波,3-锯齿波,4-方波)

************************主程序******************************

io3EQU600h;

8255

io4EQU800h;

DAC0832

********************************数据段定义

datasegment

sin_wavedb200,195,181,159,131

db100,69,41,19,5,0,0;

正弦波幅值

LEDDB06H,5BH,4FH,66H;

共阴极段码表

dataends

********************************

codesegment

assumecs:

code,ds:

data

start:

movax,data;

建立DS段地址

movds,ax

calljian

********************************三角波

san:

movBx,255

SAN3:

MOVCX,BX

moval,0

movdx,io4

san1:

outdx,al;

三角波形上升段

calldelay

incal

loopsan1

movcx,BX

moval,BL

san2:

三角波形下降段

decal

loopsan2

************************************正弦波

sin:

movcx,11

movbx,0

leasi,sin_wave

sin1:

moval,[si][bx];

正弦波下降段

outdx,al

calldelay1

incbx

loopsin1

movcx,11

sin2:

正弦波上升段

outdx,al

decbx

loopsin2

***************************************锯齿波

juchi:

movBx,255

juchi1:

movcx,bx

moval,bl

juchi2:

下降沿

loopjuchi2

***************************************方波

fang:

fang1:

moval,bl;

高电平段

MOVal,0;

低电平段

****************************************延时

delayproc;

延时子程序一

pushax

pushbx

pushcx

pushdx

movcx,50

lp0:

nop

looplp0

popdx

popcx

popbx

popax

ret

delayendp

delay1proc;

延时子程序二

movcx,1250

lp1:

looplp1

delay1endp

****************************************键盘选波形

jianprocnear

jian1:

moval,10001000B;

c口高四位输入

MOVDX,io3+6H

OUTDX,AL;

送控制字

MOVAL,0

MOVDX,io3+4H

c口低四位为0即行输出为0

nokey:

inal,dx;

读c口高四位

andal,0f0H;

屏蔽c口低四位

cmpal,0f0H

jznokey;

无键按下则循环

calldelay1;

延时

inal,dx

shral,1;

列信息存于al低四位

shral,1

movbl,0;

初始列变量BL为0

movcx,4

jian2:

shral,1;

逐列检测,找出为0信号

jncjian3

incbl

loopjian2

jian3:

moval,10010001b;

c口低四位输入

movdx,io3+6h

outdx,al;

movdx,io3+4h

c口高四位为0即列输出为0

andal,0fh;

屏蔽高四位

cmpal,0fh

jzjian1;

出错从头来

movbh,0;

初始行变量为0

jian4:

jncjian5

incbh;

初始行变量BH为0

loopjian4

jian5:

shlbh,1

addbh,bl;

BH为键号

MOVCH,BH;

保存键号在ch中

MOVAL,BH;

数码管显示波行号

LEABX,LED;

1三角波2正弦波3锯齿波4方波

XLAT

MOVDX,IO3+2

OUTDX,AL

MOVBX,155;

幅值一

MOVDX,IO3

INAL,DX

cmpch,0

jzsan

cmpch,1

jzsin

cmpch,2

jzjuchi

cmpch,3

jzfang

ret

jianendp

codeends

endstart

4.实施结果

(1)键盘选择1——三角波

(2)键盘选择2——正弦波

(3)键盘选择3——锯齿波:

 

(4)键盘选择4——矩形波

5.课程设计体会

在为期近两周的微机原理课程设计中,我们小组利用所学微机的理论知识进行软硬件整体设计,同时锻炼了我们理论联系实际,提高我们的综合应用能力。

我们这次的课程设计是以微机为基础,设计并开发能输出多种波形(如三角波,正弦波,锯齿波,方波等)的发生器,同时能够通过8255A实现共阴极数码管数字的显示。

我们掌握了各个芯片(如0832,8255A等)的功能特性及接口方法,并能运用其实现一个简单的微机应用系统功能器件。

在平时的学习中,我们所学的知识都是课本上的,再机房的练习大家也都是分散对各个章节的内容进行练习。

因此,缺乏一种系统的设计锻炼。

在课程结束之后,这样的课程设计有助于我们将知识系统的总结在一起。

在这次的软件设计中,程序设计采用的是汇编语言。

同时运用Proteus软件进行芯片的连接与组合,进行调试仿真。

汇编语言具有速度快,可以直接对硬件进行操作的优点,它可以极好地发挥硬件的功能。

但是,汇编语言也存在编写的代码非常难懂,不好维护,难于调试的缺点。

因此,在大型的程序设计中,多采用C语言进行程序编译。

C语言简洁高效,是最贴近硬件的高级汇编语言,经过多年的发展,现已成为专业水平的高级语言。

由于真正意义上的程序设计还不多,因此还不是很得心应手,所以再设计中遇到一些问题和难点。

比如:

在程序设计中如何实现程序结构的最优化,以达到较高的质量,这是以后设计中要注意的问题。

这次课程设计,是我的动手能力得到了很大的提高,更使我们懂得理论知识的重要性,没有理论的指导一切实际行动都是盲目的,且实际操作使我们得到的理论知识得到很好的验证,增加对理论知识的理解。

6.参考文献

[1].陈继红,徐晨,王春明,徐慧。

《微机原理及应用》(第2版)[M]北京:

高等教育出版社2011.1,270-347

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

当前位置:首页 > IT计算机 > 计算机软件及应用

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

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