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

正文內(nèi)容

基于單片機(jī)的多功能定時(shí)器設(shè)計(jì)完整論文-閱讀頁(yè)

2024-12-26 01:17本頁(yè)面
  

【正文】 蕩周期得到兩個(gè)溫敏振蕩器在測(cè)量溫度下的振蕩頻率比值。這種方式避免了測(cè)溫過(guò)程中的 A/D 轉(zhuǎn)換,提高了溫度測(cè)量的精度。圖中低溫度系數(shù)晶振的 振蕩頻率受溫度影響很小,用來(lái)向計(jì)數(shù)器 1 提供固定頻率的脈沖信號(hào)。初態(tài)時(shí),計(jì)數(shù)器 1 和溫度寄存器被預(yù)置在與55 ℃相對(duì)應(yīng)的一個(gè)基值 上。在默認(rèn)的配置中, DS18B20 的測(cè)溫分辨率為 0. 0625 ℃,以 12 位有效數(shù)據(jù)表示,其中,高位的 s 表示符號(hào)位,其數(shù)據(jù)格式如表 1 所示。下面簡(jiǎn)單介紹一下本課題程序的設(shè)計(jì)思想和功能。 應(yīng)用 ISIS 軟件仿真電路 在 ISIS 軟件中畫(huà)出原理圖,向單片機(jī)中加入需要調(diào)試的程序的 HEX 文件,便可以進(jìn)行調(diào)試了。電路中的發(fā)光二極管指示燈便根據(jù)設(shè)計(jì)設(shè)定的方式進(jìn)行指示: 圖 發(fā)光二極管的電路仿真 圖 總體電路仿真圖 應(yīng)用 KEIL 軟件進(jìn)行程序調(diào)試 軟件的調(diào)試必須在開(kāi)發(fā)系統(tǒng)的支持下進(jìn)行。調(diào)試的范圍可以由小到大、逐步增加,必要的 中間信號(hào)可以先作設(shè)定。發(fā)現(xiàn)一個(gè)問(wèn)題,解決一個(gè)問(wèn)題,直至全部通過(guò)。器件的型號(hào)、規(guī)格、極性是否有誤,插接方向是否正確。 然后,向硬件中寫(xiě)入程序并調(diào)試硬件,解決問(wèn)題。結(jié) 論 本設(shè)計(jì)硬件電路模塊清晰,整個(gè)電路中使用了 AT89S52 單片機(jī)、 74HC573 等主要芯片。 專(zhuān)用定時(shí)器可以正常顯示時(shí)間并進(jìn)行時(shí)間調(diào)整,基本完成了預(yù)期要實(shí)現(xiàn)的目標(biāo)。為了使我的綜合技能可以有一個(gè)很大的提高,這次畢業(yè)設(shè)計(jì)我選擇了一個(gè)具有實(shí)用性的課題――基于單片機(jī)的多功能定時(shí)器。因?yàn)閷?shí)際的制作過(guò)程是容不得一點(diǎn)差錯(cuò)的,一個(gè)由多個(gè)集成塊組成的電路可能就因?yàn)橐粋€(gè)電阻的錯(cuò)誤而完全崩潰。同時(shí) ,也提高了我獨(dú)立分析問(wèn)題、解決問(wèn)題的能力。本次畢業(yè)設(shè)計(jì)能夠順利地完成,我要感謝我的母校――天津工程師范學(xué)院。張教授嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度,深厚的學(xué)術(shù)造詣以及忘我的工作精神給我留下了深刻的印象。我還要感謝給予我?guī)椭椭С值耐瑢W(xué)們,感謝電子工程學(xué)院的老師為我們做畢業(yè)設(shè)計(jì)提供的各方面的幫助! 在整個(gè)設(shè)計(jì)制作過(guò)程當(dāng)中,我感覺(jué)收獲非常大,我獲得的不僅是理論上的收獲 ,還有實(shí)踐中的豐收,同時(shí)還有的就是同學(xué)們之間的合作精神。 unsigned char code LED_CODES[] 0xc0,0xF9,0xA4,0xB0,0x99,//04 0x92,0x82,0xF8,0x80,0x90,//59 。 uint flash 200,wei 4,de 0,flag 1,button,C100us 20210,flag_18B20。 sbit led P1^1。 sbit seg2 P2^1。 sbit DQ P1^2。//顯示數(shù)據(jù)端口 /**********************************************************************/ uchar temp。 /***********************************************************************/ unsigned char ReadTemperature void 。 unsigned char ReadOneChar void 。 void delay unsigned int i 。i 0。 void T0Int void interrupt 1 using 0 //T0 中斷服務(wù)函數(shù) if flag! 1amp。flag_18B20 0 C100us。 second++。minute++。hour++。 void display uchar mi,ho。 ho hour。 ho nhour。 P2 Select[0]。 P2 0xff。 P2 Select[1]。 P2 0xff。 if wei 1amp。flag 0 if flash 100 P0 0xff。 wait 30 。 P0 LED_CODES[mi/10]。amp。 P2 Select[4]。 P2 0xff。 if wei 3amp。flag 0 if flash 100 P0 0xff。 wait 30 。 P0 LED_CODES[ho/10]。amp。 P2 Select[5]。 P2 0xff。 if flash 0 flash 200。 P3 0xf0。0xf0 ! 0xf0 wait 100 。0xf0 ! 0xf0 scode 0xfe。0x10 ! 0 P3 scode。0xf0 ! 0xf0 recode P3amp。 return ~scode + ~recode 。 return 0。 switch x case 0x11: number 0。 //0 case 0x21: number 1。 //1 case 0x41: number 2。 //2 case 0x81: number 3。 //3 case 0x12: number 4。 //4 case 0x22: number 5。 //5 case 0x42: number 6。 //6 case 0x82: number 7。 //7 case 0x14: number 8。 //8 case 0x24: number 9。 //9 case 0x44: flag 1。 case 0x84: flag 0。 break。 de++。 case 0x28: flag 3。 case 0x48: if de 0 led ~led。 break。 break。amp。 if wei 0 wei 4。amp。 if wei 3amp。number 10 hour hour/10*10+number%10。 if wei 2amp。number 6 minute number*10+minute%10。amp。 naozhong if flag 3 if wei 4amp。number 3 nhour number*10+nhour%10。amp。 if nhour 19amp。number 4 nhour nhour/10*10+number%10。amp。 if wei 1amp。number 10 nminute nminute/10*10+number%10。amp。 else beer 1。 void _18B20 uchar ii。 for ii 0。ii++ temp ReadTemperature 。//顯示 C 符號(hào) str[2] LED_CODES[temp/10]。 //個(gè)位溫度 P2 0xff。 dataled str[0]。 dataled 0xff。 seg2 0。 wait 30 。 seg2 1。 dataled str[2]。 dataled 0xff。 flag_18B20 0。 /***************************************************************************************/ //18b20 初始化函數(shù) void Init_DS18B20 void unsigned char x 0。 //DQ 復(fù)位 delay 8 。 //單片機(jī)將 DQ 拉低 delay 80 。 //拉高總線 delay 10 。 //稍做延時(shí)后 如果 x 0 則初始化成功 x 1 則初始化失敗 delay 5 。 unsigned char dat 0。i 0。 // 給脈沖信號(hào) dat 1。 // 給脈沖信號(hào) if DQ dat| 0x80。 return dat 。 for i 8。 i DQ 0。0x01。 DQ 1。 delay 5 。 unsigned char b 0。 //float tt 0。 WriteOneChar 0xCC 。 // 啟動(dòng)溫度轉(zhuǎn)換 delay 200 。 WriteOneChar 0xCC 。 //讀取溫度寄存器等(共可讀 9 個(gè)寄存器) 前兩個(gè)就是溫度 a ReadOneChar 。 b 4。0xf0 4。 //tt t*。 //放大 10 倍輸出并四舍五入 return t 。 TH0 0xd2。 IE 0X82。 minute 0。 TR0 1。 led 0。 button anjian 。 tiaoshi 。 _18B20 。文〔 3〕則研究利用定 時(shí)器參數(shù)的校正 ,補(bǔ)償電壓波動(dòng)對(duì)電加熱系統(tǒng)控制精度造成的不良影響 .這些 ,都表明物理過(guò)程的時(shí)間是控制系統(tǒng)的一個(gè)極為重要的物理量 .作為 PLC 定時(shí)器的應(yīng)用 ,有兩個(gè)問(wèn)題必須研究 . 1 定時(shí)器參數(shù) ,如何根據(jù)生產(chǎn)現(xiàn)場(chǎng)的實(shí)際情況進(jìn)行設(shè)定 ,在設(shè)定中可能存在什么問(wèn)題 ,文獻(xiàn)〔 4,5〕對(duì)此有深入的討論 . 2 受定時(shí)器控制的物理過(guò)程的實(shí)際時(shí)間長(zhǎng)短和定時(shí)器的設(shè)定值比較 ,有多大誤差 ,這就是本文要討論的內(nèi)容 .由于 PLC 采用循環(huán)掃描的工作方式 ,而 PLC 內(nèi)的定時(shí)器是獨(dú)立于循環(huán)掃描之外的計(jì)時(shí)裝置 ,故在應(yīng)用定時(shí)器時(shí)可能造成誤差 .在討論 PLC 中 定時(shí)器的工作過(guò)程時(shí) ,將指出造成誤差的兩種原因 ,給出誤差的范圍 ,并提出減少誤差的方法 . 1 定時(shí)器動(dòng)作條件及其造成的誤差 圖 1為定時(shí)器動(dòng)作的實(shí)驗(yàn)程序 .定時(shí)器 TIMOO動(dòng)作時(shí) ,其常開(kāi)觸點(diǎn)閉合發(fā)出脈沖 ,計(jì)數(shù)器 CNT46和 CNT47對(duì)這脈沖計(jì)數(shù) T46和 CNT47設(shè)定值相同 ,這 2個(gè)計(jì)數(shù)器中任 1 個(gè)即時(shí)值減至零 ,定時(shí)器的線圈電路即被切斷 .在 PLC 上電后 ,當(dāng)循環(huán)掃描至 TIMOO 線圈電路 ,定時(shí)器開(kāi)始計(jì)時(shí) .如考慮循環(huán)掃描時(shí)間 ,定時(shí)器什么時(shí)候動(dòng)作 ,可根據(jù)文〔 6〕認(rèn)為其即時(shí)值減至零時(shí) ,定時(shí)器便動(dòng)作 .對(duì)于圖 1 的電路 ,設(shè)定時(shí)器TIMOO 即時(shí)值減至零時(shí) ,循環(huán)掃描處在梯形圖的 A 點(diǎn)以前或 D 點(diǎn)以后 .由于 TIMOO動(dòng)作,當(dāng)循環(huán)掃描過(guò) A 點(diǎn)時(shí) ,CNT46 將計(jì)到 TIMOO 的脈沖 .接著 ,當(dāng)循環(huán)掃描到定時(shí)器的線圈電路 ,TIMOO 的常閉觸點(diǎn)斷開(kāi) ,則線圈沒(méi)電 ,定時(shí)器復(fù)位 .這將導(dǎo)致CNT47 沒(méi)有計(jì)數(shù)到 TIMOO 的脈沖〔 6〕 .也就是說(shuō) ,CNT46 和 CNT47 計(jì)數(shù)值將不同 .實(shí)驗(yàn)表明 ,無(wú)論 CNT46 和 CNT47 設(shè)定值為多少 兩個(gè)計(jì)數(shù)器設(shè)定值相同 ,由程序長(zhǎng)短決定的掃描周期如何改變 ,TIMOO 即時(shí)值減至零時(shí)循環(huán)掃描落在程序的哪一點(diǎn) ,都可得兩個(gè)計(jì)數(shù)器的讀數(shù)總是相同的 .它們同時(shí)減到零 ,這說(shuō)明定時(shí)器動(dòng)作的條件 ,除了其即時(shí)值減至零以外 ,還要求循環(huán)掃描到定時(shí)器的線圈電路 .從定時(shí)器即時(shí)值減至零 ,到循環(huán)掃描到定時(shí)器的線圈電路 ,這段時(shí)間就是誤差時(shí)間 .定時(shí)器即時(shí)值減至零 ,如果循環(huán)掃描正到 B點(diǎn) ,這段誤差最小 。 當(dāng)應(yīng)用高速 定時(shí)器指令 TIMH FUN15 ,而設(shè)定值又很小 如 時(shí) ,相對(duì)誤差可達(dá) 100%,設(shè)計(jì)時(shí)應(yīng)予注意 . 2 定時(shí)器工作過(guò)程指令次序造成的誤差 在定時(shí)器工作過(guò)程中 ,指令先后和指令順序不當(dāng)各造成定時(shí)器的誤差 ,分別如圖 2,3 所示 . 循環(huán)掃描使程序執(zhí)行有先有后 .定時(shí)器線圈通電條件滿足時(shí) ,并不立即計(jì)時(shí) ,而是等到掃描到線圈電路時(shí)才開(kāi)始計(jì)時(shí) .另外 ,定時(shí)器動(dòng)作后 ,其觸點(diǎn)控制的電路也得等到掃描至該電路時(shí)才工作 .在圖 2 梯形圖中 ,從 0002“ ON ”到 0500 有輸出之間的時(shí)間 ,比定時(shí)器 TIMOO 的設(shè)定值長(zhǎng) ,差值的一部分是 由本文上面提到的定時(shí)器動(dòng)作條件產(chǎn)生的 ,另一部分為循環(huán)掃描從指令 LD0002 到OUT0500 的時(shí)間 .這種誤差和指令順序及位置安排關(guān)系密切 .當(dāng)把圖 2 中三段程序緊靠在一起 ,中間沒(méi)有插入其它程序 ,則誤差最小 .當(dāng)指令順序安排不當(dāng) ,此誤差可達(dá) TS 的 2 倍 . 這種情況發(fā)生在圖 3 所示的梯形圖程序中
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1