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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2383|回復: 1
打印 上一主題 下一主題
收起左側

單片機中斷系統應用試驗(計數器)

[復制鏈接]
跳轉到指定樓層
樓主
ID:555393 發表于 2019-6-5 10:30 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
一、實驗目的
1.掌握外部中斷技術的基本使用方法
2.掌握中斷處理程序的編寫方法
   
二、實驗內容
使用五個數碼管從”00000”開始進行加法計數值到”60000”后重新計數。按動K2鍵時計數暫停,再按繼續計數,每次按鍵操作都需要配上按鍵同步音,即蜂鳴器短暫發聲。


三.實驗步驟
1.新建工程->新建*.c文件->將文件添加到該工程;
注意:Output時要在Create Hex file項打勾。*.hex文件是用于燒錄到板子上的。若不操作這一步,會在編譯時不會自動創建*.hex文件。

2、設置一個中斷函數,用于控制按鈕,在中斷函數中;當flag為1時,cnt自加1;當flag為0時 cnt不變;flag的變化是由按鍵k2控制(本次設計)即講k2連接口與P3.2引腳連接;

3、蜂鳴器:在中斷函數中設置蜂鳴器。

三、實驗代碼
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
#define OUT P1


uint cnt;
bit flag;
sbit LS138A=P2^7;
sbit LS138B=P2^6;
sbit LS138C=P2^5;
sbit BEEP=P3^5;
unsigned int k;

unsigned char code dispTab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40};

//chose position

void selectPosition(char i)
{
    switch(i)
    {
        case 0: LS138A=0;LS138B=0;LS138C=0;break;
        case 1: LS138A=1;LS138B=0;LS138C=0;break;
        case 2: LS138A=0;LS138B=1;LS138C=0;break;
        case 3: LS138A=1;LS138B=1;LS138C=0;break;
        case 4: LS138A=0;LS138B=0;LS138C=1;break;
        case 5: LS138A=1;LS138B=0;LS138C=1;break;
        case 6: LS138A=0;LS138B=1;LS138C=1;break;
        case 7: LS138A=1;LS138B=1;LS138C=1;
    }
}




/*************************/

void init(void)
{
  flag = 0;
  EA=1;
  EX0=1;
  IT0=1;
}


/************************/
void delay(uint k)
{
uint data i,j;
  for(i=0;i<k;i++)
  {
    for(j=0;j<20;j++)
    {
    ;
    }
  }
}
/********************/

void main(void)
{
uchar i;
init();
while(1)
{
    if(flag)cnt++;
    if(cnt>60000)cnt=0;
    for(i=0;i<100;i++)
    {
      selectPosition(3);
      OUT=dispTab[cnt/10000];
      delay(10);
      selectPosition(4);
      OUT=dispTab[cnt%10000/1000];
      delay(10);
      selectPosition(5);
      OUT=dispTab[cnt%1000/100];
      delay(10);
      selectPosition(6);
      OUT=dispTab[(cnt%100)/10];
      delay(10);
      selectPosition(7);
      OUT=dispTab[cnt%10];
      delay(10);
    }
}
}

/************/

void extem_int0(void)interrupt 0 using 0
{
   flag=!flag;

   for(k=0;k<25;k++)
   {
       BEEP=1;
    delay(10);
    BEEP=0;
    delay(10);
   }
}



四.實驗結果
開始時,數碼管顯示00000;當按下K1鍵時,數碼管數字開始變化;當再次按鍵時,變化暫停。一旦按鍵,就會蜂鳴一聲;再按一次,數碼管數字繼續變化。

完整的Word格式文檔51黑下載地址:
計數器.docx (19.79 KB, 下載次數: 12)


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:328014 發表于 2019-6-12 04:02 | 只看該作者
好資料,51黑有你更精彩!!!
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 午夜欧美 | 日本在线一区二区三区 | 久久99精品久久久久久国产越南 | 欧美亚洲网站 | 深夜福利影院 | 九九九久久国产免费 | 国产精品激情小视频 | 一区二区在线不卡 | 成人av一区| 欧美视频二区 | 亚洲一区二区三区四区五区中文 | 巨大荫蒂视频欧美另类大 | 91久久精品 | 中文字幕丁香5月 | 性色av一区二区三区 | 精品国产一区二区三区久久久蜜月 | 国产精彩视频在线观看 | 欧美一区二区三区久久精品 | 精品国产伦一区二区三区观看方式 | 亚洲视频在线一区 | 久久久久久国产 | 天堂一区在线 | 久久这里只有精品首页 | 亚洲精品456| 四虎成人精品永久免费av九九 | 成人在线视频网 | 中文字幕 在线观看 | 午夜寂寞影院列表 | 三级高清 | 精品网站999www | 日韩精品一区二区久久 | 成人免费在线 | 国产精品久久久久久久久久久新郎 | 一区二区亚洲 | 亚洲欧洲小视频 | av大片| 欧美日韩国产一区二区三区 | www国产成人免费观看视频,深夜成人网 | 一区二区三区在线免费观看视频 | 亚洲视频一区在线观看 | 黄色三级毛片 |