随笔分类 - 第十一章:硬件控制方法
摘要:如果用一句话来简单地概括该机制,那就是显示器中显示的信息一直存储在某内存中。该内存称为VRAM(Video RAM)。在程序中,只要往VRAM中写入数据,该数据就会在显示器中显示出来。实现该功能的程序,是由操作系统或BIOS提供,并借助中断来进行处理的。在MS-DOS时代,对大部分计算机来说,VRA
阅读全文
摘要:在了解I/O输入输出及中断处理的同时,还希望大家记住另外一个机制,这就是DMA(Direct Memory Access)。DMA是指在不通过CPU的情况下,外围设备直接和主内存进行数据传送。磁盘等都用到了这个DMA机制。通过利用DMA,大量数据就可以在短时间内转送到主内存。之所以这么快速,是因为C
阅读全文
摘要:在主程序运行的过程中,中断发生的频率有多大呢?实际上,大部分的外围设备,都会频繁地发出中断请求。其原因就是为了实时处理从外围设备输入的数据。虽然不利用中断也可以从外围设备输入数据。但那种情况下,主程序就必须要持续不断地检测外围设备是否有数据输入。由于外围设备有很多个,因此就有必要按照顺序来调查。按照
阅读全文
摘要:IRQ是用来暂停当前正在运行的程序,并跳转到其他程序运行的必要机制。该机制称为中断处理。中断处理在硬件控制中担当着重要角色。因为如果没有中断处理,就有可能出现处理无法顺畅进行的情况。从中断处理开始到请求中断的程序(中断处理程序)运行结束之前,被中断的程序(主程序)的处理是停止的。这种情况就类似于在处
阅读全文
摘要:在AT兼容机中,蜂鸣器的默认端口号是61H(末尾的H,表示的是十六进制数(Hexadecimal)的意思)。用IN指令通过该端口号输入数据,并将数据的低2位设定为ON,然后再通过该端口号用OUT指令输出数据,这时蜂鸣器就会响起来。采用同样的操作方法,将数据的低2位设定为OFF并输出后,蜂鸣器就停止了
阅读全文
摘要:上图是IN指令和OUT指令的语法 上图是数据传递
阅读全文
摘要:在用C语言等高级编程语言开发的Windows应用中,大家很少能接触到直接控制硬件的指令。这是因为硬件的控制是由Windows全权负责的。不过,Windows提供了通过应用来间接控制硬件的方法。 利用操作系统提供的系统调 用功能就可以实现对硬件的控制。在Windows中,系统调用称为API(图11-1
阅读全文