把上电后只做一次的任务写到主函数里, 比如基本的初始化
把需要不断槐派循环做悄明雀的任务放到while(1)里,比如轮询,启早IO状态查询
把不知道什么时间会发生(比如外部中断,按键中断等)以及需要保证准时发生的任务(比如定时器时间到)放到中断里
单片机每一个中断源对应一个入口地址有(一般从弊纳携0003h开始),当有中断时程序计数器PC指向中断源入口租伏开始,到中断结束并返回期间,执行中断程序。由于两个相邻的中断源入口地址很近,通常为8字节,不茄辩能放下完整的中断程序。因此,往往将中断程序放到其它的程序地址空间,而在相应的中断入口放置一个无条件转移指令。因此中断服务程序放在程序存储ROM里。外部中断,需要有一个外悉薯部脉冲信号加到P3.2 或P3.3,引起中断,才能执行到中断服务程序。要在中断里放一个键盘扫描程序,那得需要键盘引起中断才行的。多个独立式按键,或矩阵式键盘,都不方便睁友者产生一个中断信号的。
外部中断,不是为了键盘的,为告迟什么会想到用键盘呢?
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)