输入输出和中断程序设计
- 格式:ppt
- 大小:611.50 KB
- 文档页数:72
第9章 BIOS和DOS中断1.教学目的:掌握BIOS和DOS中断程序设计的方法2.教学要求:①熟悉BIOS中断调用概念和调用方法②熟悉DOS中断调用概念和调用方法3.教学重点:①BIOS和DOS中断调用的概念和方法4.掌握难点:①BIOS和DOS中断程序设计方法5.教学进程安排:P315~P3486.教学方法:课堂讲授7.教学内容摘要9.1 BIOS和DOS概述9.1.1 基本输入输出系统(basic input / output system,BIOS)例行程序:位置:ROM(0FE000H~0FEFFF);功能:系统加电自检、引导装入、主要I/O设备的处理、接口控制方面的系统中断等;利用BIOS功能编写的程序特点:简洁,可读性好,易于移植。
9.1.2 磁盘操作系统(disk operating system,DOS)位置:软盘或硬盘;,:使BIOS用起来更方便;特点:比BIOS操作更简易,对硬件的依赖更少些。
9.1.3 DOS模块和ROM BIOS的关系图9.1 DOS模块和ROM BIOS的关系DOS 模块和ROM BIOS 的关系如图9.1所示:调用DOS 或BIOS 功能时,一般有以下几个基本步骤:①将调用参数装入指定的寄存器中;②如需功能号,把它装入AH ;③如需子功能号,把它装入AL ;④按中断号调用DOS 或BIOS 中断;⑤检查返回参数是否正确。
9.2 BIOS 中断调用9.2.1 BIOS 中断调用概述图9.2是用户程序和操作系统关系示意图,图9.2 用户程序和操作系统关系示意图9.2.2 BIOS 中断调用方法1、BIOS 调用的基本操作⑴设置分功能号 ⑵置入口参数⑶使用中断语句INT n ⑷分析出口参数2、BIOS 键盘输入功能调用扫描码:键盘上的每一个键都对应一个扫描码(01~83,或01H~53H),根据扫描码能唯一地确定哪一个键改变了状态。
字符码:①大部分键的字符码是一个标准的ASCII 码;②Alt 和功能键(F1~F10)等没有相应ASCII 码的键的字符码为0; ③能产生一个具体操作的一些非ASCII 码键。
第七章输入输出系统第一节基本的输入输出方式一、外围设备的寻址1.统一编址:将输入输出设备中控制寄存器、数据寄存器、状态寄存器等与内存单元一样看待,将它们和内存单元联合在一起编排地址,用访问内存的指令来访问输入输出设备接口的某个寄存器,从而实现数据的输入输出。
2.单独编址:将输入输出设备中控制寄存器、数据寄存器、状态寄存器单独编排地址,用专门的控制信号进行输入输出操作。
3.CPU与外围设备进行通信有三种类型:(1)CPU向外围设备发出操作控制命令。
(2)外围设备向CPU提供状态信息。
(3)数据在CPU与外围设备之间的传递。
历年真题1.对外设统一编址是指给每个外设设置一个地址码。
(2002年)【分析】CPU与外设之间的信息传送是通过硬件接口来实现的,各种外设的硬件接口上又都包含有多个寄存器,如控制寄存器、数据寄存器、状态寄存器等。
统一编址是将外设接口上的各种寄存器等同于内存储器的存储单元,通过使用访问内存单元的指令来访问外设接口上的各个寄存器,这样就可以使用访存指令来访问外设,输入输出操作简单,程序设计比较简便。
由于外设接口上的寄存器种类和数量通常不止一个,所以一个外设至少对应一个以上的内存地址。
【答案】对外设统一编址是将外设接口上的寄存器等同内存单元,给每个外设设置至少一个地址码。
二、外围设备的定时1.外围设备的定时方式有异步传输方式和同步定时方式两种。
2.实现输入输出数据传输的方式主要有:程序控制方式、直接存储访问(DMA)方式、通道方式。
程序控制方式又可分为程序查询方式和中断方式两种。
历年真题1.对I/O数据传送的控制方式,可分为程序中断控制方式和独立编址传送控制方式两种。
(2001年)【分析】对1/O数据传送的控制方式,可分为程序直接控制方式、程序中断控制方式、DMA控制方式、通道控制方式等。
程序中断控制方式只是其中的一种方法,独立编址是指对1/O设备的控制寄存器、数据寄存器、状态寄存器等单独进行地址编排,使用专门的指令对其进行操作,可用在各种数据传送的控制方式中。
基于单片机的电梯控制系统设计随着现代社会的快速发展,电梯已成为人们日常生活中不可或缺的运输工具。
为了提高电梯的运行效率,保证其安全可靠性,设计一种基于单片机的电梯控制系统。
该系统以单片机为核心,结合传感器、按键、显示等模块,实现对电梯的运行状态、楼层信号、呼梯信号的实时监控与显示。
一、系统硬件设计1、单片机选择本设计选用AT89S52单片机作为主控芯片,该芯片具有低功耗、高性能的特点,内部集成了丰富的外围设备,方便开发与调试。
2、输入模块设计输入模块主要包括楼层传感器和呼梯按钮。
楼层传感器采用光电式传感器,安装在各楼层,用于检测电梯的运行状态和位置;呼梯按钮安装在电梯轿厢内,用于收集用户的呼梯信号。
3、输出模块设计输出模块主要包括显示模块和驱动模块。
显示模块采用LED数码管,用于实时显示电梯的运行状态、楼层位置等信息;驱动模块包括继电器和指示灯,用于控制电梯的运行和指示状态。
4、通信模块设计通信模块采用RS485总线,实现单片机与上位机之间的数据传输与通信。
二、系统软件设计1、主程序流程图主程序主要实现电梯控制系统的初始化、数据采集、处理与输出等功能。
主程序流程图如图1所示。
图1主程序流程图2、中断处理程序中断处理程序主要包括外部中断0和定时器0的中断处理。
外部中断0用于处理楼层传感器的信号,定时器0用于计时和速度控制。
三、系统调试与性能分析1、硬件调试首先对电路板进行常规检查,包括元器件的焊接、电源的稳定性等;然后分别调试输入、输出、通信等模块,确保各部分功能正常。
2、软件调试在硬件调试的基础上,对软件进行调试。
通过编写调试程序,检查各模块的功能是否正常;利用串口调试工具,对通信模块进行调试。
3、性能分析经过调试后的电梯控制系统,其性能稳定、运行可靠。
该系统能够实现对电梯运行状态、楼层信号、呼梯信号的实时监控与显示,并且具有速度快、安全可靠等特点。
该系统还具有成本低、易于维护等优点,适用于各种场合的电梯控制。
第04章基本输入、输出和顺序程序设计1.填空题(1)在C语言中,格式化输入库函数为 ,格式化输出库函数为 .(2)printf函数中的格式控制字符串的作用是 ,它包含两类字符,即和 .(3)格式转换符中,除了以外,其他均为小写字母.(4)getche函数和getch函数在功能上的主要区别是 .(5)在输入数据类型和字符类型的两个scanf函数调用之间通常要使用库函数以清楚键盘缓冲区中的字符.(6)算法是 .(7)算法的描述方法有、、、和PAD图等。
(8)任何复杂的程序都可以由、和这三种基本结构组成。
2.选择题(1)在16位C编辑系统上,下列程序执行后的输出结果是()。
void main (){ int a = -32769; printf (“%8U\n”,a); }A.32769 B.8U C.32767 D.-32767(2)下面程序段执行后的输出结果是()。
(“□”表示一个空格)int a = 3366;printf (“∣%-08d∣”,a);A.∣-0003366∣ B. ∣00003366∣ C. ∣3366□□□□∣ D. 输出格式非法(3)以下程序的输出结果是()。
void main (){printf (“s1 = ∣%15s∣ s2 = ∣%-5s∣”,“chinabeijing”,“chi”);}A.s1 = ∣chinabeijing□□□∣ s2 = ∣chi∣B.s1 = ∣chinabeijing□□□∣ s2 = ∣chi□□∣C.s1 = ∣□□□chinabeijing∣ s2 = ∣□□chi∣D.s1 = ∣□□□chinabeijing∣ s2 = ∣chi□□∣(4)在16位C编译系统上,以下程序的输出结果是()。
void main (){long y = -43456;printf(“y = ∣%-8ld∣ y = ∣%-08ld∣ y = ∣%08ld∣ y = ∣%+8ld∣”,y,y,y,y);}A.y = ∣□□-43456∣ y = ∣-□□43456∣ y = ∣-0043456∣ y = ∣-43456□□∣ B.y = ∣□□-43456∣ y = ∣-43456□□∣ y= ∣-0043456∣ y = ∣-□□43456∣ C.y = ∣-43456□□∣ y = ∣-43456□□∣ y= ∣-0043456∣ y = ∣□□-43456∣ D.y = ∣-43456□□∣ y = ∣-4345600∣ y = ∣-0043456∣ y = ∣□□-43456∣(5)在16位C语言编译系统上,以下程序的输出结果是()。