標(biāo)題: Proteus仿真51單片機(jī)外部中斷控制數(shù)碼管 [打印本頁]

作者: 37216    時(shí)間: 2018-4-22 08:20
標(biāo)題: Proteus仿真51單片機(jī)外部中斷控制數(shù)碼管
利用Proteus仿真51單片機(jī)外部中斷控制數(shù)碼管

單片機(jī)源程序如下:


  1. #include "reg52.h"                         //此文件中定義了單片機(jī)的一些特殊功能寄存器

  2. typedef unsigned int u16;          //對數(shù)據(jù)類型進(jìn)行聲明定義
  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. * 函 數(shù) 名         : delay
  10. * 函數(shù)功能                   : 延時(shí)函數(shù),i=1時(shí),大約延時(shí)10us
  11. *******************************************************************************/
  12. void delay(u16 i)
  13. {
  14.         while(i--);       
  15. }

  16. /*******************************************************************************
  17. * 函 數(shù) 名         : Int1Init()
  18. * 函數(shù)功能                   : 設(shè)置外部中斷1
  19. * 輸    入         : 無
  20. * 輸    出         : 無
  21. *******************************************************************************/
  22. void Int0Init()
  23. {
  24.         //設(shè)置INT0
  25.         IT0=1;//跳變沿出發(fā)方式(下降沿)
  26.         EX0=1;//打開INT0的中斷允許。       
  27.         EA=1;//打開總中斷       
  28. }

  29. /*******************************************************************************
  30. * 函 數(shù) 名       : main
  31. * 函數(shù)功能                 : 主函數(shù)
  32. * 輸    入       : 無
  33. * 輸    出             : 無
  34. *******************************************************************************/
  35. void main()
  36. {       
  37.         Int0Init();  //        設(shè)置外部中斷0

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

  43. /*******************************************************************************
  44. * 函 數(shù) 名         : Int0()        interrupt 0
  45. * 函數(shù)功能                   : 外部中斷0的中斷函數(shù)
  46. * 輸    入         : 無
  47. * 輸    出         : 無
  48. *******************************************************************************/

  49. void Int0()        interrupt 0                //外部中斷0的中斷函數(shù)
  50. {        a++;
  51. }
復(fù)制代碼

所有資料51hei提供下載:
外部中斷控制數(shù)碼管.rar (43.14 KB, 下載次數(shù): 33)







歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1