微机原理实验及其程序.docx
- 文档编号:4199472
- 上传时间:2022-11-28
- 格式:DOCX
- 页数:30
- 大小:60.36KB
微机原理实验及其程序.docx
《微机原理实验及其程序.docx》由会员分享,可在线阅读,更多相关《微机原理实验及其程序.docx(30页珍藏版)》请在冰豆网上搜索。
微机原理实验及其程序
微型计算机原理实验指导书及源程序
河北大学电子信息工程学院
2014年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,2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 实验 及其 程序