找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

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

基于單片機(jī)的速度測(cè)量系統(tǒng)設(shè)計(jì)(程序+電路原理圖)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:457523 發(fā)表于 2018-12-28 18:24 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
要求:
設(shè)計(jì)一個(gè)汽車(chē)速度測(cè)速系統(tǒng),已知車(chē)輪直徑D一米,
器件清單: 光電傳感器,單片機(jī),共陽(yáng)極數(shù)碼管
本系統(tǒng)設(shè)計(jì)主要內(nèi)容
1信號(hào)采集  這部分主要采用光電信號(hào)傳感器采集信號(hào),并傳向單片機(jī)

2單片機(jī)數(shù)據(jù)處理   這部分主要才用單片機(jī)采用適當(dāng)?shù)乃惴,?duì)相關(guān)數(shù)據(jù)進(jìn)行相關(guān)運(yùn)算并得出結(jié)果
3 Led數(shù)字顯示     這部分主要通過(guò)7位共陽(yáng)極數(shù)碼管顯示給用戶(hù)。
4 protues仿真
。 光電脈沖發(fā)生器
   在車(chē)輪上安裝光電傳感器,輪子轉(zhuǎn)一次得到一個(gè)脈沖,經(jīng)過(guò)信號(hào)處理,通過(guò)T1口傳到單片機(jī),經(jīng)過(guò)單片機(jī)處理,通過(guò)數(shù)碼管顯示。如圖所示:


單片機(jī)測(cè)速系統(tǒng)總原理圖
二. 系統(tǒng)程序設(shè)計(jì):
本設(shè)計(jì)軟件主要分為主程序,中斷服務(wù)子程序,led數(shù)碼管顯示子程序三個(gè)部分。軟件功能在keil中編寫(xiě)c語(yǔ)言實(shí)現(xiàn)。
中斷函數(shù)程序如下:
void  timero(void) interrupt 1    //中斷子程序
{
TR1=0; TR0=0;
TF0=0;
TL0=0x00;
TH0=0x4c;
k++;
if(k>=20)       //每50ms中斷一次,那么當(dāng)K》=20是就是1s,每一秒計(jì)算一次顓頊
{
   js=TH1*256+TL1;
   TH1=0; TL1=0;              k=0;
  }
js=0;  TR0=1;
}

三.Led顯示子程序  主要通過(guò)控制共陽(yáng)極來(lái)實(shí)現(xiàn)由p1線(xiàn)控制四個(gè)數(shù)碼管
while(1)
{
P0=SEG_TAB[ss/10000];
P2_0=0;
delay(10);
P0=SEG_TAB[(ss%100000)/100];
P2_1=0;
delay(10);
P0=SEG_TAB[(ss%100000)%100/10];
P2_2=0;
delay(10);
P0=SEG_TAB[(ss%100000)%100%10];
P2_3=0;
delay(10);
附錄
單片機(jī)測(cè)量系統(tǒng)主程序如下:
  1. #include <reg51.h>
  2. #include <stdio.h>
  3. #define uchar unsigned char
  4. #define unit unsigned int
  5. #define ulong unsigned long
  6. #define R   5
  7. #define PI  314  //段暄定義
  8. sbit  P0_0=P0^0;
  9. sbit  P0_1=P0^1;
  10. sbit  P0_2=P0^2;
  11. sbit  P0_3=P0^3;
  12. sbit  P0_4=P0^4;
  13. sbit  P0_5=P0^5;
  14. sbit  P0_6=P0^6;
  15. sbit  P0_7=P0^7;
  16. //位選定義
  17. sbit  P2_0=P2^0;
  18. sbit  P2_1=P2^1;
  19. sbit  P2_2=P2^2;
  20. sbit  P2_3=P2^3;
  21. uchar  SEG_TAB[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
  22. ulong js=0;
  23. uchar k=0;
  24. void main()
  25. {
  26. int ss=js*2*PI*R;
  27. TMOD=0x51;
  28. TL1=0x00;  TH1=0x00;
  29. TL0=0x00;TH0=0x4c;
  30. IE=0x82;
  31. TR0=1;//定時(shí)開(kāi)始
  32. while(1)
  33. {
  34. P0=SEG_TAB[ss/10000];
  35. P2_0=0;
  36. delay(10);
  37. P0=SEG_TAB[(ss%100000)/100];
  38. P2_1=0;
  39. delay(10);
  40. P0=SEG_TAB[(ss%100000)%100/10];
  41. P2_2=0;
  42. delay(10);
  43. P0=SEG_TAB[(ss%100000)%100%10];
  44. P2_3=0;
  45. delay(10);
  46. }
  47. }
  48. void  timero(void) interrupt 1    //中斷子程序
  49. {
  50. TR1=0; TR0=0;
  51. TF0=0;
  52. TL0=0x00;
  53. TH0=0x4c;
  54. k++;
  55. if(k>=20)
  56. {
  57.    js=TH1*256+TL1;
  58.    TH1=0; TL1=0;              k=0;
  59.   }
  60. js=0;  TR0=1;

  61. }
  62. void delay(unsigned int time)
  63. {
  64. unsigned int j=0;
  65. for(;time>o;time--);
  66.    for(j=0;j<125;j++);


  67. }
復(fù)制代碼

完整的Word格式文檔51黑下載地址:
基于單片機(jī)的速度測(cè)量系統(tǒng).doc (46.5 KB, 下載次數(shù): 47)


評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

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

使用道具 舉報(bào)

沙發(fā)
ID:620780 發(fā)表于 2019-10-29 22:16 | 只看該作者
沒(méi)有proteus的文件嗎
回復(fù)

使用道具 舉報(bào)

板凳
ID:893774 發(fā)表于 2021-3-19 09:05 | 只看該作者
這個(gè)是不是無(wú)法仿真,得有實(shí)際測(cè)試才可以
回復(fù)

使用道具 舉報(bào)

地板
ID:664656 發(fā)表于 2022-3-6 16:39 | 只看該作者
大佬大佬,程序里面的js是時(shí)間嗎,如果是時(shí)間的話(huà)ss=js*2*PI*R該怎么理解
回復(fù)

使用道具 舉報(bào)

5#
ID:664656 發(fā)表于 2022-3-12 22:09 | 只看該作者
大佬,我按照你的仿真做了沒(méi)反應(yīng)呀,就算加了時(shí)鐘激勵(lì)源也沒(méi)反應(yīng)這是為啥呢
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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