七七影院色七七_免费观看欧美a一级黄片_亚洲综合久久久久久中文字幕_国产999999在线视频免费观看,国产小视频无码,国产精品亚洲日日摸夜夜添,女人高潮潮叫免费网站,久久影院国产精品,日韩成人在线影院,欧美囗交XX×BBB视频,色在线综合高清

機(jī)械社區(qū)

 找回密碼
 注冊(cè)會(huì)員

QQ登錄

只需一步,快速開始

搜索
查看: 78036|回復(fù): 203
打印 上一主題 下一主題

DIY自行車速度里程表

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
1#
發(fā)表于 2011-8-1 19:28:57 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
本帖最后由 1五湖四海1 于 2011-8-1 20:38 編輯

   上班以后,,路程比較遠(yuǎn)就很少騎車了,最近單位發(fā)了一臺(tái)自行車,。周末休息時(shí)上公園騎了幾圈,。回來后想如果有個(gè)速度表就好了,,看看自己能騎到多少Km/h,。自己是個(gè)愛制作DIY的電子愛好者,坐著想了一個(gè)設(shè)計(jì)方案,。這個(gè)要有里程表有速度顯示和行駛時(shí)間顯示,。這些功能只要一個(gè)功能強(qiáng)大的單片機(jī)就可以完成要求。
   功能上采用6個(gè)數(shù)碼管做顯示,,打開后左邊三位顯示里程數(shù)單位為Km,,右邊兩位顯示速度單位為Km/h,。當(dāng)按下轉(zhuǎn)換按鈕后,顯示內(nèi)容切換到顯示行駛時(shí)間,,左邊兩位顯示小時(shí),,右邊兩位顯示分鐘,秒信號(hào)用中間小數(shù)點(diǎn)閃爍顯示,。再次按下轉(zhuǎn)換按鈕時(shí),,所以數(shù)碼管關(guān)閉以節(jié)省電能,再按下轉(zhuǎn)換按鈕回到顯示里程速度,。
  那天坐公交車,,汽車突然啟動(dòng)時(shí),這時(shí)有個(gè)加速度到勻速行駛,。這讓我想起水銀開關(guān),,利用水銀開關(guān)成45度角放置在垂直平面水銀開關(guān)頭朝后。這樣就可以完成加速度檢測(cè)了,。如果車停止或勻速前進(jìn)時(shí)水銀開關(guān)閉合,。一旦汽車啟動(dòng)或加速后水銀開關(guān)斷開,等到勻速后水銀開關(guān)再次閉合,。只有計(jì)算出從閉合到斷開再到閉合的時(shí)間就可以知道加速度大小了,。同樣原理可以制成減速檢測(cè)。我利用這一原理將加速度檢測(cè)加到了自行車速度里程表,。我還利用555制作了一個(gè)1KHz的頻率信號(hào)輸入到揚(yáng)聲器做提示音,,如果超速時(shí)發(fā)出提示音。
  我制作這個(gè)自行車速度里程表出于自己對(duì)DIY單片機(jī)興趣愛好,,我認(rèn)為在實(shí)用性上也很方便可以測(cè)速度,,里程,行駛時(shí)間和加速度而且還帶揚(yáng)聲器超速時(shí)提示,,用起來蠻好的,。
   自行車速度里程表由硬件和軟件組成,硬件是由單片機(jī)最小系統(tǒng)加六位掃描數(shù)碼管和霍爾速度傳感器構(gòu)成,。軟件用C語言編寫的下面是源程序還有單片機(jī)原理圖
///////////2010.08.09.21:00///////////////////
#include<reg52.h>
#include<absacc.h>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char
#define shum P1  //數(shù)碼
#define saom P2 //數(shù)碼掃描
unsigned char code xsjs[]={~0x3F,~0x06,~0x5B,~0x4F,~0x66,~0x6D,~0x7D,~0x07,~0x7F,~0x6F ,~0x00};
char disp[4]={0,0,0,0};
uchar T0count;        //T0的計(jì)數(shù)單元中讀取計(jì)數(shù)的數(shù)值
uchar timecount;       //
bit flag;  
bit d_05s=0;
uchar set=0;  
uchar sp=30;                 //標(biāo)志位
unsigned long x;
unsigned long z;
unsigned long y;
unsigned long a;
unsigned long d;
uchar hour=0,min=0,sec=0;
uchar xPos,yPos;
uchar i;
uchar she=30;
V[7];
uint j=0;
sbit P0_1=P0^1;
sbit P2_1=P2^1;
sbit P1_7=P1^7;
sbit P3_1=P3^1;
sbit P3_2=P3^2;
sbit P3_4=P3^4;
sbit P3_5=P3^5;
sbit P3_6=P3^6;
sbit P3_7=P3^7;
void delay(uint k)
{
uint i,j;
for(i=0;j<k;i++)
  {
   for(j=0;j<121;j++);
  }
}
void scan_key()
{
delay(1);
if(P3_2==0)set++;
if(set>=3)set=0;
if(set==1)flag=0x55;
F0:if(P3_2==0)goto F0;
}
void display_led()//數(shù)碼管模塊
{char e,scan;
disp[0]=hour/10;
disp[1]=hour%10;
disp[2]=min/10;
disp[3]=min%10;
P0=0xff;
scan=0xdf;
for(e=0;e<4;e++)
{
shum=0xff;
saom=scan;
  if(d_05s==1)
  {if(e==1)P1_7=0;else P1_7=1;}

P1=xsjs[disp[e]];
delay(4);
scan>>=1;
}
}
void lidisp()
{
d=a/7;

P1=xsjs[y/10000];    P2=0xdf;delay(1);
P1=xsjs[y%10000/1000];     P1_7=0;     P2=0xef;      delay(1);
P1=xsjs[y%1000/100];          P2=0xf7;delay(1);
P1=xsjs[10];            P2=0xfb;delay(1);
P1=xsjs[d/10];         P2=0xfd;delay(1);
P1=xsjs[d%10];       P2=0xfe;delay(1);
}

void main(void)
{



    TMOD=0x15;                 //T0工作為16位計(jì)數(shù)器(方式1),,T1工作方式為16位定時(shí)器
    TH0=0;                     //計(jì)數(shù)為65536                     
    TL0=0;                     //
    TH1=(65536-12000)/256;     //定時(shí)器采用定時(shí)4ms.  初值為12000
    TL1=(65536-12000)%256;
    TR1=1;                    //TR1=1,控制開關(guān)閉合,,計(jì)數(shù)脈沖進(jìn)入T1計(jì)數(shù)器,,啟動(dòng)定時(shí)
    TR0=1;                    //TR0=1,控制開關(guān)閉合,,計(jì)數(shù)脈沖進(jìn)入T1計(jì)數(shù)器,,啟動(dòng)計(jì)數(shù)
    ET0=1;                    //定時(shí)器0開中斷
    ET1=1;                    //定時(shí)器1開中斷
    EA=1;                     //CPU開中斷
    y=0;
while(1)
{  
if(P3_1==1)
{

   if(P3_2==0)scan_key();
   switch(set)
   {
    case 0:   lidisp(); break;
    case 1:   display_led(); break;
    case 2:   P1=0xff;  break;
    default:break;
   }

    if(flag==1)                    //
    {
        flag=0;                        //清標(biāo)志位
        z=2*(T0count*65536+TH0*256+TL0);   //取得時(shí)間寬度參數(shù)
        x=z*36/10;
        y=z+y;

    if(j==0)

    {
     V[0]=x; V[1]=x; V[2]=x; V[3]=x; V[4]=x; V[5]=x; V[6]=x;
     j++;
    }
   if(0<j<=7)
    {
     V[j]=x;
     j++;
    }
   if(j>7)
    {
     j=0;V[j]=x;
     j++;  
    }     
    a=V[0]+V[1]+V[2]+V[3]+V[4]+V[5]+V[6];


    timecount=0;
    T0count=0;
    TH0=0;
    TL0=0;
    TR0=1;         //TR0=1,控制開關(guān)閉合,,計(jì)數(shù)脈沖進(jìn)入T1計(jì)數(shù)器,,啟動(dòng)計(jì)數(shù)
    }
  }
  else
   {if(P3_6==0)she++;if(P3_5==0)she--;
    P1=xsjs[she/10];  P2=0xfd;delay(5);
    P1=xsjs[she%10];  P2=0xfe;delay(5);
   }  
}
}
//;==================================================================================
void t0() interrupt 1 using 0      //T0中斷服務(wù)
{
    T0count++;                      //對(duì)P3,。4口的脈沖進(jìn)行計(jì)數(shù)
}
//;==================================================================================
void t1(void) interrupt 3 using 0       //T1中斷服務(wù)
{
    TH1=(65536-12000)/256;               //計(jì)數(shù)初值重裝載
    TL1=(65536-12000)%256;
    timecount++;
    if(timecount==250)
    {   sec++;
        TR0=0;
        timecount=0;
        flag=1;                              // 置標(biāo)志
    }
     if(timecount<=125)d_05s=0;
     else d_05s=1;   
     if(sec==60){min++;sec=0;}
     if(min==60){hour++;min=0;}
     if(hour==24){hour=0;}  }

點(diǎn)評(píng)

還做了印刷板,這個(gè)成本有點(diǎn)高了吧,。,。。  發(fā)表于 2011-9-10 20:46

評(píng)分

參與人數(shù) 3威望 +22 收起 理由
wzx^-^ + 1 \(^o^)/~,,HM
tigerguo1975 + 1 贊一個(gè)!
老鷹 + 20 NB

查看全部評(píng)分

推薦
發(fā)表于 2011-8-1 19:52:56 | 只看該作者
樓主的東西真讓我羨慕

可惜我是玩純機(jī)械的,我認(rèn)為在前車輪輻條上放上個(gè)東西,,檢測(cè)車輪轉(zhuǎn)動(dòng)的圈數(shù),!
3#
 樓主| 發(fā)表于 2011-8-1 20:09:21 | 只看該作者
tntk 發(fā)表于 2011-8-1 19:52
樓主的東西真讓我羨慕

可惜我是玩純機(jī)械的,我認(rèn)為在前車輪輻條上放上個(gè)東西,,檢測(cè)車輪轉(zhuǎn)動(dòng)的圈數(shù)!

tntk 網(wǎng)友你好:
       你說的對(duì),,我用的是霍爾接近開關(guān)固定在車架上,在車輪輻條上安裝一個(gè)小圓磁鋼,。車輪每轉(zhuǎn)一圈輸出一個(gè)信號(hào),,根據(jù)單位時(shí)間1s檢測(cè)的脈沖數(shù)就可以測(cè)出速度了。
4#
發(fā)表于 2011-8-1 20:12:49 | 只看該作者
準(zhǔn)不準(zhǔn)
5#
發(fā)表于 2011-8-1 20:15:19 | 只看該作者
呵呵呵,,有點(diǎn)意思啊這個(gè)~~~
6#
 樓主| 發(fā)表于 2011-8-1 20:21:07 | 只看該作者
wrzshud 發(fā)表于 2011-8-1 20:12
準(zhǔn)不準(zhǔn)

wrzshud網(wǎng)友你好:
            這個(gè)是拿單片機(jī)內(nèi)定時(shí)器資源制作的,精密計(jì)時(shí)精度一般,,用于測(cè)速精度還是挺高的,。
7#
發(fā)表于 2011-8-1 20:26:27 | 只看該作者
直接買個(gè)自行車的碼表就可以,樓主的動(dòng)手能力很強(qiáng)大,,佩服
8#
 樓主| 發(fā)表于 2011-8-1 20:33:42 | 只看該作者
245037744 發(fā)表于 2011-8-1 20:26
直接買個(gè)自行車的碼表就可以,,樓主的動(dòng)手能力很強(qiáng)大,佩服

你好:
      制作過程是個(gè)享受,,會(huì)遇到想不到的困難,,去解決問題帶來快樂,。制作完安裝在車上體驗(yàn)制作帶來的樂趣。

點(diǎn)評(píng)

不錯(cuò)  發(fā)表于 2011-8-1 21:48
9#
發(fā)表于 2011-8-1 21:15:10 | 只看該作者
嫉妒死了,,喜歡騎車,,但是不會(huì)電啊,!嗚嗚嗚……
10#
發(fā)表于 2011-8-1 21:41:58 | 只看該作者
樓主搞的東西一直是我向往的,,可是一直找不到門路,自己動(dòng)手搞的東西很有成就感,,那種感覺想想就爽

本版積分規(guī)則

小黑屋|手機(jī)版|Archiver|機(jī)械社區(qū) ( 京ICP備10217105號(hào)-1,京ICP證050210號(hào),,浙公網(wǎng)安備33038202004372號(hào) )

GMT+8, 2025-4-20 11:37 , Processed in 0.075717 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回復(fù) 返回頂部 返回列表