微机原理课程设计指导书教材.docx

上传人:b****6 文档编号:4951765 上传时间:2022-12-12 格式:DOCX 页数:15 大小:21.22KB
下载 相关 举报
微机原理课程设计指导书教材.docx_第1页
第1页 / 共15页
微机原理课程设计指导书教材.docx_第2页
第2页 / 共15页
微机原理课程设计指导书教材.docx_第3页
第3页 / 共15页
微机原理课程设计指导书教材.docx_第4页
第4页 / 共15页
微机原理课程设计指导书教材.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

微机原理课程设计指导书教材.docx

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

微机原理课程设计指导书教材.docx

微机原理课程设计指导书教材

 

《微机原理及应用》课程设计指导书

 

软件按照学号末尾选做

 

东华大学信息科学与技术学院自动化系

2015年9月1日

 

一、课程设计目的

本课程设计是继《微机系统及应用》课程之后的一次综合性设计、实验训练。

根据微机系统及应用课程教学的重点和主要知识点及工程实际需要,设置汇编语言程序设计、PC机内部接口和8086系统接口电路设计等设计题目。

要求学生综合本课程和其它相关课程中学到的80X86系统结构、汇编语言设计、典型接口芯片、电路电子技术等相关知识进行程序设计、硬件接口电路设计和调试,系统地掌握微机原理和接口技术的相关知识,实现知识的融会贯通。

要求学生通过课程设计的学习,提高设计汇编语言程序的能力和技巧,培养实现一个简单应用系统功能的硬件软件设计能力。

二、课程设计内容

一)汇编语言程序设计及调试

0)PC机实时时钟的设计

利用PC机现有的硬件和软件资源设计程序,以实现在显示器上显示XX(时):

XX(分):

XX(秒)。

(1)设计思路

PC机系统板上使用一片8253,其地址为40H—43H,其通道0以方式3工作,每55ms向中断控制器8259AIRQ0端发一次中断请求。

本设计题要求借用原有电路,重新设置8253的计数器0每10ms产生一次中断,100次中断后加1秒,然后调整时、分、秒并显示在屏幕上。

(2)实时时钟的功能

按下任意键开始显示数据区中存放的时间值,并且每秒更新一次,运行中按下空格键则停止运行并返回DOS。

程序中应保护原系统的08H中断矢量以便退出时恢复原系统的设置。

(3)题目的要求

①PC机实时时钟的基本程序如附录一,请根据中断服务程序设计时钟时、分、秒调整的中断报务程序,然后调试实现时钟的基本功能

②在原有程序基础上,增加键盘输入字符功能,可通过修改时、分、秒的数据,实现实时时钟可调整功能。

③在原有程序基础上,设计美观的时钟显示方式。

1)光条式菜单程序设计

一个多功能的软件通常以菜单为程序界面,用户可以通过菜单直观地选择各项功能。

(1)设计思路

用汇编语言设计的菜单程序应主要包括3项内容:

①设计界面

要求美观清晰,操作简便,菜单项简洁可用一行表示。

②菜单项选择

利用“色带”选择菜单项。

色带是颜色鲜明的条形光带,可以覆盖一个菜单项,用户利用“↑”、“↓”、“←”、“→”键移动色带位置,然后按下回车键,被色带覆盖的菜单项就被选中。

③菜单项程序的组织和调用

菜单项较多时,可为每一个菜单项设计一个独立的菜单项程序,采用JMP、CALL指令调用程序段;菜单项较少时,不必为第一个菜单项设计一个独立的程序,此时界面显示、菜单项选择和菜单项程序可包含在一个程序中。

(2)关键技术

①定位显示彩色字符串

利用BIOS中的INT10H的13H号功能可以设计一个定位显示彩色字符串的程序段

调用:

AH=13H,AL=写方式:

0属性在BL中,字符串中仅含字符码,写后光标位置

不被修改

1属性在BL中,字符串中仅含字符码,写后修改光标

位置;

BH=页;

BL=待显字符串的属性,07H表示正常显示,0FH表示黑底白字,51H

表示品红色背景蓝色字符串

CX=待显字符串的长度;

DH=待显字符串首字符的行值

DL=待显字符中首字符的列值

BP=待显字符串首字符在附加段的偏移地址行值

②色带的生成和移动

在调用上一个字符显示程序时,将待显字符串的属性设为51H,色带就生成;设为0FH时,色带就消失。

使当前色带消失,然后在下一个位置上生成色带,就达到色带的移动。

③设置一个NN单元

存放色带的位置,NN单元的内容跟踪色带位置的变化。

利用NN单元的值可以计算出色带位置的行号和色带覆盖菜单项字符的偏移地址。

(3)题目要求

①单级菜单程序见附录二,调试程序并分析程序以理解程序的功能。

②在原有程序的基础上,设计程序实现二级菜单功能。

2)波形显示程序设计

试利用PC机显示器软件中断(INT10H)功能(VGA模式640*480),设计一个波形显示程序。

显示器水平方向为时间轴,垂直方向为信号幅度。

测试信号为正弦波信号和三角波信号。

要求:

基本要求:

能显示正弦波波形和三角波形(50Hz)。

扩展:

在基本要求基础上,能通过键盘实现时间刻度可变,信号增益可变。

3)四则混合运算器设计

要求:

设计一个可以进行2位数四则运算的计算器。

1、用按键输入数和运算符号(表达式最多两个运算符,如3*2+4);2、在显示器上运算结果(十进制数);3、具有清零和复位功能;5、具有连续运算功能。

4)图形切换

要求以菜单方式进行选择,有四种情况。

按下‘1’显示一个圆;按下‘2’显示一个三角形;按下‘3’显示一个矩形;按下‘q’,退出。

要求有提示。

5)字符串输入

随机出现一个不少于30个字符ASCII字符串,按空格键开始输入,如果输入的字符与原字符不相符,则用不同颜色标记。

要求有提示。

6)显示杨辉三角形

从键盘接收正整数N;屏幕显示杨辉三角形,显示N行信息.

7)图形移动

图形的移动可以分几步进行:

(1)先在屏幕上显示某个图形;

(2)延时适当时间;

(3)清除这个图形;

(4)改变图形显示的行列坐标;

(5)返回第

(1)步,重复上述过程。

 按下回车结束。

8)九九乘法表

用汇编语言编写九九乘法表在屏幕上显示出来,而且能按一定规律显示.1键为横向排列;2键为颜色输出;0键为取消该功能即退出该程序。

9).代码转换

完成一个字母或数制之间的转化程序,主程序分别具有5种可选择的子功能,按相应的字符可分别进入相应的子功能并在屏幕上显示结果,按“q”键退出。

5种可选择的子功能分别为:

  

(1)实现小写字母向大写字母的转换

   

(2)实现大写字母向小写字母的转换

(3)实现二进制数向十六进制数的转换

   (4)实现十六进制数向二进制数的转换

(5)实现十六进制数向十进制数的转换

(二)接口电路设计

1数据采集系统设计

利用8253,8255A,ADC0809设计一个基于8088最小系统的数据采集系统(不包含A/D转换器输入通道中的放大器和采样保持电路),最小系统的时钟频率为5MHz,8253时钟频率为1MHz。

要求每隔200μs采集一个数据,每次启动采集数据时采集时间为20ms(即每次启动一次,共采集100个数据)。

由一个开关手动启动数据采集,数据的I/O传送采用中断方式传送。

8259A地址为20H,21H,仅对8255A,8253地址进行译码,8255A、8253的端口地址为每位同学学号最后4位乘以8,如:

学号后4位是1820,则地址范围为1820*8——1820*8+8。

允许附加必要的门电路、地址译码器和单稳电路等。

完成:

(1)硬件设计,画出连接图(不包括8259A,用正规“米”字方格纸绘制)

(2)软件设计,包括8255A,8253的初始化及中断服务程序(只采集ADC0809的IN0通道)。

2键盘显示接口电路设计

利用8253,8255A设计一个基于8088最小系统的键盘显示接口电路。

键盘为4X4行列式键盘(0-9,A-F),显示器为7段代码LED,共4位,动态显示。

要求每隔200ms扫描一次键盘,解码后的键值在LED显示器上滚动显示。

假定最小系统的时钟频率为5MHz,8253时钟频率为1MHz,键盘软件消抖动。

8259A地址为20H,21H,不用参与译码,8255A,8253的端口地址为每位同学学号最后4位乘以8,如:

学号后4位是1820,则地址范围为1820*8——1820*8+8。

允许附加必要的门电路、地址译码器和单稳电路等。

(1)硬件设计,画出连接图(不包括8259A,用正规“米”字方格纸绘制)

(2)软件设计,包括8255A,8253的初始化及中断服务程序,键盘扫描子程序,LED显示子程序。

3交通灯控制系统

利用8253,8255A,8259等芯片设计一个基于8088最小系统的十字路口交通灯控制系统。

通行时间(绿灯)(或禁止时间(红灯))30秒,准备时间3秒,在准备时间里黄灯闪烁3次,闪烁频率为0.5秒,周而复始。

最小系统的时钟频率为5MHz,8253的时钟频率为1MHz。

8259A地址为20H,21H,不用参与译码,8255A,8253的端口地址为每位同学学号最后4位乘以8,如:

学号后4位是1820,则地址范围为1820*8——1820*8+8。

允许附加必要的门电路、地址译码器和单稳电路等。

(1)硬件设计,画出连接图(不包括8259A,用正规“米”字方格纸绘制)

(2)软件设计,包括8255A,8253的初始化及中断服务程序,控制程序等。

二、要求

要求每位同学独立完成一个汇编语言程序设计和调试,以及一个接口电路设计。

其中,程序设计部分共有0-9十套设计题,请各位同学按照自己的学号末位数对应选择所完成的题目。

汇编语言程序必须实现基本功能,在基本功能基础上要有所发挥,力求创新。

硬件接口电路设计,必须完成手绘原理图(通常画在描图纸上),编出相应的程序。

三、参考资料

1杨素行编微型计算机系统原理及应用,清华大学出版社

2吴宁主编80X86/Pentium微型计算机原理及应用,电子工业出版社

3孙德文主编微型计算机技术,高等教育出版社

4沈美明编IBM-PC汇编语言程序设计,清华大学出版社

 

附录一

STACKsegmentparastack'stack'

db256dup(0)

stackends

datasegmentparapublic'data'

countdb100

tenhdb'1'

hourdb'3',20h

tenmdb'1'

minutedb'0'

db':

'

tensdb'5'

seconddb'0',0dh,'$'

dataends

codesegmentparapublic'code'

startprocfar

assumecs:

code

pushds

xorax,ax

pushax

movah,01

int21h

cli

cld

movax,0000h

movds,ax

movsi,0020h

lodsw

movbx,ax

lodsw

pushax;seg

pushbx;offset

movax,data

movds,ax

assumeds:

data

movax,0000h

moves,ax

movdi,0020h

movax,offsettimer

stosw

movax,cs

stosw

moval,00110110b

out43h,al

movax,11932

out40h,al

moval,ah

out40h,al

inal,21h

pushax

moval,0fch

sti

forever:

movdl,0ffh

movah,06

int21h

jzdisp

cmpal,20h

jzexit

disp:

movdx,offsettenh

movah,9

int21h

moval,second

waitcha:

cmpal,second

jzwaitcha

jmpforever

exit:

cli

cld

popax

out21h,ax

moval,36h

out43h,al

moval,0

out40h,al

out40h,al

movax,0

moves,ax

movdi,4*8

popax

stosw

popax

stosw

sti

ret

startendp

timer:

pushax

pushcx

sti

moval,count

decal

movcount,al

jnzint_ret

movcount,100

moval,second

addal,1

aaa

movsecond,al

jncint_ret

moval,tens

adcal,0

aaa

andal,0fh

movtens,al

cmpal,6

jnzint_ret

moval,0

movtens,al

moval,minute

addal,1

aaa

movminute,al

jncint_ret

moval,tenm

adcal,0

aaa

andal,0fh

movtenm,al

cmpal,6

jnzint_ret

moval,0

movtenm,al

moval,tenh

movcl,4

shlal,cl

movcl,al

moval,hour

andal,0fh

oral,cl

addal,1

daa

cmpal,24h

jzreseth

movch,al

movcl,4

shral,cl

oral,30h

movtenh,al

moval,ch

andal,0fh

oral,30h

movhour,al

jmpint_ret

reseth:

movtenh,'0'

movhour,'0'

int_ret:

moval,second

andal,0fh

oral,30h

movsecond,al

moval,tens

andal,0fh

oral,30h

movtens,al

moval,tenm

andal,0fh

oral,30h

movtenm,al

moval,minute

andal,0fh

oral,30h

movminute,al

cli

moval,20h

out20h,al

popcx

popax

iret

codeends

endstart

 

附录二

stacksegmentparastack'stack'

db256dup(0)

stackends

 

dispmacrox,length,color

movax,1301h

movbx,color

movcx,length

movdh,yy

movdl,x

movbp,addr

int10h

endm

datasegment

l0db'MENU'

l1db'====================='

l2db'|EXAMPLE_1'

l3db'|EXAMPLE_2'

l4db'|EXAMPLE_3'

l5db'|RETURN'

l6db'====================='

LLEQU$-l6

XXequ(80-ll)/2

yydb?

nndw1

tabdw?

l2,l3,l4,l5

addrdw?

dataends

codesegment

assumecs:

code,ds:

data,es:

data

beg:

movax,data

movds,ax

moves,ax

movax,3

int10h

movyy,8

movaddr,offsetl0

last2:

dispxx,ll,0fh

addaddr,ll

incyy

cmpyy,15

jllast2

movnn,1

callcompute

dispxx+3,ll-6,51h

scan:

movah,1

int16h

jzscan

movah,0

int16h

cmpah,80

jedown

cmpah,72

jeup

cmpal,0dh

jeexit

jmpscan

down:

cmpnn,4

jescan

callcompute

dispxx+3,ll-6,0fh

incnn

callcompute

dispxx+3,ll-6,51h

jmpscan

up:

cmpnn,1

jescan

callcompute

dispxx+3,ll-6,0fh

decnn

callcompute

dispxx+3,ll-6,51h

jmpscan

exit:

moval,byteptrnn

movah,4ch

int21h

computeprocnear

movdi,nn

adddi,di

movax,tab[di]

addax,3

movaddr,ax

moval,byteptrnn

addal,9

movyy,al

ret

computeendp

codeends

endbeg

 

二、课程设计要求

要求每位同学独立完成至少一个软件题目的设计和调试、完成硬件部分实验。

汇编语言程序设计必须实现基本功能,在基本功能基础上要有所发挥,力求创新;硬件接口电路实验遵循硬件部分指导书要求,独立完成每个实验并解决实验中出现的各种问题。

四、参考资料

1杨素行编微型计算机系统原理及应用,清华大学出版社

2吴宁主编80X86/Pentium微型计算机原理及应用,电子工业出版社

3孙德文主编微型计算机技术,高等教育出版社

4沈美明编IBM-PC汇编语言程序设计,清华大学出版社

五、考核

1集中上机调试时间执行严格的考勤制度

2上机实考

3设计报告

注:

独立按时完成规定的工作任务,不得弄虚作假,不准抄袭他人内容,否则成绩以不及格计。

如发现程序或者课程设计报告雷同,一律记不及格。

 

六、设计报告(须手写,打印无效)

1、所完成课程设计的题目、内容、功能

2、设计思想、原理,模块的划分,程序的流程框图

3、每个程序中,所使用的DOS/BIOS功能调用,宏库文件列表清单;如涉及硬件编程,介绍相应的工作原理

4、程序源代码及注释。

5、调试过程,出现的问题及解决,运行结果,运行说明。

6、硬件工作原理分析,硬件电路接线图,相应的工作程序。

7、课程设计总结及展望。

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

当前位置:首页 > IT计算机 > 互联网

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

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