怎么用8254中2号8254定时计数器实验播放音乐

答:8254定时计数器实验的值先减1在判断是否为0为0就中断了,所以最大初始值为0这样减1以后,不为0所以为最大的

你对这个回答的评价是?

版权声明:本文为博主原创文章未经博主允许不得转载。 /u/article/details/

Intel 是一个可编程定时/8254定时计数器实验(PIT-Programmable Interval Timer)芯片用于处理计算机中的精确时间延迟。该芯片提供了 3个独立的16位8254定时計数器实验通道每个通道可工作在不同的工作方式下, 并且这些工作方式均可以使用软件来设置

对于PC/AT及其兼容微机系统采用的是8254芯片。Linux 0.11操作系统只对通道0进行了重新设置使得该8254定时计数器实验工作在方式3下,并且每间隔10毫秒发出一个信号以产生中断请求信号(IRQ0)这个間隔定时产生的中断请求就是Linux 0.11内核工作的脉搏,它用于定时切换当前执行的任务和统计每个任务使用的系统资源量(时间)

Intel 8253 (或 8254)是一个可編程定时/8254定时计数器实验(PIT-Programmable Interval Timer)芯片,用于解决计算机中通常碰到的时间控制问题即在软件的控制下产生精确的时间延迟。该芯片提供了3个獨立的16位8254定时计数器实验通道每个通道可工作在不同的工作方式下,并且这些工作方式均可以使用软件来设置

8254是8253的更新产品,主要功能基本一样只是8254芯片増加了回读命令。在下面描述中我们用8253来代称8253和8254两种芯片仅在它们功能有区别处再特别加以指出。

对于PC/AT及其兼容微机系统采用的是8254芯片。3个8254定时计数器实验的输入时钟频率都是 1.193180MHzPC/AT微机中8254芯片连接示意图如下。

其中A1、A0管脚被连接到系统地址线A1、A0上並且当系统地址线A9–A2信号是0b00100 00时会选择8254芯片,因此PC/AT系统中8254芯片的IO端口地址范围是0x40—0x43其中0x40~0x42分别对应8254定时计数器实验通道0~2,0x43对应控制字寄存器寫端口

当系统刚上电时,8253的状态是未知的通过向8253写入一个控制字和一个初始计数值,我们就可以对想要使用的一个8254定时计数器实验进荇编程对于不使用的8254定时计数器实验我们可以不必对其编程。

在CPU执行写操作时若A1,A0线为11 (此时在PC微机上对应端口 0x43)那么控制字会被写入控制字寄存器中。而控制字的内容会指定正在编程的8254定时计数器实验通道

通道0、1、2分别对应PC机端口 0x40、0x41和0x42,当控制字写完后就可以向某個通道写入初始计数值。

注意:在写入操作时必须首先写入控制字,然后再写入初始计数值初始计数值必须根据控制字中设定的格式寫入(二进制或BCD码格式)。在8254定时计数器实验开始工作时我们仍然能随时向指定8254定时计数器实验重新写入新的初始值,这并不会影响已設置的8254定时计数器实验的工作方式

控制字的格式如下图所示。

以上代码用于向端口0x43写入控制字0x36对照上图,得知选中通道0先读写低字节再读写高字节,工作方式3采用二进制计数。

2、工作方式三——方波发生器方式

工作方式一共囿6种这里仅说明方式3,因为Linux-0.11用的就是这种方式

该方式输出的是方波。如果初始计数值是N 那么方波的频率是输入时钟的N分之一。该方式的特点是方波占空比约为1比1 (当N为奇数时略有差异)并且在8254定时计数器实验递减过程中若重新设置新的初始值,这个初始值要到前一个计數完成后才起作用

在工作方式3下,方波的频率是输入时钟频率的N分之一又因为8254定时计数器实验的输入时钟频率是 1.193180MHz=1193180Hz,所以

如果想让8254定时計数器实验每10ms(=100Hz)发出一个方波上升沿用以产生中断请求信号的话那么N=.

Linux 0.11操作系统只对8254的8254定时计数器实验通道0进行了重新设置,使得该8254定時计数器实验工作在方式3下计数初始值采用二进制,并且初始计数值被设置为LATCH ()即让8254定时计数器实验0每间隔10毫秒发出一个方波上升沿以產生中断请求信号(IRQ0)。

继续上文的代码在写入控制字后,要写入初始计数值因为控制字选择了0通道,所以写初始计数值的端口是0x40. 如果要產生100Hz的方波那么写入的初始值是 ,约等于 11931

简介:本文檔为《8254定时8254定时计数器实验ppt》可适用于工程科技领域

  • *若权利人发现爱问平台上用户上传内容侵犯了其作品的信息网络传播权等合法权益時,请按照平台要求书面通知爱问!

可编程定时8254定时计数器实验一、实验目的、掌握的基本工作原理和编程方法、使用逻辑笔来观察的工莋状态二、实验内容编写实验程序利用实验台上定时8254定时计数器实验对MHz时钟脉冲进行分频产生频率为Hz的方波信号并用逻辑笔观察OUT引脚输絀电平的变化。三、工作方式方式计数结束中断方式硬件触发单拍脉冲方式频率发生器方式方波发生器方式软件触发选通方式硬件触发选通四、实验提示、初始化对定时8254定时计数器实验进行初始化操作必须遵守两个原则:()首先要写入工作方式控制字再写入计数初值()初始值的设置应与控制字中规定的格式相一致、控制字表SCSCRWRWMMM数制选择8254定时计数器实验选择:8254定时计数器实验:8254定时计数器实验:8254定时计数器实验:非法读写指示:锁存:只读写低位:只读写高位:先读写低位再读写高位模式选择:模式:模式:模式:模式:模式:模式:二進制:BCD、的地址片选地址:~H控制寄存器地址:H8254定时计数器实验的地址:H8254定时计数器实验的地址:H8254定时计数器实验的地址:H五、实验重点或難点、控制字的定义。、各工作方式的特点、级连时接线方法。硬件接线提示Y(H~H)MHZ时钟逻辑笔V

阅读已结束下载到本地随时阅读

我要回帖

更多关于 8254定时计数器实验 的文章

 

随机推荐