找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5129|回复: 6
打印 上一主题 下一主题
收起左侧

单片机外部中断控制八盏LED灯循环点亮 第一次发帖,求大神帮忙!

[复制链接]
跳转到指定楼层
楼主
ID:449292 发表于 2018-12-18 20:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用外部中断控制八盏LED灯循环点亮 ,就是说每按下一次外部中断按键,点亮一盏LED灯 ,依次循环。外部中断这个一直没学会,希望大神尽可能弄简单一点 。谢谢/!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:284488 发表于 2018-12-29 08:56 | 只看该作者
请问你后来有搞定了吗?
回复

使用道具 举报

板凳
ID:447180 发表于 2018-12-29 10:07 | 只看该作者
中断内的函数是P0口左移右移函数即可
回复

使用道具 举报

地板
ID:457854 发表于 2018-12-29 10:40 | 只看该作者
按照给定的例子,学习下,发现不难
回复

使用道具 举报

5#
ID:155507 发表于 2018-12-29 11:30 | 只看该作者
  1. /*********************************************************************************
  2. * 【外部晶振】: 11.0592mhz       
  3. * 【主控芯片】: STC89C52RC
  4. * 【编译环境】: Keil μVisio4       
  5. * 【程序功能】: 外部中断控制LED灯                                                                                           
  6. * 【使用说明】: 外部中断0电平触发——用独立按键引发中断
  7.                                  通过中断接口P3.2连接的独立按键S4测试,按一次LED灯流水灯,这里使用电平触发,
  8.                  按键不松手和按键松手效果不相同,按下会看到灯流水灯,说明中断一直在作用。
  9.                                  P3.2是可以复用IO口,一是普通IO口,二是外部中断0外部接口.即本节所讲。               
  10.                  通过本程序就可以轻松的写其他中断方式的程序了
  11. **********************************************************************************/

  12. #include<reg52.h> //包含特殊功能寄存器的定义
  13. #define LED P1          //宏定义LED代表P1
  14. /********************************************************
  15.                     主程序
  16. *********************************************************/
  17. main()
  18. {
  19.         LED=0xff;       //P1口初始值,关闭led灯
  20.         EA=1;          //全局中断开
  21.         EX0=1;         //外部中断0开
  22.         IT0=0;         //电平触发
  23.         while(1)
  24.         {
  25.                 //在此添加其他程序,中断程序可以跟此处的程序同步执行
  26.         }
  27. }
  28. /****************************************************
  29.                  外部中断程序
  30. *****************************************************/
  31. void Key_INT(void) interrupt 0 using 1
  32. {
  33.         static unsigned char  dat1=0xfe;
  34.        
  35.         LED=dat1;          //初始化赋值
  36.         dat1=dat1<<1; //右移一位
  37.         if(dat1==0xff)
  38.                 dat1=0xfe;
  39. }
复制代码
回复

使用道具 举报

6#
ID:449525 发表于 2018-12-29 12:15 | 只看该作者
你单片机玩的好不好,就是中断。后面操作系统也是依靠中断。
要吃透的啊
程序是慢慢每天积累的。
回复

使用道具 举报

7#
ID:457935 发表于 2018-12-29 12:39 | 只看该作者
现在搞定了吗
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表