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

標題: 單片機查詢方式和中斷方式的區別詳解 [打印本頁]

作者: yuduan66    時間: 2019-3-29 11:11
標題: 單片機查詢方式和中斷方式的區別詳解
查詢方式就是不斷的查詢某個標志位,需要耗費大量的cpu 的時間,一般情況下除專門用于延時外不用這種方式(自己認為),中斷方式比較適合處理具有隨即特性的事件,事件發生后向cpu提出申請,然后cpu會保存當前的任務轉去處理事件
編程時查詢方式要不斷查詢標志位,而中斷要編寫中斷服務子程序來處理中斷事件


你看看上面的,能不能編個中斷方式的程序給我咯

比方說定時100ms,分別用查詢法和中斷法實現
查詢法
#include<reg52.h>
void  main()
{
  TMOD=0X01;//定時器0方式1
   TH0=(65536-10000)%256;//定時器器初值
  TL0=(65536-10000)/256;
  ET0=0;//關定時器0中斷
  TR0=1;
   while(TF0==0);//若定時完成則中斷標志位TF0為1,在此不斷查詢TF0
   TR0=1;//完成定時關閉定時器
    while(1); //等待
  
}
中斷法
#include<reg52.h>
void  main()
{
  TMOD=0X01;//定時器0方式1
   TH0=(65536-10000)%256;//定時器器初值
  TL0=(65536-10000)/256;
   EA=1;//開總中斷
  ET0=1;//關定時器0中斷
  TR0=1;//打開定時器
  while(1); //等待
}
void  isr_timer0 interrupt 1
{
  TR0=0;//關閉定時器
}
另一個實例:P3.2口接有一個按鍵,未按下為高電平,按下則為低電平,當按下鍵時點亮一個led燈
查詢法
#include<reg52.h>
sbit led=P1^1;//led是共陰極接法
sbit key=P3^2//按鍵接到p3.0口
void main()
{
  led=0;//熄滅所有燈
while(key==1);//沒有鍵按下則等待(不斷查詢p3.0的狀態)
led=1;//點亮燈
while(1);
}
中斷法
#include<reg52.h>
sbit led=P1^1;//led是共陰極接法
void main()
{
  led=0;//熄滅所有燈
  while(1);
}
void  isr_led interrupt 0
{
  led0=1;//點亮燈
}




作者: zlstone1974    時間: 2020-6-17 09:23
你的查詢法都沒有包含在大循環中怎么實現查詢。




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 精品国产一区二区三区免费 | 国产精品视频网 | 久久躁日日躁aaaaxxxx | 一区二区三区欧美大片 | 国产精品免费一区二区 | 激情国产| 久久婷婷av | 色网站在线免费观看 | 日韩 欧美 综合 | 天天干干 | av特级毛片 | 国产精品久久久 | 免费美女网站 | 视频二区在线观看 | 在线观看国产h | 午夜影院在线观看视频 | 性高朝久久久久久久3小时 av一区二区三区四区 | 成人福利 | 国产一区二区三区在线 | 午夜精品久久久久久久久久久久 | 精品一区二区三区入口 | 久久精品亚洲精品国产欧美 | 成人午夜电影网 | 精品国产乱码久久久久久中文 | 亚洲国产高清高潮精品美女 | 99热精品在线 | 亚洲国产精品福利 | 久久av网 | 亚洲国产成人精品久久久国产成人一区 | 日韩一区二区三区在线视频 | 国产特级毛片aaaaaa | 一区二区三区日韩精品 | 亚洲国产精品99久久久久久久久 | 日韩视频国产 | 欧美最猛黑人 | 四虎影院在线免费观看 | 日韩一区在线视频 | 久久精品成人 | 国产精品国产精品国产专区不蜜 | 欧美不卡在线 | 亚洲精品久久久久久久久久久 |