單片機(jī)定時(shí)器常見(jiàn)兩大應(yīng)用問(wèn)題解析
問(wèn)題一:51單片機(jī)的T0、T1定時(shí)器四種工作方式各有什么特點(diǎn)?
本文引用地址:http://m.butianyuan.cn/article/201611/319851.htm在單片機(jī)定時(shí)器的應(yīng)用過(guò)程中,定時(shí)器在進(jìn)行設(shè)置時(shí)會(huì)有四種不同的工作方式,合理選擇相應(yīng)的工作方式可以幫助工程師快速完成及時(shí)設(shè)置。下面我們就來(lái)逐一講解一下這四種不同的計(jì)時(shí)方式。方式0是單片機(jī)計(jì)時(shí)器的第一種計(jì)時(shí)方式,這一方式13位計(jì)數(shù)模式。方式1則采用16位計(jì)數(shù)模式,方式2采用8位自動(dòng)重裝入計(jì)數(shù)模式,這兩種技術(shù)模式也是目前在單片機(jī)應(yīng)用過(guò)程中最常使用的及時(shí)方式。最后一種單片機(jī)定時(shí)器的計(jì)時(shí)方式是方式3,這一模式下只有T0有的雙8位計(jì)數(shù)模式。
問(wèn)題二:在設(shè)置單片機(jī)定時(shí)器的過(guò)程中出現(xiàn)了錯(cuò)誤,應(yīng)該怎么進(jìn)行誤差糾正?
在使用單片機(jī)定時(shí)器進(jìn)行計(jì)時(shí)設(shè)置的過(guò)程中,出現(xiàn)設(shè)置錯(cuò)誤的情況是在所難免的,這就需要我們采取一些方法對(duì)已經(jīng)造成的錯(cuò)誤進(jìn)行糾正了。由于單片機(jī)的機(jī)器周期通常為1μs~2μs,因此定時(shí)誤差一般應(yīng)在0μs~20μs之內(nèi),對(duì)于一般應(yīng)用,此誤差可以忽略,但是對(duì)于精確度要求比較高的應(yīng)用場(chǎng)合,此誤差必須進(jìn)行校正。定時(shí)誤差是定時(shí)溢出后轉(zhuǎn)入執(zhí)行定時(shí)處理語(yǔ)句段之間所耗費(fèi)的時(shí)間,此時(shí)間主要由定時(shí)溢出轉(zhuǎn)入定時(shí)處理語(yǔ)句段所必須執(zhí)行的指令或硬件過(guò)程產(chǎn)生。
定時(shí)誤差校準(zhǔn)的一個(gè)比較簡(jiǎn)單的方法式,在定時(shí)溢出響應(yīng)后,立刻停止定時(shí)器的計(jì)數(shù)工作,同時(shí)快速讀出當(dāng)時(shí)計(jì)數(shù)值,然后將完成這一任務(wù)的程序段執(zhí)行時(shí)間考慮進(jìn)去,作為修正因子校正定時(shí)初值,以下程序段以中斷處理方式為例來(lái)進(jìn)行說(shuō)明。需要注意的是,由于執(zhí)行從指令clrTR0(停止計(jì)數(shù))到指令setbTR0(重新開(kāi)啟計(jì)數(shù))之間的指令需8個(gè)機(jī)器周期,應(yīng)將此消耗考慮進(jìn)去,因此該程序?qū)⒍〞r(shí)誤差縮小在1個(gè)機(jī)器周期內(nèi)。這一糾正程序的設(shè)計(jì)如下圖所示:
以上就是本文針對(duì)單片機(jī)定時(shí)器使用過(guò)程中常見(jiàn)的兩種問(wèn)題,所進(jìn)行的分享和解析,希望能夠?qū)Ω魑恍氯斯こ處煹?strong>單片機(jī)學(xué)習(xí)提供一定的幫助。
評(píng)論