电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

外部中断0和1控制双向流水灯设计

外部中断0和1控制双向流水灯设计_第1页
1/5
外部中断0和1控制双向流水灯设计_第2页
2/5
外部中断0和1控制双向流水灯设计_第3页
3/5
外部中断 0 和1 控制双向流水灯设计(2页)Good is good, but better carries it.精益求精,善益求善。外部中断 0 和 1 控制双向流水灯设计一.外部中断的基本知识中断是为单片机具有对外部或内部的事件实时处理而设置的,中断功能是单片机最重要的功能之一。51 打片机内部共有 5 个中断源,外部中断 0,外部中断 1,定时器/计数器 0 中断,定时器/计数器 1 中断,串行口中断。例:EX0 为外部中断 0 允许位,EX0=1,打开外部中断 0 中断;EX0=0,关闭外部中断 0 中断。IT0 为外部中断 0 触发方式选择位,IT0=0,为电平触发方式,每个机器周期的 S5P2 采样 INT0 引脚,若 INT0 为低电平,则置 1,否则清0;IT0=1,为跳变沿触发方式,当一个机器周期采样到 INT0 为低电平常,则IE1 置 1.IE1=1,表示外部中断正在向 CPU 申请中断。当 CPU 响应中断,转向中断服务程序时,该位由硬件清 0。二. 双向流水灯程序设计#include #include #define uint unsigned int#define uchar unsigned charuchar led1=0xfe;uchar led2=0x7f;void delay(uint x) //延时子程序{ uint i,j; for(i=x;i>0;i--) for(j=120;j>0;j--);}void main() //main 主程序{ EA=1; //开总中断 EX0=1; //开外部中断 0 EX1=1; IT0=0; IT1=0; //外部中断 1 的处罚方式为电平触发方式 while(1);}void int0()interrupt 0{ uint a; for(a=0;a<8;a++) { P1=led1; delay(500); led1=_crol_(led1,1); //左移库函数 P1=0xff; }}void int1()interrupt 2{ uint a; for(a=0;a<8;a++) { P1=led2; delay(500); led2=_cror_(led2,1); //左移库函数 } P1=0xff;}三. 工程及模拟仿真截图四. 心得体会学习,我注重的是过程,当然,我也信任,在学习的过程中只要脚踏实地的去做,就会有收获。在这次设计程序时,可谓是费了不少功夫。首先,因为以前的学习只是按课本学,更多的精力放在了定时器中断上,没过多的注意外部中断,所以现在费了不少功夫去学习,去设计程序。这也给我提了一个醒,学习要注意细节,不能一味的跟着别人走,要有自己的方法。另外,就是在实际编程的时候饶了不少弯路,主要就是外部中断程序的编写。但不管怎样,结果终究是好的。学习的过程有些令人头疼,但结果还不错,我喜爱这种感觉。总之,这次学习的收获还是不少的,我会继续努力! 《)!@'-/…、;@…#—(@?)*¥,、/、-{-@,%

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

外部中断0和1控制双向流水灯设计

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部