freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

畢業(yè)設(shè)計-基于單片機(jī)的自行車?yán)锍瘫淼脑O(shè)計(編輯修改稿)

2025-01-08 18:52 本頁面
 

【文章內(nèi)容簡介】 自行車的轉(zhuǎn)軸上,而霍爾元件就放在與其水平的轉(zhuǎn)軸上,當(dāng)我們完成安裝后,轉(zhuǎn)動自行車的轉(zhuǎn)軸,磁鋼也就跟著一起轉(zhuǎn)動,從而使霍爾傳感器周圍的磁場發(fā)生變化,這種變化將會導(dǎo)致霍爾電壓變化從而產(chǎn)生一個的脈沖電壓。由于磁鋼共分為 8 片,磁場將會改變 8次,磁場強(qiáng)度大時輸出高電平,磁場低時輸出為低電平。所以將會產(chǎn)生 8個方波,既每輸出 8 個方波代表自行車轉(zhuǎn)動了一 周。比如我們的自行車車輪在 R= 時,通過 C=2Π *R 計算得出車輪的周長 C=。由于每一圈霍爾傳感器將輸出 8個脈沖,當(dāng)自行車行駛 1KM 時會轉(zhuǎn)動 667 次,這樣每 1KM 將回產(chǎn)生 5336個脈沖,單片機(jī)對這 5336 個脈沖計數(shù)。 通過單片機(jī)計算出來的速度和里程的數(shù)據(jù) ,通過 LCD1602 顯示模塊顯示??偫锍虜?shù)的顯示存儲在 EEPROM 掉電存儲器里,當(dāng)電動自行車開動 ,單片機(jī)開機(jī)經(jīng)過初始化后讀取并且顯示出來 ,這樣以來用戶可以清楚的知道自己的車子已經(jīng)運(yùn)行了多少公里了。 圖 412 STC89C52RC 的引腳 圖。 石家莊鐵道大學(xué)四方學(xué)院畢業(yè)設(shè)計 15 4. 1. 3 鍵盤控制 鍵盤是實現(xiàn)人機(jī)對話的必要設(shè)備,用戶可用鍵盤向計算機(jī)輸入數(shù)據(jù)或命令。本系統(tǒng)采用獨(dú)立鍵盤接口,獨(dú)立式按鍵是指直接用 I/O口線構(gòu)成單個的按鍵 電路。每一個獨(dú)立式按鍵單獨(dú)占用一根 I/O 口線。其接口電路如圖 所示。 獨(dú)立式按鍵接口電路配置靈活,軟件結(jié)構(gòu)簡單。但每個按鍵要占用一根 I/O口線,適用于按鍵數(shù)量少的鍵盤。 電路中,按鍵輸入低電平有效。按鍵未按時有上拉電阻保證此時輸入為高電平。 圖 413 獨(dú)立式按鍵接口電路 石家莊鐵道大學(xué)四方學(xué)院畢業(yè)設(shè)計 16 程序源代碼與流程圖 4. 2. 1 程序流程圖 圖 421 程序流程圖 石家莊鐵道大學(xué)四方學(xué)院畢業(yè)設(shè)計 17 4. 2. 2 程序源代碼 include //包含頭文件,頭文件包含特殊功能寄存器的定義 include //標(biāo)準(zhǔn)輸入輸出 include unsigned long int x,t。 unsigned int speed,speed2,speed3,dis,dist,y,z,A。 unsigned char i,i2,k,k2,l,m,sj1,sj2,sp1,sp2,count2。 unsigned char ge1,shi1,bai1,ge,shi,bai,qian,ge2,shi2,bai2,qian2。 unsigned char count0,count1,key,choose。 unsigned char second,minute。 unsigned char min_shiwei,min_gewei。 unsigned char sec_shiwei,sec_gewei。 unsigned char speed_gewei,speed_shiwei。 unsigned char speed_onewei,speed2_shiwei,speed2_gewei,speed2_onewei。 unsigned char a_shiwei,a_gewei,a_onewei,a_twowei,a_thrwei,a_fouwei,a_mart=39。+39。,as1,as2。 unsigned char Number[11]={0,0,0,0,0,0,0,0,0,0,0}。 /******************* 參數(shù)說明 *************************************** x,脈沖數(shù) t,時間:單位為 秒 speed,平均速度: V=D/t 單位為 千米 speed2,瞬時速度:單位:千米 dis,距離:計算平均速度 dist,距離 2:計算瞬時速度 y,瞬時速度參數(shù) z,秒表計時里程參數(shù) i,里程計數(shù)參數(shù) i2,秒表計時里程計數(shù)參數(shù) k,里程計數(shù)參數(shù) k2,秒表計時里程計數(shù)參數(shù) l,里程計數(shù)參數(shù) m,里程計數(shù)參數(shù) sj1,sj2,脈沖判定參數(shù) sp1,sp2 平均速度判定參數(shù) count2,里程計數(shù)參數(shù) ge1,里程米位 shi1,里程十米位 bai1,里程百米位 石家莊鐵道大學(xué)四方學(xué)院畢業(yè)設(shè)計 18 ge,里程千米 shi,里程十千米 bai,里程百千米 qian,里程千千米 ge2,秒表計時里程米位 shi2,秒表計時里程十米位 bai2,秒表計時里程百米位 qian2,秒表計時里程千米位 count0,定時器 0 計數(shù)參數(shù) count1,定時器 1 計數(shù)參數(shù) key,選擇執(zhí)行參數(shù) choose,選擇顯示參數(shù) second,秒?yún)?shù) minute,分參數(shù) min_shiwei,min_gewei,分鐘十位、個位 sec_shiwei,sec_gewei。 秒鐘十位、個位 speed_gewei,speed_shiwei,speed_onewei,平均速度十位個位小數(shù)第一位 speed2_shiwei,speed2_gewei,speed2_onewei,瞬時速度十位個位小數(shù)第一位 a_shiwei,a_gewei,a_onewei,加速度十位個位小數(shù)第一位 a_mart,加速度符號 as1,as2,加速度判定參數(shù) Number[11],里程存儲數(shù)據(jù) ******************* 參數(shù)說明 ******************************************/ define Data P0//數(shù)據(jù)端口 define AddWr 0xae //寫數(shù)據(jù)地址,需要參考 24c02 芯片文檔 define AddRd 0xaf //讀數(shù)據(jù)地址 sbit Sda=P1^2。 //定義 EEPROM 連接端口 sbit Scl=P1^1。 sbit WP=P1^0。 //寫保護(hù) sbit RS = P2^4。 //Pin4 液晶顯示操作端口定義 sbit RW = P2^5。 //Pin5 sbit E = P2^6。 //Pin6 sbit LED1=P1^3。 //脈沖接收指示燈 sbit IR=P1^4。 //霍爾傳感器脈沖輸入端 /***** 函數(shù)定義 ************/ unsigned char keyscan(void)。//鍵盤掃描 void DelayUs(unsigned char us)。//微秒延時 void DelayMs(unsigned char ms)。//毫秒延時 void WriteCommand(unsigned char c)。//寫指令 void WriteData(unsigned char c)。//寫數(shù)據(jù) void showchar(unsigned char pos,unsigned char c)。//LCE 寫入字節(jié)函數(shù) void InitLcd()。//LCD 初始化 void first_load(void)。//數(shù)據(jù)初始化 石家莊鐵道大學(xué)四方學(xué)院畢業(yè)設(shè)計 19 void key_finding(void)。//鍵盤輸入模塊 , 秒表計時開關(guān),里程清零等 void red_recieve(void)。//脈沖接收模塊 void choosed(void)。 //選擇顯示執(zhí)行模塊 void show_lcd1(void)。//顯示子模塊 //顯示總里程、平均速度和瞬時速度 void show_lcd2(void)。//顯示子模塊 //顯示總里程、秒表和秒表計時里程 void show_lcd3(void)。//顯示子模塊 //顯示秒表、秒表計時里程、平均速度和加速度 void show_lcd4(void)。//顯示子模塊 //顯示 瞬時速度、平均速度和加速度 void show_lcd5(void)。//顯示子模塊 //顯示加速度、平均速度 void show_lcd6(void)。//顯示加速度和瞬時速度 void mDelay(unsigned char j)。 void Start(void)。 void Stop(void)。 void Ack(void)。 void NoAck(void)。 void Send(unsigned char Data)。 unsigned char Read(void)。 void WrToROM(unsigned char Data[],unsigned char Address,unsigned char Num)。 void RdFromROM(unsigned char Data[],unsigned char Address,unsigned char Num)。 void delay(unsigned int t)//經(jīng)典延時程序 { while(t)。 } void Init_Timer0(void)// 定時器初始化 { TMOD |= 0x11。 TH0=(6553650000)/256。 //賦值 TL0=(6553650000)%256。 TH1=0xd8。 //賦值 TL1=0xf0。 EA=1。 ET0=1。 ET1=1。 TR0=1。 } void Timer0_isr(void) interrupt 1 using 1 //定時器 0,完成速度功能 { TH0=(6553650000)/256。 //重新賦值 TL0=(6553650000)%256。 count0++。 if (count0==20) //20x50ms=1S,大致延時時間 { count0=0。 石家莊鐵道大學(xué)四方學(xué)院畢業(yè)設(shè)計 20 if(IR) {sp1++。 if(5==sp1){sp1=0。x=0。} } else {sp2++。 if(5==sp2){sp2=0。x=0。} } speed3=speed2。 dist=y*36*5。 //單位:千米 speed2=dist/1。 //公式 速度 V=X/t KM/H speed2_shiwei=speed2/1000。 speed2_gewei=speed2%1000/100。 speed2_onewei=speed2%1000%100/10。 if(x!=0) { t++。 as1=speed。 dis=x*5。 //單位:千米 speed=dis*36/t。 //公式 速度 V=X/t KM/H speed_shiwei=speed/1000。 speed_gewei=speed%1000/100。 speed_onewei=speed%1000%100/10。 as2=speed。 } else{ t=0。x=0。speed_shiwei=0。speed_gewei=0。speed_onewei=0。 } if(as1as2) { A=(speed2speed3)*3600。 a_mart=39。+39。 } else if(as1as2) { A=(speed3speed2)*3600。 a_mart=39。39。 } a_shiwei=A%10000000%1000000/100000。 a_gewei=A%10000000%1000000%100000/10000。 a_onewei=A%10000000%1000000%100000%10000/1000。 a_twowei=A%10000000%1000000%100000%10000%1000/100。 a_thrwei=A%10000000%1000000%100000%10000%1000%100/10。 石家莊鐵道大學(xué)四方學(xué)院畢業(yè)設(shè)計 21 y=0。 } } void Timer1_isr(void) interrupt 3 using 1 //定時器 1 , 完成秒表功能 { TH1=0xd8。 //重新賦值 TL1=0xf0。 count1++。 if (count1==100) //100x10ms=1S, 大致延時時間 { count1=0。 second++。 //秒加 1 if(second==60) { second=0。 minute++。 } if(minute==100) { minute=0。 } sec_shiwei=second/10。//十位顯示值處理 sec_gewei=second%10。 //個位顯示處理 min_shiwei=minute/10。 min_gewei=
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1