




已阅读5页,还剩39页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
微机原理与接口技术实验指导书李琼、朱二莉 编写苏州经贸职业技术学院信息系二00六年三月目 录实验指导实验一指令系统实验二寻址方式5实验三RAM存贮器6实验四DMA特性及8237应用7实验五8259中断控制器6实验六8255A并行口实验 9实验七(选做) 8250串口实验11实验八 8253定时/计数器应用 14实验九A/D转换实验16实验十 简易数字录音 18实验十一 微机接口编程设计 19附录 部分参考程序19实验三RAM存储器19实验五 中断控制实验19实验六 8255并行接口实验22实验七 8250串口实验24实验九 A/D转换实验27 实验一指令系统(简单程序设计)一、实验目的:熟悉汇编程序设计的基本过程。二、实验内容:1、NUMB1 DB ?NUMB2 DW 20 DUP(?)NUMB3 DB USBMOV AX,TYPE NUMB12、编写人机对话程序 WHAT IS YOUR NAME? 输入:My name is . DSEG SEGMENT DATA DB 0AH,0DH,WHAT IS YOUR NAME?$ BUF DB 81 DB ? DB 80 DUP(0) DSEG ENDS STACK1 SEGMENT DB 200 DUP(0) STACK1 ENDS CODE SEGMENT ASSUME CS:CODE,DS:DSEG,SS:STACK1 START: MOV AX,DSEG MOV DS,AX LEA DX,DATA MOV AH,09H INT 21H LEA DX,BUF MOV AH,0AH INT 21H MOV AH,4CH INT 21H CODE ENDS END START 思考:汇编程序设计有那些步骤,应该注意什么?实验二 寻址方式一、 实验目的1、 复习微机实验环境安装和环境配置2、 练习寻址方式、重点内存寻址方式3、 单步运行程序,通过观察窗口观察指令对寄存器中数据的影响二、 实验内容程序是指令的集合。指令就是计算机可以识别的命令程序=数据结构+算法。数据不能凭空产生和凭空存在,必须有其存在的硬件环境。计算机硬件系统包括CPU、内存、系统总线、接口。所以数据(操作数)只能存放在CPU、内存、接口中,产生几种寻址方式。寻址方式是指寻找指令操作数所在地址的方式(为确定数据的来源和去处)。四种寻址方式a、 立即数寻址:操作数代码中 例如: mov bx,1234H b、 寄存器寻址:操作数在CPU中的某个寄存器 例如: mov ax, bx c、 外设 寻址:操作数在外设中(即接口电路中) 例如: IN ax,23Hd、 内存 寻址:操作数在内存中。 例如: mov ax,bx 根据偏移地址求法内存寻址划分为5种:l 直接寻址:偏移地址在指令 中可以看到。l 寄存器间接寻址:偏移地址在CPU寄存器中。l 寄存器相对寻址:偏移地址由CPU寄存器中数值和另外数值的叠加得到。l 基址变址寻址:偏移地址由CPU中基址寄存器(BX、BP)中的数值和变址寄存器(SI、DI)中数值得到。l 相对基址变址寻址:偏移地址由CPU中基址寄存器BX、BP)中的数值和变址寄存器(SI、DI)中数值得到。举例说明 mov ax,1234h ;内存寻址方式中的直接寻址 (偏移地址在指令 中可以看到) mov ax,bx ;内存寻址方式中的寄存器间接寻址(偏移地址在CPU寄存器中) mov ax,bx+12H ;内存寻址方式中的寄存器相对寻址 mov ax,bx+si ;内存寻址方式中的基址变址寻址 mov ax,bx+si+12H;内存寻址方式中的相对基址变址寻址三、 实验步骤1) 完成微机实验环境配置2) 新建文件a、 选中菜单栏文件新建文件,建立空白文件b、 编辑文件,输入以下代码data segment ;数据段开始block1 dw 1234h,5678h,9abch,0def0hdata ends ;数据段结束end segmentcode segment ;代码段开始 assume cs:code,ds:data ; 建立代码段寄存器和代码段段名的关系main: ; 主程序的开始 mov ax,data mov ds,ax ;初始化数据段段寄存器 mov bx,offset block1 mov si,2 mov ax,bx mov ax,ds:bxmov ax,ds:bx+2 mov ax,ds:bx+si mov ax,ds:bx+si+2 mov ah,4ch ;程序结束,返回DOS int 21hcode ends ;代码段结束 end of segment end main ;主程序结束3) 保存源程序a、 注意:保存源程序的文件名不能太长(包括路径);b、 注意:保存源程序的文件名的后缀为 .asm4) 编译和运行选择菜单栏项目全部编译 进行编译工作选择菜单栏执行单步 或F8快捷键 或 图标 5) 观察窗口观察数据变化a、 选择菜单栏窗口CPU窗口b、 观察单步执行时CPU内部有名称的寄存器如AX、BX、CX、DX的变化四、 完成思考题,调试成功后,请老师进行实验验收、打分a、 程序功能_b、 练习其他寻址方式c、 写出每个寻址方式五、 本次实验出现问题、解决方法,以及对实验的意见实验三RAM存贮器一、实验目的:l、熟悉静态RAM的使用方法,掌握8088微机系统扩展RAM的方法。2、掌握静态RAM读写数据编程方法。二、实验内容对指定地址区间的RAM(2000H23FFH)先进行写数据55AAH,然后将其内容读出再写到3000H33FFH中。三、硬件电路(系统中已连接好)四、实验步骤:l、将实验系统与PC机连接;2、在PC机上启功win88软件,实验系统进入联机状态;3、在win88软件环境下编辑、调试程序,将程序调试、编译通过;4、在系统提示符“P”状态下,输入执行地址后按EXEC键。5、稍后按RESET键退出, 用存贮器读方法检查2000H23FFH中的内容和300033FF中的内容应都是55AA。实验四 DMA特性及8237应用一、实验目的1 掌握PC机工作环境下进行DNA数据传送方法;2 掌握可编程DMA控制器8237的编程方法。二、硬件连线74HC273: Q1Q8接发光二极管L0RL7R, CLK 接74HC32的2Y,CLK 接VCC。74HC74: CLK接正脉冲按钮, D 接VCC, PR 接VCC。74HC244: IN1IN8接开关K0K7,CR接PC总线的DACK1,CS244接74HC32的1Y,Q 接PC总线的DRQ1。74HC32: 1A接PC总线的DADK1,2A接PC总线的DACK1,1B接PC总线的-IOR, 2B接PC总线的-IOW。三、实验原理本实验必须在纯MS-DOS方式下进行。PC机环境下,8237只能工作于单字节方式。PC机中8237的端口号为000FH,通道1的页面地址寄存器端口号为83H。四、实验编程及实验内容1 在内存6000H:0开始存放10个数据,对8237初始化,使正脉冲每产生一次DMA请求发送一字节到发光二极管显示。 2 内存6000H:0开辟8字节的缓冲区,对8237初始化,使正脉冲每产生一次DMA请求就从74HC244读入一字节(ASCII)存入内存缓冲区中,程序不断显示缓冲区的内容。3 将内容1改为用软件请求方法产生DMA请求,即不用外部的正脉冲,PC机键盘每按一键则DMA传送一字节到74HC273,在发光二极管上显示。实验五8259中断控制器一、实验目的1.掌握8259中断控制器的接口方法。2.掌握8259中断控制器的应用编程。二、实验内容l.硬件线路原理图如图51图512.硬件线路连接8259的INT连Xl5(8088的INTR)8259的INTA连Xl2(8088INTA)“”插孔和8259的3号中断IR3插孔相连, “”端初始为低电平。8259的CS端接X223.编程提示8259芯片介绍中断控制器8259A是专为控制优先级中断而设计的芯片。它将中断源优先级排队、辨别中断源以及提供中断矢量的电路集于一片中。因此无需附加任何电路, 只需对8259A进行编程, 就可以管理8级中断, 并选择优先模式和中断请求方式。.即中断结构可以由用户编程来设定。同时,在不需要增加其它电路的情况下, 通过多片8259A的级联, 能构成多达64级的矢量中断系统。本实验中使用3号中断源IR3, “”插孔和IR3相连, 中断方式为边沿触发方式。每按二次AN按钮产生一次中断,满5次中断,显示“8259good”。如果中断源电平信号不符合规定要求,则自动转到7号中断,显示“Err”。4.软件框图开始初始化8259调用显示8259-1子程序结束等待中断IR3中断服务程序:开始关中断显示中断次数 N判中断次数满5次后 调用显示“good”次数加1 结束中断返回IR7中断服务程序开始开中断调用显示“ERR”结束三、实验步骤1、按图51连好实验线路图2、将实验系统与PC机连接;3、在PC机上启功win88软件,实验系统进入联机状态;4、在win88软件环境下编辑、调试程序,将程序调试、编译通过;5、运行实验程序:在系统处于命令提示符“P.”状态下,输入执行地址后按EXEC键, 系统显示825916、按AN按钮, 按满l0次显示good实验六8255A并行口实验一、实验目的1.掌握8255A和微机接口方法。2. 掌握8255A的工作方式和编程原理。3. 掌握通过8255A并行口传输数据的方法, 以控制发光二极管的亮与灭。二、实验内容l.8255A芯片简介8255A可编程外围接口芯片是INTEL公司生产的通用并行接口芯片,它具有A、B、C三个并行接口, 用+5v单电源供电, 能在以下三种方式下工作:方式0:基本输入/ 输出方式方式l:选通输入/ 输出方式方式2:双向选通工作方式2. 硬件原理图如图52图522.硬件线路连接8255APC0L3PC17PC2L11PC3L15 PC4L2PC56PC6L10PC7L14 PB4L1PB5L5PB6L9PB7L133.软件框图开始置8255控制字82H,使B口数据保存在BL中读取PB口数据保存在BL中置8255控制字80H,使各端口均为输出口,且均工作于方式0使四个路口的红灯全亮延时一段时间点亮1、3路口绿灯延时熄灭1、3路口绿灯1、3路口黄灯闪烁8次四个红灯全亮点亮2、4路口绿灯延时熄灭2、4路口绿灯2、4路口绿灯闪烁8次四个红灯全亮4.编程提示通过8255A控制发光二极管,PB4-PB7对应黄灯, PC0-PC3对应红灯, PC4-PC7对应绿灯, 以模拟交通路灯的管理。要完成本实验, 必须先了解交通路灯的亮灭规律,设有一个十字路口l、3为南北方向, 2、4为东西方向, 初始状态为四个路口的红灯全亮,之后, 1、3路口的绿灯亮, 2、4路口的红灯亮, 1、3路口方向通车。延时一段时间后, l、3路口的绿灯熄灭, 而l、3路口的黄灯开始闪烁, 闪烁若干次以后, l、3路口红灯亮, 而同时2、4路口的绿灯亮, 2、4路口方向通车, 延时一段时间后, 2、4路口的绿灯熄灭, 而黄灯开始闪烁, 闪烁若干次以后, 再切换到l、3路口方向, 之后, 重复上述过程。程序中设定好8255A的工作模式及三个端口均工作在方式0, 并处于输出状态。各发光二极管共阳极, 使其点亮应使8255A相应端口的位清0。三、实验步骤l.按图52连好实验线路2、将实验系统与PC机连接;3、在PC机上启功win88软件,实验系统进入联机状态;4、在win88软件环境下编辑、调试程序,将程序调试、编译通过;5、运行实验程序输入执行地址后按EXEC键;系统显示执行符“厂”, 同时Ll-Ll5发光二极管模拟交通灯显示。实验七(选做) 8250串口实验一、实验目的(1)系统扩展以8250为核心的可编程串行异步通讯接口芯片。(2)对扩展的串行通讯接口实现自发自收。二、实验内容将寄存器AH的内容从10H开始通过8250发送、接收,每次收发后AH的内容自动增1直到FFH为止,再将每次接收到的数据,依次写到内存3000H30EFH单元中,实现自发自收。三、编程指南1、通讯协议 1个起始位,8位数据位,1个停止位,波特率:4800。2、8250的内部寄存器的端口地址3、8250的内部寄存器格式(见课本P263)4、波特率除数锁存器的值与波特率的对应关系(16进制数)5、8250的初始化编程 (1)设置波特率 (2)设置通讯数据格式 (3)设置操作方式 (4)设置中断允许寄存器四、实验接线图如图53图53五、实验步骤1、 用扁平线连BUS(D0D7)到JX3(D0D7),连8000H孔到CS7,连TXD到RXD(8250实验区)。2、将实验系统与PC机连接;3、在PC机上启功win88软件,实验系统进入联机状态;4、在win88软件环境下编辑、调试程序,将程序调试、编译通过;5、运行程序,当系统显示“8250good”表示自发自收结束,按RST钮,系统返回P态,用内存读写命令检查3000H30EFH内容是否为10HFFH,验证其正确性。实验八 8253定时计数器应用一、实验目的 (1)学会8253芯片和微机接口原理和方法。 (2)掌握8253定时器计数器的工作方式和编程原理。 二、实验内容8253的0通道工作在方式3,产生方波。三、程序框图四、实验电路 五、编程提示8253芯片介绍8253是一种可编程定时/计数器,有三个十六位计数器,其计数频率范围为0-2MHz,用+5V单电源供电。8253的功能用途:(1)延时中断 (5)实时时钟(2)可编程频率发生器 (6)数字单稳(3)事件计数器 (7)复杂的电机控制器(4)二进制倍频器8253的六种工作方式:(1)方式0:计数结束中断 (4)方式3:方波频率发生器(2)方式1:可编程频率发生 (5)方式4:软件触发的选通信号(3)方式2:频率发生器 (6)方式5:硬件触发的选通信号8253的0号通道工作在方式3,产生方被。六、实验步骤(1)按实验电路图连接线路: 8253的GATE0接+5V。8253的CLK0插孔接分频器74LS393(左上方)的T2插孔,分频器的频率源为:4.9152MHz(已连好)。8253的CS孔与138译码器的FFE0孔相连。(2) 编写实验程序并运行(3)用示波器测量8253的OUT0输出插孔有方波产生。(4)按复位键RESET返回“P”或按暂停键STOP+MON键返回“P.”。实验九A/D转换实验一、实验目的了解模/数转换基本原理,掌握ADC0809的使用方法。二、实验内容1.硬件原理图如图54图54 2.硬件线路连接将0809 CS4连到译码输出8000H插孔。将通道0模拟量输入端IN0连电位器W1的中心插头05V插孔。3.软件框图开始启动0809进行本次A/D转换延时等待A/D转换结果读取A/D转换结果将结果转换成显示代码调用显示转换结果子程序4、编程提示ADC0809的START端为A/D转换启动信号, ALE端为通道选择地址的锁存信号, 实验电路中将其相连, 以便同时锁存通道地址并开始A/D采样转换,其输入控制信号为CS和WR, 故启动A/D转换只须如下两条指令:MOVDX,ADPORT;ADC0809端地址OUTDX,AL;发CS和WR信号并送通道地址用延时方式等待A/D转换结果, 使用下述指令读取A/D转换结果。MOVDX,ADPORTINAL,DX循环不断采样A/D转换的结果, 边采样边显示A/D转换后的数字量。三、实验步骤1.按图54连好实验线路。2、将实验系统与PC机连接;3、在PC机上启功win88软件,实验系统进入联机状态;4、在win88软件环境下编辑、调试程序,将程序调试、编译通过;5、运行实验程序 在系统上显示“0809XX”。“XX”表示输入的模拟量转换后的数字量。6、调节电位器Wl, 显示器上会不断显示新的转换结果。 模拟量和数字量对应关系的典型值为: 0V一00H,+2.5V80H。+5VFFH7、按RESET键退出或按STOP键后按MON键。实验十 简易数字录音一、实验目的1 了解数字录音技术的基本原理;2 进一步掌握A/D转换器和D/A转换器的使用方法。二、硬件连线8255:CS8255接地址译码Y1,PA0 接8253的OUT0。8253:CS8253接地址译码Y0,CLK0 接1MHz脉冲,GATE0 接VCC。DAC0832:CS0832接地址译码Y2,UB 接SPEAK INPUT。ADC0809:CS0809接地址译码Y3,CLK 接1MHz脉冲,IN2 接MIC OUTPUT。三、实验编程及实验内容以每秒5000次的速率采集IN2输入的语音数据存入内存中,共采集60000个数据(录十二秒),然后再以同样的速率将数据送DAC0832使喇叭发声(放音)。实验十一 微机接口编程设计一、实验目的1 掌握8086及PC机中断处理系统的基本原理及学会编写中断服务子程序;2 掌握系统DOS调用方法及应用;3 掌握可编程并行口8255的原理与应用;4 学会综合运用几种接口芯片编写程序。二、实验电路图说明:由于等PC、IBM等机内有一片8259中断控制器对外提供8个中断源,本设计就选中其中IRQ3,中断类型号为08H,因此,初始化字由于微机系统已设置好,现不用另行设置。三、实验原理开关SW控制整个电路的开启,并使二极管亮,PC机中8259的IRQ3进行外部中断源控制。四、实验内容开关SW按下后,按一次单脉冲键钮,产生一次中断,并显示一串字符,按字符提示键盘选择,显示一串字符,再按提示按键盘,最后产生一串字符。中断前,二极管循环点亮。按ESC键退出。五、程序流程图E:/ 新建以本人学号为名的文件夹,将masm拷入;附件/记事本,建立 。asm 文件,保存入学号文件夹,将代码写入 。asm 文件中;程序/MS-DOS方式进入masm文件夹汇编:/ masm 。asm 链接:/Link 执行: 附录 部分参考程序实验三RAM存储器 CODE SEGMENTASSUME CS:CODE ORG 1900H ;定义起始地址 1900 B8 0000 START: MOV AX,0H;定义数据段寄存器DS 1903 8E D8 MOV DS,AX 1905 BB 0020 MOV BX,2000H ;定义数据地址BX 1908 B8 AA55 MOV AX,55AAH;置常数为55AA 190B B9 FF03 MOV CX,03FFH ;置字节数CX 190E 89 07 RAMW1: MOV DS:BX,AX ;常数55AA写入DS;BX中 1910 83 C3 02 ADD BX,0002H ;地址增量 1913 E2 F9 LOOP RAMW1 ;一直写到字节数0为止 1915 B8 0020 MOV AX,2000H 1918 8B F0 MOV SI,AX;置源数据区地址SI 191A B8 0030 MOV AX,3000H 191D 8B F8 MOV DI,AX;置目的数据区地址DI 191F B9 FF03 MOV CX,03FFH;置字节数CX 1922 FC CLD;确定地址变化方向 1923 F3 A4 REP MOVSB;写数据到目标数据区 1925 EB FE JMP $;结束 1927 CODE ENDS END START实验五 8259中断控制实验 CODE SEGMENT ASSUME CS:CODE =0060 INTPORT1 EQU 0060H;定义8253控制口和通道地址 =0061 INTPORT2 EQU 0061H INTQ3 EQU INTREEUP3 INTQ7 EQU INTREEUP7 ORG 13A0H;定义起始地址 13A0 FC START: CLD;关中断 13A1 E8 00F2 CALL WBUF1;调用初始显示8259-1子程序 13A4 E8 001D CALL WRINTVER;WRITEINT 13A7 B0 13 MOV AL,13H;调用写中断向量子程序 13A9 BA 0060 MOV DX,INTPORT1;8259初始化 13AC EE OUT DX,AL 13AD B0 08 MOV AL,08H 13AF BA 0061 MOV DX,INTPORT2 13B2 EE OUT DX,AL 13B3 B0 09 MOV AL,09H 13B5 EE OUT DX,AL 13B6 B0 F7 MOV AL,0F7H 13B8 EE OUT DX,AL 13B9 C6 06 0701 01 MOV BYTE PTR DS:0701H,01H;置中断次数;初值01 13BE FB STI ;开中断 13BF E8 008AWATING: CALL DISP;调用显示8259-1子程序 13C2 EB FB JMP WATING;循环等待中断 13C4 B8 0000WRINTVER:MOV AX,0H;写中断向量子程序 13C7 8E C0MOV ES,AX 13C9 BF 002C MOV DI,002CH;写3号中断矢量 13CC B8 13E0r LEA AX,INTQ3 13CF AB STOSW 13D0 B8 0000 MOV AX,0000h 13D3 AB STOSW 13D4 BF 003C MOV DI,003CH 13D7 B8 142Er LEA AX,INTQ7;写7号中断矢量 13DA AB STOSW 13DB B8 0000 MOV AX,0000h 13DE AB STOSW 13DF C3 RET;子程序返回 13E0 FA INTREEUP3:CLI;3号中断服务程序 13E1 A0 0701 MOV AL,DS:0701H;取中断次数转换成显示13E4 E8 0036 CALL CONVERS 13E7 BB 077B MOV BX,077BH 13EA B0 10 MOV AL,10H 13EC B9 0005 MOV CX,05H 13EF 88 07 INTRE0: MOV BYTEPTR DS:BX,AL;显示代码写入;显示缓冲区 13F1 43 INC BX 13F2 E2 FB LOOP INTRE0 13F4 B0 20 MOV AL,20H 13F6 BA 0060 MOV DX,INTPORT1 13F9 EE OUT DX,AL 13FA 80 06 0701 01 ADD BYTEPTR DS:0701H,01H;判中断;次数为5次否 13FF 80 3E 0701 06 CMP BYTEPTR DS:0701H,06H 1404 76 20 JNA INTRE2 1406 C7 06 077A 191A MOV DS:077AH,191AH;满5次显示“good” 140C C7 06 077C 1819 MOV DS:077CH,1819H 1412 C7 06 077E 1010 mov DS:077Eh,1010H 1418 E8 0031 INTRE1: CALL DISP 141B EB FB JMP INTRE1 141D 24 0F CONVERS: AND AL,0FH 141F BB 077A MOV BX,077AH 1422 88 07 MOV DS:BX,AL 1424 43 INC BX 1425 C3 RET 1426 B0 20 INTRE2: MOV AL,20H;不满5次开中断返回 1428 BA 0060 MOV DX,INTPORT1 142B EE OUT DX,AL 142C FB STI 142D CF IRET 142E FA INTREEUP7: CLI;7号中断服务程序 142F B0 20 MOV AL,20H 1431 BA 0060 MOV DX,INTPORT1;因触发电平不符合;中断求引起的7号中断 1434 EE OUT DX,AL 1435 C7 06 077A 1C1C MOV DS:077AH,1C1CH;显示“ERR” 143B C7 06 077C 101B MOV DS:077CH,101BH 1441 C7 06 077E 1010 mov DS:077Eh,1010H 1447 E8 0002 INTRE3: CALL DISP 144A EB FB JMP INTRE3 144C BA 077F disp: mov dx,077Fh;显示子程序 144F B4 20 mov ah,20h 1451 B9 00FF disp0: mov cx,00ffh 1454 8B DA mov bx,dx1456 8A 1F mov bl,ds:bx 1458 B7 00 mov bh,0h 145A 52 push dx 145B BA FF22 mov dx,0ff22h 145E 2E: 8A 871479 mov al,cs:bx+1479h 1463 EE OUT DX,AL 1464 BA FF21 mov dx,0ff21h 1467 8A C4 mov al,ah 1469 EE OUT DX,AL 146A E2 FE disp1: loop disp1 146C 5A pop dx 146D 4A dec dx 146E D0 EC shr ah,01h 1470 75 DF jnz disp0 1472 BA FF22 mov dx,0ff22h 1475 B0 FF mov al,0FFH 1477 EE OUT DX,AL 1478 C3 ret 1479 C0 F9 A4 B0 99 9282+ data1: db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h F8 1481 80 90 88 83 C6 A186+ db 80h,90h,88h,83h,0c6h,0a1h,86h,8eh 8E 1489 FF 0C 89 DE C7 8CF3+ db 0ffh,0ch,89h,0deh,0c7h,8ch,0f3h,0bfh BF 1491 90 A3 A1 86 8F db 90h,0a3h,0a1h,86h,8fh 1496 BB 0000 WBUF1: MOV BX,0;初始化显示缓冲区(8259-1) 1499 C7 87 077A 1701 MOV WORD PTR DS:BX+077AH,1701H 149F 83 C3 02 ADD BX,2 14A2 C7 87 077A 0509 MOV WORD PTR DS:BX+077AH,0509H 14A8 83 C3 02 ADD BX,2 14AB C7 87 077A 0802 MOV WORD PTR DS:BX+077AH,0802H 14B1 C3 RET 14B2 CODE ENDS END START实验六 8255并行接口实验 CODE SEGMENT ASSUMECS:CODE =FF2B IOCONPT EQU 0FF2BH;定义8255各寄存器地址 =FF28 IOAPT EQU 0FF28H =FF29 IOBPT EQU 0FF29H =FF2A IOCPT EQU 0FF2AH ORG 12E0H;定义起始地址12E0 B0 82 START: MOV AL,82H12E2 BA FF2BMOV DX,IOCONPT ;写8255控制字,三个口均工作于方式012E5 EEOUT DX,AL;B口为输入,A及C口输出12E6 BA FF29MOV DX,IOBPT;读PB口数据存0601H单元12E9 EC IN AL,DX12EA A2 0601MOV BYTE PTR DS:0601H,AL12ED BA FF2BMOV DX,IOCONPT;写方式控制字均为输出12F0 B0 80 MOV AL,80H12F2 EEOUT DX,AL12F3 BA FF29MOV DX,IOBPT;置PB口高四位,熄黄灯12F6 A0 0601MOV AL,DS:0601H12F9 0C F0OR AL,0F0H12FB EEOUT DX,AL12FC BA FF2AMOV DX,IOCPT12FF B0 F0MOV AL,0F0H;使PC0PC3为0,PC4PC7为11301 EEOUT DX,AL;即点亮红灯,熄灭绿灯1302 E8 005DCALL DELAY1;延时1305 B0 A5IOLED0: MOV AL,10100101B;使1,3路口绿灯亮,同时2,4路口红灯亮1307 BA FF2AMOV DX,IOCPT130A EE OUT DX,AL130B E8 0054CALL DELAY1;延时130E E8 0051CALL DELAY11311 0C F0 OR AL,0F0H;灭1,3路口绿灯1313 EEOUT DX,AL1314 B9 0008MOV CX,8H;置计数器值为81317 BA FF29IOLED1: MOV DX,IOBPT131A A0 0601MOV AL,DS:0601H131D 24 AF AND AL,10101111B;点亮1,3路口黄灯131F EE OUT DX,AL1320 E8 004CCALL DELAY2;延时较短时间1323 0C 50 OR AL,01010000B;灭1,3路口黄灯1325 EE OUT DX,AL1326 E8 0046CALL DELAY2;延时较短时间1329 E2 EC LOOP IOLED1;黄灯闪烁8次132B BA FF2AMOV DX,IOCPT132E B0 F0 MOV AL,0F0H;点亮4个红灯,灭4个绿灯1330 EE OUT DX,AL1331 E8 003BCALL DELAY2;延时1334 B0 5A MOV AL,01011010B;使1,3路口绿灯亮,同时2,4路口红灯亮1336 EE OUT DX,AL1337 E8 0028CALL DELAY1;延时133A E8 0025CALL DELAY1133D 0C F0 OR AL,0F0H;灭2,4路口绿灯133F EE OUT DX,AL1340 B9 0008MOV CX,8H;置计数初值1343 BA FF29IOLED2: MOV DX,IOBPT1346 A0 0601MOV AL,DS:0601H1349 24 5F AND AL,01011
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年邮政营业网点安全生产自查报告及整改措施
- 2025年养老机构年度消防应急演练计划
- 会计专业毕业论文译文
- 设计系毕业论文展望
- 英语笔译专业毕业论文
- 临床毕业论文
- 2024年公务员考试题库及一套参考答案
- 物流系毕业论文
- 行管本科毕业论文
- 风电项目风险评估与管理
- 生态农业开发授权委托书样本
- 糖尿病入院宣教护理
- 招聘与录用(第3版)课件全套 王丽娟 第1-8章 概述、招聘前的理论准备工作 -录用与招聘评估
- 黄色中国风家乡介绍山西
- 扬州树人学校2024-2025七年级上学期9月月考数学试卷及答案
- 报案材料范文模板
- 电商合伙经营合同
- 水利水电工程单元工程施工质量验收评定表及填表说明
- HG+20231-2014化学工业建设项目试车规范
- 《百变扭扭棒》大班艺术课件
- FZT 73013-2017 针织泳装行业标准
评论
0/150
提交评论