加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長(zhǎng)期合作伙伴
立即加入

基于51單片機(jī)的自行車測(cè)速里程碼表設(shè)計(jì)( proteus仿真+程序+設(shè)計(jì)報(bào)告+原理圖+講解視頻)

11/20 08:34
1839
服務(wù)支持:
技術(shù)交流群

完成交易后在“購(gòu)買成功”頁(yè)面掃碼入群,即可與技術(shù)大咖們分享疑惑和經(jīng)驗(yàn)、收獲成長(zhǎng)和認(rèn)同、領(lǐng)取優(yōu)惠和紅包等。

虛擬商品不可退

當(dāng)前內(nèi)容為數(shù)字版權(quán)作品,購(gòu)買后不支持退換且無(wú)法轉(zhuǎn)移使用。

加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論
放大
實(shí)物圖
相關(guān)方案
  • 方案介紹
    • 1. 主要功能:
    • 2. 講解視頻:
    • 3. 仿真設(shè)計(jì)
    • 4. 程序代碼
    • 5. 設(shè)計(jì)報(bào)告
    • 6. 原理圖
    • 7. 設(shè)計(jì)資料內(nèi)容清單
  • 相關(guān)文件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

仿真圖proteus7.8及以上

程序編譯器:keil 4/keil 5

編程語(yǔ)言:C語(yǔ)言

設(shè)計(jì)編號(hào):S0078

1. 主要功能:

基于51單片機(jī)的自行車測(cè)速行駛里程檢測(cè)與顯示設(shè)計(jì)

1、通過(guò)按鍵控制自行車行駛速度;

2、通過(guò)霍爾傳感器測(cè)量自行車當(dāng)前速度;

3、單片機(jī)實(shí)時(shí)檢測(cè)自行車的行駛里程,行駛里程顯示,顯示精度0.01公里;

4、顯示當(dāng)前速度和行駛里程,可按鍵清零;

5、具有超速報(bào)警功能,可以設(shè)置報(bào)警值;

需注意仿真中51單片機(jī)芯片是兼容的,AT89C51,AT89C52是51單片機(jī)的具體型號(hào),內(nèi)核是一樣的。相同的原理圖里,無(wú)論stc還是at都一樣,引腳功能都是一樣的,程序是兼容的,芯片可以替換為STC89C52/STC89C51/AT89C52/AT89C51等51單片機(jī)芯片。

img

2. 講解視頻:

講解視頻包含仿真運(yùn)行講解和代碼講解

3. 仿真設(shè)計(jì)

打開仿真工程,雙擊proteus中的單片機(jī),選擇hex文件路徑,然后開始仿真。開始仿真LCD1602顯示當(dāng)前速度和里程數(shù),當(dāng)前速度為0km/h,當(dāng)前總里程數(shù)0km。

img

通過(guò)加減速按鍵調(diào)整速度,直流電機(jī)逐漸加速,直到穩(wěn)定。

img

實(shí)測(cè)12.9KM/h速度運(yùn)行一個(gè)班小時(shí)后累計(jì)總里程為18.249km。

img

具有超速報(bào)警功能,通過(guò)按下設(shè)置鍵可以調(diào)整速度報(bào)警值。

img

4. 程序代碼

使用keil4或者keil5編譯,代碼有注釋,可以結(jié)合視頻理解代碼含義。

#include "reg51.h"
#include "lcd1602.h"
#define uchar unsigned char
#define uint unsigned int
#define DIR		26*2.54//輪胎直徑66.04CM 26英寸 1 英寸=2.54 厘米
#define RUOND 	DIR*3.14//207.3656單位CM 周長(zhǎng)(C)=π×D 其中 D 是輪胎的外徑,包括胎壁和胎面的整體直徑。
#define PER_RUOND RUOND/240.0 //電機(jī)一圈產(chǎn)生240次中斷。每次中斷前進(jìn)約0.864023cm
sbit k1=P1^0;//按鈕
sbit k2=P1^1;
sbit k3=P1^2;		 
sbit k4=P1^3;
sbit k5=P1^4;
sbit k6=P1^5;
sbit out=P1^6;//輸出控制
sbit beep=P2^0;//蜂鳴器

float pwm=0;//占空比

uchar time=0,mode=0;//系統(tǒng)變量
uint sudu1=0,sudu2=0,lim=150;//速度
float sum=0;//里程
uchar disp1[]="Speed:000.0km/h";
uchar disp2[]="Sum:000.000km ";
uchar disp3[]="00.0km/h ";
//主函數(shù)
void main()
{
	uchar i;
	init_1602();
	//設(shè)置INT0
	IT0=1;//跳變沿出發(fā)方式(下降沿)
	EX0=1;//打開INT0的中斷允許。	
	TMOD|=0X01;//初始化定時(shí)器
	TH0=0X3C;
	TL0=0XB0;	
	ET0=1;//打開定時(shí)器0中斷允許
	EA=1;//打開總中斷
	TR0=1;//打開定時(shí)器
	while(1)
	{
		//電機(jī)速度控制
		if(i<20)
			i++;
		else
			i=0;
		if(i<pwm)
			out=1;
		else
			out=0;
		//電機(jī)調(diào)速
		if(!k1)//加速
		{
			if(pwm<10)
				pwm+=0.5;
			while(!k1);
		}
		if(!k2)//減速
		{
			if(pwm>0)
				pwm-=0.5;
			while(!k2);
		}
		//設(shè)置
		if(!k3)
		{
			mode=!mode;
			while(!k3);
		}
		if(!k4)//加
		{
			if(lim<999)
				lim++;
			while(!k4);
		}
		if(!k5)//減
		{
			if(lim>0)
				lim--;
			while(!k5);
		}
		if(!k6)//清零
		{
			sum=0;
			while(!k6);
		}
	}
}
//定時(shí)器中斷
void Timer0() interrupt 1
{
	float i;
	uint j;
	if(time<20)//1s
		time++;
	else
	{
		time=0;
		sudu1 = sudu2*PER_RUOND;//厘米/秒sudu2*
		sudu1 = sudu1/100.0*3600/10;//單位km/h 多除以10是因?yàn)檫@樣算下來(lái)速度太快了,多除以10合理
		sudu2=0;
		//計(jì)算里程
		i=sudu1;
		i=i/360;
		sum=sum+i;//一秒記錄一次里程

		//報(bào)警
		if(sudu1>lim)
			beep=0;
		else
			beep=1;
		//顯示
		disp1[6]=sudu1/1000+0x30;
		disp1[7]=sudu1%1000/100+0x30;
		disp1[8]=sudu1%100/10+0x30;
		disp1[10]=sudu1%10+0x30;
		j=sum*10;
		disp2[4]=j/100000+0x30;
		disp2[5]=j%100000/10000+0x30;
		disp2[6]=j%10000/1000+0x30;
		disp2[8]=j%1000/100+0x30;
		disp2[9]=j%100/10+0x30;
		disp2[10]=j%10+0x30;
		disp3[0]=lim/100+0x30;
		disp3[1]=lim%100/10+0x30;
		disp3[3]=lim%10+0x30;
		if(mode==0)
		{
			write_string(1,0,disp1);
			write_string(2,0,disp2);
		}
		else
		{
			write_string(1,0,"set:");
			write_string(1,4,"             ");
			write_string(2,0,"    ");
			write_string(2,4,disp3);
		}
	}
	TH0=0X3C;
	TL0=0XB0;
}

void Int0()	interrupt 0		//外部中斷0的中斷函數(shù)
{
	sudu2++;
}

5. 設(shè)計(jì)報(bào)告

6613字設(shè)計(jì)報(bào)告,內(nèi)容包括硬件設(shè)計(jì)、軟件設(shè)計(jì)、軟硬件框圖、調(diào)試、結(jié)論等

img

隨著現(xiàn)代科技的快速發(fā)展,智能化技術(shù)已廣泛滲透到人們的日常生活中,并在諸多領(lǐng)域中發(fā)揮著日益重要的作用。在倡導(dǎo)綠色出行、節(jié)能環(huán)保的大背景下,自行車作為一種經(jīng)濟(jì)、便捷且環(huán)保的交通工具,其在性能監(jiān)測(cè)與智能控制方面的提升顯得尤為關(guān)鍵?,F(xiàn)代社會(huì)對(duì)于自行車的需求不再僅限于基礎(chǔ)的代步功能,而是更加強(qiáng)調(diào)安全、高效和用戶體驗(yàn)的全面提升。

本課程設(shè)計(jì)作業(yè)正是基于這一需求背景,致力于研發(fā)一款以51系列單片機(jī)為核心的自行車測(cè)速行駛里程檢測(cè)與顯示系統(tǒng)。該系統(tǒng)集成了先進(jìn)的傳感技術(shù)和嵌入式計(jì)算能力,旨在實(shí)現(xiàn)對(duì)自行車速度信息的實(shí)時(shí)獲取和高精度顯示,同時(shí)還能精確記錄并展示騎行過(guò)程中的累計(jì)行駛里程數(shù)據(jù)。為確保用戶騎行的安全性和舒適性,系統(tǒng)特別設(shè)計(jì)了超速報(bào)警功能,當(dāng)騎行速度超過(guò)預(yù)設(shè)閾值時(shí),能夠及時(shí)發(fā)出警示信號(hào),提醒騎行者調(diào)整速度至合理范圍內(nèi),從而有效降低因高速騎行可能導(dǎo)致的風(fēng)險(xiǎn)。

6. 原理圖

原理圖使用AD繪制,可供實(shí)物參考,仿真不同于實(shí)物,需要調(diào)試經(jīng)驗(yàn)才能做出來(lái)。

img

Proteus仿真和實(shí)物作品的區(qū)別:

1.運(yùn)行環(huán)境:Proteus仿真是在計(jì)算機(jī)上運(yùn)行的,而實(shí)物則是在硬件電路板上運(yùn)行。

2.調(diào)試方式:在Proteus仿真中,可以方便地進(jìn)行單步調(diào)試和觀察變量值的變化,而在實(shí)物中則需要通過(guò)調(diào)試器或者串口輸出等方式進(jìn)行調(diào)試。

電路連接方式:在Proteus仿真中,可以通過(guò)軟件設(shè)置進(jìn)行電路連接的修改,而在實(shí)物中則需要通過(guò)硬件電路板和連接線進(jìn)行修改。

3.運(yùn)行速度:Proteus仿真通常比實(shí)物運(yùn)行速度快,因?yàn)榉抡媸腔谟?jì)算機(jī)運(yùn)行的,而實(shí)物則需要考慮電路板上的物理限制和器件的響應(yīng)時(shí)間等因素。

4.功能實(shí)現(xiàn):在Proteus仿真中,可以通過(guò)軟件設(shè)置實(shí)現(xiàn)不同的功能,而在實(shí)物中則需要根據(jù)電路設(shè)計(jì)和器件的性能進(jìn)行實(shí)現(xiàn)。

7. 設(shè)計(jì)資料內(nèi)容清單

資料設(shè)計(jì)資料包括仿真,程序代碼、講解視頻、功能要求、設(shè)計(jì)報(bào)告、軟硬件設(shè)計(jì)框圖等。

img

0、常見使用問(wèn)題及解決方法–必讀?。。。?/p>

1、程序代碼注釋

2、proteus仿真

3、功能要求

4、軟硬件流程圖

5、開題報(bào)告

6、設(shè)計(jì)報(bào)告

7、原理圖

8、元器件清單

9、講解視頻

Altium Designer 安裝破解

KEIL+proteus 單片機(jī)仿真設(shè)計(jì)教程

KEIL安裝破解

Proteus元器件查找

Proteus安裝

Proteus簡(jiǎn)易使用教程

單片機(jī)學(xué)習(xí)資料

相關(guān)數(shù)據(jù)手冊(cè)

答辯技巧

設(shè)計(jì)報(bào)告常用描述

鼠標(biāo)雙擊打開查找嘉盛單片機(jī)51 STM32單片機(jī)課程畢業(yè)設(shè)計(jì).url

資料下載鏈接:

https://docs.qq.com/doc/DS0RPUnJsZVNNUUNW

  • 設(shè)計(jì)資料獲取聯(lián)系方式.doc

相關(guān)推薦

電子產(chǎn)業(yè)圖譜