版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、微机原理与接口课程上机操作实验报告姓名:王自胜学号:12212162指导教师:付 文 秀时间:2014年 12 月微机原理与接口课程作实验报告I/O 地址译码与交通灯控制实验一、实验目的通过并行接口 8255 实现十字路口交通灯的模拟控制 , 进一步掌握对并行口的使用。二、实验内容如图 5-3 ,L7、L6、L5 作为南北路口的交通灯与 PC7、PC6、PC5相连, L2、L1、L0 作为东西路口的交通灯与 PC2、PC1、PC0 相连。编程使六个灯按交通灯变化规律燃灭。十字路口交通灯的变化规律要求:(1) 南北路口的绿灯、东西路口的红灯同时亮3 秒左右。(2) 南北路口的黄灯闪烁若干次,同时
2、东西路口的红灯继续亮。(3) 南北路口的红灯、东西路口的绿灯同时亮3 秒左右。(4) 南北路口的红灯继续亮、同时东西路口的黄灯亮闪烁若干次。-1-微机原理与接口课程作实验报告8255 动态分配地址 :控制寄存器:0EC0BHA 口地址:0EC08HC 口地址:0EC0AH( 5) 转( 1)重复。三、 程序流程图-2-微机原理与接口课程作实验报告四、程序清单DATA SEGMENTCALL DELAY; 长延时, 3s左右XDB?CALL DELAYDATA ENDSCALL DELAYSTACK1 SEGMENT STACKCALL DELAYDW 100H DUP(0)CALL DELAY
3、STACK1 ENDSCODE SEGMENTMOV BL,9ASSUME CS:CODE,DS:DATA,SS:STACK1MOV AL,80HSTART: MOV AX,DATAL1: XOR AL,02H; 南北红灯亮, 东西黄灯闪MOV DS,AXOUT DX,AL;-INIT-CALL DELAY; 延时MOV DX,0EC0BH; 写控制字CALL DELAYMOV AL,80HDEC BLOUT DX,ALJNZ L1;闪烁几次L3: MOV DX,0EC0AHMOV AL,24H; 南北绿灯, 东西红灯CALL DELAY亮MOV DL,0FFHOUT DX,ALMOV AH,
4、06HCALL DELAYINT 21HCALL DELAY; 长延时, 3s左右JZ L3; 六号功能判断若无字符CALL DELAY输入 ZF=1继续循环CALL DELAY;-CALL DELAYMOV AH,4CHCALL DELAYINT 21HCALL DELAY;-延时函数 -MOV BL,8DELAY : PUSH CXMOV AL,04HPUSH DXL0: XOR AL,40H; 南北黄灯闪, 东西红灯亮MOV CX,1FFFHOUT DX,ALLOP1: MOV DX,0FFFFHCALL DELAY; 延时LOP2: DEC DXCALL DELAYJNZ LOP2DE
5、C BL;闪烁几次JNZ L0LOOP LOP1CALL DELAYPOP DXMOV AL,81H; 南北红灯亮, 东西绿POP CX灯亮RETOUT DX,ALCALL DELAYCODE ENDSCALL DELAYEND START-3-微机原理与接口课程作实验报告可编程定时时钟/ 计数器( 8253)一、实验目的掌握 8253 的基本工作原理和编程方法。二、实验内容按图 5-1 虚线连接电路,将计数器0 设置为方式 0,计数器初值为 N(N0FH),用手动逐个输入单脉冲,编程使计数值在屏幕上显示,并同时用逻辑笔观察 OUT0电平变化(当输入 N+1个脉冲后 OUT0变高电平)。按图
6、5-2 连接电图,将计数器 0、计数器 1分别设置为方式 3,计数初值设为 1000,用逻辑笔观察 OUT1输出电平的变化(频率 1HZ)。-4-微机原理与接口课程作实验报告三、实验原理8253 具有 3 个独立的计数通道,采用减1 计数方式。在门控信号有效时,每输入1 个计数脉冲,通道作1 次计数操作。当计数脉冲是已知周期的时钟信号时,计数就成为定时。作计数器时,要求计数的次数可直接作为计数器的初值预置到减“1”计数器中。8253 中各通道可有 6 种可供选择的工作方式,以完成定时、计数或脉冲发生器等多种功能。 本实验用到的是方式0计数结束中断。在写入计数值 N之后的第一个 CLK的下降沿将
7、 N装入计数执行单元,待下一个 CLK的下降沿到来且门控信号 GATE为高电平时,通道开始启动计数。在计数过程中, OUT一直保持低电平,直到计数达“ 0”时, OUT输出由低电平变为高电平,并且保持高电平。8253 动态分配地址 :控制寄存器:0EC03H计数器 0 地址: 0EC00H计数器 1 地址: 0EC01H-5-微机原理与接口课程作实验报告四、程序流程图五、程序清单DATA SEGMENTMOV AL,10H; 计数器 0,低字节,方式0,N EQU 0BH; 计数器初值,不大于 0FH二进制计数CHLDB 0AH,0DH,'$' 换行OUT DX,AL; 写入控
8、制字DATA ENDSMOV DX,0EC00HMOV AL,NSTACK1 SEGMENT STACKOUT DX,AL ;写入计数初值DW 100 DUP(0)MOV CL,NSTACK1 ENDSL0: ;MOV AL,0; 计数器 0锁存;MOV DX,IO8253CODE SEGMENT;OUT DX,ALASSUME CS:CODE,DS:DATA,SS:STACK1MOV DX,0EC00HSTART:MOV AX,DATAIN AL,DX; 读取当前数值MOV DS,AXCMP AL,CL;-INIT-JNE L0; 若 AL不等于 CL,则继续到L0循环MOV DX,0EC0
9、3H;控制寄存器地址DEC CL ; 更改 CL值-6-微机原理与接口课程作实验报告MOV DL,ALSTACK1 ENDSCMP DL,09H;是 09吗?JLE ASCICODE SEGMENTADD DL,07H;是 AFASSUME CS:CODE,DS:DATA,SS:STACK1ASCI: ADD DL,30HSTART: MOV AX,DATAMOV AH,02H;单字符输出计数器当前MOV DS,AX值MOV AL,36HINT 21HMOV DX,0EC03H ; 写计数器 0控制字MOV DX,OFFSET CHL;输出字符串换行OUT DX,ALMOV AH,09HMOV
10、 AX,1000 ;写计数器 0初值INT 21HMOV DX,0EC00HCMP CL,0OUT DX,AL; 先写低字节后写高字节JNL L0;CL 不小于 0时,继续循环MOV AL,AH;-OUT DX,ALMOV AH,4CH;-INT 21HMOV AL,76HCODE ENDSMOV DX,0C403HEND STARTOUT DX,AL;写计数器 1控制字MOV AX,1000;写计数器 0初值2)MOV DX,0C401HOUT DX,ALDATA SEGMENTMOV AL,AH;先写低字节后写高字节XDB?OUT DX,ALDATA ENDSCODE ENDSEND ST
11、ARTSTACK1 SEGMENT STACKDW 100H DUP(0)-7-微机原理与接口课程作实验报告串行通讯一、实验目的1、 进一步了解串行通信的基本原理。2、 掌握串行接口芯片8250 的工作原理和编程方法。3、 熟悉 PC机串行口的基本连接方法二、实验内容1、PC机 RS-232串口自发自收。按照 PC机串口自发自收的连接方法连线。 编写 PC机自发自收串行通信程序,要求:从键盘输入一个字符, 将字符通过串口发送出去,再由此串口将字符接收回来并在屏幕上显示,实现自发自收。2、 两台 PC机间 RS-232 串口通信。按照 PC机 RS-232 串口直接互连的方法连接两台 PC机。
12、编写 PC 机直接互连串行通信程序;要求:由甲机键盘键入字符经串口发送给乙机,再由乙机通过串口接收字符并显示在屏幕上。 当键入感叹号“!”,结束收发过程。三、实验原理1、异步通信本实验以字符为单位进行传送,每传送一个字符, 以起始位作为开始标志,以停止位作为结束标志。-8-微机原理与接口课程作实验报告异步串行通信的工作过程是:传送开始后,接收设备不断地检测传输线是否有起始位到来,当接收到一系列的“1”(空闲或停止位)之后,检测到第一个“ 0”,说明起始位出现,就开始接收所规定的数据位、奇偶校验位及停止位。经过接收器处理,将停止位去掉,把数据位拼装成一字节数据, 并且经奇偶校验无错误, 才算是正
13、确地接收到了一个字符。当一个字符接收完毕,接收设备又继续测试传输线,监视“0”电平的到来 (下一个字符的开始),直到全部数据接收完毕。帧D0 D1Dn空闲位起数据位奇停空闲位始偶位校止验位位2、8250 各部分功能说明8250 片内有 10 个寄存器,其中有几个是共用地址的,其识别由线路控制寄存器(LCR)的最高位 DLAB来决定。各寄存器的地址如下:-9-微机原理与接口课程作实验报告3、数据发送和接收:四、程序清单1自发自收CODE SEGMENTASSUME CS:CODESTART:MOV AL,10000000B ;8250 初始化,设 DLAB=1MOV DX,3FBHOUT DX,
14、ALMOV AX,30H; 写入除数低字节MOV DX,3F8HOUT DX,ALMOV AL,AH; 写入除数高字节MOV DX,3F9HOUT DX,ALMOV AL,00001010B ;7 位数据, 1位停止,奇校验MOV DX,3FBHOUT DX,AL; 写入线路控制寄存器MOV AL,00010000B ; 自检控制MOV DX,3FCHOUT DX,AL; 写入 Modem控制寄存器MOV AL,0MOV DX,3F9HOUT DX,AL; 写中断允许寄存器,屏蔽中断WAIT_FOR:MOV DX,3FDH; 读线路状态寄存器IN AL,DXTEST AL,00011110B;
15、 出错否JNZ ERROR; 出错,转 ERRORTEST AL,00000001B; 接收数据就绪否JNZ RECEIVE; 就绪,转接受TEST AL,00100000B; 发送寄存器空否,不空,返回等待JZ WAIT_FOR-10-微机原理与接口课程作实验报告MOV AH,1INT 21H; 读键盘MOV DX,3F8H; 发送OUT DX,ALJMP WAIT_FOR; 返回等待RECEIVE:PUSH CXPUSH AXMOV CX,02000HT1: MOV AX,0FFFFHT2: DEC AXJNZ T2LOOP T1;延时程序MOV DX,3F8H; 读接收数据IN AL,D
16、XAND AL,01111111B ; 保留 7位数据CMP AL,03H; 是 Ctrl+C?JNZ CHARMOV AH,4CH; 返回 DOSINT 21HCHAR:PUSH AXMOV DL,ALMOV AH,2H; 显示接收字符INT 21HPOP AXJMP WAIT_FOR; 返回等待ERROR: MOV DX,3FDH; 出错则清除线路状态寄存器IN AL,DXMOV DL,'?' 显示 '?'MOV AH,02HINT 21HJMP WAIT_FORCODE ENDSEND START2. 双机通信( 1)发送端 :CODE SEGMENTAS
17、SUME CS:CODESTART: MOV AL,80H ;8250 初始化 , 设 DLAB=1 MOV DX,3FBHOUT DX,ALMOV AX,30H-11-微机原理与接口课程作实验报告MOV DX,3F8HOUT DX,AL;写入除数低字节MOV AL,AHINC DXOUT DX,AL;写入除数高字节MOV AL,0AH;7位数据 ,1 位停止 , 奇校验MOV DX,3FBHOUT DX,AL;写入线路控制寄存器MOV AL,03HMOV DX,3FCHOUT DX,AL;写入 Modem控制寄存器MOV AL,0MOV DX,3F9HOUT DX,AL;写中断允许寄存器,屏
18、蔽所有中断WAIT1: MOV DX,3FDH;读线路状态寄存器IN AL,DXTEST AL,1EH;出错否JNZ ERROR;TEST AL,01H;接收数据就绪否;JNZ SEND;发送TEST AL,20H;发送寄存器空否, 不空 , 返回等待JZ WAIT1SEND:MOV AH,1INT 21H;读键盘CMP AL,21H;是 '!'?JZ EXIT;是 , 返回操作系统MOV DX,3F8H;不是 , 则发送OUT DX,ALJMP WAIT1;返回等待ERROR:MOV DX,3FDH;出错则清除线路状态寄存器IN AL,DXMOV DL,'?'
19、显示 '?'MOV AH,02HINT 21HJMP WAIT1-12-微机原理与接口课程作实验报告EXIT:MOV AH,4CHINT 21HCODE ENDSEND START(2) 接收端:CODE SEGMENTASSUME CS:CODESTART:MOV AL,80H;8250初始化MOV DX,3FBHOUT DX,ALMOV AX,30H;写除数MOV DX,3F8HOUT DX,AL;写入除数低字节MOV AL,AHINC DXMOV DX,3F9HOUT DX,AL;写入除数高字节MOV AL,0AHMOV DX,3FBHOUT DX,AL;写入线路控制寄存
20、器MOV AL,03HMOV DX,3FCHOUT DX,AL;写入 Modem控制寄存器MOV AL,0MOV DX,3F9HOUT DX,AL;写中断允许寄存器,屏蔽所有中断WAIT1: MOV DX,3FDH;读线路状态寄存器IN AL,DXTEST AL,1EH;出错否JNZ ERRORTEST AL,01H;接收数据就绪否JNZ RECEIVE;转接收;TEST AL,20H;发送寄存器空否 , 不空 , 返回等待;JZ WAIT1-13-微机原理与接口课程作实验报告JMP WAIT1;均返回等待RECEIVE: MOV DX,3F8H;读接收数据IN AL,DXAND AL,011
21、11111B;保留位数据CMP AL,21H;是 '!'?JNZ CHARMOV AH,4CH;返回操作系统INT 21HCHAR: PUSH AXMOV DL,ALMOV AH,2;显示接受字符INT 21HPOP AXJMP WAIT1;返回等待ERROR: MOV DX,3FDH;出错则清除线路状态寄存器IN AL,DXMOV DL,'?'显示 '?'MOV AH,02HINT 21HJMP WAIT1CODE ENDSEND START-14-微机原理与接口课程作实验报告课程综合实验 ( 抢答器 )一、实验目的1、了解微机化竞赛抢答器的基
22、本原理。2、进一步学习使用并行接口。二、实验内容图 5-4 为竞赛抢答器(模拟)的原理图,逻辑开关 K0K7 代表竞赛抢答按钮 07 号,当某个逻辑电平开关置“”时,相当某组抢答按钮按下。在七段数码管上将其组号( 07)显示出来,并使喇叭响一下。从键盘上按空格键开始下一轮抢答,按其它键程序退出。-15-微机原理与接口课程作实验报告8255 动态分配地址 :控制寄存器:0EC0BHA 口地址:0EC08HC口地址:0EC0AH三、程序流程图-16-微机原理与接口课程作实验报告四、程序清单DATA SEGMENTLIST DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07HDATA ENDSSTACK1 SEGMENT STACKDW 100H DUP(0)STACK1 ENDSCODE SEGMENTASSUME CS:CODE,DS:DA
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2027届甘肃省庆阳市物理高三上期中考试模拟试题含解析
- 2026年食安快线考试题库及答案详解
- 2026年兵团连队考试题库及答案详解
- 2026年网约模拟考试题库及答案详解
- 2026年发电厂电气主系统-考试题库及答案详解
- 2026年初级插花考试题库及答案详解
- 2026年学年四川省绵阳市统招专升本计算机自考测模拟试卷及答案详解
- 2026年高压电工作业操作证考试题库及答案详解
- 2026年曲艺表演考试题库及答案详解
- 2026年经济学专升本国际金融模拟试卷及答案详解
- 2026年全国消毒技能竞赛试题(附答案)
- 2026新教科版六年级科学上册第一单元《健康生活》全部课件
- 2026年6月英语四级真题(第一套)附答案
- 辐射考试试题及答案
- 雨课堂学堂在线学堂云《临床伦理与科研道德(山东大学)》单元测试考核答案
- DZ∕T 0342-2020 矿坑涌水量预测计算规程(正式版)
- (正式版)JTT 1482-2023 道路运输安全监督检查规范
- 尿液检验泌尿系统疾病检测
- 奖学金申请书封面
- 主谓宾造句英语
- JJF 1966-2022雷达散射截面法材料反射率测试系统校准规范
评论
0/150
提交评论