第十一章计数器定时器优秀课件.ppt
第十一章计数器定时器第十一章计数器定时器第1页,本讲稿共40页 在在微微机机系系统统或或微微机机应应用用系系统统,特特别别是是控控制制系系统统中中,经经常常有计数和计时的要求。如日历计时。有计数和计时的要求。如日历计时。在计算机中的处理方法不外乎两种:在计算机中的处理方法不外乎两种:硬件方法和软件方法。硬件方法和软件方法。软软软软件件件件定定定定时时时时就就是是根根据据所所需需要要的的时时间间常常数数来来设设计计一一个个延延迟迟子子程程序序。优点:节省硬件;优点:节省硬件;缺缺点点:耗耗费费CPU的的资资源源较较多多,降降低低了了CPU效效率率,且且编写软件略显麻烦;编写软件略显麻烦;通通常常延延迟迟时时间间较较小小且且重重复复次次数数有有限限的的情情况况下下,使使用用该该方方法。法。硬件定时硬件定时硬件定时硬件定时就要用到计数器就要用到计数器/定时器。定时器。优优点点是是不不占占用用CPU时时间间,且且利利用用计计数数器器/定定时时器器产产生生中中断断信信号号,就就可可以以建建立立多多作作业业环环境境,以以提提高高CPU效效率率,由由于于计计数数器器/定时器开销不大,因此得到了广泛应用。定时器开销不大,因此得到了广泛应用。第2页,本讲稿共40页第一节第一节 计数与定时计数与定时一一.计数与定时的概念计数与定时的概念 在计算机处理计数问题时,首先要将计数在计算机处理计数问题时,首先要将计数量转化为电脉冲的形式,计数的任务即是对某量转化为电脉冲的形式,计数的任务即是对某电脉冲的出现次数进行度量的工作。引发计数电脉冲的出现次数进行度量的工作。引发计数工作的电脉冲称为工作的电脉冲称为计数脉冲计数脉冲。在计算机系统中,更常用的是定时工作,在计算机系统中,更常用的是定时工作,时间计时间计量量 是在统一的时间标准上进行的,这个标准时间通是在统一的时间标准上进行的,这个标准时间通常由振荡器一类电路提供的恒定频率的电脉冲来担常由振荡器一类电路提供的恒定频率的电脉冲来担当,定时的工作其实转化为对具有恒定频率的计数当,定时的工作其实转化为对具有恒定频率的计数脉冲进行脉冲进行计数计数的工作了。的工作了。第3页,本讲稿共40页二二.计数方法与计数器计数方法与计数器 通常按计数的实现方法,计数器可分为:通常按计数的实现方法,计数器可分为:增量计数器:增量计数器:当计数脉冲到来后,计数的计数值加当计数脉冲到来后,计数的计数值加“1”减量计数器减量计数器:当计数脉冲到来后,计数的计数值减:当计数脉冲到来后,计数的计数值减1。增量计数器常用于对事件的累计,而减量计数常用增量计数器常用于对事件的累计,而减量计数常用于限量计数。增量计数关心的是当前计数的量,减量计于限量计数。增量计数关心的是当前计数的量,减量计数数 关心的是计数终到的时刻。关心的是计数终到的时刻。第4页,本讲稿共40页计算机系统中,计数操作计算机系统中,计数操作软件实现软件实现硬件实现,硬件实现,二者结合使用二者结合使用。第5页,本讲稿共40页软件实现计数的方法:软件实现计数的方法:利用计数脉冲引发利用计数脉冲引发CPU中断进行计数。中断进行计数。可可解解决决CPU占占用用率率的的问问题题,但但由由于于CPU响响应应中中断断的的周周期期的的限限制制,当当计计数数脉脉冲冲的的频频率率很很高高时时,可可能能发发生漏计。生漏计。硬件方法实现计数:硬件方法实现计数:用专门的计数器芯片完成计数操作。用专门的计数器芯片完成计数操作。实实际际应应用用系系统统中中多多采采用用。将将这这种种计计数数器器连连到到计计算算机机系系统统中中,由由CPU来来设设置置初初值值,由由CPU启启动动计计数数,并并由由CPU来来读读取取计计数数器器的的当当前前值值,计计数数终终到到后后向向CPU发发出出中中断断请请求求,由由CPU处处理理计计数数终终到到后后的的工工作作,则则构构成成一一种种可可编编程程计计数数器器。第6页,本讲稿共40页三三.定时方法与定时器定时方法与定时器计算机系统中的定时操作又分成计算机系统中的定时操作又分成延时操作延时操作 关心时间间隔和延时终到的时刻关心时间间隔和延时终到的时刻;计时操作计时操作 要求随时了解现在时刻的标准时间。要求随时了解现在时刻的标准时间。软软件件延延时时是是利利用用CPU的的指指令令周周期期进进行行的的延延时时。另另一一种种方方法法是是利用硬件,借助于可编程的计数器进行延时。利用硬件,借助于可编程的计数器进行延时。第7页,本讲稿共40页四四.计数计数/定时的工作原理定时的工作原理计数和计时本质上是相同的,它们都是对一个输入脉计数和计时本质上是相同的,它们都是对一个输入脉冲进行计数,如果输入脉冲的频率一定,那么记录脉冲进行计数,如果输入脉冲的频率一定,那么记录脉冲的个数与所需的时间是一一对应的关系。冲的个数与所需的时间是一一对应的关系。例如输入脉冲频率为例如输入脉冲频率为2MHz,那么计数,那么计数2 106 计时计时1秒。秒。因此,使用同一个芯片,既能计数,又能计时因此,使用同一个芯片,既能计数,又能计时计时器计时器/计数器计数器第8页,本讲稿共40页组成:组成:控制寄存器控制寄存器决定工作模式决定工作模式状态寄存器状态寄存器反应工作状态反应工作状态初值寄存器初值寄存器计数的初值计数的初值计数输出寄存器计数输出寄存器 CPU从中读当前计数值从中读当前计数值计数器计数器 执行计数操作,执行计数操作,CPU不能访问不能访问OUT控制寄存器控制寄存器初始值寄存器初始值寄存器计数器计数器计数输出寄存器计数输出寄存器状态寄存器状态寄存器CLKGATE第9页,本讲稿共40页工作原理:工作原理:对对CLK信号进行减信号进行减1计数计数 首先,首先,CPU把控制字写入控制寄存器,计数把控制字写入控制寄存器,计数初始值写入初值寄存器初始值写入初值寄存器 计数从初值开始,每当计数从初值开始,每当CLK信号出现一次,计数信号出现一次,计数值减值减1 当计数值减到当计数值减到0,从,从OUT端输出规定的信号端输出规定的信号 CLK信号出现时,计数器是否减信号出现时,计数器是否减1,由门控信号,由门控信号GATE控制控制第10页,本讲稿共40页第二节第二节 可编程计数器可编程计数器/定时器定时器 8253 一一.8253的编程结构的编程结构第11页,本讲稿共40页第12页,本讲稿共40页1.数据总线缓冲器数据总线缓冲器8253与数据总线的接口部件,是与数据总线的接口部件,是8位的三态双向缓冲器,位的三态双向缓冲器,CPU对对8253读写的数据,控制及状态信息读写的数据,控制及状态信息都通过这都通过这8条数条数据线传送,读写的内容包括:据线传送,读写的内容包括:CPU向向8253传送的确定传送的确定8253工作方式的控制字工作方式的控制字CPU向某一计数器装入计数初值向某一计数器装入计数初值CPU从某一计数器读出计数初值从某一计数器读出计数初值第13页,本讲稿共40页2.读/写逻辑电路 8253内部操作的控制电路,它从系统内部操作的控制电路,它从系统控制总线上接收控制信号,然后产生控制总线上接收控制信号,然后产生8253内部操作的各种控制内部操作的各种控制 信号。信号。lCS片选信号片选信号lRD,WR读写控制信号读写控制信号lA1,A0接系统总线的接系统总线的A1,A0,用于选择,用于选择8253那的计数器那的计数器和控制寄存器和控制寄存器 第14页,本讲稿共40页8253输入信号与各功能的对应关系输入信号与各功能的对应关系。CS RD WR A1 A0 功能功能 0 1 0 0 0 对计数器0设置计数初值 0 1 0 0 1 对计数器1设置计数初值 0 1 0 1 0 对计数器2设置计数初值 0 1 0 1 1 设置控制字或给一个命令 0 0 1 0 0 从计数器0读出计数值 0 0 1 0 1 从计数器1读出计数值 0 0 1 1 0 从计数器2读出计数值 第15页,本讲稿共40页3.计数器内部构成计数器内部构成 每个计数器内部都有三个每个计数器内部都有三个16位寄存器位寄存器CR、CE和和OL。CR计数初值寄存器计数初值寄存器 存放存放CPU写入的计数初值(也称时间常数)。写入的计数初值(也称时间常数)。CPU可以写,但不能可以写,但不能读读CR寄存器。寄存器。CPU向向CR写入计数初值后的第一个写入计数初值后的第一个CLK脉冲下降脉冲下降沿,沿,CR寄存器的内容被送到寄存器的内容被送到CE计数器单元内,随后计数器单元内,随后CE开始工作。开始工作。第16页,本讲稿共40页第17页,本讲稿共40页3.计数器内部构成计数器内部构成 每个计数器内部都有三个每个计数器内部都有三个16位寄存器位寄存器CR、CE和和OL。CE计数执行部件计数执行部件接收接收CR送来的计数初值,在送来的计数初值,在GATE的控制下的控制下CLK进行减进行减1计数,计数,当计数终到时,该计数通道的当计数终到时,该计数通道的OUT引脚发出引脚发出OUT信号。信号。CPU不能不能访问访问CE寄存器。寄存器。第18页,本讲稿共40页3.计数器内部构成计数器内部构成 每个计数器内部都有三个每个计数器内部都有三个16位寄存器位寄存器CR、CE和和OL。OL输出锁存器输出锁存器用来锁存某一时刻用来锁存某一时刻CE中的计数值。由于中的计数值。由于8253的数据总线只有的数据总线只有8 位,位,而而CE是是16位的,不可能在一个总线周期内将位的,不可能在一个总线周期内将CE的内容全部读入的内容全部读入CPU,因此用,因此用OL将不断变化的将不断变化的CE值锁存住,以便值锁存住,以便CPU读到正确的读到正确的CE值。值。CPU可随时用可随时用IN指令读出该寄存器的当前计数值,但不能写指令读出该寄存器的当前计数值,但不能写该寄存器。该寄存器。第19页,本讲稿共40页8253的引脚结构图的引脚结构图8253是是24引脚双列直插引脚双列直插式芯片,它与式芯片,它与CPU的接口引的接口引线除了没有线除了没有RESET引脚外,引脚外,其他与其他与8255相同。其中:相同。其中:D7D0是数据线引脚是数据线引脚RD和和WD:读写控制引脚:读写控制引脚CS是片选信号。是片选信号。A1,A0是片内地址选择引脚。是片内地址选择引脚。8253的三个计数通道在结的三个计数通道在结构上和功能上完全一样,每个构上和功能上完全一样,每个通道均有两个输入引脚通道均有两个输入引脚CLK和和GATE,一个输出信号,一个输出信号引脚引脚OUT。第20页,本讲稿共40页二二.8253的编程的编程初始化初始化1)写入控制字)写入控制字2)按控制字要求写入计数初值)按控制字要求写入计数初值8253控制寄存器的格式如下控制寄存器的格式如下:D7 D6 D5 D4 D3 D2 D1 D0 SC1 SC0 RW1 RW0 M2 M1 M0 BCD 第21页,本讲稿共40页BCD位:设置计数格式位:设置计数格式 1:计数值为:计数值为BCD格式格式 0:计数值为二进制格式:计数值为二进制格式M2 M1 M0:模式选择模式选择 000:模式:模式0 001:模式:模式1 X10:模式模式2 X11:模式模式3 100:模式:模式4 101:模式:模式5RW1 RW0:读读/写指示标志写指示标志00 对计数器进行锁存操作,使当前计数值在输出锁存器中锁定,对计数器进行锁存操作,使当前计数值在输出锁存器中锁定,以便读出以便读出01 只读只读/写低写低8位字节位字节10只读只读/写高写高8位字节位字节11先读先读/写低写低8位字节,再读位字节,再读/写高写高8位字节位字节SC1、SC0计数器选择。计数器选择。SC1SC0 含义含义00选计数器选计数器001选计数器选计数器110 选计数器选计数器211 无意义无意义D7 D6 D5 D4 D3 D2 D1 D0 SC1 SC0 RW1 RW0 M2 M1 M0 BCD 第22页,本讲稿共40页例:设三个计数器的例:设三个计数器的CR/OL端口地址为端口地址为70H、71H、72H,控制寄存器端口地址控制寄存器端口地址73H。计数器。计数器0,工作模式,工作模式2,CR/OL仅使用低仅使用低8位,初值为位,初值为100,计数值使用二进制,计数值使用二进制MOV AL,14HOUT 73H,ALMOV AL,100OUT 70H,AL例:设三个计数器的例:设三个计数器的CR/OL端口地址为端口地址为70H、71H、72H,控制寄存器端口地址,控制寄存器端口地址73H。计数器。计数器1,工作模式,工作模式1,CR/OL使用使用16位,初值为位,初值为1234,计数值使用,计数值使用BCDMOV AL,73HOUT 73H,ALMOV AX,1234HOUT 71H,ALMOV AL,AHOUT 71H,AL第23页,本讲稿共40页三三.8253工作模式工作模式 8253作为一个可编程计数器作为一个可编程计数器/定时器,可以用定时器,可以用6种工种工作模式,不论工作在那种模式,都会遵守下面几条基本规作模式,不论工作在那种模式,都会遵守下面几条基本规则:则:1)控制字写入寄存器时,所有控制逻辑电路立即复控制字写入寄存器时,所有控制逻辑电路立即复位,输出端位,输出端OUT进入初始状态。进入初始状态。2)初值写入后,要经过一个时钟上升沿和一个下降初值写入后,要经过一个时钟上升沿和一个下降沿,计数执行部件才开始进行计数。沿,计数执行部件才开始进行计数。3)通常在时钟脉冲通常在时钟脉冲CLK的上升沿时,门控信号的上升沿时,门控信号GATE被采样。被采样。模式模式0,4中,门控信号为电平触发中,门控信号为电平触发 模式模式1,5中,门控信号为上升沿触发中,门控信号为上升沿触发 模式模式2,3中,门控信号为电平或上升沿触发中,门控信号为电平或上升沿触发 4)在时钟脉冲的下降沿,计数器作减在时钟脉冲的下降沿,计数器作减1计数。计数。0是计数器所能容纳的最大初始值。二进制时,是计数器所能容纳的最大初始值。二进制时,0相当于相当于216;BCD码时,码时,0相当于相当于104。第24页,本讲稿共40页 六种工作模式六种工作模式1、方式、方式0:计数结束中断方式。当计数单元:计数结束中断方式。当计数单元CE计至零时,计至零时,OUT信号由低变高,可作为中断请求信号。信号由低变高,可作为中断请求信号。2、方式、方式1:硬件可重复触发单稳方式。:硬件可重复触发单稳方式。3、方式、方式2:速率波发生器方式,也叫:速率波发生器方式,也叫n分频方式分频方式4、方式、方式3:方波方式:方波方式5、方式、方式4:软件触发选通方式:软件触发选通方式6、方式、方式5:硬件触发选通方式:硬件触发选通方式第25页,本讲稿共40页当写入控制字后,当写入控制字后,OUT信号变为低电平,并维持低电平至信号变为低电平,并维持低电平至CE的内容到达零时,此的内容到达零时,此后后OUT信号变为高电平,并维持高电平至再次写入新的计数值或重新写入控制字。信号变为高电平,并维持高电平至再次写入新的计数值或重新写入控制字。门控信号门控信号GATE用于开放或禁止计数,用于开放或禁止计数,GATE为为“1”允许计数,为允许计数,为“0”则停止计则停止计数。数。第26页,本讲稿共40页当写入控制字,使当写入控制字,使8253进入工作方式进入工作方式3后,后,OUT输出低电平,这时若装入计数初值输出低电平,这时若装入计数初值n且且GATE为高电平,则在其后的下个为高电平,则在其后的下个CLK脉冲下降沿脉冲下降沿,OUT跳变为高电平,同时开始减法跳变为高电平,同时开始减法计数。如果置入计数。如果置入CR的初值的初值n是偶数,减法计数对每个是偶数,减法计数对每个CLK脉冲减脉冲减2,经过,经过n/2个个CLK脉冲,计数脉冲,计数值达到值达到0值,值,OUT输出变为低;然后,输出变为低;然后,CR内的初值自动再装入内的初值自动再装入CE并继续减并继续减2计数,经过计数,经过n/2个个CLK脉冲,计数值达脉冲,计数值达0值,值,OUT输出又立即变高。输出又立即变高。如果要求改变输出方波的速率,则如果要求改变输出方波的速率,则CPU可在任何时候向可在任何时候向CR重新写入新的计数初值重新写入新的计数初值n,并从下一个计数操作周期开始起作用。而如果在新初值写入之后又收到,并从下一个计数操作周期开始起作用。而如果在新初值写入之后又收到GATE上上升沿,则虽然原来的方波半周期尚未结束,升沿,则虽然原来的方波半周期尚未结束,CE也将在下一个也将在下一个CLK脉冲时装入新初脉冲时装入新初值,并从它开始计数。值,并从它开始计数。第27页,本讲稿共40页工作模式决定以下内容:工作模式决定以下内容:1)门控信号的影响)门控信号的影响高电平允许,当高电平允许,当GATE=0,即使出现,即使出现CLK,也不计数,也不计数模式模式0,2,3,4上升沿允许(上升沿触发)上升沿允许(上升沿触发)模式模式1,52)OUT信号的状态信号的状态写入控制字后,写入控制字后,OUT的状态的状态计数过程中,计数过程中,OUT的状态的状态计数终了,计数终了,OUT的状态的状态3)计数操作可否重复)计数操作可否重复不可重复不可重复模式模式0,4自动重复自动重复模式模式2,3条件重复条件重复模式模式1,5第28页,本讲稿共40页 六种工作模式主要区别六种工作模式主要区别:输出波形不同。输出波形不同。启动计数器的触发方式不同。启动计数器的触发方式不同。计数过程中门控信号计数过程中门控信号GATE对计数操作的影响不同。对计数操作的影响不同。有的工作方式具备有的工作方式具备“初值自动重装初值自动重装”的功能。初值自的功能。初值自动重装的功能是:当计数值减到规定的数值后,计数初值将动重装的功能是:当计数值减到规定的数值后,计数初值将会自动地重新装入计数器会自动地重新装入计数器第29页,本讲稿共40页方式方式0方式方式1方式方式2方式方式3方式方式4方式方式5功能功能计数结束输出计数结束输出正跃变信号正跃变信号单脉冲发单脉冲发生器生器频率发生频率发生器器方波发生器方波发生器单脉冲发单脉冲发生器生器单脉冲发单脉冲发生器生器启动方式启动方式“软件软件”启动启动“硬件硬件”启动启动“软件软件”启动启动“软件软件”启动启动“软件软件”启动启动“硬件硬件”启动启动输出波形输出波形写入初值后,写入初值后,经过经过N+1个个CLK周期输出周期输出为高为高宽度为宽度为N个个CLK周期的周期的负脉冲负脉冲宽度为宽度为1个个CLK周期的周期的负脉冲负脉冲N为偶数,正为偶数,正脉冲宽均为脉冲宽均为N个个CLK周期;周期;奇数时,正脉奇数时,正脉冲宽为冲宽为(N+1)/2CLK周周期,负脉冲期,负脉冲(N-1)/2CLK周期周期宽度为宽度为1个个CLK周周期的负脉期的负脉冲冲宽度为宽度为1个个CLK周期的周期的负脉冲负脉冲初值重装初值重装初值自动初值自动重装重装初值自动重装初值自动重装计数过程中改变计计数过程中改变计数初值数初值立即有效立即有效外部触发外部触发后有效后有效计数到计数到1后后有效有效外部触发有效外部触发有效/计数结束后计数结束后有效有效立即有效立即有效外部触发外部触发后有效后有效GATE信号的信号的作用作用GATE=0停止计数停止计数停止计数停止计数停止计数停止计数停止计数停止计数上升沿上升沿启动计数启动计数启动计数启动计数启动计数启动计数启动计数启动计数GATE=1允许计数允许计数允许计数允许计数允许计数允许计数允许计数允许计数第30页,本讲稿共40页第三节第三节 8253的应用的应用PC机中机中8253的应用的应用计数器计数器0:向系统日历时钟提供定时中断,模式:向系统日历时钟提供定时中断,模式3,控制字,控制字36H,计数器初始值,计数器初始值0计数器计数器1:动态:动态RAM刷新,模式刷新,模式2,控制字,控制字54H,计数器初,计数器初始值始值18(12H)计数器计数器2:控制扬声器发声,模式:控制扬声器发声,模式3,控制字,控制字B6H,计数器,计数器初始值初始值1331(533H)PC机中,机中,8253的端口地址为的端口地址为40H43H第31页,本讲稿共40页 8253的初始化的初始化对计数器对计数器0 MOV AL,36H;控制字;控制字00,11,011,0 OUT 43H,AL;选计数器选计数器0,16位,方式位,方式3,二进制,二进制MOV AL,0 ;初值初值0,计数,计数65536次次(最大最大)OUT 40H,AL;写入;写入CR0的低计数值的低计数值 OUT 40H,AL;写入;写入CR0的高计数值的高计数值 OUT0输出两次变高的间隔为输出两次变高的间隔为840ns65536=55ms,即每隔,即每隔55ms发出一次发出一次请求。请求。D7 D6 D5 D4 D3 D2 D1 D0 SC1 SC0 RW1 RW0 M2 M1 M0 BCD 第32页,本讲稿共40页 8253的初始化的初始化对计数器对计数器1 MOV AL,54H ;控制字控制字01,01,010,0 OUT 43H,AL ;选计数器选计数器1,只装低,只装低8位,位,;方式;方式2,二进制,二进制MOV AL,12H ;初值初值18 OUT 41H,AL ;写入计数器低写入计数器低8位,高位,高8位自动为位自动为0 从程序可以看出,从程序可以看出,OUT1输出两次变高的间隔为输出两次变高的间隔为840ns18=15us,于是,于是2ms内可有内可有132次刷新。次刷新。D7 D6 D5 D4 D3 D2 D1 D0 SC1 SC0 RW1 RW0 M2 M1 M0 BCD 第33页,本讲稿共40页 8253的初始化的初始化计数器计数器2 MOV AL,0B6H ;控制字控制字10,11,011,0 OUT 43H,AL ;选计数器选计数器2,16位位 ;方式;方式3,二进制,二进制MOV AX,533H ;初值初值 533H=1331 OUT 42H,AL ;写入计数器低写入计数器低8位位 MOV AL,AH OUT 42H,AL ;写入计数器高写入计数器高8位位 可以看出,可以看出,OUT2输出两次变高的间隔为输出两次变高的间隔为 840ns1331=1.12ms,频率为频率为894Hz。D7 D6 D5 D4 D3 D2 D1 D0 SC1 SC0 RW1 RW0 M2 M1 M0 BCD 第34页,本讲稿共40页 扬声器控制举例扬声器控制举例 设计一个程序,使扬声器发出设计一个程序,使扬声器发出600Hz频率的声音,按频率的声音,按下任意键声音停止。下任意键声音停止。PC机的发声系统以计数器机的发声系统以计数器2为核心。为核心。CLK2的输入频率的输入频率1.19MHz,改变计数器初值可以由改变计数器初值可以由OUT2得到不同频率的得到不同频率的方波输出。对于方波输出。对于600Hz,计数初值,计数初值1.19MHz/600Hz=1938 发声系统受发声系统受8255芯片芯片B口的两个输出端线口的两个输出端线PB0、PB1的控制。的控制。PB0为为1,使,使GATE2为为1,计数器,计数器2能正能正常计数;常计数;PB1为为1,打开输出控制门。,打开输出控制门。第35页,本讲稿共40页 8255A驱动电路扬声器扬声器GATE2CLK2时钟信号时钟信号与门与门8253的的2#通道通道键盘扫描码键盘扫描码输出输出0,使,使A口接收到的是键盘数据口接收到的是键盘数据输出输出1,给键盘送时钟信号,给键盘送时钟信号键盘和扬声器控制示意图键盘和扬声器控制示意图PB1PB0 PA7PA0PB7PB6第36页,本讲稿共40页CODE SEGMENT ASSUME CS:CODESTART:IN AL,61H;读读82558255的的PBPB口口 OR AL,03H OUT 61H,AL;输出输出PB1 PB0PB1 PB0为为1 1,打开喇叭,打开喇叭 MOVAX,1983 OUT42H,AL MOVAL,AH OUT 42H,AL MOVAH,01H INT 21H INAl,61H AND AL,0FCH OUT 61H,AL MOVAH,4CH INT 21HCODE ENDS END START第37页,本讲稿共40页第十一章第十一章 作业题作业题2(8)、音符音符1、2、3、4、5、6、7的频率分别为的频率分别为350、393、441、467、525、589、661,编写一个程序,使用户按下,编写一个程序,使用户按下17键时扬键时扬声器发出相应的音符,按下其他键退出程序。声器发出相应的音符,按下其他键退出程序。2(5)、设、设8253三个计数器的三个计数器的CR/OL端口地址为端口地址为70H、71H、72H,控制寄存器端口地址,控制寄存器端口地址73H。编写程序片段,使:。编写程序片段,使:计数器计数器0,工作模式,工作模式1,使用,使用16位,初值为位,初值为1234,BCD 计数;计数器计数;计数器1,工作模式,工作模式4,使用低,使用低8位,初值为位,初值为 100,二进制计数;计数器,二进制计数;计数器2,工作模式,工作模式2,使用,使用16 位,初值为位,初值为65536,二进制计数,二进制计数第38页,本讲稿共40页第十一章第十一章 作业题作业题5)设)设8253三个计数器的三个计数器的CR/OL端口地址为端口地址为70H、71H、72H,控制,控制寄存器端口地址寄存器端口地址73H。编写程序片段,使:。编写程序片段,使:计数器计数器0,工作模式,工作模式1,使用,使用16位,初值为位,初值为1234,BCD计数计数;计数器计数器1,工作模式,工作模式4,使用低,使用低8位,初值为位,初值为100,二进制计数,二进制计数;计数器计数器2,工作模式,工作模式2,使用,使用16位,初值为位,初值为65536,二进制计数,二进制计数D7 D6 D5 D4 D3 D2 D1 D0 SC1 SC0 RW1 RW0 M2 M1 M0 BCD 计数器0:00110011计数器1:01011000计数器2:1011X100第39页,本讲稿共40页第十一章第十一章 作业题作业题MOV AL,33H;控制字控制字00110011OUT 73H,ALMOV AX,1234H;初值;初值OUT 70H,AL;低;低8位位MOV AL,AHOUT 70H,AL;高;高8位位MOV AL,58HOUT 73H,ALMOV AL,100OUT 71H,ALMOV AL,0B4H;控制字控制字10110100OUT 73H,ALMOV AX,0;初值;初值OUT 72H,AL;OUT 72H,AL;高;高8位位第40页,本讲稿共40页