付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、姓 名: 学 号: 指导教师: 时 间:2014 年12月微机原理与接口课程上机操作实验报告王自胜12212162付文秀微机原理与接口课程作实验报告I/O地址译码与交通灯控制实验-28-实验目的通过并行接口 8255实现十字路口交通灯的模拟控制,进一步掌握对并行口的使用。实验内容如图5-3,L7、L6、L5作为南北路口的交通灯与 PC7 PC6 PC5相连,L2、L1、L0作为东西路口的交通灯与 PC2 PC1 PC0相连。编程使六个灯按交通灯变化规律燃灭。红Lb. 典绿红黄绿L7LSLZL 1L0IB ih1 ll1I1HniT*trB11B1 丄 t12Beh29FkPC?PCSPC5PC
2、2PCIpeaCS图5-3十字路口交通灯的变化规律要求:(1) 南北路口的绿灯、东西路口的红灯同时亮 3秒左右。(2) 南北路口的黄灯闪烁若干次,同时东西路口的红灯继续亮。(3) 南北路口的红灯、东西路口的绿灯同时亮 3秒左右。(4) 南北路口的红灯继续亮、同时东西路口的黄灯亮闪烁若干次8255动态分配地址:控制寄存器:OECOBHA 口地址:0EC08HC 口地址:0EC0AH(5) 转(1)重复。三、程序流程图四、程序清单DATA SEGMENTX DB ?DATA ENDSSTACK1 SEGMENT STACKDW 100H DUP(O)STACK1 ENDSCODE SEGMENTA
3、SSUME CS:CODE,DS:DATA,SS:STACK1START: MOV AX,DATAMOV DS,AX;INIT;写控制字MOV DX,0EC0BHMOV AL,80HOUT DX,ALL3: MOV DX,0EC0AHMOV AL,24H亮OUT DX,ALCALL DELAYCALL DELAYCALL DELAYCALL DELAYCALL DELAYCALL DELAYCALL DELAYMOV BL,8MOV AL,04HL0: XOR AL,40HOUT DX,ALCALL DELAYCALL DELAYDEC BLJNZ L0CALL DELAYMOV AL,81H
4、 灯亮OUT DX,ALCALL DELAYCALL DELAY;南北绿灯,东西红灯;长延时,3s左右;南北黄灯闪,东西红灯亮;延时闪烁几次;南北红灯亮,东西绿CALL DELAY ;长延时,3s左右CALL DELAYCALL DELAYCALL DELAYCALL DELAYMOV BL,9MOV AL,80HL1: XOR AL,02H ;南北红灯亮,东西黄灯闪OUT DX,ALCALL DELAY;延时CALL DELAYDEC BLJNZ L1 ; 闪烁几次CALL DELAYMOV DL,OFFHMOV AH,06HINT 21HJZ L3;六号功能判断若无字符输入ZF=1继续循环
5、MOV AH,4CHINT 21H; 延时函数DELAY : PUSH CXPUSH DXMOV CX,1FFFHLOP1: MOV DX,0FFFFHLOP2: DEC DXJNZ LOP2LOOP LOP1POP DXPOP CXRETCODE ENDSEND START可编程定时时钟/计数器(8253)实验目的掌握8253的基本工作原理和编程方法。实验内容按图5-1虚线连接电路,将计数器0设置为方式0,计数器初值 为N(NW 0FH),用手动逐个输入单脉冲,编程使计数值在屏幕上显 示,并同时用逻辑笔观察 OUT0电平变化(当输入N+1个脉冲后OUT0 变高电平)。按图5-2连接电图,将计
6、数器0、计数器1分别设置为方式3,计数初值设为1000,用逻辑笔观察OUT输出电平的变化(频率1HZ)OUGOUT 16 ATE 1 CLK13#9 v 1! -ijf-OUT0QATE0ic i111C L K 0 <爭Ti三、实验原理8253具有3个独立的计数通道,采用减1计数方式。在门控信 号有效时,每输入1个计数脉冲,通道作1次计数操作。当计数脉冲 是已知周期的时钟信号时,计数就成为定时。作计数器时,要求计数的次数可直接作为计数器的初值预置到减“ 1”计数器中。8253中各通道可有6种可供选择的工作方式, 以完成定时、计 数或脉冲发生器等多种功能。本实验用到的是方式0计数结束中断
7、。 在写入计数值N之后的第一个CLK的下降沿将N装入计数执行单元, 待下一个CLK的下降沿到来且门控信号 GATE为高电平时,通道开始 启动计数。在计数过程中,OUT直保持低电平,直到计数达“ 0” 时,OUT输出由低电平变为高电平,并且保持高电平。8253动态分配地址:控制寄存器:0EC03H计数器0地址:0EC00H计数器1地址:0EC01H四、程序流程图五、程序清单DATA SEGMENTN EQU OBH ;计数器初值,不大于 OFHCHL DB 0AH,0DH,'$'换行DATA ENDSSTACK1 SEGMENT STACKDW 100 DUP(O)STACK1
8、ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACK1START: MOV AX,DATAMOV DS,AX;INITMOV DX,0EC03H控制寄存器地址MOV AL,10H;计数器0,低字节,方式0, 二进制计数OUT DX,AL;写入控制字MOV DX,0EC00HMOV AL,NOUT DX,AL ;写入计数初值MOV CL,NL0: ;MOV AL,0;计数器0锁存;MOV DX,IO8253;OUT DX,ALMOV DX,0EC00HIN AL,DX;读取当前数值CMP AL,CLJNE L0;若AL不等于CL,则继续到L0循环DEC
9、CL ;更改CL值MOV DL,ALCMP DL,09H ;是 09 吗?JLE ASCIADD DL,07H ;是 AFASCI: ADD DL,30HMOV AH,02H ;单字符输岀计数器当前 值INT 21HMOV DX,OFFSET CHL输岀字符串换行MOV AH,09HINT 21HCMP CL,0JNL L0;CL不小于0时,继续循环STACK1 ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACK1START: MOV AX,DATAMOV DS,AXMOV AL,36HMOV DX,0EC03H ;写计数器0控制字OUT DX,AL
10、MOV AX,1000 ;写计数器0初值MOV DX,0EC00HOUT DX,AL;先写低字节后写高字节MOV AL,AHOUT DX,ALMOV AH,4CHINT 21HCODE ENDSEND START2)DATA SEGMENTX DB ?DATA ENDSSTACK1 SEGMENT STACKDW 100H DUP(0)MOV AL,76HMOV DX,0C403HOUT DX,AL ; 写计数器1控制字MOV AX,1000; 写计数器0初值MOV DX,0C401HOUT DX,ALMOV AL,AH ; 先写低字节后写高字节OUT DX,ALCODE ENDSEND ST
11、ART串行通讯一、实验目的1、进一步了解串行通信的基本原理。2、掌握串行接口芯片8250的工作原理和编程方法。3、熟悉PC机串行口的基本连接方法二、实验内容1、PC机RS-232串口自发自收。按照PC机串口自发自收的连接方法连线。编写PC机自发自收串 行通信程序,要求:从键盘输入一个字符,将字符通过串口发送出去, 再由此串口将字符接收回来并在屏幕上显示,实现自发自收。2、两台PC机间RS-232串口通信。按照PC机RS-232串口直接互连的方法连接两台 PC机。编写 PC机直接互连串行通信程序;要求:由甲机键盘键入字符经串口发 送给乙机,再由乙机通过串口接收字符并显示在屏幕上。当键入感叹号“!
12、”结束收发过程。三、实验原理1、异步通信本实验以字符为单位进行传送,每传送一个字符,以起始位作为 开始标志,以停止位作为结束标志异步串行通信的工作过程是:传送开始后,接收设备不断地检测 传输线是否有起始位到来,当接收到一系列的“ 1”(空闲或停止位) 之后,检测到第一个“ 0”,说明起始位出现,就开始接收所规定的数 据位、奇偶校验位及停止位。经过接收器处理,将停止位去掉,把数 据位拼装成一字节数据,并且经奇偶校验无错误,才算是正确地接收 到了一个字符。当一个字符接收完毕,接收设备又继续测试传输线, 监视“0”电平的到来(下一个字符的开始),直到全部数据接收完毕。验 位 位2、8250各部分功能
13、说明8250片内有10个寄存器,其中有几个是共用地址的,其识别由线路控制寄存器(LCR的最高位DLAE来决定。各寄存器的地址如下:3250宵荷料地丄士DLABA2A1A0I/OI 1地M00003FSH(2FSH)发送端数据寄存器00003FSH(2F3H)10003F8H(2FSH)波特率闵产岳疗器f低8位)10013F9H(2F9H)波特率因f寄存器高&世、00013F9H(2F9H)断允识<心器 IER :X0103FAHC2FAH)十附门只別奇亦器(TIF>X0113FBH(2FBH)续路拧制寄fF:器(LCR)X1003FCH(2FCH>MODEM拧 制 寄
14、 仔 器< MCR)X1013FDH(2FDH)线路状态奇疔器(LSR>X1103FEH(2FEH )MODEMX1113FFH(2FFH)保蔺3、数据发送和接收:数据发送:CPU莖遇数据发送R 豐刽发送移位R空更发送端Sour (插入起始*校验、停止位后发出。) 漿 数据接收:数据起始位 业勢控聲Sin鱼据.移位R串转并-数据接收R CPU四、程序清单1自发自收CODE SEGMENTASSUME CS:CODESTART: MOV AL,10000000B ;8250 初始化,设 DLAB=1MOV DX,3FBHOUT DX,ALMOV AX,30H;写入除数低字节MOV D
15、X,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,ALMOV AL,0MOV DX,3F9HOUT DX,ALWAIT_FOR:MOV DX,3FDHIN AL,DXTEST AL,00011110BJNZ ERRORTEST AL,00000001B;写入Moder控制寄存器;写中断允许寄存器,屏蔽中断;读线路状态寄存器;出错否;岀错,转E
16、RROR;接收数据就绪否JNZ RECEIVE ;就绪,转接受TEST AL,00100000B;发送寄存器空否,不空,返回等待JZ WAIT_FORMOV 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,DXAND AL,01111111B ;保留 7位数据 ;是 Ctrl+C?CMP AL,03HJNZ CHARMOV
17、AH,4CHINT 21HCHAR: PUSH AXMOV DL,ALMOV AH,2HINT 21HPOP AXJMP WAIT_FORERROR: MOV DX,3FDH IN AL,DX MOV DL,? MOV AH,02H INT 21H JMP WAIT_FORCODE ENDSEND START;返回DOS;显示接收字符;返回等待;出错则清除线路状态寄存器;显示?2.双机通信(1)发送端:CODE SEGMENTASSUME CS:CODESTART: MOV AL,80H;8250MOV DX,3FBHOUT DX,AL初始化,设DLAB=1MOV AX,30H出错否接收数据就
18、绪否发送发送寄存器空否,不空,返回等待读键盘是'!'?是,返回操作系统不是,则发送返回等待出错则清除线路状态寄存器显示?MOV DX,3F8HOUT DX,AL;MOV AL,AHINC DXOUT DX,AL;MOV AL,0AH;7MOV DX,3FBHOUT DX,AL;MOV AL,03HMOV DX,3FCHOUT DX,AL;MOV AL,0MOV DX,3F9HOUT DX,AL;WAIT1: MOV DX,3FDHIN AL,DXTEST AL,1EH ;JNZ ERROR;TEST AL,01H ;JNZ SEND ;TEST AL,20H ;JZ WAIT1
19、SEND: MOV AH,1INT 21H;CMP AL,21H;JZ EXITMOV DX,3F8HOUT DX,ALJMP WAIT1 ;ERROR: MOV DX,3FDHIN AL,DXMOV DL,?;MOV AH,02HINT 21H写入除数低字节写入除数高字节位数据,1位停止,奇校验写入线路控制寄存器写入Modem控制寄存器写中断允许寄存器,屏蔽所有中断读线路状态寄存器JMP WAIT1EXIT:MOV AH,4CHINT 21HCODE ENDSEND START接收端:CODE SEGMENT ASSUME CS:CODESTART: MOV AL,80H MOV DX,3F
20、BH OUT DX,ALMOV AX,30HMOV DX,3F8H OUT DX,AL MOV AL,AH INC DXMOV DX,3F9H OUT DX,ALMOV AL,0AHMOV DX,3FBH OUT DX,ALMOV AL,03HMOV DX,3FCH OUT DX,ALMOV AL,0MOV DX,3F9H OUT DX,ALWAIT1: MOV DX,3FDH IN AL,DX TEST AL,1EH;JNZ ERRORTEST AL,01H ; JNZ RECEIVE;TEST AL,20H ; ;JZ WAIT1;8250初始化写除数写入除数低字节写入除数高字节写入线路控
21、制寄存器写入Moder控制寄存器写中断允许寄存器,屏蔽所有中断读线路状态寄存器出错否接收数据就绪否转接收发送寄存器空否,不空,返回等待JMP WAIT1 ;RECEIVE: MOV DX,3F8H IN AL,DXAND AL,01111111BCMP AL,21HJNZ 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 21H均返回等待读接收数据保留位数据是'!&
22、#39;?返回操作系统显示接受字符返回等待出错则清除线路状态寄存器显示?JMP WAIT1CODE ENDSEND START课程综合实验(抢答器)实验目的1、了解微机化竞赛抢答器的基本原理。2、进一步学习使用并行接口。二、实验内容图5-4为竞赛抢答器(模拟)的原理图,逻辑开关K(H K7代表竞赛抢答按钮07号,当某个逻辑电平开关置“1”时,相当某组 抢答按钮按下。在七段数码管上将其组号(07)显示出来,并使喇叭响一下。从键盘上按空格键开始下一轮抢答,按其它键程序退出8255动态分配地址:控制寄存器:OECOBHA 口地址:0EC08HC 口地址:0EC0AH三、程序流程图四、程序清单DATA SEGMENTLIST DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07HDATA ENDSSTACK1 SEGMENT STACKDW 100H DUP(O)STACK1 ENDSCODE
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年数据备份数据备份数据数据应急预案
- 控油皮肤的日常护理注意事项
- 神经科患者的营养需求与评估
- 2026年脑机接口柔性电极新材料标准化研究
- 环境与职业健康安全管理方案参考指南
- 2025年前台服务考核
- 2025年前台服务规范测试
- 2026年发射箱体功能层铺放与电磁屏蔽结构一体化设计
- 2026年数字孪生几何建模技术:从点云采集到模型轻量化
- 支气管镜检查的拔火罐护理
- 51testing:2024年软件测试行业现状调查报告
- 灌排渠道设计规范
- 三年级数学下册口算练习题(每日一练共12份)
- 心脑血管病防治知识讲座
- 2025至2030中国有机芝麻行业产业运行态势及投资规划深度研究报告
- 低空经济试题及答案
- (高清版)DB11∕T 1455-2025 电动汽车充电基础设施规划设计标准
- 养老院安全生产教育培训内容
- 设备设施停用管理制度
- 学会宽容第3课时-和而不同 公开课一等奖创新教案
- 山东高考英语语法单选题100道及答案
评论
0/150
提交评论