篇一:微机原理实验报告
微机原理实验报告
目 录
一、I/O地址译码与交通灯控制实验……………………………………3
二、可编程定时器/计数器(8253)……………………………………6 三、中断实验(纯DOS)………………………………………………11
四、模/数转换器………………………………………………………18
五、串行通讯 …………………………………………………………16
六、课程综合实验(抢答器) …………………………………………28
一、I/O地址译码与交通灯控制实验
一.实验目的
通过并行接口8255实现十字路口交通灯的模拟控制,进一步掌握对并行口的使用。
二.实验内容
如图5-3,L7、L6、L5作为南北路口的交通灯与PC7、PC6、PC5相连,L2、L1、L0作为东西路口的交通灯与PC2、PC1、PC0相连。编程使六个灯按交通灯变化规律燃灭。
十字路口交通灯的变化规律要求:
(1) 南北路口的绿灯、东西路口的红灯同时亮3秒左右。
(2) 南北路口的黄灯闪烁若干次,同时东西路口的红灯继续亮。
(3) 南北路口的红灯、东西路口的绿灯同时亮3秒左右。
(4) 南北路口的红灯继续亮、同时东西路口的黄灯亮闪烁若干次。
(5) 转(1)重复。
8255动态分配地址: 控制寄存器:0C40BH
A口地址: 0C408H
C口地址: 0C40AH
三.程序流程图和程序清单
DATA SEGMENT
X DB ?
DATA ENDS
STACK1 SEGMENT STACK
DW 100H DUP(0)
STACK1 ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK1 START: MOV AX,DATA
MOV DS,AX MOV DX,0EC0BH MOV AL,80H OUT DX,AL
;写控制字 ;---------------INIT----------------
L3: MOV DX,0EC0AH
CALL DELAY CALL DELAY ;长延时,3s左右 MOV AL,24H OUT DX,AL ;南北绿灯,东西红灯亮 CALL DELAY
CALL DELAY
CALL DELAY
CALL DELAY
CALL DELAY
MOV BL,8
MOV AL,04H
L0: XOR AL,40H ;南北黄灯闪,东西红灯亮
MOV AL,81H OUT DX,AL ;南北红灯亮,东西绿灯亮 CALL DELAY OUT DX,AL CALL DELAY ;延时 CALL DELAY DEC BL ;闪烁几次 JNZ L0
CALL DELAY
CALL DELAY CALL DELAY ;长延时,3s左右 CALL DELAY
CALL DELAY
CALL DELAY
CALL DELAY
MOV BL,9
MOV AL,80H
L1: XOR AL,02H ;南北红灯亮,东西黄灯闪
OUT DX,AL CALL DELAY DEC BL JNZ L1 ;闪烁几次 ;延时CALL DELAY
CALL DELAY
篇二:微机原理实验报告
实 验 报 告
课程名称:《微机原理》实验 第2次实验
实验名称:延时功能的实现
实验时间:2015年9月25日
实验地点:XXXXXX组号__________
学号: 姓名:
指导老师:XX 评定成绩:___________
微机原理实验2
南京大学工程管理学院
一、实验设备:
计算机
二、实验用时:
4小时
三、实验内容:
1. 使用Project Wizard自行建立工程,并为工程添加源文件。
2. 编写子程序DelayMS,实现延时x毫秒的功能,x由w寄存器中的值设定。
3. 编写子程序Delay1S,实现1秒钟的精确延时。
四、实验报告要求:
1. 程序框图和源程序清单
2. 给出StopWatch对子函数DelayMS以及程序DelayS运行时间的测试结果,并在报告中给出StopWatch的截图。
五、实验结果:
1、程序框图和源程序清单
(1)程序框图
延时1ms:
是
是
延时1s:
是
是
否
(2)源程序清单
延时1ms:
list p=16f877A ; 标明所用的处理器类型 #include <p16f877A.inc> ; 调用头文件
L1 EQU 0x70;延时函数循环变量
L2 EQU 0x71;
org0x0000; 复位入口地址
main banksel TRISB;
bcf TRISB, RB0;
banksel PORTB;
movlw .20;
movwf L2;
Loop
bsf PORTB, RB0;
nop;
篇三:微机原理实验报告
微型计算机技术及应用实验报告
实验七竞赛抢答器
一、实验目的
1、了解微机化竞赛抢答器的基本原理。
2、进一步学习使用并行接口。
二、实验内容
图7-1为竞赛抢答器(模拟)的原理图,逻辑开关K0~K7代表竞赛抢答按钮0~7号,当某个逻辑电平开关置“1”时,相当某组抢答按钮按下。在七段数码管上将其组号(0~7)显示出来,并使微机扬声器响一下。
三、实验仪器
带有hub 软件的计算机 一台
实验箱一台 导线若干
四、编程提示
设置8255为C口输入、A口输出,读取C口数据,若为0表示无人抢答,若不为0则有人抢答。根据读取数据可判断其组号。从键盘上按空格键开始下一轮抢答,按其它键程序退出。
五、编程如下
;* 本程序为模拟抢答器 *
data segment
io8255a equ 28ah
io8255b equ 28bh
io8255c equ 288h
leddb 3fh,06h,5bh,4fh,66h,6dh,7dh,07h ;数码表
data ends
code segment
assume cs:code,ds:data
start:mov ax,data
mov ds,ax
mov dx,io8255b ;设8255为A口输出,C口输入
mov ax,89h
out dx,al
mov bx,offset led ;使BX指向段码管首址
sss: mov dx,io8255a
in al,dx ;从8255的C口输入数据
or al,al ;比较是否为0
je sss;若为0,则表明无键按下,转sss
mov cl,0ffh ;cl作计数器,初值为-1
rr:shr al,1
inc cl
jnc rr
mov al,cl
xlat
mov dx,io8255c
out dx,al
mov dl,7
mov ah,2
int 21h
wai: mov ah,1
int 21h
cmp al,20h
jne eee
mov al,0
mov dx,io8255c
out dx,al
jmp s
sseee: mov ah,4ch
int 21h
code ends
end start
六、实验原理图
;响铃 ASCII码为07 ;是否为空格 ;不是,转eee ;是,关灭灯 ;返回
七、实验步骤
⑴将电源连接在实验箱上,并用仿真器将实验箱与计算机相连接,连接结束后打开电源;
⑵打开计算机上的仿真软件,检查硬件是否与计算机连接良好,若出现“硬件已连”接则说明硬件已于计算机相连,若出现“硬件未连接”,则继续调整插头直至出现“硬件已连接”为止;
⑶关闭实验箱上电源,并按照所示原理图进行连线;
⑷将演示实验中的实验七添加到自定义实验中,打开实验箱上电源,再次检查硬件是否与计算机连接良好,若已连接好则可编译连接,运行试验,若未连接好则重复⑵中所示步骤,直至连接好后对程序编译连接,再运行实验;
八、实验现象及分析
连接编译程序后,运行,观察得到实验现象,每把一个开关由低电平置高电平,数码管就会显示相应的数字。如第5个开关置高电平,数码管就会显示“55”字样,表示第五位抢答者回答为问题。
竞赛抢答器也是生活中常见到的,此实验让我们更深层次的了解其原理。通过实验来亲身体验生活的乐趣,为以后有更好的创新做准备。
微型计算机技术及应用实验报告
实验二十二 双色点阵发光二极管显示实验
一、实验目的
1、了解双色点阵LED显示器的基本原理。
2、掌握PC机控制双色点阵LED显示程序的设计方法。
二、实验仪器
带有hub 软件的计算机 一台
实验箱一台 导线若干
三、实验原理
点阵LED显示器是将许多LED类似矩阵一样排列在一起组成的显示器件,双色点阵LED是在每一个点阵的位置上有红绿或红黄或红白两种不同颜色的发光二极管。当微机输出的控制信号使得点阵中有些LED发光,有些不发光,即可显示出特定的信息,包括汉字、图形等。车站广场由微机控制的点阵LED大屏幕广告宣传牌随处可见。
实验仪上设有一个共阳极8×8点阵的红黄两色LED显示器,其点阵结构如图所示。该点阵对外引出24条线,其中8条行线,8条红色列线,8条黄色列线。若使某一种颜色、某一个LED发光,只要将与其相连的行线加高电平,列线加低电平即可。
例如欲显示汉字“年”,采用逐列循环发光。首先由“年”的点阵轮廓,确定点阵代码(如图所示)根据“年”的点阵代码,确定逐列循环发光的顺序如下:
① 行代码输出 44H; 红色列代码输 01H;第一列2个红色LED发光。
② 行代码输出 54H; 红色列代码输 02H;第二列3个红色LED发光。