c语言编写按键的中断和查询方式的区别,中断程序和查询方式的区别
中断程序在程序开始定义中断入口地址,初始化中必须打开中断允许位,程序运行时不用判断溢出状态位,溢出后硬件清零;
查询方式在程序运行时必须判断溢出状态位,溢出后须软件清零。
查询方式:发送数据——先发后查;
接收数据——先查后收。
中断方式:发送数据——发送、等待中断、中断中发送;
接收数据——等待中断、在中断中接收
中断方式,是事件触发的,换言之只要有事件产生都会进入中断,并且取得最优运行,因此响应更快,及时。
查询方式,就是在主函数里面不停循环,查询端口状态,明显其弊端在于响应速度,在处理事件多,处理流程复杂,函数嵌套执行的情况下,由于处理不过来容易丢失事件。
举个例子,在电话用户接入系统里面,一个单片机管理1个电话端口的摘挂机,执行周期要求8ms,用查询的方式足够了,但是当电话增加到16个,用查询方式,效果就差了,曾出现过电话响起的时(12个电话齐呼),拿起话筒,电话还在振铃,明显处理不过来。
这个时候,有两个办法,一个采用中断方式,另一个采用更高效的CPU,明显前者只需要修改软件,后者需要增加硬件成本,还延长开发时间。
c语言编写按键的中断和查询方式的区别,中断程序和查询方式的区别相关推荐
- 三菱R系列PLC程序 全部采用ST语言编写,内部使用函数块和结构体,程序思路清晰
三菱R系列PLC程序 全部采用ST语言编写,内部使用函数块和结构体,程序思路清晰,简洁明了. 通过结构体和函数块的使用,可以使您在程序编写水平得到很大提高. ST语言是PLC后续的主流语言,是日后编程 ...
- 51单片机c语言编写计算器仿真,基于51单片机的计算器设计c程序代码加proteus仿真...
可实现加减乘除各类运算,带有清零复位功能 仿真原理图如下(proteus仿真工程文件可到本帖附件中下载) 0.png (24.71 KB, 下载次数: 9) 2019-1-10 04:05 上传 程序 ...
- c语言编写生日祝福语大全,C++求高手帮忙写个程序...输出“生日快乐”四个字..用符号拼出来..谢谢啦...
满意答案 ka1ctsd5o 2013.10.17 采纳率:54% 等级:12 已帮助:10968人 #include int main() { printf(" // || ==== ...
- c语言10以内的加法程序代码,怎样用c语言编写个能随机出10以内加减法题目的程序...
#include "stdio.h" #include "stdlib.h" #include "time.h" #include &quo ...
- 用c语言编写基于sht10传感器的仓库温湿度监测系统的程序,单片机远程仓库湿度监测系统仿真max487+sht11源程序+电路原理图...
//**************************************************** //SHT11温度+湿度传感器,测量结果用LCD1602显示 //操作的关键部分是1.对照 ...
- c语言求婚代码大全,这是我见过最浪漫的程序员求婚方式
[导读]在七夕这个节日里,源代码教育不仅会举办各种活动,我们还会给大家及时送上各种福(gou)利 (liang) (下面这个福利是外国味儿的). 为了向心中的女神求婚,每个男生都会挖空心思地想出一些非 ...
- 通讯录的编译 c语言,C语言编写—通讯录(小项目)
C语言的练习-通讯录,该通讯录主要实现最大存储1000个人信息,对通讯录中的个人信息能够进行增.删.查.改等基本功能,通过用c语言编写,能够极大程度上锻炼编程能力.程序主要使用数组的知识,创建1000 ...
- c语言键盘中断扫描码,用51单片机中断编写的4x4键盘程序
应用查询扫描编写键盘程序,由于要给按键去抖动,程序变得比较复杂和冗长(详见2013年9月29日博文<MSP430和AT89C51单片机4x4键盘C程序>),如果用中断编写,设置中断响应在下 ...
- c语言编写51单片机中断程序,执行过程是怎样的?
Q:c语言编写51单片机中断程序,执行过程是怎样的? 例如程序: #include<reg52.h> void main(void) { EA=1; //开放总中断 ...
最新文章
- lcd参数解释及刷新率计算,LCD时序
- 道路 [NOIP模拟]
- 贝叶斯统计:信噪对偶与Dawid定理
- Java程序员从笨鸟到菜鸟之(六十七)细谈Spring(一)spring简介
- 某计算机公司的库存管理,《管理系统中计算机应用》应用题数据流程图汇总题及参考答案...
- [Java]一步一步学 Web
- C++程序员Protocol Buffers基础指南
- [原创]商品条码管理与条码打印管理软件的实现
- akamai:与看视频广告等待相比,用户更不能忍受缓冲等待
- leetcode 175. Combine Two Tables
- Debian 8 Jessie desktop on arm
- 富士胶片携数据磁带亮相大数据产业博览会
- 英文文献很难找,哪里可以找英文文献呢?
- cherry-pick 用法
- primeNG__datatable
- React Native从入门到实战--开发环境搭建
- 老哥教你如何将springboot打包成exe程序
- 【Linux】【开发环境】【RHEL】开发环境搭建系列之十一——Linux系统下搭建基于vim的C/C++ IDE开发环境
- 二次元动漫人物脚部的画法
- Android毛玻璃效果的实现(本文系转载一种快速毛玻璃虚化效果实现)
热门文章
- 【 uC/OS II 】uC/OS II 源代码阅读(os_mbox.c)消息邮箱
- Android高级进阶书籍推荐
- tr069开源代码文档_tr069简单实现源码分享
- OpenGL绘制随机的山脉轮廓
- 实时疫情数据可视化分析
- mc服务器物品给予,我的世界指令大全/give 给予人 物品id 数量 - 给予某人物品,如果不写数_来自网易大神我的世界圈子_此生只做mc方块人...
- 查询数据的时候 提示事务(进程 ID **)与另一个进程被死锁在 锁 资源上,并且已被选作死锁牺牲品。
- htmlparser的使用java_java htmlparser 简单使用入门
- FIFO - linux内核数据结构
- 【图像笔记】RGB图像转灰度图像