在用c语言写单片机程序时 应该把什么写在中断什么写在主函数什么写在while里

在用c语言写单片机程序时 应该把什么写在中断什么写在主函数什么写在while里,第1张

这个问题很泛哦

把上电后只做一次的任务写到主函数里, 比如基本的初始化

把需要不断槐派循环做悄明雀的任务放到while(1)里,比如轮询,启早IO状态查询

把不知道什么时间会发生(比如外部中断,按键中断等)以及需要保证准时发生的任务(比如定时器时间到)放到中断里

单片机每一个中断源对应一个入口地址有(一般从弊纳携0003h开始),当有中断时程序计数器PC指向中断源入口租伏开始,到中断结束并返回期间,执行中断程序。由于两个相邻的中断源入口地址很近,通常为8字节,不茄辩能放下完整的中断程序。因此,往往将中断程序放到其它的程序地址空间,而在相应的中断入口放置一个无条件转移指令。因此中断服务程序放在程序存储ROM里。

外部中断,需要有一个外悉薯部脉冲信号加到P3.2 或P3.3,引起中断,才能执行到中断服务程序。

要在中断里放一个键盘扫描程序,那得需要键盘引起中断才行的。多个独立式按键,或矩阵式键盘,都不方便睁友者产生一个中断信号的。

外部中断,不是为了键盘的,为告迟什么会想到用键盘呢?


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12354298.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存