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

正文內(nèi)容

基于單片機(jī)自行車(chē)測(cè)速儀設(shè)計(jì)(文件)

 

【正文】 // 測(cè)試 LCD 忙碌狀態(tài) BOOL result。 _nop_()。 result = (BOOL)(P0amp。 } void write_(uchar ) //寫(xiě)命令 { lcd_bz()。 P0=。 lcden=0。 lcden=0。 delay(60)。 write_(0x0c)。 for(i=0。j++)。 dq=1。 return(presence)。 for(i=0。 if(dat==1) dq=1。 uchar i。 delay18b20(5)。i8。 delay18b20(5)。 write_byte(0xcc)。 write_byte(0xcc)。 temp=templ+temph*256。 for(i=8。 29 ds_clk=0。i0。 ds_clk=0。 ds_rst=1。 ds_rst=0。 ds_rst=1。 30 ds_rst=0。//定義充電 write_ds1302(0x8e,0x80)。 speed = 0。 TL0 = (6553650000)%256。 ET0 = 1。 uchar ge = speed%10。 write_dat1( 0x30+bai )。.39。 qiankm=(110*scounter)/100000000。 diankm=(((((110*scounter)%100000000)%10000000)%1000000)%100000)/10000。 write_dat1( 0x30+shikm)。)。 shiwei=asc/10。 sec1=t_secamp。 min1=t_minamp。 t_hr=read_ds1302(0x85)。 t_hr=hr2*10+hr1。 write_dat1(table[sec1])。)。 write_dat1(table[min2])。)。 write_dat1(table[hr2])。 )。 )。 )。 )。 )。)。:39。 if(temper0) { temper=0temper。)。0x000f)*+0x30)。)。0x000f)*+0x30)。 write_dat1((temper4)%10+0x30)。)。 dis_speed( )。 } } /*************************************** 主函數(shù) ************************************/ void main() { initialize( )。 delay(5)。 35 P3=0xff。 if(t_hr=24) { t_hr=0。//關(guān)閉寫(xiě)保護(hù) write_ds1302(0x84,t_hr)。 delay(20)。 while(!key1)。//打開(kāi)寫(xiě)保護(hù) } } lcd_display()。 if( T0counter =20 ) //每 1 秒發(fā)生一次中斷 { TR0 = 0。 } } void INT_int0(void) interrupt 0 { ncounter++。 謹(jǐn)以此結(jié)束全文,感謝所有關(guān)心幫助我的人。 } 37 致謝 感謝黃亮導(dǎo)師親切的關(guān)懷,感謝我的同學(xué)和朋友給我極大的鼓勵(lì)和參謀,感謝我所參考的文獻(xiàn)、著作的作者,給我學(xué)習(xí)的渠道。 SECsign = 1。 TL0 = (6553650000)%256。//關(guān)閉寫(xiě)保護(hù) write_ds1302(0x82,t_min)。 t_hr++。//打開(kāi)寫(xiě)保護(hù) } } if(key1==0) { delay(50)。 while(!key0)。 if(key0==0) { t_hr++。 delay(5)。 init_timer0( )。 TR0 = 1。 speed =* ncounter。 write_dat1(39。 write_dat1((temper4)%100/10+0x30)。 write_(0x80+0x0f)。 write_dat1(39。 write_(0x80+0x0f)。 write_dat1(39。 delay(200)。 write_(0x80+0x0a)。 write_dat1(39。 write_dat1( 39。 write_dat1( 39。 write_dat1( 39。 write_dat1( 39。 write_dat1( 39。 write_dat1(table[hr1])。 write_dat1(39。 write_dat1(table[min1])。 write_dat1(39。 write_dat1(table[sec2])。0x0f。 min2=t_min4。 sec2=t_sec4。 32 return BCD。 } unsigned char TOBCD(unsigned char asc) //十進(jìn)制轉(zhuǎn)換成 BCD 碼 { unsigned char shiwei,gewei,BCD。 write_dat1(39。 write_dat1( 0x30+qiankm)。 shikm=(((110*scounter)%100000000)%10000000)/1000000。 write_dat1(0x30+dian)。 write_dat1( 0x30+ge )。0x0f)*。 } 31 void dis_speed( void ) { uchar bai = speed/100。 IT0=1。 } void init_timer0( void ) //定時(shí)器 0 初始化 { TMOD = 0x01。 T0counter = 0。 } /*************************************** ds1302 初始化程序 **************************************/ void init_1302() { write_ds1302(0x8e,0x00)。 ds_inf=output_1byte()。 ds_rst=0。 input_1byte(ds_dat)。 } void write_ds1302(uchar ds_add,uchar ds_dat) { ds_rst=0。 ACC7=ds_io。 } } uchar output_1byte() { uchar i。i) { ds_io=ACC0。 } /************************************* ds1302 的程式模塊 ***************************************/ void input_1byte(uchar td) { uchar i。 templ=read_byte()。 delay18b20(1000)。 int temp。0x01)。 } void write_byte(uchar dat) //寫(xiě)字節(jié) { uchar i,j。i8。 dq=1。i++) return(dq)。 dq=0。 27 presence=dq。 dq=0。i++) for(j=0。 write_(0x01)。 } void init_lcd() //lcd 初始化 { lcden=0。 delay(60)。 lcdrs=1。 lcden=1。 lcdrw=0。 lcden = 0。 _nop_()。 lcdrw= 1。y0。 25 /*************************************** lcd1602 的初始化程序 ***************************************/ void delay(uint z) //lcd 的延時(shí)程序 { uchar x,y。 //以米為單位的路程 uchar sk=0。 //T0 50ms 計(jì)數(shù) uchar SECsign。 uchar code table[]=0123456789。 //低電平輸入 sbit key0=P1^2。 sbit ACC0=ACC^0。 sbit lcdrw=P2^1。 typedef unsigned int uint。通過(guò)此次畢業(yè)設(shè)計(jì),學(xué)到了許多以前不了解的知識(shí),積累了不少寶貴的經(jīng)驗(yàn)。 時(shí)間顯示和調(diào)試控制程序流程圖如圖 17 所示。一般進(jìn)行去抖和松手檢測(cè)有兩種方法:一、硬件去抖;二、軟件去抖??蓪r(shí)間數(shù)據(jù)分別存儲(chǔ)到各個(gè)寄存器中,有外置晶振作為芯片的時(shí) 鐘周期,外部晶振的頻率為 使其工作頻率與時(shí)間對(duì)應(yīng)。由于 DS18B20數(shù)據(jù)輸出線只有一條,所以必須采用一位讀取,讀取到的溫度值分別存入高八位和低八位寄存器中。再將每秒的速度相加,就可得出自行車(chē)的里程。 主程序工作過(guò)程如圖 14 所示。而在實(shí)際電路中這兩個(gè)引腳也是必須要分別接到電源正極和電源負(fù)極上。 LCD 接口如表 3—8 所示。因此,液晶顯示器畫(huà)質(zhì)高且不會(huì)閃爍。 16 霍爾傳感器硬件連接圖 圖 11 為霍爾傳感器的的硬件連接圖,可測(cè)量外界磁信號(hào)。根據(jù)上式即可計(jì)算出自行車(chē)當(dāng)前的速度。系統(tǒng)采用了第一種方法(測(cè)頻法)。磁場(chǎng)由磁鋼提供,所以霍爾傳感器和磁鋼需要配對(duì)使用。 A3144E 系列單極高溫霍爾效應(yīng)集成傳感器是由穩(wěn)壓電源,霍爾電壓發(fā)生器,差分放大器,施密特觸發(fā)器和輸出放大器組成的磁敏傳感電路,其輸入為磁感應(yīng)強(qiáng)度,輸出是一個(gè)數(shù)字電壓訊號(hào)。 VCC 和 GND 分別接入的是電源和接地。 重讀 EEPROM 0B8H 將 EEPROM 中的內(nèi)容復(fù)制到 RAM 中的第 4 字節(jié)。結(jié)果存入內(nèi)部 9 字節(jié) ROM 中。 ROM 指令表明了主機(jī)尋址一個(gè)或者多個(gè) DS18B20 中的某個(gè)或某幾個(gè),或者讀取某個(gè) DS18B20 的64 位地址。其中溫度信息(第 1, 2 字節(jié))、 TH 和 TL 值(第 3, 4 字節(jié))、第 6~ 8 字節(jié)未用,表現(xiàn)為全邏輯 1;第 9 字節(jié)讀出的是前面所有 8 個(gè)字節(jié)的 CRC 碼,可用來(lái)保證通信正確。 例如 +125℃ 的數(shù)字輸出為 07D0H, +℃ 的數(shù)字輸出為 0191H, ℃ 的 數(shù)字輸出為 FF6FH,55℃ 的數(shù)字輸出為 FC90H。 DS18B20 數(shù)據(jù)部件: (1) 光刻 ROM 中的 64 位序列號(hào)是出廠前 被光刻好的,它可以看作是DS18B20 的地址序列碼。 圖中的 VCC1(引腳 1)和 VCC2(引腳 8)都是 電源引腳,在實(shí)際電路中,VCC1 接入 5V 電源, VCC2 接入電壓為 3V的紐扣電池 圖 5 DS1302 電路 連接圖 溫度模塊設(shè)計(jì) 溫度傳感器介紹 DS18B20 引腳如圖 6 所示。 DS1302 硬件連接圖 圖 5 為 DS1302 電路連接圖,是系統(tǒng)的時(shí)鐘模塊,可實(shí)時(shí)的顯示時(shí)間。 100 μF 就可以保證 1 小時(shí) 的正常走時(shí)。 要特別說(shuō)明的是備用電源 B1,可以用電池或者超級(jí)電容器( 以上)。 表 3 DS1302的工作模式寄存器 工作寄存器 讀寄存器 寫(xiě)寄存器 時(shí)鐘突發(fā)模式寄存器 CLOCK BURST BFh BEh RAM 突發(fā)模式寄存器 RAM BURST FFh FEh DS1302 與微處理器進(jìn)行數(shù)據(jù)交換時(shí),首先由微處理器向電路發(fā)送命令字節(jié),命令字節(jié)最高位 Write Protect( D7)必須為邏輯 1,如果 D7=0,則禁止寫(xiě)DS1302,即寫(xiě)保護(hù); D6=0,指定時(shí)鐘數(shù)據(jù), D6=1,指定 RAM 數(shù)據(jù); D5~ D1指定輸入或輸出的特定寄存
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1