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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

霍爾傳感器 51單片機轉速表

  [復制鏈接]
跳轉到指定樓層
樓主
ID:113276 發表于 2016-4-10 21:38 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
//本程序采用1秒定時方法對1秒內脈沖進行計數,以此計數轉速,本程序經測試正常,用霍爾元件進行速度傳感!
//本程序 采用1602液晶作為顯示!
//李干云
源程序如下
#include <AT89X52.h>
#include <intrins.h>
#define uint  unsigned int
#define uchar unsigned char
sbit d_led=P1^7;
sbit rs = P3^5 ;
sbit rw = P3^6 ;
sbit en = P3^7 ;
uchar   time[3];
uchar   dis_buf[24];
uchar pos_d;
uchar dis_d;
uchar dl=20;//時間循環次數//50ms中斷一次
uint temp1,n2;
uchar n,n3;
//uint table[6];
//------------------------------------------------------------
bit r_busy() //測試忙狀態
{
bit busy;
rs=0;
rw=1;
en=1;
//busy=(bit)(P0&0x80);
if((P0&0X80)==0X80) busy=0;else busy=0;
en=0;
return busy;
}
//------------------------------------------------------------
void w_cmd(cmd)// 寫命令
{
rs=0;
rw=0;
en=0;
P0=cmd;
en=1;
en=0;
}
//------------------------------------------------------------
void w_pos(uchar pos)// 寫顯示位置   地址數據
{
w_cmd(pos +0x82) ;      //顯示第一行或第二行,第一行0x80
}
//------------------------------------------------------------
void w_pos1(uchar pos)// 寫顯示位置   地址數據
{
w_cmd(pos +0xc1) ;      //顯示第一行或第二行,第一行0x80
}
//------------------------------------------------------------
void w_dat(uchar dat)// 寫數據
{
while(r_busy());
rs=1;
rw=0;
en=0;
P0=dat;
en=1;
en=0;
}
//------------------------------------------------------------
void delay(uchar ms) // 延時子程序
{      
uchar i ;
while(ms--)
{
   for(i=0;i<250;i++) ;
}
}
//------------------------------------------------------------
dis_dat()//數據轉換
{
   dis_buf[0]='<'; //顯示t
   dis_buf[1]='L'; //i  
   dis_buf[2]='i'; // m
   dis_buf[3]='a';  //e  
   dis_buf[4]='h';
   dis_buf[5]='u';
   dis_buf[6]='i';
   dis_buf[7]='.';
   dis_buf[8]='M';
   dis_buf[9]='C';
   dis_buf[10]='U';
   dis_buf[11]='>';
   dis_buf[12]='I';
   dis_buf[13]='S';
   dis_buf[14]=' ';
   dis_buf[15]=((temp1/10000)+0x30);  
   dis_buf[16]=((temp1/1000%10)+0x30);   
   dis_buf[17]=((temp1/100%10)+0x30);
   dis_buf[18]= ((temp1/10%10)+0x30);
   dis_buf[19]=((temp1%10)+0x30);
   dis_buf[20]=' ';  
   dis_buf[21]='P';
   dis_buf[22]='P';
   dis_buf[23]='M';  
   

   
   
        
   }
//------------------------------------------------------------
void timer0 (void) interrupt 1 //using 3
{
TH0=(65536-46080)/256;
TL0=(65536-46080)%256;
   
if(dl--==0)//判斷是否次數為20
{
   dl=20;
   d_led=!d_led;
if ((++time[0])>59)
{
time[1]++;
time[0]=0;
}
else if (time[1]>59)
{
time[2]++;
time[1]=0;
}
else if (time[2]>23)
{
time[2]=0;
time[1]=0;
    time[0]=0;
    }
              
}
   else ; //跳出中斷
}
//------------------------------------------------------------
void lcd_inti(void)//lcd初始化
{
delay(15);
w_cmd(0x01);//清屏
delay(15);
w_cmd(0x09);//設定輸入模式,地址遞加
delay(15);
w_cmd(0x38);//功能設置,數據長度8位,雙列字形,1:5*10字形
delay(15);
w_cmd(0x0f);//開顯示,關閉光標字符不閃爍
delay(15);
}
//------------------------------------------------------------
void timer0_inti(void)//定時器TO中斷初始化
{
  TMOD=0X11;
  TH0=(65536-50000)/256;
  TL0=(65536-50000)%256;
EA=1;
ET0=1;
PX0=1;//  中斷0高優先級
IT0=1;
EX0=1;

}
//------------------------------------------------------------
main()
{
time[0]=0;      //sec
time[1]=11;      //min
time[2]=14;      //hour
lcd_inti();
timer0_inti();
//TH0=15;TL0=160;
TH0=0;TL0=0;
while(1)
{

for(pos_d=0;pos_d<=23;pos_d++)
{
      if(pos_d<=11) w_pos(pos_d); //寫地址
      
   
       else
       { dis_dat(); //數據轉換
         w_pos1(pos_d-11);
         
       }
       dis_d=dis_buf[pos_d];
       w_dat(dis_d);
       delay(1);
   
}
}
}
void time0(void) interrupt 1 using 2
{

   TH0=(65536-49550)/256;
   TL0=(65536-49550)%256;
   n3++;
   if(n3==20)
    { P1_6=0;
      temp1=n2*60;n2=0;n3=0;TR0=0;
   
    }

}

void int0_srv(void) interrupt 0 using 1 //外部中斷0
{
  n2++; TR0=1;
   
}


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

使用道具 舉報

沙發
ID:118210 發表于 2016-5-3 19:17 | 只看該作者
有沒有原理圖??
回復

使用道具 舉報

板凳
ID:160752 發表于 2017-1-14 16:08 | 只看該作者
只有程序,沒原理圖么
回復

使用道具 舉報

地板
ID:44165 發表于 2018-3-5 15:37 | 只看該作者
學習學習!
回復

使用道具 舉報

5#
ID:287805 發表于 2018-3-5 15:48 | 只看該作者
很不錯
回復

使用道具 舉報

6#
ID:287854 發表于 2018-3-5 17:25 | 只看該作者
層次不清晰    不過還挺好的! 點贊
回復

使用道具 舉報

7#
ID:330988 發表于 2018-5-16 09:33 | 只看該作者
有原理圖嗎
回復

使用道具 舉報

8#
ID:330988 發表于 2018-5-16 09:33 | 只看該作者
有原理圖嗎
回復

使用道具 舉報

9#
ID:66287 發表于 2018-7-26 08:04 | 只看該作者
寫的非常不錯,頂一個
回復

使用道具 舉報

10#
ID:572846 發表于 2019-6-26 19:44 | 只看該作者
可以的非常不錯
回復

使用道具 舉報

11#
ID:492633 發表于 2024-12-7 16:59 | 只看該作者
路書光 發表于 2017-1-14 16:08
只有程序,沒原理圖么

看程序就知道原理圖了,這個又不復雜
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美激情在线观看一区二区三区 | 久久久久亚洲精品 | 亚洲高清一区二区三区 | 成人影院av | 在线不卡| 亚洲一一在线 | 亚洲成a人片 | 欧美精品一区二区三区四区五区 | 在线色网 | 亚洲一区二区免费电影 | 免费黄色片在线观看 | 精品中文视频 | 精产国产伦理一二三区 | 91免费观看视频 | 精品久久精品 | 久久精品亚洲精品国产欧美 | 亚洲国产精品久久 | 国产不卡视频 | 国产1区2区3区 | 奇米av| 欧美国产中文字幕 | 曰韩一二三区 | 亚洲视频三 | 国产人成在线观看 | 97综合在线 | 91欧美精品成人综合在线观看 | 久久精品无码一区二区三区 | 欧美精品在线一区二区三区 | 欧一区| 国外成人在线视频网站 | 一区二区三区国产 | 中文字幕第一页在线 | 狠狠的干狠狠的操 | 麻豆久久久久久 | 日韩欧美操 | 久久久久久久久久久久久9999 | 午夜在线电影网 | 手机三级电影 | 综合久久久| 欧美自拍视频 | 中日韩欧美一级片 |