久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: 單片機INT0及INT1中斷計數仿真加源代碼 [打印本頁]

作者: longllls    時間: 2017-12-5 09:49
標題: 單片機INT0及INT1中斷計數仿真加源代碼
這是我今天做的單片機實驗,附件里面包含INT0及INT1中斷計數源代碼,proteus仿真工程文件
說明:每次按下第1個計數鍵時,第1組計數值累加并顯示在右邊3只數碼管上, 每次按下第2個計數鍵時,第2組計數值累加并顯示在左邊3只數碼管上,后兩個按鍵分別清零。

仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


單片機源代碼:
  1. #include<reg51.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. sbit K3=P3^4;        //2個清零鍵
  5. sbit K4=P3^5;
  6. //數碼管段碼與位碼
  7. uchar code DSY_CODE[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};
  8. uchar code DSY_Scan_Bits[]={0x20,0x10,0x08,0x04,0x02,0x01};
  9. //2組計數的顯示緩沖,前3位一組,后3位一組
  10. uchar data Buffer_Counts[]={0,0,0,0,0,0};
  11. uint Count_A,Count_B=0;
  12. //延時
  13. void DelayMS(uint x)
  14. {
  15.         uchar t;
  16.         while(x--) for(t=0;t<120;t++);
  17. }
  18. //數據顯示
  19. void Show_Counts()
  20. {
  21.         uchar i;
  22.         Buffer_Counts[2]=Count_A/100;
  23.         Buffer_Counts[1]=Count_A%100/10;
  24.         Buffer_Counts[0]=Count_A%10;
  25.         if(        Buffer_Counts[2]==0)
  26.         {
  27.                 Buffer_Counts[2]=0x0a;
  28.                 if(        Buffer_Counts[1]==0)
  29.                         Buffer_Counts[1]=0x0a;
  30.         }
  31.         Buffer_Counts[5]=Count_B/100;
  32.         Buffer_Counts[4]=Count_B%100/10;
  33.         Buffer_Counts[3]=Count_B%10;
  34.         if(        Buffer_Counts[5]==0)
  35.         {
  36.                 Buffer_Counts[5]=0x0a;
  37.                 if(        Buffer_Counts[4]==0)
  38.                         Buffer_Counts[4]=0x0a;
  39.         }
  40.         for(i=0;i<6;i++)
  41.         {
  42.                 P2=DSY_Scan_Bits[i];
  43.                 P1=DSY_CODE[Buffer_Counts[i]];
  44.                 DelayMS(1);
  45.         }
  46. }
  47. //主程序
  48. void main()
  49. {
  50.         IE=0x85;
  51.         PX0=1;        //中斷優先
  52.         IT0=1;
  53.         IT1=1;
  54.         while(1)
  55.         {
  56.                 if(K3==0) Count_A=0;
  57.                 if(K4==0) Count_B=0;
  58.                 Show_Counts();
  59.         }
  60. }
  61. //INT0中斷函數
  62. void EX_INT0() interrupt 0
  63. {
  64.         Count_A++;         
  65. }
  66. //INT1中斷函數
  67. void EX_INT1() interrupt 2
  68. {
  69.         Count_B++;         
  70. }
復制代碼

全部資料51hei下載地址:
INT0及INT1中斷計數.rar (37.94 KB, 下載次數: 29)







歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 精品永久 | 国产精品久久 | 国产欧美一区二区三区在线看 | 久久新视频 | 伊人网在线综合 | 丁香综合 | japanhdxxxx裸体| 欧美四虎| 亚洲免费福利视频 | 国产分类视频 | 在线国产视频 | 99久久久久久99国产精品免 | 精品欧美久久 | av网站在线播放 | 国产伦精品一区二区三区精品视频 | 在线色 | 国产高清免费视频 | 亚洲第一在线 | 亚洲精品免费观看 | 成人网在线观看 | 精品久| 精品国产一区探花在线观看 | 国产在线一区二区三区 | 免费午夜剧场 | 成人区一区二区三区 | 黑人久久久 | www.4虎影院| 欧美亚洲综合久久 | 日日夜夜精品视频 | 日韩视频区 | 不卡一区二区三区四区 | 国产在线观看一区二区 | 玖玖视频国产 | 国产视频第一页 | 野狼在线社区2017入口 | 免费一区 | 国内精品久久久久久 | 成人精品在线观看 | 久久神马 | 韩日精品一区 | 国产精品毛片无码 |