- 1、本文档共108页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
微机原理 第十一章常用可编程接口
例如:读取计数器1的16位计数值,存入CX中,其程序段为: MOV DX,38BH MOV AL,40H ;计数器1的锁存命令 OUT DX,AL MOV DX,389H IN AL,DX MOV CL,AL IN AL,DX MOV CH,AL 2.3 8253的控制字和初始化编程 例4 8253在IBM PC XT中的应用。 2.4 8253的应用 IBM PC XT微型计算机中8253的部分线路 由译码电路可知计数器和控制字寄存器的端口地址取为计数器0∶40H,计数器1∶41H,计数器2∶42H,控制字寄存器∶43H。 3个计数器的输入时钟频率均为1.19MHz。 1、计数器0输出作为18.2Hz方波发生器。用来输出方波 作为中断控制器8259的第0号中断信号线(IRQ0)的输 入。计数器0的计数值为: 1.19M/18.2=65384=216 即送16位的0,故其控制字为36H。 65584D=1111,1111,1001,0111B=FF97H 2.4 8253的应用 对计数器0初始化的程序段如下: 计数器0:端口地址:40H;计数初值:0000H; 工作方式:工作方式3; 相应的控制字:36H; MOV AL,36H OUT 43H,AL MOV AL,0 OUT 40H,AL OUT 40H,AL 2.4 8253的应用 计数器1输出间隔为15μS的负脉冲。该脉冲的上升 沿触发D触发器。使它对DMA控制器 8237的第0号DMA请求 信号线DRQ0发出DMA请求信号,8237则依据这个请求信号 对动态RAM进行刷新。计数器1的计数值为: 1.19×106/(1/15)×10-6=18 故其控制字为54H。 对计数器1的初始化程序段如下: 计数器0:端口地址:41H; 计数初值:18; 工作方式:工作方式2 ;相应的控制字:55H; MOV AL,55H OUT 43H,AL MOV AL,18 OUT 41H,AL 2.4 8253的应用 计数器2输出不同频率的方波,经电流驱动器75477放大,推动扬声器发出不同频率的声响。计数器2的计数值为可变值。随蜂鸣器声响频率的高低而变,程序设计中让它的取值范围由1到65535,即16位二进制数,故其控制字为B6H。 2.4 8253的应用 entry parameters: DH= Number of long tones to beep DL= Number of short tones to beep err-beep proc PUSHF ;保存所有的标志位 CLI ;关中断 PUSH DS MOV AX,DATA ;DS指向数据段 MOV DS,AX OR DH,DH ;是否要鸣长音 JZ G3 ;不鸣长音,去鸣短音 下面是IBM PC XT机BIOS中的开机诊断子程序。该子程序让蜂鸣器鸣一声长音(3秒)和一声短音(0.5秒),以指出系统板或RAM模块或者CRT显示器有错。 2.4 8253的应用 G1: MOV BL,6 ;蜂鸣常数,一次鸣响延续时0.5×BL CALL BEEP ;调用鸣响子程序 G2: LOOP G2 ;鸣响间隔,等待500mS DEC DH JNZ G1 ;长音没鸣响完,继续 CMP MFG-TST,1 ;为制造测试模式? JNZ G3 ;为制造测试模式,继续鸣响短音 MOV AL,0DH ;停止LED闪 OUT PORT-B,AL ;PORT-B=61H,即8255B端口 JMP G1 2.4 8253的应用 G3: MOV BL,1 ;短音鸣响时间为0.5×1=0.5S CALL BEEP G4: LOOP G4 DEC DL JNZ G3 ;短音没鸣响完,继续 G5
文档评论(0)