微机课设01之欧阳美创编.docx

上传人:b****3 文档编号:3891376 上传时间:2022-11-26 格式:DOCX 页数:25 大小:23.39KB
下载 相关 举报
微机课设01之欧阳美创编.docx_第1页
第1页 / 共25页
微机课设01之欧阳美创编.docx_第2页
第2页 / 共25页
微机课设01之欧阳美创编.docx_第3页
第3页 / 共25页
微机课设01之欧阳美创编.docx_第4页
第4页 / 共25页
微机课设01之欧阳美创编.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

微机课设01之欧阳美创编.docx

《微机课设01之欧阳美创编.docx》由会员分享,可在线阅读,更多相关《微机课设01之欧阳美创编.docx(25页珍藏版)》请在冰豆网上搜索。

微机课设01之欧阳美创编.docx

微机课设01之欧阳美创编

作者:

董秋成FFF这是下半学期微机原理课程设计的资料,希望12级电气及13级自动化可以参考一下,早做准备。

时间:

2021.01.01

创作:

欧阳美

实验形式与考核:

实验分为基础型实验(必做,30%)、综合型实验(必做,60%)与创新型实验(选做,10%)。

两人一组

进度安排:

共8周,第一周讲课;第二周每组自行设计;以后老师会将本次参加实习的所有学生分为三部分(我们是按12班,34班和56班),每部分进行1~2周的实验,要求是只要在没有课的时候都需去实验室实验,要按照上下课的时间进出实验室并签到;第八周为实验报告的撰写,但最后交报告的时间会向后拖延2~3周。

实验报告要求:

要求包括基本设计思路,硬件连接,软件框图和程序代码,基础与综合题除代码可打印之外必须手写,创新题需单独写成报告。

以下是我们这次的基础题和综合题,每年的题目都几乎相同,改动的地方很少。

其中,综合型题目选题要求是12班从15题中选,34班从610题中选,56班从1115题中选。

在实验前便把每组选好的题目报给老师。

基础型题目:

8253、8255及8259与8086系统的连接如图所示,8255的A口接按键,B口接数码管,图为微机原理书上习题8.11的图

要求实现以下功能:

1.按键为00~0FH时显示低四位数字,大于0FH以后交替显示“H”和高四位数字;

2.显示高四位数字和“H”时,使其每隔1秒切换显示内容;

(以上两题为1、2班必选)

3.按键为00~0FH时显示低四位数字,并且循环显示0~N(N=1~F,为当前数字),每隔1秒切换一个数字;

4.按键数字大于0FH时,显示“H”,并使其亮1秒,灭1秒;

(以上两题为3、4班必选)

5.按键为00~0FH时显示低四位数字,大于0FH以后显示“H”;

6.显示“H”时,使其亮1.5秒,灭0.5秒。

(以上两题为5、6班必选)

综合型题目(任选2题):

1.通过实验台上PS2接口连接键盘,要求:

1)输入字符(0~F),转换成十进制后用数码管(1、2)显示(00~15);

2)用实验台上的数码管(3、4)显示输入的次数,计数范围0~99。

2.将实验台上的直流可调信号(范围0~5V)输出端与A/D转换器的IN0连接,

要求:

1)将该直流信号进行A/D转换(ADC0809,端口地址298H~29FH)输入到计算机中,采样频率0.5Hz;

2)通过实验台上的D/A转换器(DAC0832,端口地址290H~297H)输出一个与之对应的模拟电压量(范围0~5V)。

3.通过实验箱的麦克、喇叭与定时器实现数字录音机的功能,要求:

1)用ADC0809以10kHz的频率采集IN2输入的语音数据并存入内存,共采集50000个数据(录音);

2)然后使用8253控制喇叭发声(放音)。

4.利用8253、8255和中断系统实现以下功能:

1)使数码管实现秒表功能,显示数字00.00~10.00,每隔0.01秒数字变化一次;

2)读入8个开关的状态值,将这两位数字以16进制(范围00H~FFH)在8x8LED点阵模块上显示。

5.利用液晶模块显示以下文字,并实现横向和纵向的滚动:

天津大学自动化学院

6.用8253和8255记录实验台上脉冲按键的脉冲宽度,要求:

1)将脉冲宽度在实验台的液晶屏上显示(带小数点和单位);

2)在液晶屏上显示按键次数(显示方式—“按键次数:

***”)。

7.通过实验箱上的可调电压旋钮控制步进电机转速,要求:

1)根据可调电压的输出值,对应电机转速由0~100r/min,转速与电压复制成线性关系,可调电压的采样频率为0.5Hz;

2)将电机转速在数码管或液晶屏上显示输出。

8.通过实验台上PS2接口连接键盘,要求:

1)输入字符,并在实验箱的8x8LED点阵显示该字符;

2)用两种颜色各显示一次,并以周期0.5秒闪烁。

9.将实验台上的直流可调信号(范围0~5V)输出端与A/D转换器的IN0连接,要求:

1)将该直流信号进行A/D转换(ADC0809,端口地址298H~29FH)输入到计算机中,采样频率1Hz;

2)在PC机屏幕或实验台液晶屏上显示该信号的电压值(小数点后两位)。

10.通过PC机的键盘输入一串字符(以“$”作为结束符),并在实验台的液晶屏上显示显示输出,要求:

1)可显示基本的ASCII码(字母、数字、标点等);

2)在液晶屏上动态显示输入内容(包含空格、换行、回车等格式)。

11.利用定时器8253和外扩展的键盘—显示模块,实现时钟显示及时间设置功能:

1)时钟显示内容为“分:

秒”,即“MM.SS”;

2)P键用来启动时钟设置,通过键盘上的数字修改时间,参数在修改过程中处于闪烁状态,闪烁频率2Hz。

12.在实验台的液晶屏上以如下方式显示时钟:

1)动态显示“分:

秒”;

2)显示界面如下:

18:

35

13.将实验台上的直流可调信号(范围0~5V)输出端与A/D转换器的IN0连接,要求:

1)将该直流信号进行A/D转换(ADC0809,端口地址298H~29FH)输入到计算机中,采样频率1Hz;

2)在外扩展的LCD模块上显示该信号的电压值(精确到小数点后2位)。

14.通过PC机键盘控制步进电机转角,要求:

1)从键盘输入数字0~360,对应电机转角由0~360°,转角与数字大小成线性关系,输入数字的采样频率为5Hz;

2)将转角在液晶屏上显示。

15.通过实验台上PS2接口连接鼠标,要求:

1)在实验箱的液晶屏上显示小箭头,并根据鼠标的移动改变箭头的位置

2)刷新频率10Hz,并且使箭头限定在屏幕范围以内。

华丽丽的分割线【明明不华丽】

以上都是官方资料,下面说一下我自己感受的实验技巧

如果你是一个勤奋求学的少年,那么你大可在看完本篇日志后便开始着手设计与编程。

如果你跟我一样是个重度拖延症患者,那你大可不必担心,在到你们进实验室之前都可高枕无忧,在实验过程中解决即可。

现在说一下详细的实验过程:

到实验室的第一次,老师会分配给你一个实验台,在整个实验过程中你们组就用这块实验台,除非有特殊情况,否则不能随意更换【微机实验老师的脾气你们都懂(和善的眼神)】。

在实验台边坐定之后,就可以打开电脑和开发板了,老师尤其强调的是不能带电接线,如果被看到的话你又死定了(和善的眼神)

首先要说的是基础题不需要使用8259,直接把8253产生的脉冲接到8086上的INTR端即可。

有一个小工作是最好在去实验室前就做好的,就是检查一下需要用到的资源是否能正常工作,比如在基础实验中,最好写两个简单的小程序检查一下8253与8255是否工作正常【不正常的可能性非常大】,如果不正常的话就要协调老师解决了,不免又要跟老师费一番口舌(和善的眼神)

当各个芯片检查无误,能够正常工作后,就可以调试程序了。

拿出自己写的或者从别人那里拷来的程序,一点点调试运行成功,出现正确的现象之后,就可以招呼老师过来检查了。

老师会问你几个问题,或者让你加个功能,按她的要求做即可,所以,即使是从别人那里拷来的程序,也起码要做到看懂的水平……老师尤其爱问的是在入中断或出中断附近设置断点,单步运行,指出数码管显示的数字和8086内部的数据是如何传输的之类的问题。

基础型实验建议有所准备的同学在3小时内做完。

然后是综合型,选两个看(you)起(xian)来(cheng)简(cheng)单(xu)的题目,需要用到的液晶屏、双色led灯等资源的资料可以在上学期微机原理课的实验指导书中找到。

然后也是先检查资源是否能正常工作,然后调试程序即可。

需要提示的两点是,最好不要所有人一下同时做出同一个实验,否则太明显……如果自己写的程序实在无法正确运行且找不出毛病,还是乖乖拿来别人试好的程序先通过检查再说,否则夜长梦多【?

】,会把做其他实验的时间用完。

还是提醒一下千万不要冲撞老师……

创新型实验,XX即可,也可以自己想,建议别做电子琴,因为一XX全是电子琴,也会有好多人做电子琴,老师都吐槽了……

然后大概就没什么可说的了,课设这种东西嘛,想真正学到东西的同学可以好好做,真的能学到很多。

如果只是想水过去也不是什么难事。

以上。

以下(23333)是我当时的一些程序,希望能对大家有所帮助

8253测试程序:

DATASEGMENT

DATAENDS

STACKSEGMENT

STADW100DUP(?

TOPEQULENGTHSTA

STACKENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA,SS:

STACK,ES:

DATA

START:

MOVAX,DATA

MOVDS,AX

MOVES,AX

MOVAX,STACK

MOVSS,AX

MOVSP,TOP

MOVDX,0283H

MOVAL,36H

OUTDX,AL

MOVDX,0280H

MOVAX,03E8H

OUTDX,AL

MOVAL,AH

OUTDX,AL

MOVDX,0283H

MOVAL,76H

OUTDX,AL

MOVDX,0281H

MOVAX,03E8H

OUTDX,AL

MOVAL,AH

OUTDX,AL

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

8255测试程序:

datasegment

dataends

codesegment

start:

assumeds:

data,cs:

code

movdx,029bh

moval,90h

outdx,al

again:

movdx,0298h

inal,dx

movdx,0299h

outdx,al

jmpagain

codeends

endstart

必做程序(对应日志中必做题的3,4)

;数据段定义

DATASEGMENT

TABLEDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H;数码管段码

MESDB'PRESSANYKEYEXITTODOS',0DH,0AH,'$';提示信息

CS_REGDW?

;中断程序段基址

IP_REGDW?

;中断程序段偏移量

DATEENDS

;堆栈段定义

STACKSEGMENT

STADW100DUP(?

TOPEQULENGTHSTA

STACKENDS

;程序初始化

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA,SS:

STACK,ES:

DATA

START:

MOVAX,DATA

MOVDS,AX

MOVES,AX

MOVAX,STACK

MOVSS,AX

MOVSP,TOP

;显示提示信息

MOVDX,OFFSETMES

MOVAH,09H

INT21H

;初始化8255

MOVDX,0288H;控制端

MOVAL,90H;控制字

OUTDX,AL;写入

;初始化8253

MOVDX,0283H;控制端

MOVAL,36H;控制字

OUTDX,AL;写入

MOVDX,0280H;CLK1

MOVAX,03E8H;1000倍

OUTDX,AL;写入

MOVAL,AH

OUTDX,AL;再写入

MOVDX,0283H;控制端

MOVAL,76H;控制字

OUTDX,AL;写入

MOVDX,0281H;CLK2

MOVAX,03E8H;1000倍

OUTDX,AL;写入

MOVAL,AH

OUTDX,AL;再写入

;存储中断向量

CLI;关中断

MOVAX,350BH

INT21H

MOVAX,ES

MOVCS_REG,AX

MOVIP_REG,BX

PUSHDS

;设置新中断向量

MOVAX,SEGINTP

MOVDS,AX

MOVDX,OFFSETINTP

MOVAX,250BH

INT21H

POPDS

INAL,21H

ANDAL,0F7H

OUT21H,AL

LOP:

STI;开中断

JMPLOP;不停循环

;恢复原中断向量

INAL,21H

ORAL,08H

OUT21H,AL

MOVDX,IP_REG

MOVAX,CS_REG

MOVDS,AX

MOVAX,250BH

INT21H

LAST:

;返回DOS系统

MOVAH,4CH

INT21H

;中断子程序

INTPPROCFAR

MOVAH,01H

INT16H

JNZLAST

CLI;关中断

PUSHDX;保护寄存器

PUSHBX

PUSHAX

MOVBX,OFFSETTABLE;换码数据地址

MOVDX,0298H;取A口

INAL,DX

MOVDX,0299H;设定DX为B口

CMPAL,0FH;比较开关与0FH

JANEXT1;大于则跳

CMPAL,CL;比较开关与数码管(CL中存数码管的值)

JENEXT2;等于则跳

INCCL;数码管加一

MOVAL,CL

XLAT;查表

OUTDX,AL;输出到B口

JMPFINISH;结束

NEXT2:

;如果开关等于数码管

MOVCL,0;数码管置零

MOVAL,CL

XLAT;查表

OUTDX,AL;输出到B口

JMPFINISH;结束

NEXT1:

;如果开关大于0FH

INAL,DX;取数码管数据

CMPAL,00H;判断是否全灭

JENEXT3;是则跳

MOVCL,00H

MOVAL,CL;不是则置零

OUTDX,AL;输出到B口

JMPFINISH;结束

NEXT3:

;如果数码管全灭

MOVAL,76H;数码管置为H

OUTDX,AL;输出到B口

;结束

FINISH:

POPAX;恢复现场

POPBX

POPDX

MOVAL,20H

OUT20H,AL

STI;开中断

IRET

INTPENDP

CODEENDS

ENDSTART

综合题8

如果我没记错的话,这个程序是错的,当时没做出来,但是不知道哪里错了,所以就拿的别人的程序,大家注意一下〒_〒

;定义数据段

DATASEGMENT

;定义ASCII码从30H到7AH所有字符的形状

DATA30DB000H,07EH,0A1H,091H,089H,085H,07EH,000H

DATA31DB000H,000H,001H,0FFH,041H,000H,000H,000H

DATA32DB000H,061H,091H,089H,085H,083H,061H,000H

DATA33DB000H,066H,0A9H,091H,081H,081H,042H,000H

DATA34DB000H,005H,0FFH,045H,024H,014H,00CH,000H

DATA35DB000H,08EH,091H,091H,091H,091H,0F2H,000H

DATA36DB000H,04EH,091H,091H,091H,091H,07EH,000H

DATA37DB000H,0C0H,0A0H,098H,087H,080H,0C0H,000H

DATA38DB000H,06EH,091H,091H,091H,091H,06EH,000H

DATA39DB000H,07EH,089H,089H,089H,089H,072H,000H

DATA3ADB000H,000H,036H,036H,000H,000H,000H,000H

DATA3BDB000H,000H,036H,037H,001H,000H,000H,000H

DATA3CDB000H,000H,041H,022H,014H,008H,000H,000H

DATA3DDB000H,024H,024H,024H,024H,024H,024H,000H

DATA3EDB000H,000H,008H,014H,022H,041H,000H,000H

DATA3FDB000H,060H,090H,08DH,080H,080H,060H,000H

DATA40DB034H,04AH,085H,0BDH,0A5H,0BDH,042H,03CH

DATA41DB000H,03FH,048H,088H,088H,048H,03FH,000H

DATA42DB000H,06EH,091H,091H,091H,091H,0FFH,000H

DATA43DB000H,042H,081H,081H,081H,081H,07EH,000H

DATA44DB000H,03CH,042H,081H,081H,081H,0FFH,000H

DATA45DB000H,091H,091H,091H,091H,091H,0FFH,000H

DATA46DB000H,090H,090H,090H,090H,090H,0FFH,000H

DATA47DB000H,04EH,089H,089H,081H,081H,07EH,000H

DATA48DB000H,0FFH,010H,010H,010H,010H,0FFH,000H

DATA49DB000H,000H,081H,0FFH,081H,000H,000H,000H

DATA4ADB000H,080H,0FEH,081H,001H,002H,000H,000H

DATA4BDB000H,001H,082H,044H,028H,010H,0FFH,000H

DATA4CDB000H,003H,001H,001H,081H,0FFH,081H,000H

DATA4DDB0FFH,040H,020H,010H,020H,040H,0FFH,000H

DATA4EDB000H,0FFH,002H,00CH,030H,040H,0FFH,000H

DATA4FDB000H,07EH,081H,081H,081H,081H,07EH,000H

DATA50DB000H,070H,088H,088H,088H,088H,0FFH,000H

DATA51DB000H,07DH,082H,085H,081H,081H,07EH,000H

DATA52DB000H,071H,089H,08AH,08CH,088H,0FFH,000H

DATA53DB000H,046H,089H,089H,091H,091H,062H,000H

DATA54DB080H,080H,080H,0FFH,080H,080H,080H,000H

DATA55DB000H,0FEH,001H,001H,001H,001H,0FEH,000H

DATA56DB000H,0F8H,006H,001H,001H,006H,0F8H,000H

DATA57DB0FFH,002H,004H,008H,004H,002H,0FFH,000H

DATA58DB041H,022H,014H,008H,014H,022H,041H,000H

DATA59DB080H,040H,020H,01FH,020H,040H,080H,000H

DATA5ADB000H,0C1H,0A1H,091H,089H,085H,083H,000H

DATA5BDB000H,000H,000H,000H,000H,000H,000H,000H

DATA5CDB000H,000H,000H,000H,000H,000H,000H,000H

DATA5DDB000H,000H,000H,000H,000H,000H,000H,000H

DATA5EDB000H,000H,000H,000H,000H,000H,000H,000H

DATA5FDB000H,000H,000H,000H,000H,000H,000H,000H

DATA60DB000H,000H,000H,000H,000H,000H,000H,000H

DATA61DB000H,001H,07EH,091H,091H,091H,04EH,000H

DATA62DB000H,000H,00EH,011H,011H,009H,0FFH,000H

DATA63DB000H,012H,021H,021H,021H,01EH,000H,000H

DATA64DB000H,001H,0FEH,011H,011H,011H,00EH,000H

DATA65DB000H,012H,029H,029H,029H,029H,01EH,000H

DATA66DB000H,050H,090H,07FH,010H,010H,000H,000H

DATA67DB000H,07EH,091H,089H,089H,072H,000H,000H

DATA68DB000H,001H,00FH,010H,010H,008H,0FFH,000H

DATA69DB000H,000H,001H,05FH,011H,000H,000H,000H

DATA6ADB000H,000H,000H,0BFH,021H,002H,000H,000H

DATA6BDB000H,001H,011H,00AH,004H,0FFH,000H,000H

DATA6CDB000H,000H,001H,07FH,041H,000H,000H,000H

DATA6DDB000H,00FH,010H,01FH,010H,010H,00FH,000H

DATA6EDB000H,00FH,010H,010H,008H,01FH,000H,000H

DATA6FDB000H,00EH,011H,011H,011H,00EH,000H,000H

DATA70DB000H,030H,048H,048H,048H,03FH,041H,000H

DATA71DB000H,041H,03FH,049H,048H,04

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

当前位置:首页 > 初中教育 > 初中作文

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

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