微机原理实验及其程序.docx

上传人:b****2 文档编号:2589027 上传时间:2023-05-04 格式:DOCX 页数:36 大小:60.30KB
下载 相关 举报
微机原理实验及其程序.docx_第1页
第1页 / 共36页
微机原理实验及其程序.docx_第2页
第2页 / 共36页
微机原理实验及其程序.docx_第3页
第3页 / 共36页
微机原理实验及其程序.docx_第4页
第4页 / 共36页
微机原理实验及其程序.docx_第5页
第5页 / 共36页
微机原理实验及其程序.docx_第6页
第6页 / 共36页
微机原理实验及其程序.docx_第7页
第7页 / 共36页
微机原理实验及其程序.docx_第8页
第8页 / 共36页
微机原理实验及其程序.docx_第9页
第9页 / 共36页
微机原理实验及其程序.docx_第10页
第10页 / 共36页
微机原理实验及其程序.docx_第11页
第11页 / 共36页
微机原理实验及其程序.docx_第12页
第12页 / 共36页
微机原理实验及其程序.docx_第13页
第13页 / 共36页
微机原理实验及其程序.docx_第14页
第14页 / 共36页
微机原理实验及其程序.docx_第15页
第15页 / 共36页
微机原理实验及其程序.docx_第16页
第16页 / 共36页
微机原理实验及其程序.docx_第17页
第17页 / 共36页
微机原理实验及其程序.docx_第18页
第18页 / 共36页
微机原理实验及其程序.docx_第19页
第19页 / 共36页
微机原理实验及其程序.docx_第20页
第20页 / 共36页
亲,该文档总共36页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

微机原理实验及其程序.docx

《微机原理实验及其程序.docx》由会员分享,可在线阅读,更多相关《微机原理实验及其程序.docx(36页珍藏版)》请在冰点文库上搜索。

微机原理实验及其程序.docx

微机原理实验及其程序

微型计算机原理实验指导书

河北大学电子信息工程学院

2010年10月

 

目录

实验一绘图实验………………………………………………………1

实验二显示实验……………………………………………………………5

实验三8255A控制交通灯实验………………………………7

实验四8253方波实验……………………………………………………9

实验五综合实验…………………………………………………………13

题目1计算机钢琴…………………………………………………………13

题目2步进电机控制………………………………………………………14

 

实验一绘图实验

一、实验目的

1、了解并掌握显示系统的编程原理。

2、熟悉并使用BIOS的相关功能调用。

3、掌握图形程序的设计方法。

二、实验内容

1、基本要求

在屏幕上绘出不同的彩色图形。

2、提高部分

在窗口中画出一个动态图形,按下任意键结束程序。

例如:

一个半径逐渐扩大或者逐渐缩小的圆。

三、背景知识

1、显示系统的编程原理

显示系统有两种工作方式:

字符方式和图形方式。

绘图程序需要设置显示器工作在图形显示方式,其基本的编程单位是像素。

绘制图形都是由“写像素点”操作完成。

像素点的位置可用3个参数表示,即页号、行号和列号。

屏幕的分辨率为行×列。

行号和列号都是从0开始编号的。

2、BIOS系统的相关功能调用

绘图程序主要采用的是INT10H中的图形方式功能调用。

输入功能可以采用BIOS或DOS系统的相关功能。

(1)(AH)=00H,设置屏幕显示方式。

(2)(AH)=0BH,选择屏幕背景色/选择调色板。

(3)(AH)=0CH,写像素点。

(4)(AH)=01H(INT16H时),屏幕初始化(清除窗口)或向上滚动。

3、绘制图形的设计方法

根据屏幕显示方式所确定的象素分辨率,在屏幕中按照逐个写像素点的方法画出各种图形。

在画出某图形时,可事先计算出构成图形的所有象素点的坐标,并以此来定义变量;也可在程序中根据数学公式,计算出某个像素点的行坐标和列坐标。

四、实验报告要求

报告内容:

实验名称、姓名、班级、学号、实验目的、实验步骤、完整的源程序代码、问题、收获及总结。

STACKSEGMENT

DW256DUP(?

TOPLABELWORD

STACKENDS

DATASEGMENT

ARRAYDW?

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA,SS:

STACK

START:

MOVAX,DATA

MOVDX,AX

MOVAX,STACK

MOVSS,AX

MOVSP,OFFSETTOP

MOVDX,ARRAY

PUSHAX

CALLCOLOR

CALLDRAW

CALLKEYB

POPAX

MOVAH,01H;设置显示方式00单色01彩色

INT10H

MOVAX,4C00H

INT21H

COLORPROCNEAR

MOVAH,00H;显示

MOVAL,10H

INT10H

MOVAH,0BH;设置调色板

MOVBL,08H;背景颜色

INT10H

RET

COLORENDP

DRAWPROCNEAR

MOVBX,00

MOVCX,200;列

MOVDX,100;行

MOVSI,300

MOVDI,100

HERE:

MOVAH,0CH;显示像素点

MOVAL,03H;点颜色,即三角形颜色

INT10H

INCCX

CMPCX,SI

JNZHERE

MOVCX,DI

INCDX

DECSI

INCDI

INCBL

CMPDX,SI

JNZHERE

MOVAH,01H

INT21H

RET

DRAWENDP

KEYBPROCNEAR

MOVAH,00H

INT10H

RET

KEYBENDP

CODEENDS

ENDSTART

交通灯

codeSEGMENT

ORG1000H

ASSUMECS:

code

START:

MOVDX,0FFDBH;控制端口

MOVAL,80H

OUTDX,AL

RED:

MOVDX,0FFD8H;PA

MOVAL,0B6H;1101_0110红灯亮

OUTDX,AL

MOVDX,0FFD9H;PB

MOVAL,0FDH;1111_0110红灯全亮

OUTDX,AL

CALLDELAY2

GREEN13:

MOVDX,0FFD8H;PA

MOVAL,0ADH;10101101绿灯

OUTDX,AL

MOVDX,0FFD9H;PB

MOVAL,0FDH;11111101

OUTDX,AL

CALLDELAY1

 

MOVCX,8H

YELLOW13:

MOVDX,0FFD8H;PA

MOVAL,09BH;10011011

OUTDX,AL

MOVDX,0FFD9H;PB

MOVAL,0FDH;11111101

OUTDX,AL

CALLDELAY2

MOVDX,0FFD8H;PA

MOVAL,0BFH;10111111

OUTDX,AL

MOVDX,0FFD9H;PB

MOVAL,0FDH;11111101

OUTDX,AL;

CALLDELAY2

LOOPYELLOW13

RED1234:

MOVDX,0FFD8H;PA

MOVAL,0B6H;1011_0110

OUTDX,AL

MOVDX,0FFD9H;PB

MOVAL,0FDH;1111_1101四个红灯全亮

OUTDX,AL

CALLDELAY2

GREEN24:

MOVDX,0FFD8H;PA

MOVAL,076H;01110110

OUTDX,AL

MOVDX,0FFD9H;PB

MOVAL,0FBH;11111011

OUTDX,AL

CALLDELAY1

MOVCX,8H

YELLOW24:

MOVDX,0FFD8H;PA

MOVAL,0F6H;11110110

OUTDX,AL

MOVDX,0FFD9H;PB

MOVAL,0F6H;11110110

OUTDX,AL

CALLDELAY2

MOVDX,0FFD8H;PA

MOVAL,0F6H;11110110

OUTDX,AL

MOVDX,0FFD9H;PB

MOVAL,0FFH;11111111

OUTDX,AL;

CALLDELAY2

LOOPYELLOW24

JMPRED

delay1PROCNEAR

PUSHAX

PUSHBX

PUSHCX

MOVAX,0FFh

R4:

MOVCX,0FFFh

R5:

DECCX

JNZR5

DECAX

JNZR4

POPCX

POPBX

POPAX

RET

delay1ENDP

delay2PROCNEAR

PUSHAX

PUSHBX

PUSHCX

MOVAX,03H

R3:

MOVBX,0AH

R2:

MOVCX,0FFFH

R1:

DECCX

JNZR1

DECBX

JNZR2

DECAX

JNZR3

POPCX

POPBX

POPAX

RET

DELAY2ENDP

CODEENDS

ENDSTART

8253方波实验

codeSEGMENT

ORG1000H

ASSUMECS:

code

start:

MOVDX,0FFE3H

MOVAL,0B7H

OUTDX,AL

MOVDX,0FFF2H

MOVAL,30H

OUTDX,AL

MOVAL,14H

OUTDX,AL

codeENDS

ENDstart

 

实验二显示实验

一、实验目的  熟悉LED显示器的显示过程。

二、实验内容  编写程序,依次闪动显示“123456”及“good”。

三、字形/字位表

字位表

G5

G4

G3

G2

G1

G0

20

10

08

04

02

01

实验箱LED数码管的数据端口地址为0FFDCH,控制端口地址为0FFDDH。

四、程序流程

五、实验步骤  运行程序,观察数码管显示情况。

六、实验报告要求

报告内容:

实验名称、姓名、班级、学号、实验目的、实验步骤、完整的源程序代码、问题、收获及总结。

 

CODESEGMENT

ASSUMECS:

CODE

ORG1000H

START:

ZXDB0f9h,0a4H,0b0H,99H,92H,82H,0f8h,80H,90H,88H,83H,0c6H,0a1H,86H,8eH,0ffH

ZWDB20H,10H,08H,04H,02H,01H

AADB00H

BBDB00H

CCDB00H

EEDW0000H

FFDW0000H

C1:

MOVDX,0FFDDH

MOVAL,ZW

OUTDX,AL;第一个亮

MOVDX,0FFDCH

MOVAL,ZX

OUTDX,AL;亮1

MOVCX,000AH

LOOP$;延迟

MOVDX,0FFDDH

MOVAL,ZW+1

OUTDX,AL;第一个亮

MOVDX,0FFDCH

MOVAL,ZX+1

OUTDX,AL;亮1

MOVCX,000AH

LOOP$;延迟

MOVDX,0FFDDH

MOVAL,ZW+2

OUTDX,AL;第一个亮

MOVDX,0FFDCH

MOVAL,ZX+2

OUTDX,AL;亮1

MOVCX,000AH

LOOP$;延迟

MOVDX,0FFDDH

MOVAL,ZW+3

OUTDX,AL;第一个亮

MOVDX,0FFDCH

MOVAL,ZX+3

OUTDX,AL;亮1

MOVCX,000AH

LOOP$;延迟

MOVDX,0FFDDH

MOVAL,ZW+4

OUTDX,AL;第一个亮

MOVDX,0FFDCH

MOVAL,ZX+4

OUTDX,AL;亮1

MOVCX,000AH

LOOP$;延迟

MOVDX,0FFDDH

MOVAL,ZW+5

OUTDX,AL;第一个亮

MOVDX,0FFDCH

MOVAL,ZX+5

OUTDX,AL;亮1

MOVCX,000AH

LOOP$;延迟

INCEE

CMPEE,0FFFFH

JNEC1

MOVDX,0FFDDH;全灭

MOVAL,3FH

OUTDX,AL

MOVDX,0FFDCH

MOVAL,0FFH

OUTDX,AL

MOVCX,0FFFFH

LOOP$

INCBB

CMPBB,5

JNEC1

MOVAA,00H

MOVBB,00H

C2:

MOVDX,0FFDDH

MOVDX,20H

OUTDX,AL

MOVDX,0FFDDH

MOVAL,90H

OUTDX,AL

MOVCX,000AH

LOOP$

MOVDX,0FFDDH

MOVAL,10H

OUTDX,AL

MOVDX,0FFDCH

MOVAL,0c0H

OUTDX,AL

MOVCX,000AH

LOOP$

MOVDX,0FFDDH

MOVAL,08H

OUTDX,AL

MOVDX,0FFDCH

MOVAL,0c0H

OUTDX,AL

MOVCX,000AH

LOOP$

MOVDX,0FFDDH

MOVAL,04H

OUTDX,AL

MOVDX,0FFDCH

MOVAL,0a1H

OUTDX,AL

MOVCX,000AH

LOOP$

INCFF

CMPFF,0FFFFH

JNEC2

MOVDX,0FFDDH

MOVAL,3FH

OUTDX,AL

MOVDX,0FFDCH

MOVAL,0FFH

OUTDX,AL

MOVCX,0FFFFH

LOOP$

INCCC

CMPCC,5

JNEC2

MOVCC,00H

JMPC1

CODEENDS

ENDSTART

 

实验三8255A控制交通灯实验

一、实验目的

掌握通过8255A并行口传输数据的方法,以控制发光二极管的亮与灭。

二、实验内容  用8255作输出口,控制十二个发光二极管燃灭,模拟交通灯管理。

三、编程提示  1.通过8255A控制发光二极管PB3、PB0、PA5、PA2对应黄灯,PB1、PA6、PA3、PA0对应红灯,PB2、PA7、PA4、PA1对应绿灯,以模拟交通路灯的管理。

  2.要完成本实验,必须先了解交通路灯的亮灭规律,没有一个十字路口1、3为南北方向,2、4为东西方向,初始状态为四个路口的红灯全亮。

之后,1、3路口的绿灯亮,2、4路口的红灯亮,1、3路口方向通车。

延时一段时间后,1、3路口的绿灯熄灭,而1、3路口的黄灯开始闪烁,闪烁若干次以后,1、3路口红灯亮,而同时2、4路口的绿灯亮,2、4路口方向通车,延时一段时间后,2、4路口的绿灯熄灭,而黄灯开始闪烁,闪烁若干次以后,再切换到1、3路口方向,之后,重复上述过程。

  3.程序中设定好8255A的工作模式,及三个端口均工作在方式0,并处于输出状态。

  4.各发光二极管共阳极,使其点亮应使8255A相应端口的位清0。

5.8255端口地址分配如下:

PA端口地址为0FFD8H,PB端口地址为0FFD9H,PC端口地址为0FFDAH,控制端口地址为0FFDBH。

四、程序流程

五、实验电路

六、实验步骤  ⑴按实验电路图连接线路:

8255APA0-L15PA1-L14PA2-L13PA3-L11PA4-L10PA5-L9PA6-L7PA7-L6PB0-L5PB1-L3PB2-L2PB3-L1  ⑵运行实验程序:

输入32F0,按EXEC键,L1~L12发光二极管模拟交通灯显示。

七、实验报告要求

报告内容:

实验名称、姓名、班级、学号、实验目的、实验步骤、完整的源程序代码、问题、收获及总结。

 

codeSEGMENT

ORG1000H

ASSUMECS:

code

START:

MOVDX,0FFDBH;控制端口

MOVAL,80H

OUTDX,AL

RED:

MOVDX,0FFD8H;PA

MOVAL,0B6H;1101_0110红灯亮

OUTDX,AL

MOVDX,0FFD9H;PB

MOVAL,0FDH;1111_0110红灯全亮

OUTDX,AL

CALLDELAY2

GREEN13:

MOVDX,0FFD8H;PA

MOVAL,0ADH;10101101绿灯

OUTDX,AL

MOVDX,0FFD9H;PB

MOVAL,0FDH;11111101

OUTDX,AL

CALLDELAY1

 

MOVCX,8H

YELLOW13:

MOVDX,0FFD8H;PA

MOVAL,09BH;10011011

OUTDX,AL

MOVDX,0FFD9H;PB

MOVAL,0FDH;11111101

OUTDX,AL

CALLDELAY2

MOVDX,0FFD8H;PA

MOVAL,0BFH;10111111

OUTDX,AL

MOVDX,0FFD9H;PB

MOVAL,0FDH;11111101

OUTDX,AL;

CALLDELAY2

LOOPYELLOW13

RED1234:

MOVDX,0FFD8H;PA

MOVAL,0B6H;1011_0110

OUTDX,AL

MOVDX,0FFD9H;PB

MOVAL,0FDH;1111_1101四个红灯全亮

OUTDX,AL

CALLDELAY2

GREEN24:

MOVDX,0FFD8H;PA

MOVAL,076H;01110110

OUTDX,AL

MOVDX,0FFD9H;PB

MOVAL,0FBH;11111011

OUTDX,AL

CALLDELAY1

MOVCX,8H

YELLOW24:

MOVDX,0FFD8H;PA

MOVAL,0F6H;11110110

OUTDX,AL

MOVDX,0FFD9H;PB

MOVAL,0F6H;11110110

OUTDX,AL

CALLDELAY2

MOVDX,0FFD8H;PA

MOVAL,0F6H;11110110

OUTDX,AL

MOVDX,0FFD9H;PB

MOVAL,0FFH;11111111

OUTDX,AL;

CALLDELAY2

LOOPYELLOW24

JMPRED

delay1PROCNEAR

PUSHAX

PUSHBX

PUSHCX

MOVAX,0FFh

R4:

MOVCX,0FFFh

R5:

DECCX

JNZR5

DECAX

JNZR4

POPCX

POPBX

POPAX

RET

delay1ENDP

delay2PROCNEAR

PUSHAX

PUSHBX

PUSHCX

MOVAX,03H

R3:

MOVBX,0AH

R2:

MOVCX,0FFFH

R1:

DECCX

JNZR1

DECBX

JNZR2

DECAX

JNZR3

POPCX

POPBX

POPAX

RET

DELAY2ENDP

CODEENDS

ENDSTART

实验四8253方波实验

一、实验目的  ⑴学会8253芯片和微机接口原理和方法。

  ⑵掌握8253定时器/计数器的工作方式和编程原理。

二、实验内容  8253的0通常工作在方式3,产生方波。

三、程序流程

四、实验电路

五、编程提示  8253芯片介绍  8253是一种可编程定/计数器,有三个十六位计数器,其计数频率范围为0~2MHZ,用+5V单电源供电。

  8253的功能用途:

  ⑴延时中断⑸实时时钟  ⑵可编程频率发生器⑹数字单稳  ⑶事件计数器⑺复杂的电机控制器  ⑷二进制倍频器  8253的六种工作方式:

  ⑴方式0:

计数结束中断⑷方式3:

方波频率发生器  ⑵方式1:

可编程频率发生⑸方式4:

软件触发的选通信号  ⑶方式2:

频率发生器⑹方式5:

硬件触发的选通信号  8253的0号通道工作在方式3,产生方波。

8253的地址分配:

计数器0的地址为0FFE0H,计数器1的地址为0FFE1H,计数器2的地址为0FFE2H,控制端口的地址为0FFE3H。

六、实验步骤1、实验连线⑴连接138译码输入端A.B.C,其中A连A2,B连A3,C连A4,138使能控制输入端G与总线单元上方的GS相连。

⑵定时计数单元CLK0与分频单元T2相连,GATE0与5V相连,8253CS与译码单元Y0相连。

⑶用8芯扁平电缆将8251串行通信单元的数据总线插座与数据总线单元任一插座相连。

2、LED环境

(1)在“P.”状态下按“0→EV/UN”,装载实验所需的代码程序。

(2)在“P.”状态下键入3490,然后按“EXEC”进入实验项目的运行。

3、PC环境在与PC联机状态下,编译、连接、下载PH88.asm,用连续方式运行程序。

4、观察运行结果以连续方式运行程序,用示波器观察OUT0应有方波输出。

5、终止运行按“暂停图标”或实验箱上的“暂停按钮”,使系统无条件退出该程序的运行返回监控状态。

七、实验报告要求

报告内容:

实验名称、姓名、班级、学号、实验目的、实验步骤、完整的源程序代码、问题、收获及总结。

codeSEGMENT

ORG1000H

ASSUMECS:

code

start:

MOVDX,0FFE3H

MOVAL,0B7H

OUTDX,AL

MOVDX,0FFF2H

MOVAL,30H

OUTDX,AL

MOVAL,14H

OUTDX,AL

codeENDS

ENDstart

 

实验五综合实验

实验目的

提高综合运用与解决实际问题的能力。

实验内容

以下2个题目中任选一个完成。

主要工作包括电路设计、电路实现、驱动程序设计、实验调试和论文撰写。

题目1计算机钢琴

一、实验内容

1、要求设计计算机外设电路,使其能够在计算机程序的驱动使小喇叭发出声音。

设计电路所需元器件及器材由实验室提供。

2、编写程序要求:

使连接有上述外设电路的计算机成为一架可弹奏的“钢琴”。

“钢琴”的声音由小喇叭发出。

当按下数字键0~7时,依次发出空音及1、2、3、4、5、6、7七个音调,按下数字键8时则退出“钢琴”状态。

二、实验说明

音符与信号频率值对应关系见下表。

音符

1

2

3

4

5

6

7

频率值

524

588

660

698

784

880

988

三、实验报告要求

1、以论文形式完成实验报告。

2、报告内容包括:

题目、完成者姓名及单位、摘要、关键词、设计思路及原理、外设电路图及各部分电路的说明、实验步骤或现象介绍、结论及参考文献。

3、附录为实验完整的源程序代码。

DATASEGMENT

DATDB0,45,75,100,125,15,190,222,252各音

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

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2