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

正文內(nèi)容

通信工程實習報告-wenkub.com

2025-01-18 17:11 本頁面
   

【正文】 StartConvert()。 // 啟動溫度轉(zhuǎn)換}unsigned int ReadTemperature(void){ unsigned char a=0。 } delay(5)。0x01。 for (i=8。 // 給脈沖信號 if(TemperatureDat) dat|=0x80。i0。 //稍做延時后 如果x=0則初始化成功 x=1則初始化失敗 delay(5)。 //單片機將TemperatureDat拉低 delay(80)。}/******************************************************************//* 初始化 *//******************************************************************/void Init_DS18B20(void){ unsigned char x=0。 }}%時間顯示部分include include sbit TemperatureDat=P2^2。 if(nCnt = 200) nCnt = 0。//// if(CurrentMode != MF_SETTIME) OnClockTick()。// nCnt++。 TR0 = 0。}uint32_t GetLCounterValue(){ return LSoftCounter*65536 + (TH0*256 + TL0)。 TL1 = 0。 ET0 = 1。 TL1 = 0。 //定時器開關(guān)打開}void InitCounter(){ TMOD amp。 //配置定時器2控制寄存器,這里其實不用配置,T2CON上電默認就是0,這里賦值只是為了演示這個寄存器的配置// T2MOD=0。 RCAP2L=(0xFFFF50000)%256。uint8_t nCnt = 0。}void Tb_SetCursorPos(uint8_t pos){ if(pos 0 | pos 5) return。 DULA = 0。 DULA = 0。 WELA = 1。 bVisible == FALSE) { TB_PORT = TubeTab[NONE]。 for(i = 0。// NM_PORT = 0XFF。 bVisible == FALSE) TB_PORT = TubeTab[NONE]。// for(i = 0。 _TubeVal[3] |= BIT7。 _TubeVal[2] = NumberTab[n/100%10]。 _TubeVal[5] = ~0xC6。}void Tb_SetTemperature(float temp){ uint16_t n。}void Tb_SetMin(uint8_t min){ _TubeVal[2] = NumberTab[min/10]。i++) { _TubeVal[i] = NumberTab[val/n%10]。}void Tb_SetNumber(uint32_t val){ uint8_t i = 0。code unsigned char TubeTab[] = {0xFF,0xFE,0xFD,0xFB,0xF7,0xEF,0xDF}。uint8_t CursorPos = 0。 //EA = 0。 EA=1。// ES = 0。// TR1 = 1。// TMOD |= 0x20。 OnButtonDown(Key_x*10+Key_y)。 KeyScan()。 0x0F。 //return(cord_h*10+cord_l)。break。break。break。break。 0xf0。 //去抖 Key_y = P1 amp。 }}void KeyScan() //鍵盤掃描函數(shù),使用行列反轉(zhuǎn)掃描法{ P1 = 0x0F。break。break。break。break。break。break。break。break。 }void OnButton43() { }void OnButton44() { }define LED_ON P3 amp。 Tb_SetHour(GetHour())。amp。// i=100。 for(i=0。 Tb_SetNumber(GetFrequency())。 Tb_SetMin(GetMin())。 //數(shù)碼管閃爍位的設置}void OnButton31() //時鐘模式{ if(CurrentMode == MF_SETTIME) Tb_StopBlink()。 pos = Tb_GetCursorPos()。 break。 tmpL。 Tb_SetSec(tmpH *10 + tmpL)。 tmpL = GetSec()%10。 SetMin(tmpH *10 + tmpL)。 case 3: tmpH = GetMin()/10。 if(tmpH 9) tmpH = 9。 break。 tmpL。 Tb_SetHour(tmpH *10 + tmpL)。 tmpL = GetHour()%10。}void OnButton23() //{ uint8_t pos = 0,tmpH = 0,tmpL = 0。 pos = Tb_GetCursorPos()。 CurrentMode = MF_TEMP。 Tb_SetSec(tmpH *10 + tmpL)。 tmpL = GetSec()%10。 SetSec(tmpH *10 + tmpL)。 case 4: tmpH = GetSec()/10。 if(tmpL 9) tmpL = 0。 break。 tmpH++。 Tb_SetHour(tmpH *10 + tmpL)。 tmpL = GetHour()%10。 SetHour(tmpH *10 + tmpL)。 switch(pos) { case 0: tmpH = GetHour()/10。}void OnButton12(){// Tb_SetNumber(12)。}/**********************************************************************按鍵處理部分**********************************************************************/void OnButton11() //REFQ測頻模式{ if(CurrentMode == MF_SETTIME) Tb_StopBlink()。}void SetMin(uint8_t min){ Min = min。 } if(CurrentMode == MF_CLOCK) Tb_SetMin(Min)。 if(Min = 60) { Min = 0。include include include uint8_t Hour = 0,Min = 0,Sec = 0。 uint8_t Key_Pressed。 InitCounter()。測試(第三版).武漢:華中科技大學出版社[2] 李群芳. 單片微型計算機與接口技術(shù)(第3版).電子工業(yè)出版社,2008[3] 劉教瑜. ,2011[4] 張東亮. ,2009[5] 孫育才. MCS51系列單片微型計算機及其應用,第4版,東南大學出版社,2006[6] 劉軍. 單片機原理與接口技術(shù),華東理工大學出版社,2006[7] 康華光. 電子技術(shù)基礎(chǔ)模擬部分,第4版,高等教育出版社,2006 [8] 李朝青. 單片機原理及接口技術(shù),北京:航空航天大學出版社,1999[9] 盛蒙蒙 ,硅谷,2009[10] 黃明 黃艷. ,2009(27):7172.附錄I 仿真圖附錄II 源程序第一個單片機程序include include include include include include ModeFlag CurrentMode = MF_CLOCK。 總體來說,通過這次設計學習,讓我單片機的許多課外知識都有了大概的了解,也學會了單片機的編譯,這對以后的找工作也是一個優(yōu)勢。 硬件電路連接到軟件部分的調(diào)試都也使我受益匪淺。在整個電路的設計過程中,花費時間最多的方案設定,很多就屬于那種想法很好但是要實現(xiàn)非常困難的設計以及超出能力范圍的。 單片機課程設計已經(jīng)接近尾聲,留給我印象最深的不是我最后做成了上面或者我的設計實現(xiàn)了上面功能,我認為最重要的是設計的過程。按下Frequancy鍵,數(shù)碼管后四位用于顯示頻率,由于實物拍照時沒有函數(shù)發(fā)生器,輸入信號頻率為0HZ,仿真結(jié)果如圖19所示:圖19 實物頻率測量結(jié)果 之前進行頻率測試時,其對應的輸入輸出結(jié)果如下表所示。這個部分也還比較容易,出的問題不多也易于解決。按下頻率仿真鍵,數(shù)碼管后四位用于顯示頻率,輸入信號頻率為900HZ,仿真結(jié)果如圖16所示:圖16 數(shù)字頻率計仿真結(jié)果圖測試結(jié)果:改變輸入信號頻率,多次測量,結(jié)果如下:待測值(Hz)1002003004506008001000測量值(Hz)103204305456605806998結(jié)論:由仿真結(jié)果知,本設計測量的頻率有誤差,精度不高。結(jié)論:仿真結(jié)果能夠較好的完成設計要求的任務。每按下一次鍵,產(chǎn)生一次蜂鳴。Time Founction鍵:功能鍵。然后就是時鐘程序的編寫了,在本次設計中,我使用了DS1302時鐘芯片,因為這一次使用到的定時器的資源比較多,因而我希望能夠使用一個直接讀取時鐘的芯片來給我的系統(tǒng)提供時鐘。 圖13 頻率測試流程圖 今天的任務主要是完成對仿真程序的編寫。進入頻率測量函數(shù)后,若有信號輸入,則單片機自動判定所接入信號頻率的范圍,由于設定的采集時間即閘門時間為1s,故在1s內(nèi)計數(shù)器T0的計數(shù)值即為所測的頻率值。進一步分析可知,當被測信號頻率增高時,在閘門脈沖精度不變的情況下,計數(shù)器誤差的絕對值會增大,但是相對誤差仍在范圍內(nèi)。改閘門信號控制閘門電路的導通與開斷。圖10 溫度測試子程序設計流程圖頻率是周期信號每秒鐘內(nèi)所含的周期數(shù)值。圖8 主程序流程圖 調(diào)整時間子程序的作用是對時間的值進行調(diào)整和修改,使用一個臨時變量temp來記錄修改到的位數(shù),當修改至某一位時,我們讓數(shù)碼管顯示加上小數(shù)點來表示。接下來就會進入到一個大循環(huán)中,該循環(huán)就是整個程序設計的核心思想。頻率frequncy=65536*count+TH1*256+TL1*256,并將此計數(shù)值送數(shù)碼管顯示。所以測量的最大頻率為500KHz。若在一定的時間間隔T內(nèi)累計周期性的重復變化次數(shù)N,則頻率的表達式為式: f=N/T (1)本頻率計的設計以AT89C52單片機為核心,利用它內(nèi)部的定時/計數(shù)器完成待測信號頻率的測量。并且將此溫度值通過串口通信,發(fā)送到第二個單片機,顯示溫度。因此,在實際應用中要將分辨率和轉(zhuǎn)換時間權(quán)衡考慮。頭2個字節(jié)包含測得的溫度信息,第3和第4字節(jié)TH和TL的拷貝,是易失的,每次上電復位時被刷新。溫度報警觸發(fā)器TH和TL,可通過軟件寫入戶報警上下限。再次按下功能鍵,恢復時鐘顯示。 多功能電子表的計時原理為:上電后,按下Time鍵后,電子表從00:00:00開始計時。復位電路可使電子表恢復到初始狀態(tài)。本設計中的電子鐘的核心是AT89S52單片機,其內(nèi)部帶有8KB在線可編程Flash存儲器的單片機,無須外擴程序存儲器,硬件電路主要由四部分構(gòu)成:時鐘電路,復位電路,鍵盤以及顯示電路。單片機選擇AT89C52。例如:如果設計12個獨立鍵盤,按鍵一端接單片機I/O口,另一端接地,就會占用單片機較多I/O口,不符合設計要求;溫度計部分若采用熱敏電阻傳感器,利用熱敏電阻隨溫度變化而顯著變化,能直接將溫度的變化轉(zhuǎn)換為能量的變化,進而制成溫度計。串行口有兩個物理上獨立的接收、發(fā)送緩沖器SBUF,它們占用同一地址99H ;接收器是雙緩沖結(jié)構(gòu);發(fā)送緩沖器,因為發(fā)送時CPU是主動的,不會產(chǎn)生重疊錯誤。但接收緩沖器只能讀出不能寫入,而發(fā)送緩沖器剛只能寫入不能讀出。 圖4 單片機的串行接口結(jié)構(gòu) 串行通信的過程是:發(fā)送時,要把并行數(shù)據(jù)變成串行數(shù)據(jù)發(fā)送到線路上去,接收時,要把串行信號再變成并行數(shù)據(jù),這樣才能被計算機及其他設備處理。其原理框圖如圖3所示邏輯
點擊復制文檔內(nèi)容
規(guī)章制度相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1