仿真圖proteus7.8及以上
程序編譯器:keil 4/keil 5
編程語言:C語言
設(shè)計編號:S0078
1. 主要功能:
基于51單片機的自行車測速行駛里程檢測與顯示設(shè)計
1、通過按鍵控制自行車行駛速度;
2、通過霍爾傳感器測量自行車當(dāng)前速度;
3、單片機實時檢測自行車的行駛里程,行駛里程顯示,顯示精度0.01公里;
4、顯示當(dāng)前速度和行駛里程,可按鍵清零;
5、具有超速報警功能,可以設(shè)置報警值;
需注意仿真中51單片機芯片是兼容的,AT89C51,AT89C52是51單片機的具體型號,內(nèi)核是一樣的。相同的原理圖里,無論stc還是at都一樣,引腳功能都是一樣的,程序是兼容的,芯片可以替換為STC89C52/STC89C51/AT89C52/AT89C51等51單片機芯片。
2. 講解視頻:
講解視頻包含仿真運行講解和代碼講解
3. 仿真設(shè)計
打開仿真工程,雙擊proteus中的單片機,選擇hex文件路徑,然后開始仿真。開始仿真LCD1602顯示當(dāng)前速度和里程數(shù),當(dāng)前速度為0km/h,當(dāng)前總里程數(shù)0km。
通過加減速按鍵調(diào)整速度,直流電機逐漸加速,直到穩(wěn)定。
實測12.9KM/h速度運行一個班小時后累計總里程為18.249km。
具有超速報警功能,通過按下設(shè)置鍵可以調(diào)整速度報警值。
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 周長(C)=π×D 其中 D 是輪胎的外徑,包括胎壁和胎面的整體直徑。
#define PER_RUOND RUOND/240.0 //電機一圈產(chǎn)生240次中斷。每次中斷前進約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;//初始化定時器
TH0=0X3C;
TL0=0XB0;
ET0=1;//打開定時器0中斷允許
EA=1;//打開總中斷
TR0=1;//打開定時器
while(1)
{
//電機速度控制
if(i<20)
i++;
else
i=0;
if(i<pwm)
out=1;
else
out=0;
//電機調(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);
}
}
}
//定時器中斷
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是因為這樣算下來速度太快了,多除以10合理
sudu2=0;
//計算里程
i=sudu1;
i=i/360;
sum=sum+i;//一秒記錄一次里程
//報警
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è)計報告
6613字設(shè)計報告,內(nèi)容包括硬件設(shè)計、軟件設(shè)計、軟硬件框圖、調(diào)試、結(jié)論等
隨著現(xiàn)代科技的快速發(fā)展,智能化技術(shù)已廣泛滲透到人們的日常生活中,并在諸多領(lǐng)域中發(fā)揮著日益重要的作用。在倡導(dǎo)綠色出行、節(jié)能環(huán)保的大背景下,自行車作為一種經(jīng)濟、便捷且環(huán)保的交通工具,其在性能監(jiān)測與智能控制方面的提升顯得尤為關(guān)鍵?,F(xiàn)代社會對于自行車的需求不再僅限于基礎(chǔ)的代步功能,而是更加強調(diào)安全、高效和用戶體驗的全面提升。
本課程設(shè)計作業(yè)正是基于這一需求背景,致力于研發(fā)一款以51系列單片機為核心的自行車測速行駛里程檢測與顯示系統(tǒng)。該系統(tǒng)集成了先進的傳感技術(shù)和嵌入式計算能力,旨在實現(xiàn)對自行車速度信息的實時獲取和高精度顯示,同時還能精確記錄并展示騎行過程中的累計行駛里程數(shù)據(jù)。為確保用戶騎行的安全性和舒適性,系統(tǒng)特別設(shè)計了超速報警功能,當(dāng)騎行速度超過預(yù)設(shè)閾值時,能夠及時發(fā)出警示信號,提醒騎行者調(diào)整速度至合理范圍內(nèi),從而有效降低因高速騎行可能導(dǎo)致的風(fēng)險。
6. 原理圖
原理圖使用AD繪制,可供實物參考,仿真不同于實物,需要調(diào)試經(jīng)驗才能做出來。
Proteus仿真和實物作品的區(qū)別:
1.運行環(huán)境:Proteus仿真是在計算機上運行的,而實物則是在硬件電路板上運行。
2.調(diào)試方式:在Proteus仿真中,可以方便地進行單步調(diào)試和觀察變量值的變化,而在實物中則需要通過調(diào)試器或者串口輸出等方式進行調(diào)試。
電路連接方式:在Proteus仿真中,可以通過軟件設(shè)置進行電路連接的修改,而在實物中則需要通過硬件電路板和連接線進行修改。
3.運行速度:Proteus仿真通常比實物運行速度快,因為仿真是基于計算機運行的,而實物則需要考慮電路板上的物理限制和器件的響應(yīng)時間等因素。
4.功能實現(xiàn):在Proteus仿真中,可以通過軟件設(shè)置實現(xiàn)不同的功能,而在實物中則需要根據(jù)電路設(shè)計和器件的性能進行實現(xiàn)。
7. 設(shè)計資料內(nèi)容清單
資料設(shè)計資料包括仿真,程序代碼、講解視頻、功能要求、設(shè)計報告、軟硬件設(shè)計框圖等。
0、常見使用問題及解決方法–必讀!?。?!
1、程序代碼注釋
3、功能要求
4、軟硬件流程圖
5、開題報告
6、設(shè)計報告
7、原理圖
8、元器件清單
9、講解視頻
Altium Designer 安裝破解
KEIL+proteus 單片機仿真設(shè)計教程
KEIL安裝破解
Proteus元器件查找
Proteus安裝
Proteus簡易使用教程
單片機學(xué)習(xí)資料
相關(guān)數(shù)據(jù)手冊
答辯技巧
設(shè)計報告常用描述
鼠標(biāo)雙擊打開查找嘉盛單片機51 STM32單片機課程畢業(yè)設(shè)計.url
資料下載鏈接:
https://docs.qq.com/doc/DS0RPUnJsZVNNUUNW