微机原理与接口技术实验指导书(2 译码电路、简单并口、8253实验)
- 格式:pdf
- 大小:262.61 KB
- 文档页数:7
《微机原理及接口技术》实验指导书福建工程学院计算机与信息科学系计算机系统结构教研室实验一 汇编语言程序上机过程一、实验目的1.掌握EDIT 、MASM 、LINK 等软件工具的使用。
2.掌握在计算机上建立、汇编、连接、调试及运行程序的方法。
二、实验内容1.将DISP 单元中存放的一压缩BCD 码内容显示出来。
2.将BUF 单元开始的两个BCD 码相加存放到SUM 单元中,并显示结果。
3.将字节变量DISP 的内容(00H-FFH 任意值)显示出来。
三、实验准备与报告 1.了解实验操作方法,准备好实验程序和数据。
2.记录汇编、连接过程产生的错误及解决办法,设置相关的出错情况,查看汇编结果; 3.记录运行结果,更改数据再运行,记录结果。
4.实验报告主要内容:实验名称、实验目的、实验内容、<实验电路>、程序、实验结果、调试过程记录、总结。
(其它实验也按此要求书写实验报告)实验二 DEBUG 使用实验一、实验目的1.掌握DEBUG 常用命令的使用。
2.进一步了解80X86的存储器和寄存器结构。
3.进一步理解有关指令的功能与应用。
二、实验内容1.进入与退出DEBUG 。
2.用R 命令检查和修改寄存器内容并记录。
3.用D 命令显示内存单元内容并记录。
4.用E 命令修改内存单元内容并记录。
5.A 、U 、T 、P 、G 、N 、W 、L 命令使用。
程序:MOV SI ,0 MOV AX ,[SI] INC SI INC SIADD AX ,[SI] MOV BX ,AX INT 20H(1)使用A 命令输入以上程序;(2)使用U 命令查看输入的程序;(3)使用N 、W 命令将程序存盘;用N 、L 命令重新装载,用U 命令查看; (4)使用DEBUG 的D 、E 命令检查设置(DS ):0000H 起始的四个单元内容; (5)使用R 命令检查、设置有关寄存器的值;(6)分别使用T 、G 命令运行程序,注意观察有关寄存器和单元的变化。
《微机原理及接口技术》实验指导书实验一汇编语言程序设计1一.实验目的1.学习程序设计的基本方法和技能,熟练掌握用汇编语言设计、编写、调试和运行程序的方法。
为后续课程打下坚实的基础。
2.学会不同进位制数及编码相互转换的程序设计、调试和取得结果的方法。
二.实验设备1.网管中心微机机房PC机三.实验准备1.根据实验目的认真做好实验前的预习,记住操作方法;2.预先编制好实验用的程序,提高实验效率。
四.实验要求程序调试完后, 须由实验辅导教师在机器上检查运行结果, 经认可后在实验指导书签字, 才算完成。
每个实验完成后,应写出实验报告。
实验报告的要求如下:1.设计说明:说明程序的功能、结构、原理及算法。
2.调试说明:上机时遇到的问题及解决办法的调试情况,观察到的现象及其分析,对程序设计技巧的总结以及程序输出结果的分析,实验的心得体会等。
3.程序框图。
4.程序清单。
五.实验内容、步骤1..编语言程序上机操作方法实验举例如下:例1.1 比较字符串bjchx试编写一程序,比较两个字符串string1和string2所含的字符是否相同,若相同则显示‘Match’,否则,显示‘No match’。
我们可以用串比较指令来完成题目所要求的功能。
上机过程如下:(1)建立asm文件在windows系统环境下,应用写字板编辑程序建立源文件。
(2)用汇编程序MASM队源文件汇编产生目标文件.OBJ在windows环境下,点击masm文件,而后输入.asm的文件名:C:>MASM ABC.ASM↙如汇编指示出错则需重新调用编辑程序修改错误, 直到汇编通过为止。
如调试时需要用Lst文件,则应在汇编过程中建立该文件。
(3)用连接程序LINK产生可执行文件EXE在windows环境下,点击link文件,而后输入*.obj的文件名:C:>LINK ABC.OBJ↙(4)执行程序在windows环境下,点击*.exe文件运行程序,也可在dos的环境下执行程序如下:C:>ABC↙Match. 是屏幕终端上显示出程序运行结果。
《微机原理与接口技术》课程实验指导书一、课程的目的、任务本课程是电子科学、测控技术专业学生在学习微机原理课程间的一门实践性技术基础课程,其目的在于通过实验使学生能更好地理解和掌握基本微机原理,培养学生理论联系实际的学风和科学态度,提高学生的硬件操作实验技能和分析处理实际问题的能力。
为后续课程的学习打下基础。
二、课程的教学内容与要求三.各实验具体要求见P2四、实验流程介绍学生用户登陆进入实验系统的用户名为:学号(如D205001200XX),密码:netlab详细操作步骤见P4五、实验报告请各指导老师登陆该实验系统了解具体实验方法,并指导学生完成实验。
学生结束实验后应完成相应的实验报告并交给指导老师。
其中实验报告的主要内容包括:实验目的,实验内容,实验记录数据,数据分析与处理等。
实验一基本操作一、实验目的1.熟悉Netlab MCS-51单片机实验系统的设置和使用方法2.掌握基本MCS-51软件的编写、修改和编译的方法3. 熟悉在Netlab MCS-51单片机实验系统环境下进行软件调试的方法4. 学会检查、设置片内片外存储器和寄存器的内容,丰富软件调试的手段二、实验内容1. 输入参考程序,存储、编译该程序2. 在进行实验前,设置程序中需要的初值三、参考程序从内部RAM 20H单元开始存放一组带符号数,字节个数存在1FH中。
请统计出其中大于0、等于0和小于0的数的数目,并把统计结果分别放入one、two和three三单元。
ONE EQU30HTWO EQU31HTHREE EQU32HORG0000HAJMP MAIN ;MAIN starts from 0030HORG0030HMAIN: MOV1FH ,#03H ;Init the data that you wants to process MOV20H ,#00HMOV21H ,#01HMOV22H ,#0FFHMOV R0,#20H ;Init the data that you wants to processMOV ONE,#00HMOV TWO,#00HMOV THREE,#00HLOOP: MOV A,@R0JZ ZEROJB ACC.7 ,NEGINC ONESJMP CHKZERO: INC TWOSJMP CHKNEG: INC THREECHK: INC R0DJNZ1FH ,LOOPHERE: NOPEND实验二程序设计实验一、实验目的1. 进一步熟悉指令系统,提高编程能力2. 掌握算术运算、数制转换、极值查找、检索、数据块排序和转移等程序的设计方法3. 熟悉循环程序、子程序、分支程序的编写和调试方法二、实验内容用汇编语言在编译器中编写以下小程序,实现相应的功能。
实验一二进制多位加法运算一、实验目的1、熟悉实验系统键盘显示的使用。
2、掌握使用加法类运算指令编程及调试方法。
3、掌握加法类指令对状态标志位的影响。
二、实验内容计算X+Y+Z=?(X、Y、Z为16位二制数)三、编程指南由于本实验是三个十六位二制数相加运算,因此,当X+Y时要考虑用ADC指令,把进位C加到结果的高16位中,当(X+Y)+Z时,再把进位C加到结果的高16位中,本实验设定三个加数0FFFFH,计算结果应为2FFFDH。
四、实验步骤联机模式:(1)在PC机和实验系统联机状态下,运行该实验程序,可用鼠标左键单击菜单栏“文件”或工具栏“打开图标”,弹出“打开文件”的对话框,然后打开8kAsm文件夹,点击S1.ASM文件,单击“确定”即可装入源文件,再单击工具栏中编译,即可完成源文件自动编译、装载目标代码功能,再单击“调试”中“连续运行”或工具图标运行,即开始运行程序。
(2)运算结果保留在内存4100H~4102H单元中,点击DICE-8086K软件中存贮器RAM窗口,输入RAM的起始地址4100、4101、4102,单元内容应为FD、FF、02。
脱机模式:⑴在P.态下,按SCA L键,输入2CA0,按EXEC键。
⑵复位RST键,运算结果保留在内存4100H~4102H单元中,共内容分别为:FD、FF、02,低位在前,高位在后,具体操作方法:输入键[4100]→[ME]→[NX]→[NX]。
五、实验程序清单CODE SEGMENT ;S1.ASM-->BIN ADDASSUME CS:CODEORG 2CA0H ;this is a program of addSTART: CLCMOV SI,4000H ;result in [4100]MOV [SI],0ffffH MOV [SI+2],0ffffH MOV [SI+4],0ffffH MOV A X,0000H MOV [SI+102H],AX MOV A X,[SI]ADD AX,[SI+2] ADC [SI+102H],0000 ADD AX,[SI+4] MOV [SI+100H],A X ADC [SI+102H],0000 JMP $CODE ENDSEND STA RT实验二A/D转换实验一、实验目的了解模/数转换基本原理,掌握A DC0809的使用方法。
实验一系统认知实验实验目的:了解汇编语言的设计、编写和调试程序的方法,掌握DEBUG的使用。
实验设备:装有DOS系统和MASM5.0的微机一台,或TDN86/88微机原理教学实验系统一台。
实验内容:编程实现在屏幕上显示一个大写字母“A”或字符串“HOW ARE YOU?”,用DEBUG调试程序实验要求:1、上机前做好充分准备,包括源程序清单、调试步骤等;2、用DEBUG来调试程序,熟悉DEBUG的使用。
实验步骤:1、编写程序并输入,检查无误后,经汇编、连接后运行,用DEBUG装入。
2、用U命令反汇编程序,应用R、G等命令,观看运行情况。
3、用D、E、A等命令查看、修改源数据,用G命令查看运行结果。
4、用Q命令退出DEBUG上机过程1.建立源文件使用EDIT软件,得到扩展名为ASM的汇编语言源程序文件。
(扩展名.asm 勿忘加!)2.汇编源程序使用汇编程序MASM对源程序进行汇编,生成OBJ、LST和CRF文件(后两种一般不需要,可直接回车)。
如程序有错,可以根据提示信息,重新编辑、汇编源程序,直到没有严重错误为止。
3.连接程序使用连接程序LINK,对汇编程序产生的目标文件进行连接,产生可执行的程序EXE。
4.调试或运行程序具体过程如下:1. 编辑C:\MASM>EDIT 文件名.ASM2. 汇编C:\ MASM >masm 文件名.ASM3. 连接C:\ MASM >link 文件名.obj4. 调试C:\ MASM >debug 文件名.exe-U 反汇编,记下程序首地址和结束地址-D 段地址:偏移地址察看内存单元内容-E 段地址:偏移地址修改内存单元内容:空格修改下一个, 回车结束修改-G=起始地址结束地址运行程序参考源程序:(1) 屏幕上显示一个大写字母“A”STACK SEGMENT STACKDW 64 DUP(?)STACK ENDSCODE SEGMENTASSUME CS:CODESTART: MOV AH, 02HMOV DL,41HINT 21HINT 20HCODE ENDSEND START(2) 屏幕上显示字符串“HOW ARE YOU?”DA TA SEGMENTBUF DB 'HOW ARE YOU?$'DA TA ENDSCODE SEGMENTASSUME CS:CODE,DS:DA TASTART: MOV AX,DATAMOV DS,AXMOV DX,OFFSET BUFMOV AH,09HINT 21HMOV AH,4CHINT 21HCODE ENDSEND START实验二分支程序设计实验一、实验目的1.掌握分支程序的结构。
《微机原理与接口技术》实验指导书主编教师:授课班级:目录实验一顺序结构程序实验【实验目的】【实验重点及难点】【实验环境】【实验内容】实验二分支结构程序实验【实验目的】【实验重点及难点】【实验环境】【实验内容】实验三单重循环结构程序实验【实验目的】【实验重点及难点】【实验环境】【实验内容】实验四多重循环结构程序实验【实验目的】【实验重点及难点】【实验环境】【实验内容】实验五子程序实验(一)【实验目的】【实验重点及难点】【实验环境】【实验内容】实验六子程序实验(二)【实验目的】【实验重点及难点】【实验环境】【实验内容】实验七字符处理程序实验(一)【实验目的】【实验重点及难点】【实验环境】【实验内容】实验八字符处理程序实验(二)【实验目的】【实验重点及难点】【实验环境】【实验内容】实验一顺序结构程序实验【实验目的】1、熟悉Masm for Windows 集成实验环境软件。
2、熟悉DEBUG有关命令的使用方法。
3、通过实际操作,掌握顺序结构程序的设计方法。
4、通过实际操作,熟悉利用DEBUG修改参数、检查结果的方法。
5、通过实际操作,熟悉汇编语言源程序的编辑、汇编、连接及调试过程。
【实验重点及难点】1、DEBUG有关命令的使用方法。
2、顺序结构程序的设计方式。
3、利用Masm for Windows 集成实验环境软件运行简单的程序段。
【实验环境】Window xp操作系统,Masm for Windows 集成实验环境。
【实验内容】(一)、实验步骤1、打开Masm for Windows 集成实验环境软件。
2、新建一个ASM文件,编写一个求平均值程序,假设两个数分别存在X 单元和Y单元中,求得的平均值存放在Z单元中。
3、保存后对其进行汇编及连接,产生.EXE文件。
4、用DEBUG对.EXE文件进行调试运行。
5、学会DEBUG中的D命令、E命令、R命令、T命令、A命令、G命令等的使用。
6、运行完毕,关闭Masm for Windows 集成实验环境软件。
《微机原理与接口技术》课程实验指导书实验内容EL-8086-III微机原理与接口技术教学实验系统简介使用说明及要求✧实验一实验系统及仪器仪表使用与汇编环境✧实验二简单程序设计实验✧实验三存储器读/写实验✧实验四简单I/0口扩展实验✧实验五8259A中断控制器实验✧实验六8253定时器/计数器实验✧实验七8255并行口实验✧实验八DMA实验✧实验九8250串口实验✧实验十A/D实验✧实验十一D/A实验✧实验十二8279显示器接口实验EL-8086-III微机原理与接口技术教学实验系统简介使用说明及要求EL-8086-III微机原理与接口技术教学实验系统是为微机原理与接口技术课程的教学实验而研制的,涵盖了目前流行教材的主要内容,该系统采用开放接口,并配有丰富的软硬件资源,可以形象生动地向学生展示8086及其相关接口的工作原理,其应用领域重点面向教学培训,同时也可作为8086的开发系统使用。
可供大学本科学习《微机原理与接口技术(8086)》,《单片机应用技术》等课程提供基本的实验条件,同时也可供计算机其它课程的教学和培训使用。
为配合使用EL型微机教学实验系统而开发的8086调试软件,可以在WINDOWS 2000/XP等多种操作系统下运行。
在使用本软件系统调试程序时,可以同时打开寄存器窗口、内存窗口、反汇编窗口、波形显示窗口等等,极大地方便了用户的程序调试。
该软件集源程序编辑、编译、链接、调试与一体,每项功能均为汉字下拉菜单,简明易学。
经常使用的功能均备有热键,这样可以提高程序的调试效率。
一、基本特点EL型微机教学实验系统是北京精仪达盛科技有限公司根据广大学者和许多高等院校实验需求,结合电子发展情况而研制的具有开发、应用、实验相结合的高科技实验设备。
旨在尽快提高我国电子科技发展水平,提高实验者的动手能力、分析解决问题能力。
系统具有以下特点:1、系统采用了模块化设计,实验系统功能齐全,涵盖了微机教学实验课程的大部分内容。
微机原理与接口技术实验指导书实验一:微处理器概述及数据传输实验一、实验目的•了解微处理器的基本概念和工作原理;•学习数据传输的基本知识;•掌握使用微处理器进行数据传输的方法。
二、实验器材•1个微处理器开发板;•1个串行通信模块;•相应的连接线。
三、实验内容在该实验中,你将学习如何使用微处理器进行数据传输,具体实验步骤如下:1.将开发板和串行通信模块连接起来;2.将数据发送器连接到串行通信模块的发送端口,将数据接收器连接到串行通信模块的接收端口;3.通过开发板上的开关设置要发送的数据;4.通过串行通信模块将数据发送到计算机;5.在计算机上使用相应的软件接收数据,并验证接收到的数据是否正确。
四、实验步骤1.将开发板和串行通信模块连接起来,确保连接正确并稳定;2.将数据发送器插入串行通信模块的发送端口,将数据接收器插入串行通信模块的接收端口;3.在开发板上的开关上设置要发送的数据;4.打开计算机上的串行通信软件,配置正确的串口号和波特率;5.点击软件的接收按钮,准备接收数据;6.在开发板上的开关上切换到发送模式,并观察串行通信模块的指示灯是否正常闪烁;7.在串行通信软件上观察接收到的数据是否与设置的数据一致;8.如果数据传输正常,则实验完成。
五、实验注意事项1.连接线务必稳固连接,确保数据传输正常;2.阅读并理解实验器材的使用说明书;3.注意保持实验环境的整洁,避免影响实验结果;4.在进行数据传输时,确保计算机已正确安装了相应的驱动程序。
六、实验总结通过这次实验,我们初步了解了微处理器的基本概念和工作原理,学习了数据传输的基本知识,并掌握了使用微处理器进行数据传输的方法。
我们在实验中成功地连接了开发板和串行通信模块,并成功地进行了数据传输。
通过实验,我们发现数据传输过程中需要注意连接线的稳固连接,以及计算机是否安装了相应的驱动程序。
实验的结果验证了我们的操作方法的正确性,同时也为后续实验奠定了基础。
注意:本指导书旨在引导实验过程,实验过程中如有任何危险情况,请立即停止实验并寻求实验室管理员的帮助。
《微机原理与接口技术》实验指导书计算机与信息工程系2012年9月目录实验概述.............................................. 错误!未定义书签。
实验仪器使用简介 (5)实验项目一学生考试成绩统计实验 (11)实验项目一两个多位十进制数相减实验................ 1错误!未定义书签。
实验项目一 8259中断控制器实验.. (16)实验项目一具有优先通行权的十字路口交通灯控制设计 (21)实验项目一 8253定时器/计数器实验 (26)实验项目一继电器控制实验 (28)2实验概述一、实验的目的本实验课是配合理论教学内容,帮助学生加深理解和掌握本门课程内容的重要手段。
由于本课程具有理论与实际相结合紧密的特点,通过实验使学生掌握微型计算机的原理及接口电路的设计应用技术。
二、实验前的准备工作1.了解所用的计算机系统(包括汇编编译系统)的性能和使用方法。
2.复习和掌握与本实验有关的DOS命令以及相关指令。
3.准备好上机所需的程序,切忌不编程或抄别人的程序去上机。
三、实验的步骤上机实验应一人一组,独立实验。
上机过程中出现的问题,除了是系统的问题以外,不要轻易举手问老师。
上机实验一般应包括以下几个步骤:1、编辑汇编语言源程序使用一种文本编辑软件(word、记事本、写字板等),编辑保存一个“文件名.ASM”的汇编语言源程序文件2、汇编源程序用宏汇编(MASM)对汇编源程序进行汇编,产生目标程序(文件名.OBJ3、连接程序用连接程序(LINK)将若干目标模块连同库子程序连接在一起,产生可执行文件(文件名.EXE)4、运行调试DEBUGDEBUG 程序是专门为汇编语言设计的一种调试工具,它通过单步、跟踪、断点和连续等方式为程序员提供了非常有效的调试手段。
格式:DEBUG [驱动器][路径][文件名][参数]13四、实验报告实验报告应包括以下内容:实验目的、实验内容、程序清单、运行结果、对运行结果的分析以及本次调试程序所取得的经验。
实验一 I/O地址译码
一、实验目的
掌握I/O地址译码电路的工作原理。
二、实验原理和内容
实验电路如图11所示,其中74LS74为D触发器,可直接使用实验台上数字电路实验区的D触发器,74LS138为地址译码器。
译码输出端Y0~Y7在实验台上“I/O地址“输出端引出,每个输出端包含8个地址,Y0:280H~287H,Y1:288H~28FH,……当CPU执行I/ O指令且地址在280H~2BFH范围内,译码器选中,必有一根译码线输出负脉冲。
例如:执行下面两条指令
MOV DX,2A0H
OUT DX,AL(或IN AL,DX)
Y4输出一个负脉冲,执行下面两条指令
MOV DX,2A8H
OUT DX,AL(或IN AL,DX)
Y5输出一个负脉冲。
注意:由于使用PCI卡,命令中的实际端口地址应通过计算来重新确定。
是根据PCI 卡的基址再加上偏移量计算出来的,不同的微机器PCI卡的基址可能不同,需要事先查找出来,查找方法1:使用WINDOWS的设备管理器,查看此PCI卡的属性来获得。
方法2:利用实验台配套的集成开发软件检测出来。
例如:PCI卡的基址为:0D400H.
计算公式如下:
计算出的地址= 查找出的PCI卡的基址+ 偏移量;
(其中:偏移量= 2A0H - 280H 或2A8H –280H)
利用这个负脉冲控制L7闪烁发光(亮、灭、亮、灭、……),时间间隔通过软件延时实现。
三、编程提示
1、实验电路中D触发器CLK端输入脉冲时,上升沿使Q端输出高电平L7发光,CD端加低电平L7灭。
2、由于TPC卡使用PCI总线,所以分配的IO地址每台微机可能都不同,编程时需要了解当前的微机使用那段IO地址并进行设置,获取方法前面已经介绍。
3、参考程序:
ioport equ 0d400h-0280h
outport1 equ ioport+2a0h
outport2 equ ioport+2a8h
start:
mov dx,outport1
out dx,al
call delay ;调延时子程序
mov dx,outport2
out dx,al
call delay ;调延时子程序
mov ah,1
int 16h
je start
mov ah,4ch
int 21h
delay proc near ;延时子程序
mov bx,2000
lll: mov cx,0
ll: loop ll
dec bx
jne lll
ret
delay endp
实验程序应有信息提示,按什么键开始,按什么键退出程序等控制功能。
实验二简单并行接口
一、实验目的
掌握简单并行接口的工作原理及使用方法。
二、实验内容
1、按下面图12简单并行输出接口电路图连接线路(74LS273插通用插座,74LS32用实验台上的“或门”)。
74LS273为八D触发器,8个D输入端分别接数据总线D0~D7,8个Q输出端接LED显示电路L0~L7。
2、编程从键盘输入一个字符或数字,将其ASCⅡ码通过这个输出接口输出,根据8个发光二极管发光情况验证正确性。
3、按下面图13简单并行输入接口电路图连接电路(74LS244插通用插座,74LS32用实验台上的“或门”)。
74LS244为八缓冲器,8个数据输入端分别接逻辑电平开关输出K0~K7,8个数据输出端分别接数据总线D0~D7。
4、用逻辑电平开关预置某个字母的ASCⅡ码,编程输入这个ASCⅡ码,并将其对应字母在屏幕上显示出来。
图12 图13
三、编程提示
1、上述并行输出接口的地址为2A8H,并行输入接口的地址为2A0H,通过上述并行接口电路输出数据需要3条指令:
MOV AL,数据
MOV DX,2A8H
OUT DX,AL
通过上述并行接口输入数据需要2条指令:
MOV DX,2A0H
IN AL,DX
参考程序1:
ioport equ 0d400h-0280h
ls273 equ ioport+2a8h
start:
mov ah,2 ;回车符
mov dl,0dh
int 21h
mov ah,1 ;等待键盘输入
int 21h
cmp al,’E’ ;判断是否为E键
je exit ;若是则退出
mov dx,ls273 ;若不是,从2A8H输出其ASCII码
out dx,al
jmp start ;转start
exit: mov ah,4ch ;返回DOS
int 21h
参考程序2:
ioport equ 0d400h-0280h
ls244 equ ioport+2a0h
start: mov dx,ls244 ;从2A0输入一数据
in al,dx
mov dl,al ;将所读数据保存在DL中
mov ah,02
int 21h
mov dl,0dh ;显示回车符
int 21h
mov dl,0ah ;显示换行符
int 21h
mov ah,06 ;是否有键按下
mov dl,0ffh
int 21h
jnz exit
je start ;若无,则转start
exit: mov ah,4ch ;返回DOS
int 21h
实验三可编程定时器/计数器(8253)
一、实验目的
掌握8253的基本工作原理和编程方法。
二、实验内容
1、按图14虚线连接电路,将计数器0设置为方式0,计数器初值为N(N≤0FH),用手动逐个输入单脉冲,编程使计数值在屏幕上显示,并同时用逻辑笔观察OUT0电平变化(当输入N+1个脉冲后OUT0变高电平)。
图14
2、按图15连接电路,将计数器0、计数器1分别设置为方式3,计数初值设为1000,用逻辑笔观察OUT1输出电平的变化(频率1HZ)。
图15
三、编程提示
1、8253控制寄存器地址283H
计数器0地址280H
计数器1地址281H
CLK0连接时钟1MHZ
2、参考流程图(见图16、17)
图16 图17
3、参考程序1:
ioport equ 0d400h-0280h
io8253a equ ioport+283h
io8253b equ ioport+280h
start: mov al,10h ;设置8253通道0为工作方式0,二进制计数mov dx,io8253a
out dx,al
mov dx,io8253b ;送计数初值为0FH
mov al,0fh
out dx,al
lll: in al,dx ;读计数初值
call disp ;调显示子程序
push dx
mov ah,06h
mov dl,0ffh
int 21h
pop dx
jz lll
mov ah,4ch ;退出
int 21h
disp proc near ;显示子程序
push dx
and al,0fh ;取低四位
mov dl,al
cmp dl,9 ;判断是否<=9
jle num ;若是则为'0'-'9',ASCII码加30H
add dl,7 ;否则为'A'-'F',ASCII码加37H
num: add dl,30h
mov ah,02h ;显示
int 21h
mov dl,0dh ;加回车符
int 21h
mov dl,0ah ;加换行符
int 21h
pop dx
ret ;子程序返回
disp endp
4、参考程序2:
ioport equ 0d400h-0280h
io8253a equ ioport+280h
io8253b equ ioport+281h
io8253c equ ioport+283h
start: mov dx,io8253c ;向8253写控制字
mov al,36h ;使0通道为工作方式3
out dx,al
mov ax,1000 ;写入循环计数初值1000
mov dx,io8253a
out dx,al ;先写入低字节
mov al,ah
out dx,al ;后写入高字节
mov dx,io8253c
mov al,76h ;设8253通道1工作方式3
out dx,al
mov ax,1000 ;写入循环计数初值1000
mov dx,io8253b
out dx,al ;先写低字节
mov al,ah
out dx,al ;后写高字节
mov ah,4ch ;程序退出
int 21h
提示:若要8253某计数通道停止输出,可向该通道重新写入控制字,但不写入计数初值即可。