int2h中断表

合集下载

51单片机中断号

51单片机中断号

51单片机中断号若51单片机使用C语言编程,51单片机中断号的排列顺序是按中断向量地址由低到高来排列中断号,不是按中断查询的优先级或者中断服务顺序的优先级来排列中断号的。

本内容简单介绍了C51单片机的中断号以及中断向量,方便大家了解和学习关键词:中断向量C51单片机一、中断号二、interrupt 和 using 在C51中断中的使用8051 系列 MCU 的基本结构包括:32 个 I/O 口(4 组8 bit 端口);两个16 位定时计数器;全双工串行通信;6 个中断源(2 个外部中断、2 个定时/计数器中断、1 个串口输入/输出中断),两级中断优先级;128 字节内置RAM;独立的 64K 字节可寻址数据和代码区。

中断发生后,MCU 转到 5 个中断入口处之一,然后执行相应的中断服务处理程序。

中断程序的入口地址被编译器放在中断向量中,中断向量位于程序代码段的最低地址处,注意这里的串口输入/输出中断共用一个中断向量。

8051的中断向量表如下:C51单片机的中断号以及中断向量C51单片机的中断号以及中断向量一、中断号外部中断0 0定时器T0 1外部中断1 2定时器T1 3串口中断 4二、interrupt 和 using 在C51中断中的使用8051 系列 MCU 的基本结构包括:32 个 I/O 口(4 组8 bit 端口);两个16 位定时计数器;全双工串行通信;6 个中断源(2 个外部中断、2 个定时/计数器中断、1 个串口输入/输出中断),两级中断优先级;128 字节内置RAM ;独立的 64K 字节可寻址数据和代码区。

中断发生后,MCU 转到 5 个中断入口处之一,然后执行相应的中断服务处理程序。

中断程序的入口地址被编译器放在中断向量中,中断向量位于程序代码段的最低地址处,注意这里的串口输入/输出中断共用一个中断向量。

8051的中断向量表如下:中断源 中断向量 上电复位 0000H 外部中断0 0003H 定时器0 溢出 000BH 外部中断1 0013H 定时器1 溢出 001BH 串行口中断 0023H 定时器2 溢出 002BH51单片机定时器中断号 [复制链接]admin849 主题 987 帖子 3106 积分 管理员 积分 3106 • 发消息 电梯直达楼主发表于 2013-11-10 23:37:34 | 只看该作者| | 有用的中断号知识void 表示函数类型interrupt 0 ←这里的0表示中断源编号using 1 ←这里的1表示选用的寄存器组别在MCS-51单片机中,单片机类型不同,中断源个数也有差别.例如8051有5个中断源,8052有6个中断源.现以8051为例中断源 中断服务入口地址 中断标志外部中断INT0 0003H IE0定时器T0 000BH TF0外部中断INT1 0013H IE1串行口TI/RI 00023H TI/RI中断优先级别从上到下依次降低interrupt 表示中断优先级,using表示所用工作寄存器组。

bios中断列表

bios中断列表

;┌─────────────────────────────────┐;│BIOS 呼叫INT 10H,AH=00H │;│设定屏幕影相模式│;│? (AL) <= 模式码(正常为03h) │;│模式码: 分辨率颜色数目页数地址│;│文00H: 40*25 16 色8 页B8000H~B87CFH │;│字01H: 80*25 16 色8 页B8000H~B87CFH │;│模02H: 80*25 16 色8 页B8000H~B8F9FH │;│式03H: 80*25 16 色8 页B8000H~B8F9FH │;│07H: 80*25 2 色8 页B8000H~B8F9FH │;│分辨率颜色数目页数地址│;│绘04H: 320*200 4 色1 页B8000H~BBF3FH │;│图05H: 320*200 4 色1 页B8000H~BBF3FH │;│模06H: 640*200 2 色1 页B8000H~BBF3FH │;│式0DH: 320*200 16 色8 页A0000H~A1F3FH │;│0EH: 640*200 16 色4 页A0000H~A3E7FH │;│0FH: 640*350 2 色2 页A0000H~A6D5FH │;│10H: 640*350 16 色2 页A0000H~A6D5FH │;│11H: 640*480 2 色1 页A0000H~A95FFH │;│12H: 640*480 16 色1 页A0000H~A95FFH │;│13H: 320*200 256 色1 页A0000H~AF9FFH │;└─────────────────────────────────┘;┌─────────────────────────────────┐;│BIOS 呼叫INT 10H,AH=01H │;│设定光标形状┌──┐│;│? (CH) <= 游标的启始线(0~15) ││<---- 启始线│;│? (CL) <= 游标的终止线(0~15) │││;│注:正常: CH=0DH,CL=0EH ││<---- 终止线│;│消失: CH=0FFH,CL=0FFH └──┘│;└─────────────────────────────────┘;┌─────────────────────────────────┐;│BIOS 呼叫INT 10H,AH=02H │;│设定光标位置│;│? (DH) <= 游标的列数(0~24) │;│? (DL) <= 游标的行数(0~79) │;│? (BH) <= 页码│;└─────────────────────────────────┘;┌─────────────────────────────────┐;│BIOS 呼叫INT 10H,AH=03H │;│取得光标位置│;│? (BH) <= 页码┌──┐│;│游标的列数=> (DH) ││<---- 启始线│;│游标的行数=> (DL) │││;│游标的启始线=> (CH) ││<---- 终止线│;│游标的终止线=> (CL) └──┘│;│注:正常: CH=0DH,CL=0EH │;│消失: CH=0FFH,CL=0FFH │;└─────────────────────────────────┘;┌─────────────────────────────────┐;│BIOS 呼叫INT 10H,AH=05H │;│画面页区的号择│;│? (AL) <= 页码│;└─────────────────────────────────┘;┌─────────────────────────────────┐;│INT 10h,AH=06H │;│把指定的窗口范围上卷│;│? (AL) <= 卷动的列数,若为0 则清除屏幕│;│? (BH) <= 卷动后空出位置放入的属性│;│? (CH) <= 卷动范围的左上坐标列│;│? (CL) <= 卷动范围的左上坐标行│;│? (DH) <= 卷动范围的右下坐标列│;│? (DL) <= 卷动范围的右下坐标行│;│┌─┬─┬─┬─┬─┬─┬─┬─┐│;│颜色属性: bh =│b7│b6│b5│b4│b3│b2│b1│b0││;│└─┴─┴─┴─┴─┴─┴─┴─┘│;│bit0~2 :字体颜色(0:黑,1:蓝,2:绿,3:青,4:红,5:紫,6:综,7:白) │;│bit3 :字体亮度(0:字体正常,1:字体高亮度) │;│bit4~6 :背景颜色(0:黑,1:蓝,2:绿,3:青,4:红,5:紫,6:综,7:白) │;│bit7 :字体闪烁(0:不闪烁,1:字体闪烁) │;└─────────────────────────────────┘;┌─────────────────────────────────┐;│INT 10h,AH=07H │;│把指定的窗口范围下卷│;│? (AL) <= 卷动的列数,若为0 则清除屏幕│;│? (BH) <= 卷动后空出位置放入的属性│;│? (CH) <= 卷动范围的左上坐标列│;│? (CL) <= 卷动范围的左上坐标行│;│? (DH) <= 卷动范围的右下坐标列│;│? (DL) <= 卷动范围的右下坐标行│;│┌─┬─┬─┬─┬─┬─┬─┬─┐│;│颜色属性: bh =│b7│b6│b5│b4│b3│b2│b1│b0││;│└─┴─┴─┴─┴─┴─┴─┴─┘│;│bit0~2 :字体颜色(0:黑,1:蓝,2:绿,3:青,4:红,5:紫,6:综,7:白) │;│bit3 :字体亮度(0:字体正常,1:字体高亮度) │;│bit4~6 :背景颜色(0:黑,1:蓝,2:绿,3:青,4:红,5:紫,6:综,7:白) │;│bit7 :字体闪烁(0:不闪烁,1:字体闪烁) │;└─────────────────────────────────┘;┌─────────────────────────────────┐;│BIOS 呼叫INT 10H,AH=08H │;│读取光标所在位置的字符及属性│;│? (BH) <= 页码│;│字符ascii => (AL) │;│字符的属性=> (AH) │;│┌─┬─┬─┬─┬─┬─┬─┬─┐│;│颜色属性: ah =│b7│b6│b5│b4│b3│b2│b1│b0││;│└─┴─┴─┴─┴─┴─┴─┴─┘│;│bit0~2 :字体颜色(0:黑,1:蓝,2:绿,3:青,4:红,5:紫,6:综,7:白) │;│bit3 :字体亮度(0:字体正常,1:字体高亮度) │;│bit4~6 :背景颜色(0:黑,1:蓝,2:绿,3:青,4:红,5:紫,6:综,7:白) │;│bit7 :字体闪烁(0:不闪烁,1:字体闪烁) │;└─────────────────────────────────┘;┌─────────────────────────────────┐;│BIOS 呼叫INT 10H,AH=09H │;│写入字符及属性在光标所在位置,光标不动(绘图模式亦能使用) │;│? (AL) <= 欲写入的字符ascii │;│? (BL) <= 欲写入之字符的属性│;│? (CX word) <= 欲显示的次数│;│? (BH) <= 页码│;│┌─┬─┬─┬─┬─┬─┬─┬─┐│;│颜色属性: bl =│b7│b6│b5│b4│b3│b2│b1│b0││;│└─┴─┴─┴─┴─┴─┴─┴─┘│;│bit0~2 :字体颜色(0:黑,1:蓝,2:绿,3:青,4:红,5:紫,6:综,7:白) │;│bit3 :字体亮度(0:字体正常,1:字体高亮度) │;│bit4~6 :背景颜色(0:黑,1:蓝,2:绿,3:青,4:红,5:紫,6:综,7:白) │;│bit7 :字体闪烁(0:不闪烁,1:字体闪烁) │;└─────────────────────────────────┘;┌─────────────────────────────────┐;│BIOS 呼叫INT 10H,AH=0AH │;│写入字符在光标所在位置,光标不动,属性不变(绘图模式亦能使用) │;│? (AL) <= 欲写入的字符ascii │;│? (CX word) <= 欲显示的次数│;│? (BH) <= 页码│;│? (BL) <= 前景颜色(绘图模式时) │;└─────────────────────────────────┘;┌─────────────────────────────────┐;│BIOS 呼叫INT 10H,AH=0BH │;│设定文本模式(0~3)的边框颜色或绘图模式(4、5)的背景颜色│;│? (BL) <= 颜色属性│;│(1)文本模式(0~3):边框颜色,只用到低4bit,共16色│;│(2)绘图模式(4、5、6):背景颜色,只用到低4bit,共16色│;│bit0~2 :颜色(0:黑,1:蓝,2:绿,3:青,4:红,5:紫,6:综,7:白)│;│bit3 :为亮度(1:高亮度,0:正常) │;└─────────────────────────────────┘;┌─────────────────────────────────┐;│BIOS 呼叫INT 10H,AH=0BH │;│设定绘图模式(4、5)的调色盘│;│? (BL) <= 调色盘(以0 bit 决定) │;│bit0 = 0 (黑、绿、红、黄) │;│= 1 (黑、青、紫、白) │;└─────────────────────────────────┘;┌─────────────────────────────────┐;│BIOS 呼叫INT 10H,AH=0CH │;│在绘图模式下画一点│;│? (AL) <= 像点的颜色值│;│? (CX word) <= 坐标X 轴│;│? (DX word) <= 坐标Y 轴│;│? (BH) <= 页码│;└─────────────────────────────────┘;┌─────────────────────────────────┐;│BIOS 呼叫INT 10H,AH=0DH │;│在绘图模式下读点像值│;│? (CX word) <= 坐标X 轴│;│? (DX word) <= 坐标Y 轴│;│像点的颜色值=> (AL) │;└─────────────────────────────────┘;┌─────────────────────────────────┐;│BIOS 呼叫INT 10H,AH=0EH │;│在文本模式或绘图模式下显示一字符,光标则右移一格│;│? (AL) <= 字符ascii │;│? (BH) <= 页码│;│? (BL) <= 前景颜色码(绘图模式时) │;│注:所谓TTY 就是类似打字机输出方式,每显示一字符,光标则右移一格,│;│当移到最后一行时,光标则至跳下一列的最左边开始,当移到最后一列│;│时,屏幕则上卷一列│;└─────────────────────────────────┘;┌─────────────────────────────────┐;│BIOS 呼叫INT 10H,AH=0FH │;│取得屏幕影相模式│;│每行字数=> (AH) │;│模式号码=> (AL) │;│使用页码=> (BH) │;│模式码: 分辨率颜色数目页数地址│;│文00H: 40*25 16 色8 页B8000H~B87CFH │;│字01H: 80*25 16 色8 页B8000H~B87CFH │;│模02H: 80*25 16 色8 页B8000H~B8F9FH │;│式03H: 80*25 16 色8 页B8000H~B8F9FH │;│07H: 80*25 2 色8 页B8000H~B8F9FH │;│分辨率颜色数目页数地址│;│绘04H: 320*200 4 色1 页B8000H~BBF3FH │;│图05H: 320*200 4 色1 页B8000H~BBF3FH │;│模06H: 640*200 2 色1 页B8000H~BBF3FH │;│式0DH: 320*200 16 色8 页A0000H~A1F3FH │;│0EH: 640*200 16 色4 页A0000H~A3E7FH │;│0FH: 640*350 2 色2 页A0000H~A6D5FH │;│10H: 640*350 16 色2 页A0000H~A6D5FH │;│11H: 640*480 2 色1 页A0000H~A95FFH │;│12H: 640*480 16 色1 页A0000H~A95FFH │;│13H: 320*200 256 色1 页A0000H~AF9FFH │;└─────────────────────────────────┘;┌─────────────────────────────────┐;│BIOS 呼叫INT 10H,AX=1130H │;│读取VGA BIOS 中有关字形的信息│;│? (BH) <= 所要取的地址模式│;│取出的地址=> (ES:BP) │;│目前字形的高度=> (CX) │;│目前字形下屏幕列数-1 => (DL) │;│地址模式:00H:中断1FH 的地址│;│01H:中断43H 的地址│;│02H:8*14 字形表的地址│;│03H:8*8 字形表的地址│;│04H:8*8 ascii 值大于127 的字形表地址│;│05H:9*14 字形表的地址│;│06H:8*16 字形表的地址│;│07H:9*16 字形表的地址│;│注:中断向量1fh 的值亦是指向ascii 值大于127 的字形表地址│;│中断向量43h 的值则是指向目前屏幕模式所使用的字形表地址│;└─────────────────────────────────┘;┌─────────────────────────────────┐;│BIOS 呼叫INT 10H,AH=13H │;│显示一列字符串│;│? (AL) <= 写入模式│;│? (BL) <= 字符之属性│;│? (CX word) <= 字符串的长度│;│? (DH) <= 游标的坐标列数│;│? (DL) <= 游标的坐标行数│;│? (ES:BP) <= 存字符串内容的内存变量│;│? (BH) <= 页码│;│写入AL=00H:字符串的属性由BL 决定,所以CX 所指的长度以byte 为单位│;│模式AL=01H:同AL=00H,但光标会移到字符串尾端,未显示字符的位置│;│AL=02H:字符串属性由每字符的后面一个byte指定,故CX 单位为word │;│AL=03H:同AL=02H,但光标会移到字符串尾端,未显示字符的位置│;│┌─┬─┬─┬─┬─┬─┬─┬─┐│;│颜色属性: bl =│b7│b6│b5│b4│b3│b2│b1│b0││;│└─┴─┴─┴─┴─┴─┴─┴─┘│;│bit0~2 :字体颜色(0:黑,1:蓝,2:绿,3:青,4:红,5:紫,6:综,7:白) │;│bit3 :字体亮度(0:字体正常,1:字体高亮度) │;│bit4~6 :背景颜色(0:黑,1:蓝,2:绿,3:青,4:红,5:紫,6:综,7:白) │;│bit7 :字体闪烁(0:不闪烁,1:字体闪烁) │;└─────────────────────────────────┘;┌─────────────────────────────────┐;│BIOS 呼叫INT 10H,AH=80H │;│倚天中文的控制│;│? (AL) <= 句柄,限输入数值,如下│;│控51H:释放中文30H:内码输入法74H:透通模式切换│;│制71H:释放中文31H:仓颉输入法4CH:条列模式(L) │;│码41H:切换为英文模式32H:简易输入法6CH:条列模式切换│;│61H:中英文模式切换33H:注音输入法48H:显示内码(H) │;│6EH:切换为中文模式34H:三角输入法68H:显示内码切换│;│43H:切换为中文输入35H:简捷输入法47H:图形卷动(G) │;│63H:中英文输入切换37H:行列输入法67H:图形卷动切换│;│46H:全角输入39H:电信输入法4DH:隐藏状态栏│;│66H:全角、半角切换54H:透通模式(T) 6DH:状态栏切换│;└─────────────────────────────────┘;┌─────────────────────────────────┐;│BIOS 呼叫INT 10H,AH=91H │;│检查是否有加载倚天中文│;│加载状态=> (AH != 91H 表有载入,AH = 91H 表未载入) │;│目前模式=> (DH),(bit7=0 表中文模式,bit7=1 表英文模式) │;└─────────────────────────────────┘;┌─────────────────────────────────┐;│BIOS 呼叫INT 13H,AH=00H │;│重设磁盘驱动器,准备下一次I/O │;│? (DL) <= 驱动器号(A:00H,B:01H,C:80H,D:81H) │;│成功=> (C=0),(失败C=1,示误码如下) │;│AH=00H:成功AH=80H:floppy disk drive 未备妥│;│AH=05H:硬盘重置错误AH=AAH:hard disk drive 未备妥│;│AH=20H:磁盘控制器失误AH=BBH:所指定的磁盘驱动器找不到│;└─────────────────────────────────┘;┌─────────────────────────────────┐;│BIOS 呼叫INT 13H,AH=01H │;│读取磁盘驱动器状态│;│? (DL) <= 驱动器号(A:00H,B:01H,C:80H,D:81H) │;│成功=> (C=0),(失败C=1,示误码如下) │;│AH=00H:成功AH=0AH:硬盘的扇区损坏│;│AH=01H:不合法的磁盘驱动器命令AH=0BH:硬盘的磁道损坏│;│AH=02H:扇区损坏或地址栏有误AH=0CH:存取不存在的磁道│;│AH=03H:写保护贴纸未撕AH=10H:CRC/ECC错误│;│AH=04H:找不到指定的扇区AH=11H:数据读取错误,使用ECC校正│;│AH=05H:硬盘重置错误AH=20H:磁盘控制器失误│;│AH=06H:不是原来的磁盘AH=40H:寻找磁道错误│;│AH=07H:硬盘参数错误AH=80H:floppy disk drive 未备妥│;│AH=08HMA 忙碌中AH=AAH:hard disk drive 未备妥│;│AH=09HMA搬动记忆区越过64K AH=BBH:所指定的磁盘驱动器找不到│;│注:CRC为循环重复检查检,用来侦测磁盘上数据是否有误│;│ECC为错误校正码,是用来侦测并校正磁盘上的数据是否有误,ECC具有│;│自动更正错误功能,而且只有硬盘才有ECC │;└─────────────────────────────────┘;┌─────────────────────────────────┐;│BIOS 呼叫INT 13H,AH=02H │;│读取扇区数据│;│? (DL) <= 驱动器号(A:00H,B:01H,C:80H,D:81H) │;│? (AL) <= 欲读取的扇区数│;│? (CH) <= 磁道号码,从0 开始,高2 bit 可存于cl 的b6、b7 │;│? (CL) <= 起始扇区编号,从1 开始│;│? (DH) <= 磁头号码,从0 开始│;│? (ES:BX) <= 欲储存数据的缓冲区内存变量│;│成功=> (C=0),(AL=真正读到的扇区数) │;│AH=00H:成功AH=0AH:硬盘的扇区损坏│;│AH=01H:不合法的磁盘驱动器命令AH=0BH:硬盘的磁道损坏│;│AH=02H:扇区损坏或地址栏有误AH=0CH:存取不存在的磁道│;│AH=03H:写保护贴纸未撕AH=10H:CRC/ECC错误│;│AH=04H:找不到指定的扇区AH=11H:数据读取错误,使用ECC校正│;│AH=05H:硬盘重置错误AH=20H:磁盘控制器失误│;│AH=06H:不是原来的磁盘AH=40H:寻找磁道错误│;│AH=07H:硬盘参数错误AH=80H:floppy disk drive 未备妥│;│AH=08H 忙碌中AH=AAH:hard disk drive 未备妥│;│AH=09H 搬动记忆区越过64K AH=BBH:所指定的磁盘驱动器找不到│;│注:CRC为循环重复检查检,用来侦测磁盘上数据是否有误│;│ECC为错误校正码,是用来侦测并校正磁盘上的数据是否有误,ECC具有│;│自动更正错误功能,而且只有硬盘才有ECC │;└─────────────────────────────────┘;┌─────────────────────────────────┐;│BIOS 呼叫INT 13H,AH=03H │;│写数据到扇区内│;│? (DL) <= 驱动器号(A:00H,B:01H,C:80H,D:81H) │;│? (AL) <= 欲写入的扇区数│;│? (CH) <= 磁道号码,从0 开始,高2 bit 可存于cl 的b6、b7 │;│? (CL) <= 起始扇区编号,从1 开始│;│? (DH) <= 磁头号码,从0 开始│;│? (ES:BX) <= 已储存数据的缓冲区内存变量│;│成功=> (C=0),(AL=真正写入的扇区数) │;│AH=00H:成功AH=0AH:硬盘的扇区损坏│;│AH=01H:不合法的磁盘驱动器命令AH=0BH:硬盘的磁道损坏│;│AH=02H:扇区损坏或地址栏有误AH=0CH:存取不存在的磁道│;│AH=03H:写保护贴纸未撕AH=10H:CRC/ECC错误│;│AH=04H:找不到指定的扇区AH=11H:数据读取错误,使用ECC校正│;│AH=05H:硬盘重置错误AH=20H:磁盘控制器失误│;│AH=06H:不是原来的磁盘AH=40H:寻找磁道错误│;│AH=07H:硬盘参数错误AH=80H:floppy disk drive 未备妥│;│AH=08H 忙碌中AH=AAH:hard disk drive 未备妥│;│AH=09H 搬动记忆区越过64K AH=BBH:所指定的磁盘驱动器找不到│;│注:CRC为循环重复检查检,用来侦测磁盘上数据是否有误│;│ECC为错误校正码,是用来侦测并校正磁盘上的数据是否有误,ECC具有│;│自动更正错误功能,而且只有硬盘才有ECC │;└─────────────────────────────────┘;┌─────────────────────────────────┐;│BIOS 呼叫INT 13H,AH=04H │;│检查扇区结构是否完好│;│? (DL) <= 驱动器号(A:00H,B:01H,C:80H,D:81H) │;│? (AL) <= 欲检查的扇区数│;│? (CH) <= 磁道号码,从0 开始,高2 bit 可存于cl 的b6、b7 │;│? (CL) <= 起始扇区编号,从1 开始│;│? (DH) <= 磁头号码,从0 开始│;│成功=> (C=0),(失败C=1,示误码如下) │;│AH=00H:成功AH=0AH:硬盘的扇区损坏│;│AH=01H:不合法的磁盘驱动器命令AH=0BH:硬盘的磁道损坏│;│AH=02H:扇区损坏或地址栏有误AH=0CH:存取不存在的磁道│;│AH=03H:写保护贴纸未撕AH=10H:CRC/ECC错误│;│AH=04H:找不到指定的扇区AH=11H:数据读取错误,使用ECC校正│;│AH=05H:硬盘重置错误AH=20H:磁盘控制器失误│;│AH=06H:不是原来的磁盘AH=40H:寻找磁道错误│;│AH=07H:硬盘参数错误AH=80H:floppy disk drive 未备妥│;│AH=08HMA 忙碌中AH=AAH:hard disk drive 未备妥│;│AH=09HMA搬动记忆区越过64K AH=BBH:所指定的磁盘驱动器找不到│;│注:CRC为循环重复检查检,用来侦测磁盘上数据是否有误│;│ECC为错误校正码,是用来侦测并校正磁盘上的数据是否有误,ECC具有│;│自动更正错误功能,而且只有硬盘才有ECC │;└─────────────────────────────────┘;┌─────────────────────────────────┐;│BIOS 呼叫INT 13H,AH=05H │;│将指定的扇区格式化,以轨为单位│;│? (DL) <= 驱动器号(A:00H,B:01H,C:80H,D:81H) │;│? (CH) <= 磁道号码,从0 开始,高2 bit 可存于cl 的b6、b7 │;│? (DH) <= 磁头号码,从0 开始│;│? (ES:BX) <= 指向扇区参数表的内存变量,共四byte,即CHRN │;│扇区参数表:C:磁柱编号(cylinder) R:扇区编号(Record) │;│H:磁头编号(head) N:每扇区的byte数(0:128,1:256 │;│2:512,3:1024) │;│成功=> (C=0),(失败C=1,示误码如下) │;│AH=00H:成功AH=0AH:硬盘的扇区损坏│;│AH=01H:不合法的磁盘驱动器命令AH=0BH:硬盘的磁道损坏│;│AH=02H:扇区损坏或地址栏有误AH=0CH:存取不存在的磁道│;│AH=03H:写保护贴纸未撕AH=10H:CRC/ECC错误│;│AH=04H:找不到指定的扇区AH=11H:数据读取错误,使用ECC校正│;│AH=05H:硬盘重置错误AH=20H:磁盘控制器失误│;│AH=06H:不是原来的磁盘AH=40H:寻找磁道错误│;│AH=07H:硬盘参数错误AH=80H:floppy disk drive 未备妥│;│AH=08HMA 忙碌中AH=AAH:hard disk drive 未备妥│;│AH=09HMA搬动记忆区越过64K AH=BBH:所指定的磁盘驱动器找不到│;│注:CRC为循环重复检查检,用来侦测磁盘上数据是否有误│;│ECC为错误校正码,是用来侦测并校正磁盘上的数据是否有误,ECC具有│;│自动更正错误功能,而且只有硬盘才有ECC │;└─────────────────────────────────┘;┌─────────────────────────────────┐;│BIOS 呼叫INT 13H,AH=06H │;│将指定的磁道格式化,并设定损坏磁盘│;│? (DL) <= 驱动器号(A:00H,B:01H,C:80H,D:81H) │;│? (CH) <= 磁道号码,从0 开始,高2 bit 可存于cl 的b6、b7 │;│? (CL) <= 起始扇区编号,从1 开始│;│? (DH) <= 磁头号码,从0 开始│;│成功=> (C=0),(失败C=1,示误码如下) │;│AH=00H:成功AH=0AH:硬盘的扇区损坏│;│AH=01H:不合法的磁盘驱动器命令AH=0BH:硬盘的磁道损坏│;│AH=02H:扇区损坏或地址栏有误AH=0CH:存取不存在的磁道│;│AH=03H:写保护贴纸未撕AH=10H:CRC/ECC错误│;│AH=04H:找不到指定的扇区AH=11H:数据读取错误,使用ECC校正│;│AH=05H:硬盘重置错误AH=20H:磁盘控制器失误│;│AH=06H:不是原来的磁盘AH=40H:寻找磁道错误│;│AH=07H:硬盘参数错误AH=80H:floppy disk drive 未备妥│;│AH=08HMA 忙碌中AH=AAH:hard disk drive 未备妥│;│AH=09HMA搬动记忆区越过64K AH=BBH:所指定的磁盘驱动器找不到│;│注:CRC为循环重复检查检,用来侦测磁盘上数据是否有误│;│ECC为错误校正码,是用来侦测并校正磁盘上的数据是否有误,ECC具有│;│自动更正错误功能,而且只有硬盘才有ECC │;└─────────────────────────────────┘;┌─────────────────────────────────┐;│BIOS 呼叫INT 13H,AH=07H │;│从指定的磁道位置,格式化磁盘│;│? (DL) <= 驱动器号(A:00H,B:01H,C:80H,D:81H) │;│? (CH) <= 磁道号码,从0 开始,高2 bit 可存于cl 的b6、b7 │;│? (CL) <= 起始扇区编号,从1 开始│;│? (DH) <= 磁头号码,从0 开始│;│成功=> (C=0),(失败C=1,示误码如下) │;│AH=00H:成功AH=0AH:硬盘的扇区损坏│;│AH=01H:不合法的磁盘驱动器命令AH=0BH:硬盘的磁道损坏│;│AH=02H:扇区损坏或地址栏有误AH=0CH:存取不存在的磁道│;│AH=03H:写保护贴纸未撕AH=10H:CRC/ECC错误│;│AH=04H:找不到指定的扇区AH=11H:数据读取错误,使用ECC校正│;│AH=05H:硬盘重置错误AH=20H:磁盘控制器失误│;│AH=06H:不是原来的磁盘AH=40H:寻找磁道错误│;│AH=07H:硬盘参数错误AH=80H:floppy disk drive 未备妥│;│AH=08HMA 忙碌中AH=AAH:hard disk drive 未备妥│;│AH=09HMA搬动记忆区越过64K AH=BBH:所指定的磁盘驱动器找不到│;│注:CRC为循环重复检查检,用来侦测磁盘上数据是否有误│;│ECC为错误校正码,是用来侦测并校正磁盘上的数据是否有误,ECC具有│;│自动更正错误功能,而且只有硬盘才有ECC │;└─────────────────────────────────┘;┌─────────────────────────────────┐;│BIOS 呼叫INT 13H,AH=08H │;│取得磁盘驱动器的磁道参数│;│? (DL) <= 驱动器号(A:00H,B:01H,C:80H,D:81H) │;│磁面的磁道数减1 => (CH) 及(CL 的bit6、bit7) │;│磁道的扇区数=> (CL 的bit0 ~ bit5) │;│磁面数减1 => (DH) │;│磁盘驱动器数量=> (DL) │;└─────────────────────────────────┘;┌─────────────────────────────────┐;│BIOS 呼叫INT 13H,AH=17H │;│设定磁盘驱动器型式│;│? (DL) <= 驱动器号(A:00H,B:01H) │;│? (AL) <= 磁盘驱动器型式│;│磁盘驱动器型式:AL=01H:使用360K 磁盘驱动器,工作360K 的磁盘│;│AL=02H:使用1.2M 磁盘驱动器,工作360K 的磁盘│;│AL=03H:使用1.2M 磁盘驱动器,工作1.2M 的磁盘│;│AL=04H:使用720K 磁盘驱动器,工作720K 的磁盘│;│AL=05H:使用1.44M 磁盘驱动器,工作1.44M 的磁盘│;│成功=> (C=0),(失败C=1,示误码如下) │;│AH=00H:成功AH=0AH:硬盘的扇区损坏│;│AH=01H:不合法的磁盘驱动器命令AH=0BH:硬盘的磁道损坏│;│AH=02H:扇区损坏或地址栏有误AH=0CH:存取不存在的磁道│;│AH=03H:写保护贴纸未撕AH=10H:CRC/ECC错误│;│AH=04H:找不到指定的扇区AH=11H:数据读取错误,使用ECC校正│;│AH=05H:硬盘重置错误AH=20H:磁盘控制器失误│;│AH=06H:不是原来的磁盘AH=40H:寻找磁道错误│;│AH=07H:硬盘参数错误AH=80H:floppy disk drive 未备妥│;│AH=08HMA 忙碌中AH=AAH:hard disk drive 未备妥│;│AH=09HMA搬动记忆区越过64K AH=BBH:所指定的磁盘驱动器找不到│;│注:CRC为循环重复检查检,用来侦测磁盘上数据是否有误│;│ECC为错误校正码,是用来侦测并校正磁盘上的数据是否有误,ECC具有│;│自动更正错误功能,而且只有硬盘才有ECC │;└─────────────────────────────────┘;┌─────────────────────────────────┐;│BIOS 呼叫INT 16H,AH=00H │;│由键盘读取按键,即由键盘缓冲区读取按键,会等待│;│按键的ascii 码=> (AL) │;│按键的scan 码=> (AH),(AH bit7=0 表按键中) 46h Scroll │;│01h Esc 19h P 28h ' " 37h Print 47h 7 Home │;│2~Bh 1~9,0 1Ah [ { 29h ` ~ 38h R Ctrl 48h 8 Up │;│0Ch - _ 1Bh ] } 2Ah L Shift 39h Space 49h 9 PgUp │;│0Dh = + 1Ch Enter 2Bh \ | 3Ah Caps 4Ah - │;│0Eh 1Dh Ctrl 2Ch Z 3Bh F1 4Bh 4 Left │;│0Fh Tab 1Eh A 2Dh X 3Ch F2 4Ch 5 │;│10h Q 1Fh S 2Eh C 3Dh F3 4Dh 6 Right │;│11h W 20h D 2Fh V 3Eh F4 4Eh + │;│12h E 21h F 30h B 3Fh F5 4Fh 1 End │;│13h R 22h G 31h N 40h F6 50h 2 Down │;│14h T 23h H 32h M 41h F7 51h 3 PgDn │;│15h Y 24h J 33h , < 42h F8 52h 0 Ins │;│16h U 25h K 34h . > 43h F9 53h . Del │;│17h I 26h L 35h / ? 44h F10 57h F11 │;│18h O 27h : 36h R Shift 45h Num 58h F12 │;└─────────────────────────────────┘;┌─────────────────────────────────┐;│BIOS 呼叫INT 16H,AH=01H │;│检查键盘缓冲区是否有字符可读│;│读取状况=> (Z=0,有字符可读),(Z=1,缓冲区是空的) │;│按键的ascii 码=> (AL) │;│按键的scan 码=> (AH),(AL bit7=0 表按键中) 46h Scroll │;│01h Esc 19h P 28h ' " 37h Print 47h 7 Home │;│2~Bh 1~9,0 1Ah [ { 29h ` ~ 38h R Ctrl 48h 8 Up │;│0Ch - _ 1Bh ] } 2Ah L Shift 39h Space 49h 9 PgUp │;│0Dh = + 1Ch Enter 2Bh \ | 3Ah Caps 4Ah - │;│0Eh 1Dh Ctrl 2Ch Z 3Bh F1 4Bh 4 Left │;│0Fh Tab 1Eh A 2Dh X 3Ch F2 4Ch 5 │;│10h Q 1Fh S 2Eh C 3Dh F3 4Dh 6 Right │;│11h W 20h D 2Fh V 3Eh F4 4Eh + │;│12h E 21h F 30h B 3Fh F5 4Fh 1 End │;│13h R 22h G 31h N 40h F6 50h 2 Down │;│14h T 23h H 32h M 41h F7 51h 3 PgDn │;│15h Y 24h J 33h , < 42h F8 52h 0 Ins │;│16h U 25h K 34h . > 43h F9 53h . Del │;│17h I 26h L 35h / ? 44h F10 57h F11 │;│18h O 27h : 36h R Shift 45h Num 58h F12 │;└─────────────────────────────────┘;┌─────────────────────────────────┐;│BIOS 呼叫INT 16H,AH=02H │;│取得键盘设定状态│;│键盘状态值=> (AL),如下│;│┌─┬─┬─┬─┬─┬─┬─┬─┐│;│al = │b7│b6│b5│b4│b3│b2│b1│b0││;│└─┴─┴─┴─┴─┴─┴─┴─┘│;│insert ─┘││││││└─right shift │;│caps lock ───┘││││└───left shift │;│num lock ─────┘││└─────ctrl │;│scroll lock ───────┘└───────alt │;│bit = 0 表off │;│bit = 1 表on │;└─────────────────────────────────┘;┌─────────────────────────────────┐;│BIOS 呼叫INT 16H,AH=0DAH │;│设定大易输入法的切换摸式,或取得载入状况│;│? (AL) <= 0:退出大易输入模式,1:切换为大易输入模式,2:为内部使用│;│加载状态=> (AL=55AAH 表有加载) │;└─────────────────────────────────┘;┌─────────────────────────────────┐;│BIOS 呼叫INT 17H,AH=00H │;│显示一个字符至打印机│;│? (AL) <= 字符ascii │;│? (DX word) <= 打印机编号│;│打印机状态值=> (AH),如下│;│┌─┬─┬─┬─┬─┬─┬─┬─┐│;│ah = │b7│b6│b5│b4│b3│b2│b1│b0││;│└─┴─┴─┴─┴─┴─┴─┴─┘│;│打印机忙碌? ─┘││││││└─久候不应? │;│取得回应? ───┘││││└───保留│;│纸用尽? ─────┘││└─────保留│;│所选打印机编号───────┘└───────I/O error? │;│(0:LPT1,1:LPT2) bit = 0 表否│;│bit = 1 表是│;└─────────────────────────────────┘;┌─────────────────────────────────┐;│BIOS 呼叫INT 17H,AH=01H │;│打印机初始化│;│? (DX word) <= 打印机编号│;│打印机状态值=> (AH),如下│;│┌─┬─┬─┬─┬─┬─┬─┬─┐│;│ah = │b7│b6│b5│b4│b3│b2│b1│b0││;│└─┴─┴─┴─┴─┴─┴─┴─┘│;│打印机忙碌? ─┘││││││└─久候不应? │;│取得回应? ───┘││││└───保留│;│纸用尽? ─────┘││└─────保留│;│所选打印机编号───────┘└───────I/O error? │;│(0:LPT1,1:LPT2) bit = 0 表否│;│bit = 1 表是│;└─────────────────────────────────┘;┌─────────────────────────────────┐;│BIOS 呼叫INT 17H,AH=02H │;│读取打印机状态│;│? (DX word) <= 打印机编号│;│打印机状态值=> (AH),如下│;│┌─┬─┬─┬─┬─┬─┬─┬─┐│;│ah = │b7│b6│b5│b4│b3│b2│b1│b0││;│└─┴─┴─┴─┴─┴─┴─┴─┘│;│打印机忙碌? ─┘││││││└─久候不应? │;│取得回应? ───┘││││└───保留│;│纸用尽? ─────┘││└─────保留│;│所选打印机编号───────┘└───────I/O error? │;│(0:LPT1,1:LPT2) bit = 0 表否│;│bit = 1 表是│;└─────────────────────────────────┘;┌─────────────────────────────────┐;│BIOS 呼叫INT 1AH,AH=00H │;│取得目前频率计数│;│频率的高word => (CX) │;│频率的低word => (DX) │;│注:将取得的单位除以18.2065 即可换算成秒│;└─────────────────────────────────┘;┌─────────────────────────────────┐;│BIOS 呼叫INT 1AH,AH=01H │;│设定目前频率计数│;│? (CX word) <= 频率高word │;│? (DX word) <= 频率低word │;│注:将计算出的秒数乘以18.2065 即可换算成频率计数单位│;└─────────────────────────────────┘;┌─────────────────────────────────┐;│BIOS 呼叫INT 1AH,AH=02H │;│取得系统时间,以packed BCD 表示│;│时=> (CH) │;│分=> (CL) │;│秒=> (DH) │;└─────────────────────────────────┘;┌─────────────────────────────────┐;│BIOS 呼叫INT 1AH,AH=03H │;│设定系统时间,以packed BCD 表示│;│? (CH) <= 时│;│? (CL) <= 分│;│? (DH) <= 秒│;└─────────────────────────────────┘;┌─────────────────────────────────┐;│BIOS 呼叫INT 1AH,AH=04H │;│取得系统日期,以packed BCD 表示│;│年=> (CX) │;│月=> (DH) │;│日=> (DL) │;└─────────────────────────────────┘;┌─────────────────────────────────┐;│BIOS 呼叫INT 1AH,AH=05H │;│设定系统日期,以packed BCD 表示│;│? (CX word) <= 年│;│? (DH) <= 月│;│? (DL) <= 日│;└─────────────────────────────────┘;┌─────────────────────────────────┐;│BIOS 呼叫INT 1AH,AH=06H │;│设定系统闹钟,以packed BCD 表示│;│? (CH) <= 时│;│? (CL) <= 分│;│? (DH) <= 秒│;│注:闹钟(设定:过了多久后),便会执行(INT 4AH) │;└─────────────────────────────────┘;┌─────────────────────────────────┐;│BIOS 呼叫INT 1AH,AH=07H │;│关掉系统闹钟(disable) │;└─────────────────────────────────┘;┌─────────────────────────────────┐;│BIOS 呼叫INT 1AH,AH=08H │;│取出系统闹钟,以packed BCD 表示│;│时=> (CH) │;│分=> (CL);│秒=> (DH) │;│开关=> (DL),(0:disable,1:enable、power off,2:enable、power on)│;│注:闹钟(设定:过了多久后),便会执行(INT 4AH) │;└─────────────────────────────────┘;┌─────────────────────────────────┐;│BIOS 呼叫INT 1AH,AH=0AH │;│取得日期数量│;│天数=> (CX) │;│注:自1980/01/01,到现在到底经过多少天│;└─────────────────────────────────┘;┌─────────────────────────────────┐;│BIOS 呼叫INT 1AH,AH=0BH │;│设定日期数量│;│? (CX word) <= 天数│;│注:自1980/01/01,到现在到底经过多少天。

dos中断INT+21H大全

dos中断INT+21H大全
出口参数:AL=系统中当前的驱动器号
(3)、功能19H
功能描述:取当前缺省驱动器号
入口参数:AH=19H
出口参数:AL=驱动器号(0=A,1=B,...)
(4)、功能1BH和1CH
功能描述:获得驱动器的分配信息
入口参数:AH=1BH——为缺省驱动器
AH=1CH——为任意驱动器,DL=驱动器号(0=缺省,1=A,...)
入口参数:AH=46H
BX=文件或设备的句柄
CX=待重定向的文件句柄
出口参数:CF=0——重定向成功,否则,AX=错误号(04H或06H),其含义见错误代码表
(8)、功能4EH
功能描述:获取第一个与给定的文件名相匹配的文件
入口参数:AH=4EH
DS:DX=给定文件名的字符串
CX=搜索时使用的文件属性: 位0=1——只读 位1=1——隐含
2、目录控制功能(Directory-Control Function)**************************************************************
39H —创建目录
3AH —删除目录
3BH —设置当前目录
47H —读取当前目录
(1)、功能39H
2EH —设置校验标志36H —读取驱动器分配信息54H —读取校验标志
(1)、功能0DH
功能描述:清空当前的文件缓冲区,但在MS-DOS内,暂时写入缓冲区的数据将写入磁盘
入口参数:AH=0DH
出口参数:无
(2)、功能0EH
功能描述:指定当前驱动器
入口参数:AH=0EH
DL=驱动器号(0=A,1=B,...)

中断向量表

中断向量表
西华大学电气信息学院 郑海春
3. 中断是开放的
在CPU内部有一个中断允许触发器(也即IF)。只有 当其为“1”时,CPU才能响应中断;若其为“0”,即 使INTR线上有中断请求,CPU也不响应。而这个触发 器的状态可由STI和CLI指令来改变。当CPU复位时, 中断允许触发器为“ 0”,即关中断,所以必须要用 STI 指令来开中断。当中断响应后,CPU 就自动关中 断,所以必须在中断服务程序中用STI指令来开中断。
西华大学电气信息学院 郑海春
中断向量表
西华大学电气信息学院 郑海春
• 中断向量:指示中断服务程序的入口地址,包括: 偏移地址IP 、段地址CS。
• 每个中断向量的低字是偏移地址、高字是段地址, 需占用4个字节(低对低,高对高)。
• 8086 微处理器从物理地址00000H开始到003FFH (1KB),依次安排各个中断向量,向量号从0到 255。 • 中断向量表: 256个中断向量所占用的1KB区域。 • 中断向量的存放首址=N×4
西华大学电气信息学院 郑海春
2.实现优先权排队
在系统中通常有多个中断源,会出现两个或更 多个中断源同时提出中断请求的情况,这样就 必须要设计者事先根据轻重缓急,给每个中断 源确定一个中断级别——优先权。当多个中断 源同时发出中断申请时,CPU能找到优先权级 别最高的中断源,响应它的中断请求;在优先 权级别最高的中断源处理完了以后,再响应级 别较低的中断源。
7.1.3 中断系统的功能
1.实现中断及返回 当某一中断源发出中断申请时,若允许响应这个中断 请求,CPU必须在现行的指令执行完后,把断点处的IP 和CS值(即下一条应执行的指令的地址)、各个寄存 器的内容和标志位的状态推入堆栈保留下来——称为 保护断点和现场。然后转到需要处理的中断源的服务 程序的入口,同时清除中断请求触发器。当中断处理 完后,再恢复被保留下来的各个寄存器和标志位的状 态(称为恢复现场),恢复IP和CS值(称为恢复断 点),CPU返回断点,继续执行主程序。

DSP系统配置和中断_图文(精)

DSP系统配置和中断_图文(精)

第2章系统配置和中断介绍系统的配置寄存器和有关中断,并介绍用于增加中断请求容量的外设中断扩展(PIE寄存器。

2.1 系统配置概述系统配置和中断操作的内容包括:系统配置寄存器、中断优先级和中断向量表、外设中断扩展控制器(PIE、中断向量、中断响应的流程、中断响应的时间、CPU中断寄存器、外设中断寄存器、复位、无效地址检测、外部中断控制寄存器。

LF2407大部分的I/O口是多路复用的,复位时会被上拉为数字输入的模式。

2.2 系统配置寄存器对功能模块进行配置。

2.2.1 系统控制和状态寄存器(1)系统控制和状态寄存器-SCSR1,映射到数据存储器空间7018h 。

位15:保留位14:CLKSRC,CLKOUT引脚输出源选择0-CLKOUT引脚输出CPU时钟;1-CLKOUT引脚输出WDCLK时钟位13-12:LPM低功耗模式选择,指明在执行IDLE 指令后进入哪一种低功耗模式。

00-进入IDLE1(LPM0)模式;01-进入IDLE2(LPM1)模式;1x -进入HALT (LPM2)模式。

位11-9:PLL时钟预定标选择,对输入时钟选择倍频系数。

000-4;001-2;010-1.33;011-1;100-0.8;101-0.66;110-0.57;111-0.5位8:保留位7:ADC CLKEN,ADC模块时钟使能控制位位6:SCICLKEN, SCI模块时钟使能控制位位5:SPICLKEN, SPI模块时钟使能控制位位4:CANCLKEN, CAN模块时钟使能控制位位3:EVBCLKEN, EVB模块时钟使能控制位位2:EVACLKEN, EVA模块时钟使能控制位0:禁止模块时钟(节能);1:使能模块时钟,且运行位1:保留位0:ILLADR, 无效地址检测位当检测到一个无效地址时,该位被置1,该位需软件清除,写0即可。

初始化时该位写0。

注意:任何无效的地址会导致NMI事件发生。

(2)系统控制和状态寄存器2-SCSR2映射到数据存储器空间7019h 。

实验九 FIQ 中断

实验九   FIQ  中断

2009061324 韦兴魁实验九FIQ 中断【实验目的】1. 熟悉FIQ 的中断向量和中断源;2. 掌握中断控制单元P_INT_Ctrl,P_INT_Clear 的设置方法;3. 掌握FIQ 中断的编程方法。

【实验设备】1.装有Windows 系统和µ’nSP™IDE 集成开发环境的PC 机一台,µ’nSP™十六位单片机实验箱一个。

2. 本实验用到的实验箱硬件模块为:SPCE061A 核心及周边电路模块(包含32 个I/O 口),发光二极管电路模块。

【实验要求】1. 编程要求:编写一个汇编语言程序。

2. 实现功能:打开并设置TimerA 和TimerB 定时器,并打开它们的FIQ 中断,当有TimerA/B 的FIQ中断请求时,响应相应的中断服务程序,在中断服务中翻转I/O 端口输出电平,以控制接在I/O 端口的发光二极管的亮灭。

3. 实验现象:TimerA 定时长度为2s,当进入TimerA 的FIQ 中断后,翻转IOA 口低四位的输出电平以控制接在IOA 低四位端口的发光二极管;TimerB 定时长度为1s,当进入TimerB 的FIQ中断后,翻转IOB 口低四位的输出电平以控制接在IOB 低四位端口的发光二极管。

程序运行时,可以观察到接在IOA 低四位端口的发光二极管亮灭的周期为4s,而接在IOB 低四位端口的为2s。

【实验原理】1.FIQ 中断SPCE061A 单片机的中断系统有三种类型的中断:软件中断、异常中断和事件中断。

其中事件中断有14 个中断源,可采用两种方式:快速中断请求(FIQ 中断)和中断请求(IRQ 中断)。

在后面的几个实验主要针对事件中断进行练习。

FIQ 中断对应Fosc/1024、TMA、TMB 三个中断源,通过写P_INT_Ctrl 来允许中断,并通过INT FIQ 或者FIQ ON 开总中断,INT FIQ 与FIQ ON 不同的是:INT FIQ 的功能是允许FIQ 中断,关闭IRQ 中断;FIQ ON 的功能是允许FIQ 中断。

微机原理与接口技术课件 7.中断向量表(已看)

微机原理与接口技术课件 7.中断向量表(已看)

8259A的工作过程

8259A对中断请求的处理过程如下:

当某IRi有效时,IRR相应位置1 若有效的IRi未被屏蔽,则向CPU发出中断请求INT 检测到第1个INTA信号后,置ISRi=1,IRRi=0 检测到第2个INTA信号后,把ISRi=1中最高优先级 的中断类型码 n 放到DB上
19
可编程中断控制器8259A

PIC,Programmable Interrupt



可对8个中断源实现优先级控制 (单个管8个) 可扩展至对64个中断源实现优 先级控制(9个管64个) 可编程设置不同工作方式(多套 管理方案) 根据中断源向x86提供不同中断 类型码n(来访者1人1号) 引脚分配及功能见右图
的中断;

内部中断:由处理器电路或中断指令产生的中断,
如除0中断,int指令等。
4
8086的中断向量表




存放各类中断的中断服务程序的入口地址CS:IP(段 CS和偏移IP)——中断向量 表的地址位于内存的00000H~003FFH,大小为 1KB,共256个中断向量(中断向量表) 每个中断向量占用4 Bytes,低字为段内偏移IP,高 字为段基址CS 根据中断类型号n获得中断服务程序入口的方法: 中 断向量在IVT中的存放地址=4×n (中断向量地址)
中断指令 INT n
(n=0~255)
软件 硬件
外部/硬件中断请求
2
NMI
非屏蔽中断请求
可 屏 蔽
中 断 请 求
11
DB
3 中断逻辑
n 中断控 制器 8259A PIC
0
1
单步中断
内部排队 中断开关

中断向量表

中断向量表

中断向量表1、8088/8086中断向量表的作用是什么?【答】中断向量是中断服务程序的入口地址。

将所有中断向量集中放在一起,形成中断向量表。

8086系统有256个类型的中断源。

每个类型对应一个中断向量,一个中断向量由四个字节组成:2个高地址字节:存放中断服务程序的代码段的段值;2个低地址字节:存放中断服务程序的偏移地址。

中断向量表放在内存的地段地址0单元开始的单元:00000H~03FFFH。

2、什么叫中断向量?它放在哪里?对应于1CH的中断向量在哪里?如1CH中断程序从5110H:2030H开始,则中断向量应怎样存放?【答】中断向量是中断处理子程序的入口地址,它放在中断向量表中,由1ch*4=70h知中断向量存放在0000:0070处。

由于中断处理入口地址为5110:2030所以0070H,0071H,0072H,0073H这四个单元的值分别为30H,20H,10H,51H。

3、叙述可屏蔽中断的响应过程,一个可屏蔽中断或者非屏蔽中断响应后,堆栈顶部四个单元中是什么内容?【答】当CPU在INTR引脚上接受一个高电平的中断请求信号并且当前的中断允许标志为1,CPU就会在当前指令执行完后开始响应外部的中断请求,具体如下:1、从数据总线上读取外设送来的中断类型码,将其存入内部暂存器中;2、将标志寄存器的值推入堆栈;3、将标志寄存器中IF和TF清零;4、将断点保护到堆栈中;5、根据中断类型获取中断向量转入中断处理子程序;6、处理完后恢复现场。

响应后堆栈的顶部4个单元是IP,CS。

4、从8086/8088的中断向量表中可以看到,如果一个用户想定义某个中断,应该选择在什么范围?【答】从8086/8088的中断向量表中可以看出,由于系统占用了部分中断类型码,主要包括:(1)专用中断:0~4,占中断向量表000~013H。

(2)系统备用中断:5~31H(3)用户使用中断:32H~0FFH如果一个用户想定义一个中断,可以选择中断类型码32H-FFH,其中断向量在中断向量表的0C8H-01BFH。

第5章8086的中断系统

第5章8086的中断系统
见图5-14, 第一个INTA信号通知8259A请求已被接收;
在第二个INTA信号有效,8259A送中断类型码 (初始化时写入8259A)到数据总线,由CPU启 动中断过程,同时撤消中断请求信号.
二、不可屏蔽中断NMI
发生“灾难性”事件(如电源掉电、存储器读 写出错、总线奇偶出错或协处理器中断请求 等),NMI=1,无法禁止(不受IF影响), 优先级比INTR高,且是边沿触发(只要有效 宽度大于2T即可),中断类型号为2,CPU响 应NMI,不发INTA,不要求外设提供中断向 量,自动到08H单元取入口地址。
5.3.2 外部中断
一、可屏蔽中断INTR 处理过程: 1)接口发请求,若屏蔽位(可用命令写入)=0, 通常由可编程中断控制器8259A PIC驱动,INTR=1,
一直保持到收到响应信号或撤消请求为止. 若IF=0(关中断,可由CLI复位),CPU不响应,继
续处理下一条指令;
若IF=1(开中断,可由STI置位),CPU响应, 2)执行两个INTA总线周期,发两个INTA信号,时序
专用5个(内部中断):在某些特定情况下, 由CPU内硬件自动提供类型号0~4;
保留27个(软件中断):由内部软件的中断 指令产生,供系统开发用。
用户定义224个(外部中断):由外部设备 硬件启动。
可以利用保留的中断类型码扩充自己需要的 中断功能,只要在向量表中加入对应的中断 向量即可。
由系统提供或用户定义,CPU执行后,立即产生中 断,转向n规定的中断服务程序去,入口地址在初 始化时已预置在中断向量表中。
四、断点中断——类型3(单字节指令)
CPU执行INT 3 (简写INT)时,产生中断, 进行特殊处理,如显示寄存器、存储单元的内 容,以检查程序运行的结果是否正确。在调试 时把断点插入程序中的关键之处,命令如-G CS: nnnnH。

int指令——精选推荐

int指令——精选推荐

int指令int指令的格式为:int n,n为中断类型码,它的功能是引发中断过程。

CPU执⾏int n指令,相当于引发⼀个n号中断的中断过程,执⾏过程如下。

1)取中断类型码n;2)标志寄存器⼊栈 ,IF=0, TF=0;3) CS,IP⼊栈;4)(IP)=(n*4), (CS)=(n*4+2)。

int指令的最终功能和call指令相似,都是调⽤⼀段程序。

问题⼀:编写、安装中断7ch的中断例程。

功能:求⼀word型数据的平⽅。

参数:(ax)=要计算的数据。

返回值: dx、ax中存放结果的⾼16位和低16位。

应⽤举例:求2*34562 。

assume cs:codecode segmentstart:mov ax, 3456int 7chadd ax, axadc dx, dxmov ax, 4c00hint 21hcode endsend start我们需要做⼀下3部分⼯作。

1)编写实现求平⽅功能的程序2) 安装程序,将其安装在0:200处3)设置中断向量表,将程序的⼊⼝地址保存在7ch表项中,使其成为中断7ch的中断例程。

安装程序如下。

assume cs:codecode segmentstart:mov ax, csmov ds, axmov si, offset sqrmov ax, 0mov es, axmov di, 200hmov cx, offset sqrend-offset sqrcldrep movsbmov ax, 0mov es, axmov word ptr es:[7ch*4], 200hmov word ptr es:[7ch*4+2], 0mov ax, 4c00hint 21hsqr:mul axiretsqrend:nopcode endsend start问题⼆:编写、安装中断7ch的中断例程。

功能:将⼀个全是字母,以0结尾的字符串,转化成⼤写。

参数: ds:si指向字符串的⾸地址应⽤举例:将data段中的字符串转化成⼤写。

dos功能调用中断表

dos功能调用中断表
BX=指针的水平位置
CX=指针的垂直位置
ES:DX=16×16位光标的映象地址 参数说明:(BX,CX)是鼠标的指针在16×16点阵中的位置,(0,0)是左上角;
ES:DX指向的存储单元内存放16×16点阵的位映象隐码,紧跟其后的是16×16点阵的光标掩码。
鼠标指针的显示方法:位映象隐码“逻辑与”上屏幕显示区的内容,然后再用光标掩码内容“异或”前面运算的结果。
21H —鼠标驱动程序复位
22H —设置鼠标驱动程序信息语言
23H —读取语种
24H —读取鼠标信息
25H —读取鼠标驱动程序信息
26H —读取最大有效坐标
(1)、功能00H
功能描述:初始化鼠标,该操作只需要执行一次
入口参数:AX=00H
出口参数:AX=0000H——不支持鼠标功能,FFFFH——支持鼠标功能
出口参数:无
(6)、功能05H
功能描述:读取鼠标按键信息
入口参数:AX=05H,BX=指定的按键:0—左键,1—右键,2—中键
出口参数:AX=按键状态,参见功能3H中BX的说明
BX=按键次数
CX=水平位置(最后按键时)
DX=垂直位置(最后按键时)
(7)、功能06H
功能描述:读取鼠标按钮释放信息
出口参数:无,鼠标有可能因新区域变小而自动移进新区域内
(9)、功能08H
功能描述:设置鼠标垂直边界
入口参数:AX=08H
CX=最小垂直位置
DX=最大垂直位置
出口参数:无,鼠标有可能因新区域变小而自动移进新区域内
(10)、功能09H
功能描述:设置图形鼠标形状
入口参数:AX=09H

单片机课程设计-中断的应用

单片机课程设计-中断的应用

IT0
位地址
8FH
8EH
8DH
8CH
8BH
8AH
89H
88H
例3:启用外部中断INT0和INT1,INT1 INT1,INT1的优先级高于INT0。 可使用语句: IE=0x85; IP=0x04;// 0x04二进制数是00000100 00000100,即把PX1置位1。其 他中断为低优先级。 例4:启用外部中断INT0和INT1,INT1 INT1,INT1采用边沿触发,且优先 级高于INT0。 可使用语句: IE=0x85;//也可以使用EA=1; EA=1; EX1=1; EX0=1;语句 EX0=1; PX1=1;// 中断INT1高优先级 IT1=1;//中断INT1边沿触发
单片机课程设计
中断的应用
中断的应用
n n n
n
n n n
n n n
包括中断的设置和中断程序的编写。 包括中断的设置和中断程序的编写 (1)中断的设置 中断的设置包括IE寄存器的设置, 寄存器的设置 IP寄存器的设置,TCON 寄存器的设置等。 单片机复位后,有关寄存器进入下列状态 有关寄存器进入下列状态,TCON:00H、 IE:0XX00000B、IP:XXX00000B、TMOD:00H。 例1:启用外部中断INT0。 可使用语句: IE=0x81; //其中0x81二进制数是10000001,即把EA置位1, EX0置位1 例2:启用外部中断INT0和INT1。 可使用语句: IE=0x85; //其中0x85二进制数是10000101,即把EA置位1, EX0置位1,EX1置位1。
定时/计数器的应用
n n n
n n
n
n n
1. 初始化 初始化的内容如下: (1) 根据设计需要先确定定时/计数器的工作模式及 根据设计需要先确定定时 工作方式,然后将相应的控制字送入 然后将相应的控制字送入TMOD寄存器中。 (2) 计算出计数初始值并写入TH0、TL0、TH1、TL1中。 计算出计数初始值并写入 (3) 通过对中断优先级寄存器IP和中断允许寄存器IE 通过对中断优先级寄存器 的设置,确定计数器的中断优先级和是否开放中断 确定计数器的中断优先级和是否开放中断。 (4) 给定时/计数器控制寄存器 计数器控制寄存器TCON送命令字,控制 定时/计数器的启动和停止 计数器的启动和停止。 2. 初值的计算 80C51定时/计数初值计算公式 计数初值计算公式:T初值=2N-定时时间/ 机器周期。

中断向量表详解

中断向量表详解

8.4 BIOS中断调用8.4.1 BIOS中断调用概述BIOS (BasicInput/OutputSystem)是IBM-PC机的监控程序,它固化在微型机主板的ROM中,其内容主要有系统测试程序 (Post)、初始化引导程序(Boot)、I/O设备的基本驱动程序和许多常用程序模块,它们一般以中断服务程序的形式存在。

例如,负责显示输出的显示 I/O程序为10H号中断服务程序;负责打印输出的打印I/O程序为17H中断服务程序等。

图8.5 是用户程序和操作系统关系示意图,由图可见BIOS程序直接建立在硬件基础上,磁盘操作系统(DOS)和其他操作系统建立在BIOS基础上,各种高级语言 则建立在操作系统基础上。

用户程序可以使用高级语言,也可以调用DOS 或其他操作系统,还可以调用BIOS,甚至直接指挥硬件设备。

通常应用程序调用DOS提供的系统功能,完成输入/输出或其他操作,这样做用户可以少考虑硬件,实现起来容易。

图8.5 用户程序和操作系统关系示意图应用程序直接对硬件编程的优点是程序的效率高,缺点是需要程序员对硬件性能有较深的了解。

总的来说,编程复杂,所以一般不直接对硬件编程。

BIOS中断程序处于DOS功能调用和硬件环境之间。

和DOS功能调用相比其优点是效率高,缺点是编程相对复杂;和直接对硬件编程相比,优点是实现相对容易,缺点是效率相对低。

在下列情况下可考虑使用BIOS中断:(1)有些功能DOS没有提供,但BIOS提供了;(2)有些场合无法使用DOS功能调用;(3)其他原因。

8.4.2BIOS中断调用方法BIOS的调用实际上是利用每一台计算机中BIOS固有的I/O操作程序来方便地解决自己的问题,由于这些已经在计算机中了,故使用时不必要再把它写入自己的程序,只要指明它的操作位置就可以了。

1.BIOS调用的基本操作由于BIOS中的每一种功能调用往往包含不同的几个操作细节,因此调用时需要说明三部分,基本步骤为:(1)设置分功能号。

dos常用的软中断命令

dos常用的软中断命令

(2) 组合类型(COMBINE_TYPE) 组合类型用于说明程序连接时段的合并方法,指出了各逻
辑段之间的组合方式。其取值可以是:
NONE(缺省值):该段在连接时将不与其他模块中的同名段
合并。各段独立存在于存储器中。
PUBLIC:该段连接时可以把不同模块中的同名段相连接而
合并为一个段,其连接次序由连接命令指定。每一分段都从小
2. 用ORG改变数据段地址 DATA SEGMENT ORG 100H A1 DB 10H,20H,30H ORG 200H A2 DW 3031H,3233H DATA ENDS
(3)END 标号
功能:标记源程序结束 a. END放最后一行,每个模块只有一个END,不能省略。 b. 标号是该程序中第一条可执行语句的标号,可以省略。若一
在首地址开始的一片连续存储单元中。其取值可以是:
PARA(缺省值):指定段的起始地址必须从小段边界开始,
即段起始地址最低位必须为0(XXXX0)。这样,偏移地址可以
从0开始。 BYTE:该段可以从任何地址开始,这样,起始偏移地址可 能不是0。
WORD:该段必须从字的边界开始,即段起始地址必须为偶 数。 DWORD:该段必须从双字边界开始,即段起始地址的最低 位必须为4的倍数。 PAGE:该段必须从页的边界开始,即段起始地址的最低两 个十六进制数位必须为0(该地址能被256整除)。
PDATA SEGMENT P1 DB 0AH,0BH P2 DB 2 DUP(?) PDATA ENDS PCODE SEGMENT EXTRN A2:WORD,A3:ABS,TMF:FAR MAIN: MOV AX,PDATA … MOV AX,OFFSET A2 MOV CX,A3 … JMP TMF … PCODE ENDS END MAIN

BIOS和DOS中断大全

BIOS和DOS中断大全

BIOS和DOS中断大全一、DOS中断 (7)1、字符功能调用类(Character-Oriented Function) (7)(1) 功能01H、07H和08H (7)(2) 功能02H (7)(3) 功能03H (7)(4) 功能04H (7)(5) 功能05H (7)(6) 功能06H (8)(7) 功能09H (8)(8) 功能0AH (8)(9) 功能0BH (8)2、目录控制功能(Directory-Control Function) (8)(1)功能39H (9)(2)功能3AH (9)(3)功能3BH (9)(4)功能47H (9)3、磁盘管理功能(Disk-Management Function) (9)(1)功能0DH (9)(2)功能0EH (9)(3)功能19H (9)(4)功能1BH和1CH (9)(5)功能2EH (10)(6)功能36H (10)(7)功能54H (10)4、文件操作功能(File Operation Function) (10)(1)功能3CH (11)(2)功能3DH (11)(3)功能3EH (11)(4)功能41H (11)(5)功能43H (11)(6)功能45H (12)(7)功能46H (12)(8)功能4EH (12)(9)功能4FH (12)(10)功能56H (12)(11)功能57H (12)(12)功能5AH (13)(13)功能5BH (13)(14)功能67H (13)(15)功能6CH (13)5、文件操作功能(FCB)(File Operation Function) (14)(1)功能0FH (14)(2)功能10H (14)(3)功能11H和12H (14)(4)功能13H (14)(5)功能16H (15)(6)功能17H (15)(7)功能23H (15)(8)功能29H (15)6、记录操作功能(Record Function) (15)(2)功能2FH (16)(3)功能3FH (16)(4)功能40H (16)(5)功能42H (16)(6)功能5CH (16)(7)功能68H (16)7、记录操作功能(FCB)(Record Function) (17)(1)功能14H (17)(2)功能15H (17)(3)功能21H (17)(4)功能22H (17)(5)功能24H (17)(6)功能27H (17)(7)功能28H (18)8、内存分配功能(Memory-Allocation Function) (18)(1)功能48H (18)(2)功能49H (18)(3)功能4AH (18)(4)功能58H (18)9、系统功能(System Function) (18)(1)功能25H (19)(2)功能30H (19)(3)功能33H (19)(4)功能34H (19)(5)功能35H (19)(6)功能38H (20)(7)功能44H (20)(8)功能50H (20)(9)功能51H (21)(10)功能59H (21)(11)功能5EH (21)(12)功能5FH (22)(13)功能63H (23)(14)功能65H (23)(15)功能66H (23)(16)功能5D0AH (23)10、进程控制功能(Process-Control Function) (24)(1)功能00H (24)(2)功能26H (24)(3)功能31H (24)(4)功能4BH (24)(5)功能4CH (24)(6)功能4DH (24)(7)功能62H (25)11、时间和日期功能(Time and Date Function) (25)(1)功能2AH (25)(2)功能2BH (25)(3)功能2CH (25)(4)功能2DH (25)12、鼠标功能中断INT 33H (25)(1)功能00H (26)(2)功能01H (27)(3)功能02H (27)(4)功能03H (27)(5)功能04H (27)(6)功能05H (27)(7)功能06H (27)(8)功能07H (27)(9)功能08H (27)(10)功能09H (28)(11)功能0AH (28)(12)功能0BH (28)(13)功能0CH (28)(14)功能0DH (29)(15)功能0EH (29)(16)功能0FH (29)(17)功能10H (29)(18)功能13H (29)(19)功能14H (29)(20)功能15H (29)(21)功能16H (30)(22)功能17H (30)(23)功能18H (30)(24)功能19H (30)(25)功能1AH (30)(26)功能1BH (30)(27)功能1CH (30)(28)功能1DH (30)(29)功能1EH (31)(30)功能1FH (31)(32)功能21H (31)(33)功能22H (31)(34)功能23H (31)(35)功能24H (31)(36)功能25H (31)(37)功能26H (32)13、其它DOS中断 (32)(1)中断INT 20H (32)(2)中断INT 22H (32)(3)中断INT 23H (32)(4)中断INT 24H (32)(5)中断INT 25H (32)(6)INT 26H (33)(7)INT 27H (33)(8)INT 28H (33)(9)INT 2FH (33)二、BIOS中断 (33)1、显示服务(Video Service——INT 10H) (33)(1)功能00H (34)(2)功能01H (34)(3)功能02H (34)(4)功能03H (34)(5)功能04H (35)(6)功能05H (35)(7)功能06H和07H (35)(8)功能08H (36)(9)功能09H (36)(10)功能0AH (36)(11)功能0BH (36)(12)功能0CH (36)(13)功能0DH (36)(14)功能0EH (36)(15)功能0FH (37)(16)功能10H (37)(17)功能11H (37)(18)功能12H (37)(19)功能13H (38)(20)功能1AH (38)(21)功能1BH (38)(22)功能1CH (38)2、直接磁盘服务(Direct Disk Service——INT 13H) (38)(1)功能00H (38)(2)功能01H (38)(4)功能03H (39)(5)功能04H (39)(6)功能05H (40)(7)功能06H (40)(8)功能07H (40)(9)功能08H (40)(10)功能09H (41)(11)功能0AH (41)(12)功能0BH (41)(13)功能0CH (41)(14)功能0DH (41)(15)功能0EH (41)(16)功能0FH (42)(17)功能10H (42)(18)功能11H (42)(19)功能12H (42)(20)功能13H (42)(21)功能14H (42)(22)功能15H (42)(23)功能16H (42)(24)功能17H (43)(25)功能18H (43)(26)功能19H (43)(27)功能1AH (43)3、串行口服务(Serial Port Service——INT 14H) (43)(1)功能00H (43)(2)功能01H (44)(3)功能02H (44)(4)功能03H (44)(5)功能04H (44)4、杂项系统服务(Miscellaneous System Service——INT 15H) (44)(1)功能00H (45)(2)功能01H (45)(3)功能02H (45)(4)功能03H (45)(5)功能0FH (45)(6)功能21H (45)(7)功能4FH (45)(8)功能80H (45)(9)功能81H (45)(10)功能82H (46)(11)功能83H (46)(12)功能84H (46)(14)功能86H (46)(15)功能87H (46)(16)功能88H (47)(17)功能89H (47)(18)功能90H (47)(19)功能91H (47)(20)功能0C0H (47)(21)功能C1H (48)(22)功能C2H (48)(23)功能C3H (48)(24)功能C4H (48)5、键盘服务(Keyboard Service——INT 16H) (48)(1)功能00H和10H (48)(2)功能01H和11H (48)(3)功能02H和12H (48)(4)功能03H (49)(5)功能04H (49)(6)功能05H (49)6、并行口服务(Parallel Port Service——INT 17H) (49)(1)功能00H (49)(2)功能01H (50)(3)功能02H (50)7、时钟服务(Clock Service——INT 1AH) (50)(1)功能00H (50)(2)功能01H (50)(3)功能02H (50)(4)功能03H (50)(5)功能04H (51)(6)功能05H (51)(7)功能06H (51)(8)功能07H (51)(9)功能0AH (51)(10)功能0BH (51)(11)功能80H (51)8、直接系统服务(Direct System Service) (52)一、DOS中断1、字符功能调用类(Character-Oriented Function)01H、07H和08H —从标准输入设备输入字符02H —字符输出03H —辅助设备的输入04H —辅助设备的输出05H —打印输出06H —控制台输入/输出09H —显示字符串0AH —键盘缓冲输入0BH —检测输入状态0CH —清输入缓冲区的输入功能(1) 功能01H、07H和08H功能描述:从标准输入设备(如:键盘)读入一个字符。

设置和获取中断向量

设置和获取中断向量

2.获取中断向量 获取中断向量也有两种常用方法:直接读取法 和使用DOS功能调用法。
方法1:直接读取法 利用MOV指令直接读取中断向量。 例 利用直接读取法读取n号中断向量,并保存在双字 变量OLDVECTOR中: XOR AX,AX MOV ES,AX MOV AX,ES∶[n*4] MOV WORD PTR OLDVECTOR,AX MOV AX,ES∶[n*4+2] MOV WORD PTR OLDVECTOR+2,AX
CLI MOV WORD PTR[BX],OFFSET INTHAND MOV WORD PTR[BX+2],SEG INTHAND STI MOV AX,0 MOV DS,AX MOV BX,n*4
方法2:使用DOS功能调用法 使用25H号DOS功能调用 可以设置中断向量,出口参数如下: 预置:AH=25H
设置和获取中断向量 在系统程序或应用程序由于某种需要而提供新的 中断处理程序时,就要设置对应的中断向量,使其指向 方法:直接写入法和使用DOS 调用法。 方法1:直接写入法 用MOV指令将中断向量直接写入 中断向量表,下面是一个直接写入法的例子。 例 使用直接写入法设置中断向量。
MOV AH,35H MOV AL,n INT 21H MOV WORD PTR OLDVECTOR,ES MOV WORD PTR OLDVECTOR,BX
方法2:使用DOS功能调用法 利用35H号 DOS功能调用 可以取得指定中断号的中断向量,其出入口参数如下: 预置:AL=中断类型号 执行:INT 21H 功能:读取指定中断的中断向量,其中: ES=中断处理程序的段地址 BX=中断处理程序的偏移地址 例7-4 使用DOS功能调用取得n号中断的中断向量

VC5509A定时器使用实验报告 DSP

VC5509A定时器使用实验报告 DSP

三.问题与思考
1、定时器产生中断的过程; 在软件中设置好相应中断标志后开中断,进入等待中断发生的状态;中断发生 时,首先跳转到相应中断高级的服务程序中,程序在进行服务操作之后,应将本外 设的中断标志位清除以便能继续中断,然后返回。 2、VC5509A 的中断向量表;
ISR 序 号 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
3、CPU 工作主频怎样设置; C55x 片内的时钟发生器可以从 CLKIN 引脚接受输入的时钟,将其变换为 CPU 及 其外设所需要的工作时钟。时钟发挥说呢个器内有一个数字锁相环和一个是种模式寄 存器。是种模式寄存器用于控制时钟发生器的工作状态。
班级 电子 1412
姓名 孙玮
学号
14200106214
4
实验名称
一.实验目的
定时器使用实验

1.通过实验熟悉VC5509A 的定时器; 2.掌握VC5509A 定时器的控制方法; 3.掌握VC5509A 的中断结构和对中断的处理流程; 4.学会C 语言中断程序设计,以及运用中断程序控制程序流程。
二、实验内容、过程及结果(含程序)
1. 通 用 定 时 器 介 绍 及 其控 制 方 法 ( 详 见 spru595b.pdf) : TMS320VC5509A 内部有两个20 位通用定时器(GP) : * 每个通用定时器包括: - 一个 16 位的减计数的计数器TIM; - 一个 16 位的定时器周期寄存器PRD; - 一个 16 位的定时器控制寄存器TCR; - 一个 16 位的定时器预定标寄存器PSCR; * PSCR 寄存器说明: 15 Reserved 10 9 PSC 6 5 Reserved 4 3 TDDR 0
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

常用DOS(INT 21H)功能调用表收藏
AH功能调用参数返回参数
00
程序终止(同INT
20H)
CS=程序段前缀
01键盘输入并回显AL=输入字符02显示输出DL=输出字符
03异步通迅输入AL=输入数据04异步通迅输出DL=输出数据
05打印机输出DL=输出字符
06直接控制台I/O
DL=FF(输入)
DL=字符(输出)
AL=输入字符07键盘输入(无回显)AL=输入字符08
键盘输入(无回显)
检测Ctrl-Break
AL=输入字符09显示字符串
DS:DX=串地址
'$'结束字符串
0A键盘输入到缓冲区DS:DX=缓冲区首地址
(DS:DX)=缓冲区最大
字符数
(DS:DX+1)=实际输入
的字符数
0B检验键盘状态AL=00 有输入
实用标准文档
文案大全。

相关文档
最新文档