李夢(mèng)
(安徽工程大學(xué)機(jī)電學(xué)院,安徽蕪湖241000)
51單片機(jī)多任務(wù)編程設(shè)計(jì)及運(yùn)用
李夢(mèng)
(安徽工程大學(xué)機(jī)電學(xué)院,安徽蕪湖241000)
51單片機(jī)常被應(yīng)用在智能控制系統(tǒng)中,特別是微型的智能控制系統(tǒng)。在計(jì)算機(jī)技術(shù)的不斷發(fā)展下,人們對(duì)51單片機(jī)所在的控制系統(tǒng)應(yīng)用提出了更高的要求,開(kāi)始了對(duì)51單片機(jī)的多任務(wù)編程試驗(yàn)。為此,對(duì)51單片機(jī)多任務(wù)編程設(shè)計(jì)及運(yùn)用進(jìn)行分析。
51單片機(jī);多任務(wù)編程;設(shè)計(jì);應(yīng)用
51單片機(jī)在微型智能控制系統(tǒng)中得到了廣泛的應(yīng)用[1],針對(duì)其應(yīng)用功能的限制問(wèn)題,有關(guān)人員對(duì)其進(jìn)行了研究和討論。
1.1多任務(wù)設(shè)計(jì)原理
多任務(wù)設(shè)計(jì)的原理是指在同一個(gè)時(shí)間內(nèi)完成多種任務(wù)[2]。但在一般情況下,一個(gè)處理器是不能再同一時(shí)間完成多種任務(wù)程序的,需要利用時(shí)間片完成多種任務(wù)的程序。為了充分完成這種任務(wù)需要利用時(shí)間操作系統(tǒng)在短時(shí)間內(nèi)對(duì)任務(wù)進(jìn)行切換,保證在同一個(gè)時(shí)間段內(nèi)制定多種任務(wù)。
1.2 51單片機(jī)多任務(wù)設(shè)計(jì)原理
第一,整體任務(wù)的設(shè)計(jì)。具體表現(xiàn)為將按照一定的規(guī)定對(duì)這些任務(wù)進(jìn)行重新排列,并按照排列好的順序執(zhí)行工作,在完成最后一個(gè)任務(wù)之后返回重新處理第一個(gè)任務(wù),如此反復(fù)循環(huán)。
第二,任務(wù)的執(zhí)行只是作為一個(gè)過(guò)程存在,不管在執(zhí)行什么樣的任務(wù)都需要在執(zhí)行任務(wù)過(guò)程之后再進(jìn)行下一個(gè)任務(wù)。即在執(zhí)行一個(gè)任務(wù)的時(shí)候不能同時(shí)執(zhí)行其他兩種任務(wù)。
第三,為系統(tǒng)獨(dú)立設(shè)計(jì)出一個(gè)等待程序,等待程序的設(shè)計(jì)能夠?qū)⑾到y(tǒng)程序進(jìn)行有效的編排,從而在保證任務(wù)完成的同時(shí)節(jié)省系統(tǒng)在執(zhí)行任務(wù)時(shí)所需要的時(shí)間。
2.1 51單片機(jī)多任務(wù)編程任務(wù)的設(shè)計(jì)和延時(shí)過(guò)程
第一,任務(wù)設(shè)計(jì)。系統(tǒng)中的任務(wù)一般分為實(shí)時(shí)任務(wù)和常規(guī)任務(wù)。其中,實(shí)時(shí)任務(wù)的執(zhí)行不需要條件,系統(tǒng)排序準(zhǔn)備工作中中就能自行執(zhí)行這些任務(wù)。常規(guī)任務(wù)的執(zhí)行一般需要在滿足相關(guān)設(shè)置的條件下進(jìn)行。因此可以發(fā)現(xiàn)只有在滿足之前設(shè)置的條件后,任務(wù)才會(huì)被啟動(dòng),且在執(zhí)行的過(guò)程中能夠被其他任務(wù)中止[3]。在任務(wù)設(shè)計(jì)的過(guò)程中,所有任務(wù)都會(huì)被排在一個(gè)隊(duì)列中,一旦想要將特殊的過(guò)程添加到常規(guī)任務(wù)中,這個(gè)過(guò)程被稱(chēng)作控過(guò)程。
第二,延時(shí)過(guò)程設(shè)計(jì)。系統(tǒng)的正常運(yùn)行往往需要相關(guān)延時(shí)等待的支持。因此,為了保證系統(tǒng)多任務(wù)功能的順利執(zhí)行,需要對(duì)程序進(jìn)行特殊設(shè)計(jì)。在一般情況下,系統(tǒng)延時(shí)分為短時(shí)間的延時(shí)和長(zhǎng)時(shí)間的延時(shí)兩種。短延時(shí)設(shè)計(jì)本身是一種特殊的處理過(guò)程,可以將其設(shè)計(jì)成一個(gè)特殊的RPOCI,短延時(shí)的計(jì)數(shù)周期要以任務(wù)的執(zhí)行時(shí)間為準(zhǔn),一般情況在在一個(gè)技術(shù)周期就能完成所有的任務(wù)。長(zhǎng)延時(shí)設(shè)計(jì)是一種獨(dú)立性、特殊性的執(zhí)行任務(wù),長(zhǎng)延時(shí)的設(shè)計(jì)能夠利用定時(shí)器來(lái)生成等待程序,具體的時(shí)間可以根據(jù)編程的時(shí)間來(lái)確定。
2.2 51單片機(jī)多任務(wù)編程硬件設(shè)計(jì)
51單片機(jī)多任務(wù)編程硬件設(shè)計(jì)需要具備所有系統(tǒng)的功能,并通過(guò)對(duì)多種功能的協(xié)調(diào)形成一個(gè)科學(xué)化、系統(tǒng)化的51單片機(jī)系統(tǒng),在系統(tǒng)的作用下完善對(duì)動(dòng)態(tài)顯示數(shù)碼管和矩陣掃描鍵盤(pán)的應(yīng)用[4]。觸碰系統(tǒng)的按鍵鈕,就會(huì)出現(xiàn)燈光閃爍,這種情況不利于任務(wù)執(zhí)行的連續(xù)性,因此,需要應(yīng)用專(zhuān)用芯片作為驅(qū)動(dòng),避免任務(wù)執(zhí)行不連續(xù)現(xiàn)象的發(fā)生。軟件設(shè)計(jì)指的是系統(tǒng)編程。為了節(jié)省編程時(shí)間,需要在延時(shí)的同時(shí)執(zhí)行其他任務(wù)。
綜上所述,51單片機(jī)進(jìn)行多任務(wù)編程的應(yīng)用需要將所有的任務(wù)進(jìn)行科學(xué)、合理的排列和管理,在具體執(zhí)行的過(guò)程中可以根據(jù)需要調(diào)制其中的任意一個(gè)過(guò)程,在調(diào)制單一過(guò)程的同時(shí)就能保證系統(tǒng)在短時(shí)間內(nèi)被隨意切換,提升系統(tǒng)資源的利用率。
[1]徐華.51單片機(jī)多任務(wù)編程設(shè)計(jì)及應(yīng)用[J].軟件,2011,32(03):21-27.31.
[2]夏青.試論51單片機(jī)多任務(wù)編程設(shè)計(jì)及應(yīng)用[J].數(shù)字技術(shù)與應(yīng)用,2015,10:21.
[3]于宏新.基于晶振粗精磨機(jī)的單片機(jī)實(shí)時(shí)多任務(wù)處理系統(tǒng)模式研究[D].上海:東華大學(xué),2011.
[4]阿占文,馮清香.單片機(jī)多任務(wù)操作的多功能采集卡設(shè)計(jì)[J].自動(dòng)化儀表,2014,(01):84-87.
Design and Application of Multi Task Programming of 51 Single Chip Microcomputer
LI Meng
(Mehanical&Electrical Engineering Anhui Polytechnic University,Wuhu Anhui 241000,China)
51 microcontroller is often used in the intelligent control system,especially the micro intelligent control system.With the continuous development of computer technology,people put forward higher requirements on the control system of the 51 single chip microcomputer,and began the multi task programming test of 51 single chip computer.For this purpose,the paper analyzes the design and application of multi task programming of 51 single chip computer.
51 single chip microcomputer;multi task programming;design;application
TP313
A
1672-545X(2016)08-0277-02
2016-05-25
李夢(mèng)(1986-),女,安徽淮南人,碩士,助理教師,主要研究方向:機(jī)械電子工程測(cè)控系統(tǒng)。