历史上的今天
今天是:2025年03月11日(星期二)
2018年03月11日 | 用C语言对循迹小车进行编程
2018-03-11 来源:eefocus
刚开始写汇编的中断应用程序时,曾经为出入堆栈的问题而困扰。C51扩展了函数的定义,使它可以直接编写中断服务函数,而可以不必考虑出入堆栈的问题,从而提高了工作的效率。扩展的关键字是in—terrupt,它是函数定义时的一个选项。只要在一个函数定义后面加上这个选项,那么这个函数就变成了中断服务函数。定义中断服务函数时可以用如下的形式。
函数类型函数名(形式参数)interruptn[usingn]
中断函数不能通过形式参数进行参数传递,也没有返回值。因此建议在定义中断函数时将其定义为viod类型,以明确说明没有返回值。
interru关键字是不可缺少的,它告诉编译器该函数是中断服务函数,并由后面的n指明所使用的中断号。n的取值范围为0~31,但具体的中断号要取决于芯片的型号,像AT89S52实际上就使用O~4号中断。每个中断号都对应一个中断向量,具体地址为8n+3,中断源响应后处理器会跳转到中断向量所处的地址执行程序,编译器会在这地址上产生一个无条件跳转语句,转到中断服务函数所在的地址执行程序。51芯片的中断向量和中断号,如下表所示。
| 中断号 | 中断源 | 中断向量 |
| 0 | 外部中断0 | 0003H |
| 1 | 定时器/计数器0 | 000BH |
| 2 | 外部中断1 | 0013H |
| 3 | 定时器/计数器1 | 001BH |
| 4 | 串行口 | 00231-1 |
下一篇:单片机应用编程知识介绍
史海拾趣
|
汽车前轮侧滑计算机检测系统的设计 ( 本站提供 应用行业:汽车制造 阅读次数:118 ) 【字体:大 中 小】 1 引言 汽车前轮侧滑量是机动车辆安全技术检测的重要指标。当汽车直线行驶时前轮的横向位移量称侧滑量,它是前轮定位参数在 ...… 查看全部问答> |
|
一、资源: LPC2378(ARM7内核), IDE:KEIL,或者ADS 二、实现: 建立两个工程,也就是说包含独立的MAIN函数,包含独立的中断向量表(地址不同),编译后烧录到指定的不重复的地址处。 这样可以实 ...… 查看全部问答> |
|
我做的视频教程希望大家喜欢 2010.3.6 51单片机=====跑马灯(LED)QQ: 9086074 我做的视频教程希望大家喜欢 2010.3.6 51单片机=====跑马灯(LED)QQ: 9086074 BY: 飞龙 QQ: 9086074 希望认识更多的单片机开发朋友一起交流 第一次做教程不好多多见谅 BLOG: http://hi. ...… 查看全部问答> |
|
局域网络以太网互联网TCP/IP远程交流电参数采集远传数显表 本数显表基于高可靠局域网(以太网)通讯技术,采用TCP/IP通讯协议,工作时每块数显表分配一个网络IP地址,通过IP地址进行区分。一台上位机最多可连接250台网络数显表。通讯可靠(绝非RS485等可比),传输距离远(甚至可通过互联网超远程控制)。 ...… 查看全部问答> |
|
我已经拿到LPC810的板子了 可是在下载程序的时候遇到了一些问题; 我用的是一个232的ISP下载串口板; 软件用的是Flash Magic 读取芯片ID正常; 擦除Flash正常; 但是不能往里写入程序; 总是卡在这里,不能往下进行; 有哪个大虾遇到过这 ...… 查看全部问答> |
|
另外,PB6.0提供了一个用于检查更新的小工具,CEUpdateCheck,我们也可以利用它来检查补丁的安装情况。在VS2005的菜单中点击“工具”——“Platform Builder for CE 6.0”——“CE Update Check”,即可打开它,如下图所示。 & ...… 查看全部问答> |
|
得到一个写着MSP-FET430UIF的烧写器,连接到电脑显示驱动安装好了。但是我的ccs中device connection中没有显示这个,只有USB。请问如何安装使用?… 查看全部问答> |




