微机原理8279A实验报告

合集下载

微机原理8259A实验报告

微机原理8259A实验报告

实验二8259A中断控制器应用实验分析报告一、填写补充实验1-2中以下两段代码,并简述其意义:第1段:IN AL,21H_ AND AL, 0F7H _____________OUT 21H,ALIN AL,0A1H__AND AL, 0FBH______________OUT 0A1H,AL第2段:MOV AL,20HOUT 0A0H,ALOUT 20H,AL二、简述实验1-2的实验现象,分析解释其原因;结合本实验,简述中断嵌套和中断优先级的意义以及正确形成中断嵌套的基本要求。

答:实验1现象:按下一次单脉冲,显示一次字符,十次中断后停机,不再显示字符串实验2现象:分别按下两个单脉冲显示一串3和一串10,在3未显示完全时按下显示10的脉冲键,可发生中断,相反则不能发生中断,需等待一串10显示完后再显示一行3。

原因:IRQ10的中断级别高于IRQ3,所以可以在3还没有执行完时中断IRQ3,中断原程序执行IRQ10 。

中断嵌套的意义:为了让CPU及时响应更高级别的中断请求。

中断优先级的意义: CPU只能响应一个中断请求,在中断源较多的情况下,当有多个中断源同时发起中断请求时,CPU需要对多个中断源的优先级进行判断,判断出优先级最高的中断请求进行响应。

中断嵌套要求是:被中断程序的优先级低于请求程序中断的优先级。

三、抄写实验1-2中要求填写的“显示‘10’和‘空格’”的代码段NEXT10_1:MOV AX,SEG MESS10MOV DS,AXMOV DX,OFFSET MESS10MOV AH,09INT 21H ;使用INT21 – 09H实现字符串的输出‘10’CALL DELAY1 ;调用延时子程序LOOP NEXT10_1MOV DX,0DH ;调用DOS的中断功能,回车MOV AH,02HINT 21HMOV DX,0AH ;调用DOS的中断功能,换行MOV AH,02HINT 21H四、用文字简述或流程图方式,说明实验1-3中“以查询方式检测处理多中断请求”的过程。

微机原理实验报告

微机原理实验报告

南京信息工程大学实验(实习)报告实验(实习)名称 8259A单级中断控制实验(实习)日期 5.2 得分指导教师杜杰院计软院专业计科年级 11 班次 2 姓名孙成学号 20111308042一.实验目的1.掌握8259中断控制器的接口方法.2.掌握8259中断控制器的应用编程.二.实验内容本系统中已设计有一片8259A中断控制芯片,工作于主片方式,8个中断请求输入端IR0~IR7对应的中断型号为8~F,其和中断矢量关于如下表5-3所示。

8259中断源中断类型号中断矢量表地址IR0820H~23HIR1924H~27HIR2A28H~2BHIR3B2CH~2FHIR4C30H~33HIR5D34H~37HIR6E38H~3BHIR7F3CH~3FH根据实验原理图5-14,8259A和8088系统总线直接相连,8259A 上连有一系统地址线A0,故8259A 有2 个端口地址,本系统中为20H、21H。

20H 用来写ICW1,21H 用来写ICW2、ICW3、ICW4,初始化命令字写好后,再写操作命令字。

OCW2、OCW3 用口地址20H,OCW1用口地址21H。

图5-14中,使用了3号中断源,IR3插孔和SP插孔相连,中断方式为边沿触发方式,每按一次AN按钮产生一次中断信号,向8259A发出中断请求信号。

如果中断源电平信号不符规定要求则自动转到7号中断,显示"Err"。

CPU响应中断后,在中断服务中,对中断次数进行计数并显示,计满5次结束,显示器显示"8259Good"。

三.实验步骤1、按图5-14连好实验线路2、运行实验程序在DVCC-8086JHN上显示"8259-1"。

3、按AN按键,每按二次产生一次中断,在显示器左边一位显示中断次数,满5次中断,显示器显示"8259 good"。

实验部分代码如下:CODE SEGMENTASSUME CS:CODEINTPORT1 EQU 0020H ;定义变量为端口地址20HINTPORT2 EQU 0021H ;定义变量为端口地址21HINTQ3 EQU INTREEUP3INTQ7 EQU INTREEUP7CONTPORT EQU 00DFHDA TAPORT EQU 00DEHDA TA0 EQU 0580HDA TA1 EQU 0500HDA TA2 EQU 0508HDA TA3 EQU 0518HDA TA4 EQU 0520HORG 1800HSTART: JMP Tint1Tint1: CALL FORMATCLDMOV DI,DATA0MOV CX,08HXOR AX,AXREP STOSWMOV SI,DATA3CALL LEDDISP ;DISP 8259-1MOV AX,0HMOV DS,AXCALL WRINTVER ;WRITE INTRRUPTMOV AL,13H ;初始化命令字ICW1为13H:即采用边沿触发,调用地址间隔为8,单级,需要ICW4MOV DX,INTPORT1 ;端口地址20H送至DXOUT DX,AL ;ICW1传送至端口20HMOV AL,08H ;ICW2为08H,确定中断向量T3MOV DX,INTPORT2 ;端口地址21H送至DXOUT DX,AL ;ICW2传送至21HMOV AL,09H ;ICW4为09H,即采用不是特殊的全嵌套方式,缓冲方式/从,中断结束方式为正常EOI,所用微处理器为8086/8088OUT DX,AL ;ICW4传送至21HMOV AL,0F7H ;中断屏蔽命令字OCW1为0F7H,即D3位为0,其相应的输入线的中断被允许OUT DX,AL ;OCW1传送至21HMOV BYTE PTR DS:[0601H],01H ;TIME=1STIWATING: JMP WA TINGWRINTVER:MOV AX,0H……CODE ENDSEND START四.实验总结通过此次实验,我掌握了8259中断控制器的接口方法和应用编程。

南昌大学微机原理AD转换实验

南昌大学微机原理AD转换实验

实验九 A/D转换实验一.实验要求编程用查询方式采样电位器输入电压,并将采样到的结果实时地通过8279显示在数码管上。

(只须显示一位即可。

用0~F表示0~+5V电压)。

二.实验目的1.掌握A/D芯片AD0809的转换性能及编程方法。

2.学习A/D芯片与其他芯片(如8279)接口的方法,初步建立系统的概念。

三.实验电路及连线CS8279已固定接至88译码238H插孔,A/D的CS0809插孔接译码处208H插孔, 0809的IN0接至19模块电位器PR3的中心抽头插孔。

四.实验说明本实验中所用A/D转换芯片为逐次逼近型,精度为8位,每转换一次约100微秒,所以程序若为查询式,则在启动后要加适当延时。

另外,0809芯片提供转换完成信号(EOC),利用此信号可实现中断采集。

五.实验程序框图六.实验程序:Z8279 EQU 239HD8279 EQU 238HD0809 EQU 208HLEDMOD EQU 00 ;左边输入,八位显示外部译码八位显示LEDFEQ EQU 38H ;扫描频率CODE SEGMENTASSUME CS:CODE,DS:codeSTART: push cspop dscall delayMOV DX,Z8279MOV AL,LEDMODOUT DX,ALMOV AL,LEDFEQOUT DX,ALMOV CX,06HXZ: MOV DX,D8279MOV AL,00HOUT DX,ALLOOP XZMOV DX,D8279MOV AL,5eHOUT DX,ALMOV DX,D8279MOV AL,77HOUT DX,AL ;以上为写(AD)NOPbg:mov dx,D0809mov al,0out dx,alcall delayin al,dxmov cl,04hror al,cland al,0fhpush axmov dx,z8279mov al,83hout dx,alpop axLEA BX,LEDXLATMOV DX,D8279 ;将AL中内容写到数码管上OUT DX,ALcall delayJMP BGdelay proc nearpush cxmov cx,0f00hloop $pop cxretdelay endpLED DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H DB 5EH,79H,71HCODE ENDSEND START。

微机原理的实验报告

微机原理的实验报告

一、实验目的1. 理解微机的基本组成和各部件的功能;2. 掌握微机的工作原理和指令系统;3. 熟悉汇编语言程序设计的基本方法;4. 提高动手能力和实际操作技能。

二、实验内容1. 微机系统组成实验(1)实验目的:了解微机的基本组成和各部件的功能。

(2)实验内容:观察并记录微机系统的各个部件,如CPU、内存、硬盘、主板等,并了解它们的功能。

(3)实验步骤:①观察微机系统各个部件的连接情况;②了解各个部件的功能和作用;③分析微机系统的整体结构。

2. 微机工作原理实验(1)实验目的:掌握微机的工作原理。

(2)实验内容:观察并记录微机工作过程中的各个阶段,如指令的取指、译码、执行等。

(3)实验步骤:①观察微机工作过程中的各个阶段;②了解各个阶段的功能和作用;③分析微机工作原理。

3. 指令系统实验(1)实验目的:熟悉汇编语言指令系统。

(2)实验内容:学习汇编语言的基本指令,如数据传送指令、算术运算指令、逻辑运算指令等。

(3)实验步骤:①学习汇编语言的基本指令;②编写简单的汇编语言程序,实现数据传送、算术运算、逻辑运算等功能;③调试程序,观察程序运行结果。

4. 汇编语言程序设计实验(1)实验目的:提高汇编语言程序设计能力。

(2)实验内容:编写一个汇编语言程序,实现以下功能:①计算两个数的和;②判断一个数是否为偶数;③输出程序运行结果。

(3)实验步骤:①编写汇编语言程序,实现上述功能;②调试程序,观察程序运行结果;③分析程序运行过程,确保程序正确性。

三、实验结果与分析1. 微机系统组成实验:通过观察和记录微机系统的各个部件,了解了微机的基本组成和各部件的功能。

2. 微机工作原理实验:通过观察微机工作过程中的各个阶段,掌握了微机的工作原理。

3. 指令系统实验:通过学习汇编语言的基本指令,熟悉了汇编语言指令系统。

4. 汇编语言程序设计实验:通过编写汇编语言程序,提高了汇编语言程序设计能力。

四、实验心得通过本次微机原理实验,我对微机的基本组成、工作原理和指令系统有了更深入的了解。

8279键盘显示实验

8279键盘显示实验

8279键盘显示实验一、实验目的与要求了解8279的内部结构、工作原理;了解8279与8088的接口逻辑;掌握对8279的编程方法,掌握使用8279扩展键盘、显示器的方法。

认真预习,做好实验前的准备工作,自行编写程序,填写实验报告二、实验设备STAR系列实验仪一套、PC机一台三、实验内容1、编写程序:利用8279实现对F4区的键盘扫描,将键号显示于8位数码管上2、按图连线,运行程序,观察实验结果,能熟练运用8279扩展显示器和键盘。

四、实验原理图五、实验步骤1、连线说明:2、运行程序,观察实验结果(任意按下F4区4X4键盘几个键,它上面的8个LED显示器会将按键的编码从左至右依次显示出来),可依此验证对8279芯片操作的正确性。

六、演示程序.MODEL TINYCMD_8279 EQU 0BF01H ;8279命令字、状态字地址DATA_8279 EQU 0BF00H ;8279读写数据口的地址.STACK 100.DATAKEYCOUNT DB ?LED_TAB DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8HDB 080H,90H,88H,83H,0C6H,0A1H,86H,8EH.CODESTART: MOV AX,@DATAMOV DS,AXNOPCALL INIT8279 ;初始化子程序MOV KEYCOUNT,0START1: CALL SCAN_KEY ;键扫描JNC START1 ;没有按键XCHG AL,KEYCOUNTINC ALCMP AL,9JNZ START2MOV KEYCOUNT,0CALL INIT8279_1;8个数码块全有字符显示后,再按键,清除显示JMP START1START2: XCHG AL,KEYCOUNTCALL KEY_NUM ;键值转换为键号LEA BX,LED_TAB ;字型码表XLATCALL WRITE_DATAJMP START1START_EXIT: JMP $;8279初始化INIT8279 PROC NEARMOV DX,CMD_8279 ;CMD_8279为写命令地址、读状地址MOV AL,34H;可编程时钟设置,设置分频系数(20分频)OUT DX,ALMOV AL,0;8*8字符显示,左边输入,外部译码键扫描方式OUT DX,AL; MOV AL,0A0H; OUT DX,ALCALL INIT8279_1RETINIT8279 ENDPINIT8279_1 PROC NEARCALL CLEAR ;清显示MOV AL,90H ;从第一个数码管开始移位显示OUT DX,ALRETINIT8279_1 ENDPCLEAR PROC NEARMOV DX,CMD_8279MOV AL,0DEH ; 清除命令OUT DX,ALWAIT1: IN AL,DXTEST AL,80HJNZ WAIT1 ; 显示RAM清除完毕吗?RETCLEAR ENDPSCAN_KEY PROC NEARMOV DX,CMD_8279IN AL,DX ;读状态READ_FIFO: AND AL,7JZ NO_KEY ;是否有键按下READ: MOV AL,40HOUT DX,AL ;读FIFO RAMMOV DX,DATA_8279IN AL,DXSTC ;有键SCAN_KEY1: RETNO_KEY: CLC ;无键按下,清CYJMP SCAN_KEY1SCAN_KEY ENDPKEY_NUM PROC NEARAND AL,3FHRETKEY_NUM ENDPWRITE_DATA PROC NEARMOV DX,DATA_8279OUT DX,ALRETWRITE_DATA ENDPEND START七、实验扩展及思考重新编写软件实验二,自己编写键扫描、显示程序。

实验-8259A单级中断 微机原理与接口技术

实验-8259A单级中断 微机原理与接口技术

LEDDISPD: MOV AL, 90H ;8255 初始化 MOV DX, CONTPORT OUT DX, AL MOV BYTE PTR DS:[0600H], 00 ;共8位显示 LEDD1: CMP BYTE PTR DS:[0600H], 07H JA LEDD2 MOV BL, DS:[0600H] MOV BH, 0H MOV AL, DS:[BX+SI] ;输出段模 MOV DX, DATAPORT OUT DX, AL ADD BYTE PTR DS:[0600H], 01H JNZ LEDD1 LEDD2: RET
0500H~

LEDDSP 显示子程序(从代码段取显示模)? LEDDSPD 显示子程序(从数据段取显示模)? 入口条件:SI←显示缓冲区地址 从 8255A C口送出位模
0600H 单元存放显示位数(0~7)
2、中断部分 (1)WRINTVER 装 IRQ3、IRQ7中断矢量表 (2)8259 部分 初始化 写 ICW1、ICW2、ICW4 写 OCW1 (开放 IRQ3 ) 0601H←1 (TIME) 0600H WATING: JMP WATING (等待中断) 中断服务程序 INTREEUP7 INTREEUP3 (送结束命令 INTRE1)
0580H
INTRE1:
MOV MOV RET MOV MOV OUT STI IRET
BX, DATA0 ; 指向 8259 Good 模区 DS: [BX], AL AL,20H ;送结束命令 DX,INTPORT1 DX,AL
INTRUPUT7: CLI MOV CALL MOV MOV OUT IRET
使用 8259A 的单级中断 控制实验

《微机原理及接口技术》实验报告3

《微机原理及接口技术》实验报告3
2、掌握8259初始化编程格式和方法。
3、掌握8259中断控制器的应用编程。
实验内容:
利用8259实现对外部中断的响应和处理,要求程序对每次中断进行计数,并将计数结果送数码显示。
实验要求:
本实验属于验证型实验,要求学生完成以下内容:
1、学习并掌握硬件连接步骤与方法后,连接好硬件线路。
2、阅读并理解实验程序H8259.ASM后,运行实验程序。
3、观察实验结果,理解并分析实验原理和方法。
4、完成实验报告。
一、实验原理与方法(分析综述相关主要技术的原理与方法)
二、实验硬件连接(给出实验硬件线路图及连接说明)
三、实验程序流程图
四、实验代码分析(按要求给出程序代码并对每一条指令进行注释)
1、8259初始化的程序代码
2、IR3中断服务程序的代码
五、学生自我小结(所遇问题和个人体会等方面总结)
《微机原理与接口技术》实ຫໍສະໝຸດ 报告3学号:姓名:班级:成绩:
实验名称:使用8259的单级中断控制器
实验类型:验证型实验
实验地点:信息楼418微机原理实验室
所使用的工具实验设备及器材配置:DJ86PCI实验箱、配套微机、DJ-8086系列实验指导书
实验目的:
1、掌握8259中断控制器与微机接口的硬件设计原理和要求。

单片机实验上机--实验二十一8279键盘显示实验

单片机实验上机--实验二十一8279键盘显示实验

实验二十一8279键盘显示实验一、实验目的1.了解8279内部定时/计数器使用方法2.学习计数器各种工作方式的用法二、实验说明键盘和八段显示器可以直接使用单片机89C51的并行口,或者用74LS273和74LS244、并行接口芯片8255或多功能接口芯片8155与微型计算机接口。

用上述接口方法,对键盘和显示器的扫描是由软件实现的,不但程序比较复杂,更不利的是占用CPU很多时间。

若采用专用的可编程键盘/显示控制器8279与微型计算机接口,则由8279对键盘和显示器进行自动扫描,充分地提高CPU的工作效率。

Inetel8279芯片是一种通用的可编程键盘显示器接口器件,单个芯片就能完成键盘输入和八段显示器显示控制两种功能。

8279的内部结构如下图:DB0~DB7——数据总线,三态,双向CLK——时钟输入Ao——数据选择,输入RD、WR——读、写,输入,低电平有效IRQ——中断请求信号,输出,高电平有效SL0~SL3——扫描信号,输出RL0~RL7——回复信号,输入SHIFT——移位信号,输入,高电平有效CNTL/STB——控制/选通信号,输入,高电平有效OUTA3~OUTA0——A组显示信号,输出OUTB3~OUTB0——B组显示信号,输出BD——显示消隐信号,输出,低电平有效三、实验内容及步骤1、单片机最小应用系统1的 P0口接8279的DB0~DB7口,8279的Y0~Y7接动态扫描显示的SMG1~SMG6口, OUTB0~OUTA3口接动态扫描显示的段码口;单片机最小应用系统1的WR、RD、P2.0、P2.7、ALE、RESET、INT0分别接8279的WR、RD、A0、CS、CLK、RESET、IRQ。

2、安装好伟福仿真器,用串行数据通信线连接计算机与仿真器,把87C52型仿真头插到模块的单片机插座中,打开模块电源,插上仿真器电源插头。

3、启动计算机,打开伟福仿真软件,进入仿真环境。

选择仿真器型号、仿真头型号、CPU类型;选择通信端口,测试串行口。

唐都微机实验指导书

唐都微机实验指导书

微机原理与接口技术(唐都实验仪)实验指导书目录目录 (1)实验一8259中断控制实验 (1)实验二8254定时/计数器应用实验 (3)实验三8255并行接口实验 (6)实验四8251串行接口应用实验 (9)实验五A/D转换实验 (14)实验六D/A转换实验 (17)实验七键盘扫描及显示设计实验 (21)实验八电子发声设计实验 (23)实验九点阵LED显示设计实验 (27)实验十图形LCD显示设计实验 (33)实验十一步进电机实验 (39)实验十二直流电机闭环调速实验 (42)实验十三温度闭环控制实验 (51)附录1 Wmd86 V5.4联机软件使用说明 (60)附1.1 菜单功能 (60)附1.2 工具栏功能介绍 (62)附1.3 专用图形显示 (64)附1.4 示波器 (65)附1.5 Debug调试命令 (66)附录2 系统编程信息 (68)附2.1 地址分配情况 (68)附2.2 常用BIOS及DOS功能调用说明 (69)实验一8259中断控制实验一、实验目的1. 掌握8259中断控制器的工作原理。

2. 学习8259的应用编程方法。

3. 掌握8259级联方式的使用方法。

二、实验设备PC机一台,TD-PITE实验装置一套。

三、实验内容及步骤1. 中断控制器8259简介在Intel 386EX芯片中集成有中断控制单元(ICU),该单元包含有两个级联中断控制器,一个为主控制器(端口为20H、21H),一个为从控制器(端口为A0H、A1H)。

该中断控制单元就功能而言与工业上标准的82C59A是一致的,操作方法也相同。

从片的INT连接到主片的IR2信号上构成两片8259的级联。

在TD-PITE实验系统中,将主控制器的IR6、IR7以及从控制器的IR1开放出来供实验使用,主片8259的IR4供系统串口使用。

8259的内部连接及外部管脚引出如图2.1:INTR(??)?0MIR6MIR7SIR1图2.1 8259内部连续及外部管脚引出图在对8259进行编程时,首先必须进行初始化。

实验十二 8279键盘显示实验

实验十二 8279键盘显示实验

实验十二 8279键盘显示实验(电子秒表)一.实验要求利用实验机上提供的8279键盘电路,数码显示电路,设计一个电子钟,用小键盘控制电子钟的启停及初始值的预值。

电子钟做成如下格式:XX XX XX XX 由左向右分别为: 时、分、秒、百分之一秒1.C键:清除,显示00.00.00.002.A键:启动,电子钟计时3.D键:停止,电子钟停止计时4.B键:设置初值:由左向右依次输入预置的时、分、秒、百分之一秒值,同时应具有判断输入错误的能力,若输入有错,则显示:00.00.00.00按B键即可重新输入预置值:5.E键:程序退出。

二.实验目的1.进一步掌握8279键盘显示电路的编程方法。

2.进一步掌握定时器的使用和编程方法。

3.进一步掌握中断处理程序的编程方法。

三.实验电路及连线CS8279接8700H。

模块中的十个短路套都套在8279侧。

四.实验说明8279通用接口芯片,根据应用需要可以在多种模式下工作,详见有关手册。

五.实验程序框图主程序框图SET_T子程序框图 GETWORD子程序框图六.实验程序见:Z8279 EQU 08701H ;8279 状态/命令口地址D8279 EQU 08700H ;8279 数据口地址LEDMOD EQU 00H ;左边输入八位字符显示;外部译码键扫描方式,双键互锁LEDFEQ EQU 2FH ;扫描速率LEDCLS EQU 0C1H ;清除显示 RAMLEDWR0 EQU 80H ;设定的将要写入的显示RAM地址READKB EQU 40H ;读 FIFO RAM 地址 0 的命令字ORG 0000HAJMP STARTORG 001BH ;INT T1 入口地址AJMP INT_T1ORG 0040HSTART:MOV SP,#60HLCALL INIT8279 ;初始化8279MOV R3,#0H ;时MOV R2,#0H ;分MOV R1,#0H ;秒MOV R0,#0H ;10毫秒MOV R6,#0FFH ;标志MOV TMOD,#10HMOV TL1,#00H ;10毫秒的时间常数MOV TH1,#0DCHLCALL DIS_mSSETB ET1SETB EA ;允许中断WAIT:LCALL GETKEY ;读键盘CJNE A,#0FFH,CONT ;判断是否有键输入MOV A,BCJNE A,#3CH,KEY_G ;输入键是'C',转CLEAR_TLCALL CLEAR_TKEY_G: CJNE A,#3AH,KEY_D ;输入键是'G',转START_T LCALL START_TKEY_D: CJNE A,#3DH,KEY_P ;输入键是'D',转STOP_T LCALL STOP_TKEY_P: CJNE A,#3BH,KEY_E ;输入键是'P',转SET_T LCALL SET_TKEY_E: CJNE A,#3EH,CONT ;输入键是'E',转MONITOR AJMP MONITORCONT: CJNE R6,#0FFH,WAIT ;若无秒标志则循环LCALL DISPLAY ;显示时间MOV R6,#0 ;清标志SJMP WAIT ;循环MONITOR:NOPSJMP $ ;等待回到监控CLEAR_T: ;时间清零子程序CLR TR1 ;关计数器MOV R3,#0H ;小时清零MOV R2,#0H ;分钟清零MOV R1,#0H ;秒清零MOV R0,#0H ;10毫秒清零MOV R6,#0FFH ;置秒标志LCALL DIS_mS ;显示毫秒RETSTART_T: ;电子钟计时子程序SETB TR1RETSTOP_T: ;电子钟停止计时子程序CLR TR1RETSET_T: ;设置初值子程序CLR TR1 ;关计数器MOV R4,#7LCALL GETWORD ;读小时数CJNE A,#0FFH,INVALID ;判断输入合法性MOV A,BADD A,#232JC INVALID ;判断输入小时值 < 24 MOV A,BMOV B,#10DIV ABSWAP AADD A,BMOV R3,A ;保存输入的值MOV R4,#5LCALL GETWORD ;读分钟数CJNE A,#0FFH,INVALID ;判断输入合法性MOV A,BADD A,#196JC INVALID ;判断输入分钟数 < 60 MOV A,BMOV B,#10DIV ABSWAP AADD A,BMOV R2,A ;保存输入的值MOV R4,#3LCALL GETWORD ;读分钟数CJNE A,#0FFH,INVALID ;判断输入合法性MOV A,BADD A,#196JC INVALID ;判断输入分钟值 < 60 MOV A,BMOV B,#10DIV ABSWAP AADD A,BMOV R1,A ;保存输入的值MOV R4,#1LCALL GETWORD ;读10毫秒数CJNE A,#0FFH,INVALID ;判断输入合法性MOV A,BMOV B,#10DIV ABSWAP AADD A,BMOV R0,A ;保存输入的值AJMP SET_TOKINVALID:LCALL CLEAR_T ;时间清零SET_TOK:LCALL DIS_mS ;显示10毫秒LCALL DISPLAY ;显示时间RETGETWORD: ;读数子程序WKEY1: LCALL GETKEY ;读键盘CJNE A,#0FFH,WKEY1 ;无键输入,则再读MOV A,BADD A,#0C6HJC ERROR1 ;判断输入是否大于9MOV A,BSUBB A,#30HJC ERROR1 ;判断输入是否小于0MOV R5,ALCALL DISLED ;显示输入的字符MOV B,#10MUL ABPUSH ACC ;保存输入的值WKEY2: LCALL GETKEY ;读键盘CJNE A,#0FFH,WKEY2 ;无键输入则再读MOV A,BADD A,#0C6H ;判断输入是否大于9JC ERROR2MOV A,BSUBB A,#30H ;判断输入是否小于0JC ERROR2DEC R4MOV R5,ALCALL DISLED ;显示输入的字符MOV B,APOP ACCADD A,BMOV B,A ;把得到的值存在BMOV A,#0FFH ;置合法输入标志AJMP KEYOKERROR2: POP ACCERROR1: MOV A,#0 ;置非法输入标志KEYOK: RETINIT8279: ;8279初始化子程序PUSH DPH ;保存现场PUSH DPLPUSH ACCLCALL DELAY ;延时MOV DPTR ,#Z8279MOV A,#LEDMOD ;置8279工作方式MOVX @DPTR,AMOV A,#LEDFEQ ;置键盘扫描速率MOVX @DPTR,AMOV A,#LEDCLS ;清除 LED 显示MOVX @DPTR,APOP ACC ;恢复现场POP DPLPOP DPHRET;读取键盘子程序;输入: 无 ; 输出: B: 读到的键码 A: 按键的标志GETKEY: PUSH DPH ;保存现场PUSH DPLPUSH PSWMOV DPTR,#Z8279MOVX A,@DPTR ;读8279状态ANL A,#07H ;屏蔽D7-D3JNZ GETVAL ;判断是否有键输入MOV A,#0H ;置标志(无键输入)SJMP NKBHITGETVAL: MOV A,#READKB ;读 FIFO RAM 命令MOVX @DPTR,AMOV DPTR,#D8279MOVX A,@DPTR ;读键ANL A,#3FH ;屏蔽 SHIFT 和 CTRL 键MOV DPTR,#KEYCODE ;键码表起始地址MOVC A,@A+DPTR ;查表MOV B,A ;置返回键值MOV A,#0FFH ;置标志(有键输入)NKBHIT: POP PSW ;恢复现场POP DPLPOP DPHRET;显示字符子程序;输入: R4,位置 R5,值DISLED: PUSH DPH ;保存现场PUSH DPLPUSH ACCMOV A,#LEDWR0 ;置显示起始地址ADD A,R4 ;加位置偏移量MOV DPTR,#Z8279MOVX @DPTR,A ;设定显示位置MOV DPTR,#LEDSEG ;置显示常数表起始位置MOV A,R5MOVC A,@A+DPTR ;查表MOV DPTR,#D8279MOVX @DPTR,A ;显示数据POP ACC ;恢复现场POP DPLPOP DPHRETDELAY: ;延时子程序PUSH 0 ;保存现场PUSH 1MOV 0,#0HDELAY1: MOV 1,#0HDJNZ 1,$DJNZ 0,DELAY1POP 1 ;恢复现场POP 0RETDIS_mS:MOV A,R0ANL A,#0FHMOV R5,AMOV R4,#0LCALL DISLED ;显示10毫秒低位MOV A,R0SWAP A ;高低半字节交换ANL A,#0FHMOV R5,AMOV R4,#1LCALL DISLED ;显示10毫秒高位RETINT_T1: ;INT_T1中断服务子程序PUSH DPH ;保护现场PUSH DPLPUSH ACCPUSH PSWCLR TR1MOV TL1,#00H ;10毫秒定时常数MOV TH1,#0DCHSETB TR1MOV A,R0ADD A,#1 ;10毫秒数加 1DA AMOV R0,ALCALL DIS_mS ;显示10毫秒CJNE R0,#0,EXIT ;判断10毫秒=0 MOV R6,#0FFH ;置秒标志CJNE R1,#59H,SECOND ;判断秒=59 MOV R1,#99HCJNE R2,#59H,MINUTE ;判断分=59 MOV R2,#99HCJNE R3,#23H,HOUR ;判断时=23 MOV R3,#99HHOUR:MOV A,R3ADD A,#1 ;时加1DA AMOV R3,AMINUTE:MOV A,R2ADD A,#1 ;分加1DA AMOV R2,ASECOND:MOV A,R1ADD A,#1 ;秒加1DA AMOV R1,AEXIT:POP PSW ;恢复现场POP ACCPOP DPLPOP DPHRETI ;中断返回DISPLAY:MOV A,R3ANL A,#0FHADD A,#10HMOV R5,AMOV R4,#6LCALL DISLED ;显示小时低位MOV A,R3SWAP AANL A,#0FHMOV R5,AMOV R4,#7LCALL DISLED ;显示小时高位MOV A,R2ANL A,#0FHADD A,#10HMOV R5,AMOV R4,#4LCALL DISLED ;显示分钟低位MOV A,R2SWAP AANL A,#0FHMOV R5,AMOV R4,#5LCALL DISLED ;显示分钟高位MOV A,R1ANL A,#0FHADD A,#10HMOV R5,AMOV R4,#2LCALL DISLED ;显示秒低位MOV A,R1SWAP AANL A,#0FHMOV R5,AMOV R4,#3LCALL DISLED ;显示秒高位RET;LED显示常数表LEDSEG: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H ;'0,1,2,3,4,5,6,7'DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H ;'8,9,A,B,C,D,E,F'DB 0BFH,86H,0DBH,0CFH,0E6H,0EDH,0FDH,087H ;'0.,1.,2.,3.,4.,5.,6.,7.' DB 0FFH,0EFH,0F7H,0FCH,0B9H,0DEH,0F9H,0F1H ;'8.,9.,A.,B.,C.,D.,E.,F.' DB 6DH,02H,08H,00H,59H,0FH,76H ;'U,-,_, ,I,O,P, ';键盘键码表KEYCODE:DB 30H,31H,32H,33H,34H,35H,36H,37H ;'1,2,Q,W,A,S,+,Z'DB 38H,39H,3AH,3BH,3CH,3DH,3EH,3FH ;'3,4,E,R,D,F,X,C'ENDF。

8259实验报告

8259实验报告
2.8259寄存器及命令的控制访问
在硬件系统中,8259仅占用两个外设接口地址,在片选有效的情况下,利用A0来寻址不同的寄存器和命令字。对寄存器和命令的访问控制如表6-1所示。
图6-1 8259内部结构和引脚图
图6-2(a)ICW1格式
图6-2(b)ICW2格式
图6-2(c)ICW3格式
图6-2(d)ICW4格式
中断控制器8259A是Intel公司专为控制优先级中断而设计开发的芯片。它将中断源优先级排队、辨别中断源以及提供中断矢量的电路集于一片中,因此无需附加任何电路,只需对8259A进行编程,就可以管理8级中断,并选择优先模式和中断请求方式,即中断结构可以由用户编程来设定。同时,在不需增加其他电路的情况下,通过多片8259A的级连,能构成多达64级的矢量中断系统。它的管理功能包括:1)记录各级中断源请求,2)判别优先级,确定是否响应和响应哪一级中断,3)响应中断时,向CPU传送中断类型号。8259A的内部结构和引脚如图6-1所示。
0038H~003BH
主8259A IRQ7
并行口1
0FH
003CH~003FH
从8259A IRQ8
实时钟
70H
01C0H~01C3H
从8259A IRQ9
保留
71H
01C4H~01C7H
从8259A IRQ10
保留
72H
01C8H~01CBH
从8259A IRQ11
保留
73H
01CCH~01CFH
在扩展系统总线上的INTR对应的中断线就是PC机保留中断其中的一个。对INTR中断的初始化PC机已经完成,在使用时主要是将其中断屏蔽打开,修改中断向量。
表6-2 PC微机系统中的硬件中断

微机原理8259825582538250实验报告

微机原理8259825582538250实验报告

微机原理实验报告姓名:班级:学号:1 8259中断控制器实验31.1 实验目的 (3)1.2 硬件连接 (3)1.3 软件编程 (3)1.4 思考题 (4)2 8255并行接口实验 (5)2.1 实验目的 (5)2.2 硬件连接 (5)2.3 软件编程 (5)2.4 思考题 (6)3 8253可编程定时/计数器 (6)3.1 实验目的 (6)3.2 硬件连接 (6)3.3 软件编程 (6)3.4 思考题 (7)4 8250串行接口实验 (8)4.1 实验目的 (8)4.2 硬件连接 (8)4.3 软件编程 (8)4.4 思考题 (10)5 AD实验 (10)5.1 实验目的 (10)5.2 硬件连接 (10)5.3 软件编程 (11)5.4 思考题 (12)1 8259中断控制器实验1.1 实验目的1. 掌握8259的工作原理。

2. 掌握编写中断服务程序的方法。

3. 掌握初始化中断向量的方法1.2 硬件连接单脉冲发生器输出P+与8259的IR0相连;8259的片选CS8259与CS0相连;8259的INT与8086的INT相连;8259的INTA与8086的INTA相连;CS273与CS1相连;00与LED1相连;1.3 软件编程CODE SEGMENT PUBLICASSUME CS:CODEORG 100HSTART:MOV DX,4A0H //由于连接的CS0,初始化ICW1时,A1=0,为偶地址MOV AX,13H //上升沿触发,单片,要写ICW4OUT DX,AXMOV DX,4A2H //初始化ICW2,A1=1,为奇地址MOV AX,80H // 中断向量码为80HOUT DX,AXMOV AX,01 //初始化ICW4,非自动EOIOUT DX,AXMOV AX,0 //允许所有中断OUT DX,AXMOV AX,0 //把中断服务程序的地址放在中断向量表中DS=0,SI=80H*4=200HMOV DS,AXMOV SI,200HMOV AX,OFFSET HINT //先放IPMOV DS:[SI],AXADD SI,2MOV AX,CS //再放CSMOV DS:[SI],AXSTI //打开中断JMP $HINT:XOR CX,0FFH //取反操作,使得灯闪烁MOV DX,4B0H //CS1的地址4B0H,连在了273上MOV AX,CXOUT DX,AXMOV DX,4A0H //访问OCW2,A0=0,标志位D4=0,D3=0。

实验5键盘显示控制器8279应用实验

实验5键盘显示控制器8279应用实验

实验五键盘显示控制器8279应用实验一、实验目的1、掌握51系统中,扩展8279键盘显示接口的方法。

2、掌握8279工作原理和编程方法。

二、预备知识8279A是一种通用的可编程键盘/显示器接口器件,可对64个开关矩阵组成的键盘进行自动扫描,接收键盘上的输入信息,存入内部的FIFO寄存器,并在有键输入时,CPU请求中断。

8279A内部还有一个16×8的显示缓冲器,能对8位或16位LED自动扫描,使显示缓冲器的内容在LED上显示出来。

1、引脚功能DB0~DB7:双向数据总线,以便和CPU之间传递命令、数据和状态。

CLK :时钟输入线,以产生内部时钟。

RESET :复位线,高电平有效。

复位后,8279A置为16位显示左边输入,编码扫描键盘,时钟系数为31。

/CS :片选,低电平有效。

A0 :地址输入线,用以区分数据线传送的是数据还是命令。

A0=0传送的是数据;A0=1传送的是命令。

/RD :读信号线,低有效,内部缓冲器信息送DB0~DB7。

/WR :写信号线,低有效。

收数据总线上的信息写入内部缓冲区。

IRQ :中断请求输出线,高有效。

当FIFO RAM中有键输入数据时,IRQ升为高电平,向CPU请求中断。

CPU读出FIFO RAM时,IRQ变为低电平,若RAM 中数据还有,IRQ 又返回高电平,直至RAM中为空,IRQ才保持低电平。

SL0~SL3 :输出扫描线,用以对键盘/传感器矩阵和显示器进行扫描。

RL0~RL7 :键盘/传感器矩阵的行(列)数据输入线。

其内部有拉高电阻,使之保持高电平。

SHIFT :换档输入线,内部有拉高电阻,使之保持高电平。

CNTL/STB:控制/选通输入线,内部有拉高电阻,使之保持高电平。

OUTA0~OUTA3:四位输出口。

OUTB0~ OUTB3:四位输出口。

这两个口是16 ×4 显示器更新寄存器的输出端,输出的数据和SL0~SL3上信号同步,用于多位显示器显示。

实验四 8279键盘显示

实验四 8279键盘显示

实验四8279键盘/显示一.实验原理8279为可编程器件,可通过送入不同的命令,使8279执行不同的不同的功能。

其中8279状态口地址为0FF82H,8279数据口地址0FF80H,可以通过给8279状态口送入命令字使其执行不同的指令,在通过数据口送入要显示的数据,使8279控制的8个数码管显示送入的数据。

二.硬件连接电路图*由于实验箱内的电路图已经连接好了,所以在实验箱表面上不需要连接电路,只需确保跳冒接通了8279而不是8255即可。

在实习期间使用的LCA51ET软件内部的实验帮助中找到了8279的内部连接图,在分析完下图后,认为完全可以将其用做本次实验的硬件电路图。

三.软件流程图四.软件清单Z8279 EQU 0FF82HD8279 EQU 0FF80HORG 0000HAJMP MAIN MAIN: MOV SP,#40HLCALL INTI8279MOV R0,#70HMOV R6,#00HMOV R7,#08H LOOP1: MOV A,R6MOV @R0,AINC R0INC R6DJNZ R7,LOOP1LCALL INTI8279LCALL DISLEDLCALL NKBHITSJMP $INTI8279: MOV DPTR,#Z8279 ;8279的初始化指令MOV A,#0D1HMOVX @DPTR,AWAIT: MOVX A,@DPTRJB ACC.7,WAITMOV A,#00H ;方式为8个字符左端送入MOVX @DPTR,ASETB EARETNKBHIT: MOV DPTR,#Z8279 ;键盘扫描子程序,判断是否有MOVX A,@DPTR ; 键按下ANL A,#07HJNZ GETVALMOV A,#00HSJMP NKBHITGETVAL: MOV A,#40H ;有键被按下时,跳转至此MOVX @DPTR,A ;并将键值转化为码表序号MOV DPTR,#D8279MOVX A,@DPTRANL A,#3FHMOV DPTR,#LEDSEGMOVC A,@A+DPTRMOV DPTR,#D8279MOVX @DPTR,ASJMP NKBHITDISLED: PUSH DPL ;查表显示部分,将得到的码表PUSH DPH ;序号对应转化为七段码,并由PUSH ACC ;8279控制进行显示MOV DPTR,#Z8279MOV A,#90HMOVX @DPTR,AMOV R0,#70HMOV R7,#08HMOV DPTR,#D8279DL0: MOV A,@R0ADD A,#12MOVC A,@A+PCMOVX @DPTR,AINC R0DJNZ R7,DL0POP ACCPOP DPHPOP DPLRETLEDSEG: DB 3FH,06H,5BH,4FH,66H,6DHDB 7DH,07H,7FH,6FH,77H,7CHDB 39H,5EH,79H,71HEND一.功能说明在8个LED上依次显示1-8,然后显示按下的键的键值。

微机原理实验报告

微机原理实验报告

微机原理实验报告实验目的,通过本次实验,掌握微机原理的基本知识,了解微机系统的组成和工作原理,掌握微机系统的组装和调试方法。

实验一,微机系统组成及工作原理。

1.1 微机系统的组成。

微机系统由中央处理器(CPU)、内存、输入设备、输出设备和外部设备等组成。

其中,CPU是微机系统的核心部件,负责控制整个系统的运行。

1.2 微机系统的工作原理。

微机系统的工作原理是通过CPU对内存中的指令进行解释和执行,从而实现各种功能。

CPU通过总线与内存、输入输出设备进行数据传输和控制信号的交换,实现对整个系统的控制和管理。

实验二,微机系统的组装和调试。

2.1 微机系统的组装。

在组装微机系统时,首先要选择合适的主板、CPU、内存、硬盘等配件,然后按照正确的安装顺序和方法进行组装。

组装完成后,还需连接电源、显示器、键盘、鼠标等外部设备。

2.2 微机系统的调试。

组装完成后,需要对微机系统进行调试,检查各个部件是否连接正确,是否能够正常工作。

通过BIOS设置和操作系统的安装,完成对微机系统的调试和配置。

实验三,微机系统的应用。

3.1 微机系统的应用领域。

微机系统广泛应用于各个领域,如办公、教育、科研、娱乐等。

在办公领域,微机系统可以用于文字处理、表格制作、图像处理等;在教育领域,微机系统可以用于多媒体教学、网络教学等。

3.2 微机系统的发展趋势。

随着科技的不断发展,微机系统也在不断更新换代,性能不断提升,体积不断缩小,功耗不断降低。

未来,微机系统将更加智能化、便携化,成为人们生活、工作不可或缺的一部分。

结论,通过本次实验,我对微机原理有了更深入的了解,掌握了微机系统的组成和工作原理,了解了微机系统的组装和调试方法,对微机系统的应用和发展趋势也有了一定的认识。

这对我今后的学习和工作将有很大的帮助。

微机原理 实验报告——显示程序实验与8259应用编程实验

微机原理 实验报告——显示程序实验与8259应用编程实验

北京信息科技大学自动化学院实验报告课程名称微型计算机原理与接口技术实验名称显示程序实验与8259应用编程实验实验仪器 TDN86/88教学实验台专业自动化学院班级/学号自控0801/2008010827学生姓名林明泉实验日期实验地点成绩指导教师北京信息科技大学自动化学院(微机原理)实验报告专业:自动化班级:自控0801 学号:2008010827 姓名:林明泉实验名称显示程序实验与8259应用编程实验实验地点实验楼706 实验时间2010年11月1.实验目的:1.了解INT 10H各功能块的作用及用法。

2.掌握字符方式下PC机显示器显示控制。

3.认识8086系统的中断特性。

4.掌握8259中断控制器的工作原理及其使用方法、应用编程。

2.实验设备:TDN86/88教学实验系统一台,计算机一台3.实验原理及内容:一、显示程序实验显示器I/O功能调用使用说明INT 10入口:AH=00H,AL=01H 功能:清屏入口:AH=01H,AL=数据功能:写AL中的数据到屏幕上入口:AH=06H,DS:BX=字串首地址,且字符串结尾用00H填充功能:显示已字符串直到遇到00H为止。

1、在显示器上显示A-Z 26个英文字母;程序:STACK1 SEGMENT STACKDW 64 (?)STACK1 ENDSCODE SEGMENTASSUME CS:CODE,SS:STACK1 START:MOV CX,001AHMOV BL,41HMOV AH,01HA1:MOV AL,BLINT 10HINC BLPUSH CXMOV CX,0FFFFHA2:LOOP A2POP CXLOOP A1INT 03HCODE ENDS END START2、在显示器上显示‘GOOD AFTERNOON’。

要求分别用AH=01H,AH=06H来完成。

a、STACK1 SEGMENT STACKDW 64 (?)STACK1 ENDSDA TA SEGMENTXIAN DB 'GOOD AFTERNOON',00HDA TA ENDSCODE SEGMENTASSUME CS:CODE,DS:DA TA,SS:STACK1 START:MOV CX,14MOV AX,DATAMOV DS,AXMOV BX,OFFSET XIANMOV AH,01HA1:MOV AL,[BX]INT 10HINC BXPUSH CXMOV CX,0FFFFHA2:LOOP A2POP CXLOOP A1INT 03HCODE ENDSEND STARTb、STACK1 SEGMENT STACKDW 64 (?)STACK1 ENDSDATA SEGMENTXIAN DB 'GOOD AFTERNOON',00HDA TA ENDSCODE SEGMENTASSUME CS:CODE,DS:DA TA,SS:STACK1 START:MOV AX,DATAMOV DS,AXMOV BX,OFFSET XIANMOV AH,06HINT 10HINT 03HCODE ENDSEND START二、中断特性以及8259应用编程实验系统中的8259芯片寄存器组编址为20H和21H。

(完整word版)东北大学_微机原理实验报告及答案_8259中断控制器

(完整word版)东北大学_微机原理实验报告及答案_8259中断控制器

start1: cli
mov dx,04a0h
mov ax,13h
out dx,ax
mov dx,04a2h
waiting: hint:
mov out mov out mov out mov mov mov mov mov add mov mov sti cmp nop
nop nop nop nop nop nop nop jne nop nop mov xor mov out jmp nop cli nop nop nop nop nop nop nop nop mov nop iret
;初始化中断向量表
mov ax,offset hint
mov ds:[si],ax
add si,2
mov ds:[si],100h
mov ax,0
sti
waiting: cmp ax,55h
nop
hint: code
nop nop nop nop nop nop nop jne nop nop mov xor mov out jmp nop cli nop nop nop nop nop nop nop nop mov nop iret ends end
微机原理
实验报告
专业班级 姓名
学号
实验题目
日期
实验八:8259 中断控制器实验
一、实验目的
1、掌握 8259A 的工作原理。 2、掌握编写中断服务程序方法。 3、掌握初始化中断向量的方法。
二、实验设备
MUT—Ⅲ型实验箱、8086CPU 模块。
三、实验内容
用脉冲发生器作为中断源,每按一次脉冲发生器的按键即产生一次中断。 在中断服 务程序中,通过 74LS273 输出一个数据,以点亮与中断源相对应位置的 LED。

微机原理与接口技术 实验报告

微机原理与接口技术 实验报告

微机原理与接口技术实验报告学院:计算机与通信工程学院专业:计算机科学与技术班级:学号:姓名:实验一 8259中断控制器应用实验一、实验目的1.掌握PC机中断处理系统的基本原理。

2. 掌握可编程中断控制器8259的应用编程方法。

二、实验内容1.PC机内中断实验。

使用单次脉冲模拟中断产生。

验证中断处理程序,在显示器屏幕上显示一行预设定的字符串。

2.PC机内中断嵌套实验。

使用单次脉冲模拟两个中断源的中断产生,填写中断处理程序,体会中断嵌套的过程。

3.扩展多中断源查询方式应用实验。

利用实验平台上8259控制器作为中断扩展源,编写程序对8259控制器的中断请求进行处理。

三、实验步骤1.实验1-1:PC机内中断应用实验(1)按接线图连好接线,调用程序源代码8259-1.asm,观察实验现象,屏幕显示结果截图如下:(2)自设计实验。

改变接线方式,将单次脉冲连到USB核心板上的IRQ10插孔上,参考本实验代码,编程实现IRQ10中断。

(注意:考虑PC机内中断级联的方式,参看前面的原理说明),代码如下:DATA SEGMENTMESS DB 'IRQ10 ',0DH,0AH, '$'DATA ENDSCODE SEGMENTASSUME CS:CODE, DS:DATASTART: MOV AX, CSMOV DS, AXMOV DX,OFFSET INT10MOV AX,2572H ;设置IRQ10对应的中断向量INT 21HIN AL,21H ;读取中断屏蔽寄存器AND AL,0F3H ;开放IRQ3中断和从片OUT 21H,ALIN AL,0A1H ;从片的中断屏蔽寄存器AND AL,0FBH ;开放IRQ10中断OUT 0A1H,ALMOV CX,10STIWAIT: JMP WAITINT10: MOV AX, DATA ;中断服务程序MOV DS, AXMOV DX, OFFSET MESSMOV AH, 09 ;在屏幕上显示每次中断的提示信息INT 21HMOV AL, 20H ; 发出EOI结束中断到PC内主片的地址20H OUT 20H, ALLOOP NEXTIN AL, 21H ;读中断屏蔽寄存器,获取中断屏蔽字OR AL, 08H ;关闭IRQ3中断OUT 21H, AL ;将中断屏蔽字送到中断屏蔽寄存器STI ;置中断标志位MOV AH, 4CH ;返回DOSINT 21HNEXT: IRET ;中断返回CODE ENDSEND START调用程序代码,观察实验现象,屏幕显示截图如下:2.实验1-2:PC机内中断嵌套实验实验要求:(1)按接线图连好接线,调用程序源代码8259-2.asm,做如下操作,观察屏幕显示结果并分析产生该现象的原因:A.按下连接IRQ的单次脉冲按键,屏幕上会显示10个3,在屏幕上10次显示未结束之前,按下连接IRQ10的单次脉冲按键,观察现象;按下IRQ时屏幕上会显示10个3,此时按下IRQ10,会直接在屏幕上显示10个10,然后结束后再显示剩余的3B.按下连接IRQ10的单次脉冲按键,屏幕上会显示10个10,在屏幕上10次显示未结束之前,按下连接IRQ3的单次脉冲按键,观察现象。

8279A可编程键盘显示接口

8279A可编程键盘显示接口

8279A可编程键盘显示接口实验内容一、实验目的学习8279A与微机8088系统的接口方法,了解8279A用在译码扫描和编码扫描方式时的编程方法,以及8088CPU用查询方式和中断方式对8279A进行控制的编程方法。

二、实验原理如图所示,系统中8279A接口芯片及其相关电路完成键盘扫描和显示,本实验以查询方式获取键盘状态信息,读取键值。

键值转换成显示代码供显示。

根据原理图5-20,得到键值和键名的对照表5-5,显示值和显示代码对照表。

三、实验程序清单见随机光盘,文件名为H8279.ASM四、实验步骤运行实验程序在DVCC-8086JHN上显示"8279-1"在系统键盘上输入数字键,在系统显示器上显示相应数字,按EXEC键显示"8279 good",按其它键不予理睬。

源程序:CODE SEGMENTASSUME CS:CODESTART: JMP KEYLEDCONTPORT EQU 00DFHDA TAPORT EQU 00DEHDA TA1 EQU 0500HDA TA2 EQU 0508HDA TA3 EQU 0510HDA TA4 EQU 0518HDA TA5 EQU 0580HKEYLED: CALL FORMATCLDMOV DI,DATA5MOV CX,08HXOR AX,AXREP STOSBMOV SI,DATA2CALL LEDDISP ;DISP 8279-1MOV BYTE PTR DS:[0601H],00HKEY0: MOV DX,CONTPORTIN AL,DXTEST AL,07HJZ KEY0MOV CX,0FFFHDELAY1: LOOP DELAY1MOV DX,CONTPORTMOV AL,40HOUT DX,ALMOV DX,DATAPORTIN AL,DXMOV DI,AX ;AND AL,0F0HJZ KEY1MOV AX,DI ;CMP AL,10HJNZ KEY0MOV SI,DATA3CALL LEDDISPKEYEND: JMP KEYENDKEY1: CALL CONVERSMOV SI,DATA5CALL LEDDISPDJMP KEY0CONVERS:MOV BH,0HMOV AX,DIAND AL,0FHMOV BL,ALMOV AL,CS:[BX+DATA4]MOV Bl,DS:[0601H]MOV BH,0HMOV BYTE PTR DS:[BX+DA TA5],ALINC BXMOV DS:[0601H],BXCMP BX,08HJZ SA VE0RETSA VE0: MOV BYTE PTR DS:[0601H],0H RETLEDDISP:MOV AL,90HMOV DX,CONTPORTOUT DX,ALMOV BYTE PTR DS:[0600H],00LED1: CMP BYTE PTR DS:[0600H],07H JA LED2MOV BL,DS:[0600H]MOV BH,0HMOV AL,CS:[BX+SI]MOV DX,DATAPORTOUT DX,ALADD BYTE PTR DS:[0600H],01HJNZ LED1LED2: RETLEDDISPD:MOV AL,90HMOV DX,CONTPORTOUT DX,ALMOV BYTE PTR DS:[0600H],00LEDD1: CMP BYTE PTR DS:[0600H],07H JA LEDD2MOV BL,DS:[0600H]MOV BH,0HMOV AL,DS:[BX+SI]MOV DX,DATAPORTOUT DX,ALADD BYTE PTR DS:[0600H],01HJNZ LEDD1LEDD2: RETFORMAT: MOV BX,0MOV WORD PTR DS:[BX+0500H],5050HADD BX,2MOV WORD PTR DS:[BX+0500H],0079HADD BX,2MOV WORD PTR DS:[BX+0500H],0000HADD BX,2MOV WORD PTR DS:[BX+0500H],0000HADD BX,2MOV WORD PTR DS:[BX+0500H],4006HADD BX,2MOV WORD PTR DS:[BX+0500H],4040HADD BX,2MOV WORD PTR DS:[BX+0500H],076FHADD BX,2MOV WORD PTR DS:[BX+0500H],7F5BH ADD BX,2MOV WORD PTR DS:[BX+0500H],3F5EHADD BX,2MOV WORD PTR DS:[BX+0500H],3F5CH ADD BX,2MOV WORD PTR DS:[BX+0500H],076FHADD BX,2MOV WORD PTR DS:[BX+0500H],7F5BH ADD BX,2MOV WORD PTR DS:[BX+0500H],063FHADD BX,2MOV WORD PTR DS:[BX+0500H],4F5BH ADD BX,2MOV WORD PTR DS:[BX+0500H],6D66H ADD BX,2MOV WORD PTR DS:[BX+0500H],077DH ADD BX,2MOV WORD PTR DS:[BX+0500H],6F7FHADD BX,2MOV WORD PTR DS:[BX+0500H],7C77HADD BX,2MOV WORD PTR DS:[BX+0500H],5E39HADD BX,2MOV WORD PTR DS:[BX+0500H],7179HRETCODE ENDSEND START。

实验五 键盘显示接口芯片8279的应用-1 8279功能介绍

实验五  键盘显示接口芯片8279的应用-1 8279功能介绍

1.8279功能介绍图3.1 8279 引脚图 8279是可编程的键盘、显示接口芯片。

它既具有按键处理功能,又具有自动显示功能,在单片机系统中应用很广泛。

8279内部有键盘FIFO (先进先出堆栈)/传感器,双重功能的8*8=64BRAM,键盘控制部分可控制8*8=64个按键或8*8阵列方式的传感器。

该芯片能自动消抖并具有双键锁定保护功能。

显示RAM容量为16*8,即显示器最大配置可达16位LED 数码显示。

(1)数据线DB0→DB7是双向三态数据总线,在接口电路中与系统数据总线相连,用以传送CPU 和8279之间的数据和命令。

(2)地址线/CS=0选中8279,当A0=1时,为命令字及状态字地址;当A0=0时,为片内数据地址,故8279芯片占用2个端口地址。

(3)控制线CLK:8279的时钟输入线。

IRQ:中断请求输出线,高电平有效。

/RD、/WR:读、写输入控制线。

SL0---SL3:扫描输出线,用来作为扫描键盘和显示的代码输出或直接输出线。

RL0---RL7:回复输入线,它们是键盘或传感器矩阵的信号输入线。

SHIFT:来自外部键盘或传感器矩阵的输入信号,它是8279键盘数据的次高位即D6位的状态,该位状态控制键盘上/下档功能。

在传感器方式和选通方式中,该引脚无用。

CNTL/S:控制/选通输入线,高电平有效。

键盘方式时,键盘数据最高位(D7)的信号输入到该引脚,以扩充键功能;选通方式时,当该引脚信号上升沿到时,把RL0---RL7的数据存入FIFO RAM 中。

OUTA0---OUTA3:通常作为显示信号的高4位输出线。

OUTB0---OUTB3:通常作为显示信号的低4位输出线。

/BD:显示熄灭输出线,低电平有效。

当/BD=0时将显示全熄灭。

2. 8279的工作方式8279有三种工作方式:键盘方式、显示方式和传感器方式。

(1) 键盘工作方式8279在键盘工作方式时,可设置为双键互锁方式和N 键循回方式。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

微机原理实验报告
实验六:8279A可编程键盘显示接口实验
学院: 物理与机电工程学院
专业: 电子科学与技术
班级: 2013级2班
学号: 201310530221
姓名: 熊杰
指导老师: 柳妮
实验六:8279A可编程键盘显示接口实验1.实验目的
学习8279A与微机8088系统的接口方法,了解8279A用在译码扫描和编码扫描方式时的编程方法,以及8088CPU用查询方式和中断方式对8279A进行控制的编程方法。

2.试验设备及主要器件原理简介
8279A是一种通用的可编程键盘/显示器接口器件,可对64个开关矩阵组成的键盘进行自动扫描,接收键盘上的输入信息,存入内部的FIFO寄存器,并在有键输入时,CPU请求中断。

8279A内部还有一个16×8的显示缓冲器,能对8位或16位LED自动扫描,使显示缓冲器的内容在LED上显示出来。

实验原理如图5-20所示,系统中8279A接口芯片及其相关电路完成键盘扫描和显示,本实验以查询方式获取键盘状态信息,读取键值。

键值转换成显示代码供显示。

根据原理图5-20,得到键值和键名的对照表5-5,显示值和显示代码对照表5-6。

5---20
3. 实验内容及程序
实验内容:实验原理如图5-20所示,系统中8279A接口芯片及其相关电路完成键盘扫描和显示,本实验以查询方式获取键盘状态信息,读取键值。

键值转换成显示代码供显示。

根据原理图5-20,得到键值和键名的对照表5-5,显示值和显示代码对照表5-6。

实验程序
CODE SEGMENT
ASSUME CS:CODE
START: JMP KEYLED
CONTPORT EQU 00DFH
DATAPORT EQU 00DEH
DATA1 EQU 0500H
DATA2 EQU 0508H
DATA3 EQU 0510H
DATA4 EQU 0518H
DATA5 EQU 0580H
KEYLED: CALL FORMAT
CLD
MOV DI,DATA5
MOV CX,08H
XOR AX,AX
REP STOSB
MOV SI,DATA2
CALL LEDDISP ;DISP 8279-1 MOV BYTE PTR DS:[0601H],00H
KEY0: MOV DX,CONTPORT
IN AL,DX
TEST AL,07H
JZ KEY0
MOV CX,0FFFH
DELAY1: LOOP DELAY1
MOV DX,CONTPORT
MOV AL,40H
OUT DX,AL
MOV DX,DATAPORT
IN AL,DX
MOV DI,AX ;
AND AL,0F0H
JZ KEY1
MOV AX,DI ;
CMP AL,10H
JNZ KEY0
MOV SI,DATA3
CALL LEDDISP
KEYEND: JMP KEYEND
KEY1: CALL CONVERS
MOV SI,DATA5
CALL LEDDISPD
JMP KEY0
CONVERS:MOV BH,0H
MOV AX,DI
AND AL,0FH
MOV BL,AL
MOV AL,CS:[BX+DATA4]
MOV Bl,DS:[0601H]
MOV BH,0H
MOV BYTE PTR DS:[BX+DATA5],AL
INC BX
MOV DS:[0601H],BX
CMP BX,08H
JZ SAVE0
RET
SAVE0: MOV BYTE PTR DS:[0601H],0H RET
LEDDISP:MOV AL,90H
MOV DX,CONTPORT
OUT DX,AL
MOV BYTE PTR DS:[0600H],00 LED1: CMP BYTE PTR DS:[0600H],07H JA LED2
MOV BL,DS:[0600H]
MOV BH,0H
MOV AL,CS:[BX+SI]
MOV DX,DATAPORT
OUT DX,AL
ADD BYTE PTR DS:[0600H],01H
JNZ LED1
LED2: RET
LEDDISPD:MOV AL,90H
MOV DX,CONTPORT
OUT DX,AL
MOV BYTE PTR DS:[0600H],00 LEDD1: CMP BYTE PTR DS:[0600H],07H JA LEDD2
MOV BL,DS:[0600H]
MOV BH,0H
MOV AL,DS:[BX+SI]
MOV DX,DATAPORT
OUT DX,AL
ADD BYTE PTR DS:[0600H],01H
JNZ LEDD1
LEDD2: RET
FORMAT: MOV BX,0
MOV WORD PTR DS:[BX+0500H],5050H ADD BX,2
MOV WORD PTR DS:[BX+0500H],0079H ADD BX,2
MOV WORD PTR DS:[BX+0500H],0000H ADD BX,2
MOV WORD PTR DS:[BX+0500H],0000H ADD BX,2
MOV WORD PTR DS:[BX+0500H],4006H ADD BX,2
MOV WORD PTR DS:[BX+0500H],4040H ADD BX,2
MOV WORD PTR DS:[BX+0500H],076FH ADD BX,2
MOV WORD PTR DS:[BX+0500H],7F5BH ADD BX,2
MOV WORD PTR DS:[BX+0500H],3F5EH ADD BX,2
MOV WORD PTR DS:[BX+0500H],3F5CH ADD BX,2
MOV WORD PTR DS:[BX+0500H],076FH ADD BX,2
MOV WORD PTR DS:[BX+0500H],7F5BH ADD BX,2
MOV WORD PTR DS:[BX+0500H],063FH ADD BX,2
MOV WORD PTR DS:[BX+0500H],4F5BH
ADD BX,2
MOV WORD PTR DS:[BX+0500H],6D66H
ADD BX,2
MOV WORD PTR DS:[BX+0500H],077DH
ADD BX,2
MOV WORD PTR DS:[BX+0500H],6F7FH
ADD BX,2
MOV WORD PTR DS:[BX+0500H],7C77H
ADD BX,2
MOV WORD PTR DS:[BX+0500H],5E39H
ADD BX,2
MOV WORD PTR DS:[BX+0500H],7179H
RET
CODE ENDS
END START
4.实验分析及结论:
1、运行实验程序
实验的两端口地址分别为0008H,0580H。

得到实验结果为:系统上应显示"8279-1" 继续在系统键盘上输入数字键,在系统显示器上显示相应数字,按EXEC键显示"8279 good",按其它键不予理睬。

相关文档
最新文档