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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2593|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

51單片機(jī) 轉(zhuǎn)速計(jì)程序求助

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:78949 發(fā)表于 2015-5-5 13:09 | 只看該作者 回帖獎勵 |倒序?yàn)g覽 |閱讀模式
各位高手,鄙人新手,用89c52做了個轉(zhuǎn)速計(jì),思路是通過測量兩個信號之間的周期的方法來測算轉(zhuǎn)速。具體做法是用外部中斷0和定時器0,外部中斷作為信號輸入端,當(dāng)外部中斷產(chǎn)生第一次跳變?yōu)?時,啟動定時器0.定時器開始計(jì)時1MS,1毫秒滿溢出時,TF0清零,在賦初值 同時temp加1,當(dāng)外部中斷再次產(chǎn)生跳變?yōu)?時,關(guān)閉定時器,得到兩個轉(zhuǎn)速信號的時間temp.然后用60000(60秒*1000ms)除以temp得到RPM值,計(jì)算后將RPM值送數(shù)碼管顯示。實(shí)際試驗(yàn)的時候數(shù)碼管有時候顯示的 RPM是正確的 有時候會顯示65535.而在外部中斷中程式設(shè)計(jì)為:第一次收到外部中斷信號的時候 LED點(diǎn)亮  外部中斷再次收到中斷信號的時候要關(guān)閉LED,單實(shí)際測試的時候RPM數(shù)值顯示正確的時候LED卻是一直點(diǎn)亮的,而顯示值為65535的時候 LED燈卻是在閃爍,程序或思路中定有不妥之處 懇請高人指點(diǎn)迷津 不勝感激
                                                                                                                                                                                                       代代碼如下:
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit gewei=P1^7;
sbit shiwei=P1^6;
sbit baiwei=P1^5;
sbit qianwei=P1^4;
sbit wanwei=P1^3;
sbit led1=P2^0;
uchar code table[]={
0xc0,0xf9,0xa4,0xb0,
0x99,0x92,0x82,0xf8,
0x80,0x90,0x88,0x83,
0xc6,0xa1,0x86,0x8e,0xff,};
uchar bai,shi,ge,i,qian,wan;
uint temp,rpm;
uchar l=0;
void init();
void main()
{
init();
while(1)
{
   if(TF0==1) //定時器1計(jì)時滿1MS 溢出
   {         
    TF0=0;   //TF0清零
  TH0=(65536-960)/256;  //定時器重新賦初值 定時1MS
       TL0=(65536-960)%256;
    temp++;  //毫秒值累計(jì)
  if(temp>=6000) //超過6秒無信號,數(shù)碼管顯示清零
  {   //(10RPM以下值為無效值)
   temp=0;
   rpm=0;
   TR0=0;
   led1=1;
  }
   }
   wan=rpm/10000%10;    //計(jì)算萬位值
   qian=rpm/1000%10;    //計(jì)算千位值
   bai=rpm/100%10;    //計(jì)算百位值
   shi=rpm/10%10;    //計(jì)算十位值
   ge=rpm%10;     //計(jì)算個位值
   P1=0xff;  //進(jìn)入數(shù)碼管掃描顯示RPM值前關(guān)閉位顯示
   switch(l)  //依此掃描顯示RPM值
   {
     case 0:l++;P0=table[wan];wanwei=0;break;
  case 1:l++;P0=table[qian];qianwei=0;break;
  case 2:l++;P0=table[bai];baiwei=0;break;
  case 3:l++;P0=table[shi];shiwei=0;break;
  case 4:l=0;P0=table[ge];gewei=0;break;
    }
   
  }
}
void init()   //初始化
{
temp=0;
rpm=0;
i=0;
    EA=1;
TMOD=0x01;
EX0=1;
IT0=1;
}
void extimer0() interrupt 0
{
EA=0;   //關(guān)閉總中斷,停止定時器1
if(i==0)  //外部中斷第一次電平跳變
{
  TH0=(65536-960)/256;  //定時器重新賦初值 定時1MS
          TL0=(65536-960)%256;
  temp=0;
  TR0=1;    //開啟定時器1
  i=1;    //i賦1
  led1=0;
      
}
    else //外部中斷第二次電平跳變
{
  TR0=0;   //關(guān)閉啟定時器1
   rpm=(60000/temp);  //計(jì)算RPM數(shù)值
  i=0;      //i清零
  led1=1;    //關(guān)閉LED燈
}
EA=1;     //開啟總中斷

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

相關(guān)帖子

回復(fù)

使用道具 舉報

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

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 一区二区精品 | 亚洲精品第一国产综合野 | 久久综合婷婷 | 国产精品福利网站 | 久久久一区二区三区四区 | 国产一区不卡 | 免费一级片| 日本在线一区二区 | 综合激情网| 天天拍天天插 | 日韩在线视频一区二区三区 | 日韩中文字幕在线免费 | 国产一区二区三区久久久久久久久 | 亚洲三区在线 | 亚洲欧美激情精品一区二区 | 天天操人人干 | 日韩中文字幕网 | 日韩视频一区二区 | 中文字幕欧美一区 | 日本成人中文字幕在线观看 | 久草视频在线播放 | 免费视频一区二区 | 日本在线免费 | 99亚洲 | 精品久久久久久久久久久久 | 自拍视频一区二区三区 | 在线播放中文字幕 | 午夜午夜精品一区二区三区文 | 日本人麻豆 | 精品久久久久久久久久久院品网 | 欧美精品一区二区在线观看 | 91精品国产色综合久久不卡98口 | 一区二区三区在线免费 | 国产视频在线观看一区二区三区 | 久久视频免费观看 | 亚洲一区国产精品 | 亚洲一区二区久久 | 日韩三级视频 | av看片网站| 91夜色在线观看 | 91激情电影|