找回密码
 立即注册

QQ登录

只需一步,快速开始

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

Proteus仿真51单片机外部中断控制数码管

[复制链接]
跳转到指定楼层
楼主
利用Proteus仿真51单片机外部中断控制数码管

单片机源程序如下:


  1. #include "reg52.h"                         //此文件中定义了单片机的一些特殊功能寄存器

  2. typedef unsigned int u16;          //对数据类型进行声明定义
  3. typedef unsigned char u8;

  4. sbit k0=P3^2;  //定义按键K3

  5. #define smg P2

  6. u8 tab[]={0xc0,0xf9,0xc5,0xb0};

  7. int a=0;
  8. /*******************************************************************************
  9. * 函 数 名         : delay
  10. * 函数功能                   : 延时函数,i=1时,大约延时10us
  11. *******************************************************************************/
  12. void delay(u16 i)
  13. {
  14.         while(i--);       
  15. }

  16. /*******************************************************************************
  17. * 函 数 名         : Int1Init()
  18. * 函数功能                   : 设置外部中断1
  19. * 输    入         : 无
  20. * 输    出         : 无
  21. *******************************************************************************/
  22. void Int0Init()
  23. {
  24.         //设置INT0
  25.         IT0=1;//跳变沿出发方式(下降沿)
  26.         EX0=1;//打开INT0的中断允许。       
  27.         EA=1;//打开总中断       
  28. }

  29. /*******************************************************************************
  30. * 函 数 名       : main
  31. * 函数功能                 : 主函数
  32. * 输    入       : 无
  33. * 输    出             : 无
  34. *******************************************************************************/
  35. void main()
  36. {       
  37.         Int0Init();  //        设置外部中断0

  38.     while(1)
  39.                         {  
  40.                         smg=tab[a];
  41.                      }       
  42. }

  43. /*******************************************************************************
  44. * 函 数 名         : Int0()        interrupt 0
  45. * 函数功能                   : 外部中断0的中断函数
  46. * 输    入         : 无
  47. * 输    出         : 无
  48. *******************************************************************************/

  49. void Int0()        interrupt 0                //外部中断0的中断函数
  50. {        a++;
  51. }
复制代码

所有资料51hei提供下载:
外部中断控制数码管.rar (43.14 KB, 下载次数: 33)


评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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