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

正文內(nèi)容

基于c8051f007的晶振溫度補(bǔ)償系統(tǒng)設(shè)計(jì)畢業(yè)論文-閱讀頁(yè)

2025-03-18 09:03本頁(yè)面
  

【正文】 間需要大于 1us。采用寄生供電模式無(wú)效,因?yàn)樵?模式下,進(jìn)行溫度轉(zhuǎn)換操作時(shí),總線始終被外部強(qiáng)上拉置高。 ,或總線處于不穩(wěn)定的狀態(tài),讀出的溫度值可能為 50H、 05H( 85℃);關(guān)于讀取的雙 8 位數(shù)值與溫度的轉(zhuǎn)換算法, 0℃以上時(shí),可先將 16 位數(shù)轉(zhuǎn)換10進(jìn)制,然后乘以相應(yīng)的溫度分辨率即可; 0℃以下時(shí),將讀取的 16位數(shù)取反后,再加 1,然后乘以相應(yīng)的溫度分辨率,并在前面加上負(fù)號(hào)即可。 unsigned int Ds18b20(void)。 void Reset_18b20(void)。 unsigned int Read_18b20(void)。 void Delay_ms(unsigned char m1)。 /******************************************************************** 接口定義 ********************************************************************/ sbit DQ_18b20=P0^1。 //c8051f007時(shí)鐘配 置為 2M,允許時(shí)鐘丟失檢測(cè) XBR0=0。 XBR2=0x40。 PRT1CF=0xff。 西安工業(yè)大學(xué)學(xué)士學(xué)位論文 19 PRT3CF=0xff。 Start_18b20()。 //讀取溫度值 return (temp)。 //復(fù)位 18b20 Write_18b20(SKIP_18b20)。 //啟動(dòng)溫度轉(zhuǎn)換 Delay_ms(760)。 Delay_6us(1)。 西安工業(yè)大學(xué)學(xué)士學(xué)位論文 20 Delay_6us(160)。 Delay_6us(16)。 //最大需 240us,存在脈沖信號(hào)將結(jié)束,之后總線自動(dòng)為高電平,以示空閑 } /******************************************************************** 函數(shù)名: Write_18b20(unsigned char m1) * 功能描述:向 18b20發(fā)送 8位數(shù)據(jù) * 入口參數(shù): unsigned char m1 * 返回:無(wú) ********************************************************************/ void Write_18b20(unsigned char m1 ) { unsigned char i。i8。 _nop_()。 _nop_()。0x01。 //延時(shí) 60us,等待 18b20采樣該數(shù)據(jù) DQ_18b20=1。 m1=1。 } /******************************************************************** 函數(shù)名: unsigned int Read_18b20(void) * 功能描述:讀回 18b20的 12位溫度值 * 入口參數(shù):無(wú) * 返回: 12為無(wú)符號(hào)整型溫度值 ********************************************************************/ unsigned int Read_18b20(void) { unsigned char temp_l。 unsigned int temp。 Write_18b20(SKIP_18b20)。 //發(fā)送讀命令 temp_l=Read_onebyte_18b20()。 //讀出溫度高 8位 temp=temp_h*256+temp_l。 //讀操作結(jié)束 return(temp)。 unsigned char i。i8。 //啟動(dòng)讀操作 ,時(shí)間以此時(shí)為 0基準(zhǔn) _nop_()。 _nop_()。 _nop_()。 //主機(jī)釋放總線 Delay_6us(3)。 if(DQ_18b20==0) { 。 //讀取 1位 } DQ_18b20=1。 _nop_()。 _nop_()。 } Delay_6us(1)。 } /******************************************************************** 函數(shù)名: void Delay_6us(unsigned char m1) * 功能描述: (6*m1)us延時(shí) * 入口參數(shù):無(wú) * 返回:無(wú) ********************************************************************/ void Delay_6us(unsigned char m1) { unsigned char i。im1。 } } /******************************************************************** void Delay_ms(unsigned char m1) * 功能描述:毫秒延時(shí) * 入口參數(shù):無(wú) * 返回:無(wú) ********************************************************************/ void Delay_ms(unsigned char m1) { unsigned char i。 unsigned char k。im1。j35。k10。 } } } } void main(void) { unsigned int mmm。 while(1) { mmm=Ds18b20()。 } } FLASH存儲(chǔ)程序 對(duì) FLASH存儲(chǔ)器編程的最簡(jiǎn)單的方法是使用由 Silicon Labs或第三方供應(yīng)商提供的編程工具,通過(guò) JTAG接口編程。 本系統(tǒng)采用 由 Silicon Labs提供的編程工具。 寫 FLASH存儲(chǔ)器可以清除數(shù)據(jù)位,但不能使數(shù)據(jù)位置 ‘ 1’ 。所以在寫 入新值之前,必須先擦除待編程的地址。一次擦除操作將擦除整個(gè)扇區(qū)(將扇區(qū)內(nèi)的所有字節(jié)設(shè)置為 0xFF)。寫入的數(shù)據(jù)字節(jié)可以是任何值,因?yàn)椴皇钦嬲龑懭氲?FLASH。下面的步驟說(shuō)明了用軟件對(duì) FLASH編程的過(guò)程: a. 用 FLSCL寄存器中的 FLASCL位允許 FLASH存儲(chǔ)器的寫 /擦除操作。 西安工業(yè)大學(xué)學(xué)士學(xué)位論文 24 c. 置位 PSWE( )允許 FLASH寫。 e. 清除 PSEE以禁止 FLASH扇區(qū)擦除。重復(fù)該步直到結(jié)束。 寫 /擦除時(shí)序由硬件根據(jù) FLASH 存儲(chǔ)器定時(shí)預(yù)分頻寄存器( FLSCL)中的預(yù)分頻值自動(dòng)控制。對(duì)于一個(gè)給定的系統(tǒng)時(shí)鐘,所要求 的 FLASCL值示于 圖 ( FLASH存儲(chǔ)器定時(shí)預(yù)分頻 ) ,同時(shí)還給出了 FLASCL值的計(jì)算公式。注意,在 FLASH 正在被編程或擦除期間, 8051 中的程序停止執(zhí)行。 圖 FLSCL: FLASH存儲(chǔ)器定時(shí)預(yù)分頻 FLASH存儲(chǔ)的調(diào)試程序 include // SFR declarations include include /******************************************************************** 常量配置 ********************************************************************/ define FLASH_ERASE_ON 0xf3 //c8051f007內(nèi)部 Flash擦除允許,寫允許 define FLASH_ERASE_OFF 0xf1 //內(nèi)部 Flash擦除禁止,寫允許 /******************************************************************** 函數(shù)聲明 ********************************************************************/ void C8051f007_init(void)。 void Flash_erase_sector(unsigned int m1)。 unsigned char Flash_007_read(unsigned int m1)。 //c8051f007時(shí)鐘配置為 2M,允許時(shí)鐘丟失檢測(cè) XBR0=0。 西安工業(yè)大學(xué)學(xué)士學(xué)位論文 25 XBR2=0x40。 PRT1CF=0xff。 PRT3CF=0xff。 //系統(tǒng)時(shí)鐘 PSCTL=FLASH_ERASE_OFF。 //允許擦除,允許寫 XBYTE[m1]=0xff。 //禁止擦除 ,允許寫 } unsigned char Flash_007_read(unsigned int m1) { unsigned char m2。 return (m2)。 } void main(void) { unsigned char mmm。 Flash_007_init()。 Flash_erase_sector(0x1f00)。 } } D/A轉(zhuǎn)換程序 C8051F000 系列 MCU 有兩個(gè) 12 位的電壓方式 DAC。以 DAC0 為例, 12位的數(shù)據(jù)字被寫到低字節(jié)( DAC0L)和高字節(jié)( DAC0H)數(shù)據(jù)寄存器。 DAC 可被用于 8 位方式,這種情況是將數(shù)據(jù)左移后只寫入 DAC0H,而在 DAC0L 中寫入一個(gè)所希望的數(shù)值(通常為 0x00)。 DAC0的使能 /禁止功能由 DAC0EN位控制( )。在被禁止時(shí), DAC0的輸出保持在高阻狀態(tài), DAC0的供電電流降到 1μA或更小。還必須正確設(shè)置 DAC0的電壓基準(zhǔn)(見(jiàn)表 )。這種操作一般需要一個(gè)或多個(gè)裝載和移位指令,因而增加軟件開(kāi)銷和降低DAC的吞吐率。三個(gè) DAC0DF位( DAC0CN.[2:0])允許用戶在 5種數(shù)據(jù)字格式指定一種,見(jiàn) DAC0CN寄存器定義。其中增加鍵和減少鍵又有重鍵和輕鍵的區(qū)分。 KEY_INC、 KEY_DEC、 KEY_FIN分別接 C8051F007的 ,和 端口。 西安工業(yè)大學(xué)學(xué)士學(xué)位論文 28 圖 按鍵判斷流程圖 曲線擬合 程序 前已 述及,采用最小二乘法對(duì)標(biāo)定點(diǎn)進(jìn)行函數(shù)逼近。求多項(xiàng)式0( ) ( )m iiiP x a x m n????,使得20110( , , , ) ( )nm im i j jjia a a a x y? ??????為最小。 曲線 擬 合過(guò)程首先是根據(jù)數(shù)據(jù)點(diǎn)產(chǎn)生法方程組,解出該法方程組,可得到法方程 的系數(shù) 12, , , na a a ,即得到了曲線 擬合方程。 高斯消元法的計(jì)算步驟分為消元和回代兩個(gè)過(guò)程。 因此可得到多項(xiàng)式擬合的步驟如圖 所 示。 產(chǎn)生法方程組 消元 回代、求值 西安工業(yè)大學(xué)學(xué)士學(xué)位論文 30 圖 程序 流程圖 N N Y N Y N Y N Y Y Y N N Y N Y N Y i=n? t=m1? j=n j=m1 *(c+i*(n+2)+j)= *(c+i*(n+2)+j)+= x[t]^ (i+j) i=n2? *(c+j*(n+1)+t)=p*(*(c+i*(n+1)+t)) *(c+i*(n+2)+n+1)= p=(*(c+j*(n+1)+i))/(*(c+i*(n+1)+i)) *(c+i*(n+2)+n+1) +=y[j]* x[j]^ j j=n1? t=n1? j=i+1? x[i]=*(c+i*(n+1)+ n)/(*(c+i*(n+1)+i)) i=0? *(c+j*(n+1)+n)= *(c+i*(n+1)+n)*p (*(c+i*(n+1)+n))= x[j]*(*(c+i*(n+1)+j)) 初始化 結(jié)束 開(kāi)始 i=0 i=n1 西安工業(yè)大學(xué)學(xué)士學(xué)位論文 31 小結(jié) 本 章對(duì)系統(tǒng)的軟件部分做了詳細(xì)的描述。是整個(gè)系統(tǒng)的關(guān)鍵部分。 Silicon Labs 集成開(kāi)發(fā)環(huán)境 (IDE)是一套完整獨(dú)立的軟件程 序它為設(shè)計(jì)者提供了用于開(kāi)發(fā)和測(cè)試項(xiàng)目的所有工具。 、窗口字體可配置的 編輯器。 支持匯編器、編譯器和鏈接器。 Labs 配置向?qū)?可為指定的目標(biāo)環(huán)境產(chǎn)生配置代碼。 首先,是創(chuàng)建一個(gè)項(xiàng)目。會(huì)自動(dòng) 彈出 Save Workspace(保存工作區(qū))對(duì)話框。 New Project就會(huì)被輸入的項(xiàng)目名稱所替換,并且保存到了剛指定的目錄。 默認(rèn)設(shè)置時(shí), Keil 8051匯編器和鏈接器適合大多數(shù)應(yīng)用。 配置完成后,就要?jiǎng)?chuàng)建一個(gè)源文件,并把它添加到項(xiàng)目中來(lái)。鍵入源文件并保存源文件。 然后在項(xiàng)目窗口中的項(xiàng)目名上點(diǎn)擊鼠標(biāo)右鍵,選擇 Add files to proj
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1