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

正文內(nèi)容

基于單片機(jī)自行車測(cè)速儀設(shè)計(jì)(參考版)

2024-11-16 14:51本頁面
  

【正文】 謹(jǐn)以此結(jié)束全文,感謝所有關(guān)心幫助我的人。 } 37 致謝 感謝黃亮導(dǎo)師親切的關(guān)懷,感謝我的同學(xué)和朋友給我極大的鼓勵(lì)和參謀,感謝我所參考的文獻(xiàn)、著作的作者,給我學(xué)習(xí)的渠道。 } } void INT_int0(void) interrupt 0 { ncounter++。 SECsign = 1。 if( T0counter =20 ) //每 1 秒發(fā)生一次中斷 { TR0 = 0。 TL0 = (6553650000)%256。//打開寫保護(hù) } } lcd_display()。//關(guān)閉寫保護(hù) write_ds1302(0x82,t_min)。 while(!key1)。 t_hr++。 delay(20)。//打開寫保護(hù) } } if(key1==0) { delay(50)。//關(guān)閉寫保護(hù) write_ds1302(0x84,t_hr)。 while(!key0)。 if(t_hr=24) { t_hr=0。 if(key0==0) { t_hr++。 35 P3=0xff。 delay(5)。 delay(5)。 init_timer0( )。 } } /*************************************** 主函數(shù) ************************************/ void main() { initialize( )。 TR0 = 1。 dis_speed( )。 speed =* ncounter。)。 write_dat1(39。 write_dat1((temper4)%10+0x30)。 write_dat1((temper4)%100/10+0x30)。0x000f)*+0x30)。 write_(0x80+0x0f)。)。 write_dat1(39。0x000f)*+0x30)。 write_(0x80+0x0f)。)。 write_dat1(39。 if(temper0) { temper=0temper。 delay(200)。:39。 write_(0x80+0x0a)。)。 write_dat1(39。 )。 write_dat1( 39。 )。 write_dat1( 39。 )。 write_dat1( 39。 )。 write_dat1( 39。 )。 write_dat1( 39。 write_dat1(table[hr2])。 write_dat1(table[hr1])。)。 write_dat1(39。 write_dat1(table[min2])。 write_dat1(table[min1])。)。 write_dat1(39。 write_dat1(table[sec1])。 write_dat1(table[sec2])。 t_hr=hr2*10+hr1。0x0f。 t_hr=read_ds1302(0x85)。 min2=t_min4。 min1=t_minamp。 sec2=t_sec4。 sec1=t_secamp。 32 return BCD。 shiwei=asc/10。 } unsigned char TOBCD(unsigned char asc) //十進(jìn)制轉(zhuǎn)換成 BCD 碼 { unsigned char shiwei,gewei,BCD。)。 write_dat1(39。 write_dat1( 0x30+shikm)。 write_dat1( 0x30+qiankm)。 diankm=(((((110*scounter)%100000000)%10000000)%1000000)%100000)/10000。 shikm=(((110*scounter)%100000000)%10000000)/1000000。 qiankm=(110*scounter)/100000000。 write_dat1(0x30+dian)。.39。 write_dat1( 0x30+ge )。 write_dat1( 0x30+bai )。0x0f)*。 uchar ge = speed%10。 } 31 void dis_speed( void ) { uchar bai = speed/100。 ET0 = 1。 IT0=1。 TL0 = (6553650000)%256。 } void init_timer0( void ) //定時(shí)器 0 初始化 { TMOD = 0x01。 speed = 0。 T0counter = 0。//定義充電 write_ds1302(0x8e,0x80)。 } /*************************************** ds1302 初始化程序 **************************************/ void init_1302() { write_ds1302(0x8e,0x00)。 30 ds_rst=0。 ds_inf=output_1byte()。 ds_rst=1。 ds_rst=0。 ds_rst=0。 input_1byte(ds_dat)。 ds_rst=1。 } void write_ds1302(uchar ds_add,uchar ds_dat) { ds_rst=0。 ds_clk=0。 ACC7=ds_io。i0。 } } uchar output_1byte() { uchar i。 29 ds_clk=0。i) { ds_io=ACC0。 for(i=8。 } /************************************* ds1302 的程式模塊 ***************************************/ void input_1byte(uchar td) { uchar i。 temp=templ+temph*256。 templ=read_byte()。 write_byte(0xcc)。 delay18b20(1000)。 write_byte(0xcc)。 int temp。 delay18b20(5)。0x01)。i8。 } void write_byte(uchar dat) //寫字節(jié) { uchar i,j。 delay18b20(5)。i8。 uchar i。 dq=1。 if(dat==1) dq=1。i++) return(dq)。 for(i=0。 dq=0。 return(presence)。 27 presence=dq。 dq=1。 dq=0。j++)。i++) for(j=0。 for(i=0。 write_(0x01)。 write_(0x0c)。 } void init_lcd() //lcd 初始化 { lcden=0。 delay(60)。 delay(60)。 lcden=0。 lcdrs=1。 lcden=0。 lcden=1。 P0=。 lcdrw=0。 } void write_(uchar ) //寫命令 { lcd_bz()。 lcden = 0。 result = (BOOL)(P0amp。 _nop_()。 _nop_()。 lcdrw= 1。 } BOOL lcd_bz() { // 測(cè)試 LCD 忙碌狀態(tài) BOOL result。y0。x0。 25 /*************************************** lcd1602 的初始化程序 ***************************************/ void delay(uint z) //lcd 的延時(shí)程序 { uchar x,y。 uchar t_min=0x59,min1,min2。 //以米為單位的路程 uchar sk=0。 //速度 uchar cflag。 //T0 50ms 計(jì)數(shù) uchar SECsign。 //轉(zhuǎn)數(shù) long int scounter。 uchar code table[]=0123456789。 uchar ,inf,num=0。 //低電平輸入 sbit key0=P1^2。 sbit dq=P2^2。 sbit ACC0=ACC^0。 sbit ds_io=P2^4。 sbit lcdrw=P2^1。 sbit lcdrs=P2^6。 typedef unsigned int uint。在整個(gè)過程中,本人不僅對(duì)單片機(jī)控制 系統(tǒng)的每一個(gè)細(xì)節(jié)有了比較深入的掌握,而且對(duì)關(guān)于系統(tǒng)擴(kuò)展的相關(guān)知識(shí)有了感性的認(rèn)識(shí),不僅掌握了大量的專業(yè)知識(shí),更學(xué)會(huì)了系統(tǒng)模塊化設(shè)計(jì)的基本思想。通過此次畢業(yè)設(shè)計(jì),學(xué)到了許多以前不了解的知識(shí),積累了不少寶貴的經(jīng)驗(yàn)。系統(tǒng)的調(diào)試與仿真結(jié)果基本符合設(shè)計(jì)要求。 時(shí)間顯示和調(diào)試控制程序流程圖如圖 17 所示。由于設(shè)計(jì)時(shí)欠考慮,所以調(diào)時(shí)按鍵只設(shè)計(jì)了 2 個(gè), 分別為 “小時(shí) ”和 “分鐘 ”,按鍵只能一直 “加一 ”直至為 0,而未設(shè)計(jì) “減一 ”按鍵。一般進(jìn)行去抖和松手檢測(cè)有兩種方法:一、硬件去抖;二、軟件去抖。調(diào)時(shí)功能是通過脈沖檢測(cè),每當(dāng)按鍵按下一次,該數(shù)據(jù)口電平為零,數(shù)據(jù)加一??蓪r(shí)間數(shù)據(jù)分別存儲(chǔ)到各個(gè)寄存器中,有外置晶振作為芯片的時(shí) 鐘周期,外部晶振的頻率為 使其工作頻率與時(shí)間對(duì)應(yīng)。 程序流程圖如圖 16 所示。由于 DS18B20數(shù)據(jù)輸出線只有一條,所以必須采用一位讀取,讀取到的溫度值分別存入高八位和低八位寄存器中。 程序設(shè)計(jì)流程圖如圖 15 所示。再將每秒的速度相加,就可得出自行車的里程。但是由于理論知識(shí)水平有限,沒能成功設(shè)計(jì)有外界輸入設(shè)定使用者的自行車車輪的直徑數(shù)。 主程序工作過程如圖 14 所示。 主電路圖 圖 13 主電路圖18 圖 13 為主電路圖,根據(jù)此圖能夠看出改系統(tǒng)分成四個(gè)模塊,速度模塊、顯示模塊、時(shí)鐘 模塊、溫度模塊,圖中兩個(gè)按鈕可分別調(diào)節(jié)時(shí)間的 “小時(shí) ”與 “分鐘 ”。而在實(shí)際電路中這兩個(gè)引腳也是必須要分別接到電源正極和電源負(fù)極上。 在仿真圖中 LCD1602 元件是只有 14 個(gè)引腳,而實(shí)際的 LCD1602 是 16 個(gè)引腳。 LCD 接口如表 3—8 所示。通過顯示屏上的電極控制液晶分子狀態(tài)來達(dá)到顯示的目的,在重量上比相同顯示面積的傳統(tǒng)顯示器要輕得多。因此,液晶顯示器畫質(zhì)高且不會(huì)閃爍。其中 out 引腳為霍爾傳感器的脈沖輸出引腳,且必須接入上拉電阻。 16 霍爾傳感器硬件連接圖 圖 11 為霍爾傳感器的的硬件連接圖,可測(cè)量外界磁信號(hào)。其大小和外磁場(chǎng)及電流大小成比例。根據(jù)上式即可計(jì)算出自行車當(dāng)前的速度。根據(jù)霍爾效應(yīng)原理,將一塊永久磁鋼固定在自行車的輪轂上,隨著自行車輪子的轉(zhuǎn)動(dòng),磁鋼也隨著輪子同步轉(zhuǎn)動(dòng),在自行車車體上安裝一個(gè) 霍爾傳感器,當(dāng)車輪轉(zhuǎn)動(dòng)時(shí),受磁鋼的影響霍爾傳感器會(huì)輸出脈沖信號(hào),其頻率和轉(zhuǎn)速成正比。系統(tǒng)采用了第一種方法(測(cè)頻法)?;魻柶骷鳛橐环N轉(zhuǎn)速測(cè)量系統(tǒng)的傳感器,它有結(jié)構(gòu)牢固、體積小、重量輕、壽命長(zhǎng)、安裝方便等優(yōu)點(diǎn),因此選用霍爾傳感器檢測(cè)脈沖信號(hào),其基本的測(cè)量原理如圖 10 所 示,當(dāng)電機(jī)轉(zhuǎn)動(dòng)時(shí),帶動(dòng)傳感器運(yùn)動(dòng),產(chǎn)生對(duì)應(yīng)頻率的脈沖信號(hào),經(jīng)過信號(hào)處理后輸出到計(jì)數(shù)器或其他的脈沖計(jì)數(shù)裝置,
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1