版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、WOR格式詢I必罠魏電氣與電子信息工程學(xué)院嵌入式系統(tǒng)設(shè)計(jì)課程設(shè)計(jì)設(shè)計(jì)題目:基于 卩C/OS-II8*8點(diǎn)陣的設(shè)計(jì)與制作專(zhuān)業(yè)班級(jí):電子信息工程2009 (2)班專(zhuān)業(yè)資料整理WOR格式學(xué)號(hào):XXXXXXXXXXXXX姓名:壞水指導(dǎo)教師:李玉平王海華設(shè)計(jì)時(shí)間:2012/11/192012/12/07設(shè)計(jì)地點(diǎn):K2 314嵌入式系統(tǒng)設(shè)計(jì)課程設(shè)計(jì)成績(jī)?cè)u(píng)定表姓名壞水學(xué)號(hào)XXXXXXXXXX專(zhuān)業(yè)班級(jí)電子信息工程2009 (2)班課程設(shè)計(jì)題目:基于卩C/OS-118*8點(diǎn)陣的設(shè)計(jì)與制作課程設(shè)計(jì)答辯或質(zhì)疑記錄:1、時(shí)間管理包括哪些內(nèi)容?答:uC/OS-ll的時(shí)間管理是通過(guò)定時(shí)中斷來(lái)實(shí)現(xiàn)的,該定時(shí)中斷一般為10毫
2、秒或100毫秒發(fā)生一次,時(shí)間頻率取決于用戶對(duì)硬件系統(tǒng)的定時(shí)器編程來(lái)實(shí)現(xiàn)。中斷發(fā)生的時(shí)間間隔是固定不變的, 該中斷也成為一個(gè)時(shí)鐘節(jié)拍。uC/OS-ll要求用戶在定時(shí)中斷的服務(wù)程序中,調(diào)用系統(tǒng)提供的與時(shí)鐘節(jié)拍相關(guān)的系統(tǒng)函數(shù),例如中斷級(jí)的任務(wù)切換函數(shù),系統(tǒng)時(shí)間函數(shù)。專(zhuān)業(yè)資料整理WOR格式2、內(nèi)部時(shí)鐘振蕩器是否穩(wěn)定?是否可以用于產(chǎn)生波特率的時(shí)基?答:同器件的內(nèi)部時(shí)鐘振蕩器的精度是不同的(土 20%)。隨電源電壓變化,它也將發(fā)生變化(6.5%/V)。但基本不隨溫度變化(1%溫度變化范圍-40 C+85C)。由于不同器件內(nèi)部振蕩器的離散性較大,所以不能用于產(chǎn)生波特率,應(yīng)該外接標(biāo)準(zhǔn)晶體。而有些器件,如C80
3、51F3xx/f12x/f04x/f06x內(nèi)部振蕩器精度為土 2% 可用于產(chǎn)生波特率。成績(jī)?cè)u(píng)定依據(jù):實(shí)物制作(40 %):課程設(shè)計(jì)考勤情況(20 %):課程設(shè)計(jì)答辯情況(20 %):完成設(shè)計(jì)任務(wù)及報(bào)告規(guī)范性(20%):最終評(píng)定成績(jī)(以優(yōu)、良、中、及格、不及格評(píng)定)指導(dǎo)教師簽字:專(zhuān)業(yè)資料整理WOR格式2012年12月20日一、概述單片機(jī)的結(jié)6三、uC/OS-II在55單片機(jī)上的移植10四系統(tǒng)硬件電路設(shè)計(jì)121 、復(fù)位電路部分122、晶振部分123、總設(shè)計(jì)圖13專(zhuān)業(yè)資料整理WOR格式專(zhuān)業(yè)資料整理WOR格式計(jì).13六、軟試141、軟試142、硬試15七、實(shí)物裝15八會(huì)15目16附錄16元件清單16專(zhuān)
4、業(yè)資料整理WOR格式專(zhuān)業(yè)資料整理WOR格式課程設(shè)計(jì)任務(wù)書(shū)20122013學(xué)年第 1學(xué)期09電信本(2)電信教研室學(xué)生姓名:壞水專(zhuān)業(yè)班級(jí):指導(dǎo)教師:李玉平、王海華工作部門(mén):一、課程設(shè)計(jì)題目嵌入式系統(tǒng)設(shè)計(jì)課程設(shè)計(jì)二、課程設(shè)計(jì)目的專(zhuān)業(yè)資料整理WOR格式為了提高嵌入式系統(tǒng)設(shè)計(jì)與實(shí)際的應(yīng)用能力,開(kāi)始為期三周的嵌入式系統(tǒng)設(shè)計(jì)課程設(shè)計(jì)。通過(guò)實(shí)訓(xùn)使學(xué)生在鞏固所學(xué)單片機(jī)知識(shí)的基礎(chǔ)之進(jìn)一步把其與卩C/OS-II操作系統(tǒng)的移植結(jié)合起來(lái),增強(qiáng)學(xué)生對(duì)所學(xué)知識(shí)的實(shí)際應(yīng)用能力和以及與當(dāng)前專(zhuān)業(yè)的前沿知識(shí)結(jié)合,達(dá)到對(duì)卩C/OS-II操作系統(tǒng)的學(xué)習(xí)和理解,為以后從事嵌入式工作的研究和開(kāi)發(fā)打好基礎(chǔ)。三、課程設(shè)計(jì)內(nèi)容設(shè)計(jì)基于51單片
5、機(jī)的嵌入式系統(tǒng),把卩C/OS-II操作系統(tǒng)移植到 51單片機(jī)上,能完成基本的輸入和輸出,輸入采用4*4的鍵盤(pán),輸出采用1602液晶。再此基礎(chǔ)之上,每個(gè)同學(xué)根據(jù)自己的特長(zhǎng)擴(kuò)展應(yīng)用系統(tǒng),具體可參考以下五種擴(kuò)展方案的實(shí)現(xiàn)。1、設(shè)計(jì)的游戲機(jī),在游戲機(jī)工作時(shí)有背景音樂(lè)放出。2、 設(shè)計(jì)的是電子琴以及1602液晶顯示。3、 設(shè)計(jì)的流水燈、蜂鳴器、閃爍燈任務(wù)。,4、設(shè)計(jì)的流水燈和電子書(shū)功能。5、( 1)所有燈滅,(2) 1602顯示93) LED燈閃爍,顯示字符。四、進(jìn)度安排序號(hào)設(shè)計(jì)內(nèi)容所用時(shí)間1布置任務(wù),學(xué)習(xí)卩C/OS-II操作系統(tǒng)5天2開(kāi)發(fā)卩C/OS-II操作系統(tǒng)的移植代碼3天3制作基于55單片機(jī)的硬件系
6、統(tǒng)2天4軟硬件集成和調(diào)試2天5答辯、撰寫(xiě)設(shè)計(jì)報(bào)告書(shū)3天合計(jì)15天五、基本要求1、設(shè)計(jì)基于55單片機(jī)的輸入和輸出電路2、用4X 4的鍵盤(pán)作為輸入設(shè)備。3、用LED或LCD進(jìn)行顯示。4、開(kāi)發(fā)卩C/OS-II操作系統(tǒng)的移植代碼。專(zhuān)業(yè)資料整理WOR格式5、對(duì)系統(tǒng)的進(jìn)行綜合和調(diào)試,通過(guò)硬件指示移植成功的標(biāo)志。6、在此嵌入式系統(tǒng)上,除過(guò)能完成最基本的輸入和顯示以外,每個(gè)同學(xué)根據(jù)自己的 特長(zhǎng)開(kāi)發(fā)出應(yīng)用系統(tǒng)。7、編寫(xiě)課程設(shè)計(jì)的總結(jié).六、設(shè)計(jì)報(bào)告課程設(shè)計(jì)報(bào)告的基本內(nèi)容至少包括封面、正文、附錄三部分。課程設(shè)計(jì)報(bào)告要求統(tǒng)一格式,字體工整規(guī)范1、封面、班級(jí)、姓名、學(xué)號(hào)以及完成日期等封面包括“嵌入式系統(tǒng)設(shè)計(jì)課程設(shè)計(jì)報(bào)告
7、”2、正文正文是實(shí)踐設(shè)計(jì)報(bào)告的主體,具體由以下幾部分組成:七、考核方式與成績(jī)?cè)u(píng)定辦法評(píng)定項(xiàng)目1. 實(shí)物制作(40分)2. 課程設(shè)計(jì)考勤情況(20分)3. 課程設(shè)計(jì)答辯情況(20分)4. 完成設(shè)計(jì)任務(wù)及報(bào)告規(guī)范性(20分)總分(100分)備注:成績(jī)等級(jí):優(yōu)(90分100分)、良(80分89分)、中(70分79分)、及 格(60分69分)、60分以下為不及格。八、參考書(shū)目1 JeanJLabrosse.嵌入式實(shí)時(shí)操作系統(tǒng)卩C/OS-llM.邵貝貝譯.北京:北京航空航天大學(xué)專(zhuān)業(yè)資料整理WOR格式出版社,2003 .2 任哲.嵌入式實(shí)時(shí)操作系統(tǒng)卩C/OS-II原理及應(yīng)用M.北京:北京航空航天大學(xué)出版社
8、,2003.3 沈睿.卩C/OS- n在DSP2407上若干移植問(wèn)題的研究 J.中國(guó)水運(yùn),2007,5(5):43-44.4 馬忠梅編著.單片機(jī)的C語(yǔ)言應(yīng)用程序設(shè)計(jì)M.北京:北京航空航天出版社,2003.5 徐靈偉,劉飛.基于卩C/OS- n的嵌入式中斷實(shí)現(xiàn)與擴(kuò)展C.北京:中國(guó)控制與決策學(xué)會(huì),2007:999-1002嵌入式系統(tǒng)設(shè)計(jì)課程設(shè)計(jì)一、概述1. 單片機(jī)介紹單片機(jī)又稱單片微控制器,它不是完成某一個(gè)邏輯功能的芯片,而是把一個(gè)計(jì)算機(jī)系統(tǒng)集成到一個(gè)芯片上。概括的講:一塊芯片就成了一臺(tái)計(jì)算機(jī)。它的體積小、質(zhì)量輕、價(jià)格便 宜、為學(xué)習(xí)、應(yīng)用和開(kāi)發(fā)提供了便利條件。同時(shí),學(xué)習(xí)使用單片機(jī)是了解計(jì)算機(jī)原理與
9、結(jié)構(gòu)的最佳選擇。2. 單片機(jī)歷史單片機(jī)誕生于 20世紀(jì)70年代末,經(jīng)歷了 SCM MCU SoC三大階段。1.SCM即單片微型計(jì)算機(jī)(SingleChipMicrocomputer)階段,主要是尋求最佳的單片形態(tài)嵌入式系統(tǒng)的最佳體系結(jié)構(gòu)?!皠?chuàng)新模式”獲得成功,奠定了SCM與通用計(jì)算機(jī)完全不專(zhuān)業(yè)資料整理WOR格式同的發(fā)展道路。在開(kāi)創(chuàng)嵌入式系統(tǒng)獨(dú)立發(fā)展道路上,Intel公司功不可沒(méi)。2.MCU即微控制器(MicroControllerUnit)階段,主要的技術(shù)發(fā)展方向是:不斷擴(kuò)展?jié)M足嵌入式應(yīng)用時(shí),對(duì)象系統(tǒng)要求的各種外圍電路與接口電路,突顯其對(duì)象的智能化控制能力。它所涉及的領(lǐng)域都與對(duì)象系統(tǒng)相關(guān),因此
10、,發(fā)展MCU勺重任不可避免地落在電氣、電子技術(shù)廠家。從這一角度來(lái)看,Intel逐漸淡出MCU勺發(fā)展也有其客觀因素。在發(fā)展MCU方面,最著名的廠家當(dāng)數(shù)Philips 公司。3. 單片機(jī)是嵌入式系統(tǒng)的獨(dú)立發(fā)展之路,向MCI階段發(fā)展的重要因素,就是尋求應(yīng)用系統(tǒng)在芯片上的最大化解決;因此,專(zhuān)用單片機(jī)的發(fā)展自然形成了SoC化趨勢(shì)。隨著微電子技術(shù)、IC設(shè)計(jì)、EDA工具的發(fā)展,基于SoC的單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)會(huì)有較大的發(fā)展。因此,對(duì)單片機(jī)的理解可以從單片微型計(jì)算機(jī)、單片微控制器延伸到單片應(yīng)用系統(tǒng)。3. 單片機(jī)的應(yīng)用領(lǐng)域目前單片機(jī)滲透到我們生活的各個(gè)領(lǐng)域,幾乎很難找到哪個(gè)領(lǐng)域沒(méi)有單片機(jī)的蹤跡。導(dǎo)彈的導(dǎo)航裝置,飛
11、機(jī)上各種儀表的控制,計(jì)算機(jī)的網(wǎng)絡(luò)通訊與數(shù)據(jù)傳輸,工業(yè)自動(dòng)化過(guò)程的實(shí)時(shí)控制和數(shù)據(jù)處理,廣泛使用的各種智能IC卡,民用豪華轎車(chē)的安全保障系統(tǒng),錄像機(jī)、攝像機(jī)、全自動(dòng)洗衣機(jī)的控制,以及程控玩具、電子寵物等等,這些都離不開(kāi)單片機(jī)。更不用說(shuō)自動(dòng)控制領(lǐng)域的機(jī)器人、智能儀表、醫(yī)療器械了。因此,單片機(jī)的學(xué)習(xí)、開(kāi)發(fā)與應(yīng)用將造就一批計(jì)算機(jī)應(yīng)用與智能化控制的科學(xué)家、工程師。單片機(jī)廣泛應(yīng)用于儀器儀表、家用電器、醫(yī)用設(shè)備、航空航天、專(zhuān)用設(shè)備的智能化管理及過(guò)程控制等領(lǐng)域,在大型電路中,這種模塊化應(yīng)用極大地縮小了體積,簡(jiǎn)化了電路,降低了損壞、錯(cuò)誤率,也方便于更換。此外,單片機(jī)在工商,金融,科研、教育,國(guó)防航空航 天等領(lǐng)域都
12、有著十分廣泛的用途。二、單片機(jī)的結(jié)構(gòu)與原理1.AT89C55 芯片專(zhuān)業(yè)資料整理WOR格式AT89C55單片機(jī)芯片內(nèi)部結(jié)構(gòu)框圖如圖1所示* 12K1b可戲41q L1Lj|TbrF( l3JR*1I1Hsr y 7K-,!= = 闇聲IT1一TC s * A JT JL JL il. 1 M斗11T亠T4. f t f. T i- ?.圖1AT89C55 單片機(jī)芯片內(nèi)部結(jié)構(gòu)AT89C55,它是美國(guó)ATMEL公司生產(chǎn)的低電壓,高性能 CMOS8位單片機(jī),片內(nèi)含20kbytes 的可反復(fù)擦寫(xiě)的Flash只讀程序存儲(chǔ)器( ROM 和256*8bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM,器件采用ATMEL公
13、司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),與標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及8052產(chǎn)品引腳兼容,片內(nèi)置通用8位中央處理器(CPU和Flash存儲(chǔ)單元,功能強(qiáng)大AT89C55 單片機(jī)適合于許多較為復(fù)雜控制應(yīng)用場(chǎng)合。主要性能參數(shù):-與MCS-51產(chǎn)品指令和引腳完全兼容-20K字節(jié)可重擦寫(xiě)Flash閃速存儲(chǔ)器專(zhuān)業(yè)資料整理WOR格式1000次擦寫(xiě)周期全靜態(tài)擦寫(xiě)周期:0HZ 33Hz三級(jí)加密程序存儲(chǔ)器 256*8字節(jié)內(nèi)部RAM 32個(gè)可編程I/O 口線三個(gè)16位定時(shí)/計(jì)數(shù)器 8個(gè)中斷源低功耗空閑和掉電模式功能特性概述:AT89C55 是一種低功耗,高性能8位CMO單片機(jī),具有20K字節(jié)可重擦寫(xiě)Flash閃速存儲(chǔ)器,
14、該設(shè)備是采用Atmel的高密度非易失性內(nèi)存技術(shù),并與業(yè)界標(biāo)準(zhǔn)80C51指令集和引腳兼容,片上閃存程序存儲(chǔ)器可重新編程的系統(tǒng)或由傳統(tǒng)的非易失性內(nèi)存編程通過(guò)將通用的8位CPL與Flash在monolithicchip 芯片, AT89C55 是一個(gè)強(qiáng)大的微型計(jì)算機(jī)提 供了一個(gè)高度靈活和成本有效地解決許多嵌入式控制應(yīng)用。該AT89C55的標(biāo)準(zhǔn)提供了以下功能:20,000字節(jié)的閃存,256內(nèi)存,32個(gè)字節(jié)/O線,三個(gè)16位定時(shí)器/計(jì)數(shù)器,6向量?jī)杉?jí)中斷結(jié)構(gòu),全雙工串行端口,片上振蕩器和時(shí)鐘電路。此外,AT89C55 的目的是為降低到零頻率靜態(tài)邏輯,支持兩種軟件可選省電模式。空閑模 式停止的CPU,同時(shí)
15、允許RAMX作,定時(shí)器/計(jì)數(shù)器,串行端口和中斷系統(tǒng)繼續(xù)運(yùn)作。運(yùn)作。在掉電模式保存RAM的內(nèi)容,但凍結(jié)振蕩器,禁用直到下一個(gè)硬件復(fù)位所有其他片上功能運(yùn)作。引腳說(shuō)明:Vcc :電源供電專(zhuān)業(yè)資料整理WOR格式GND地P0 口: P0 口是一個(gè)8位漏極開(kāi)路的雙向I/O 口。作為輸出口,每位能驅(qū)動(dòng)8個(gè)TTL邏輯電平。對(duì)P0端口寫(xiě)“ 1”時(shí),弓1腳用作高阻抗輸入。當(dāng)訪問(wèn)外部程序和數(shù)據(jù)存儲(chǔ)器時(shí),P0 口也被作為低8位地址/數(shù)據(jù)復(fù)用。在這種模式下,P0具有內(nèi)部上拉電阻。在flash編程時(shí),P0 口也用來(lái)接收指令字節(jié);在程序校驗(yàn)時(shí),輸出指令字節(jié)。程序校驗(yàn)時(shí),需要外部上拉電阻。P1 口:P1 口是一個(gè)具有內(nèi)部上拉
16、電阻的8位雙向I/O 口,pl輸出緩沖器能驅(qū)動(dòng)4個(gè)TTL邏輯電平。對(duì)P1端口寫(xiě)“ 1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL )。此外,P1.0和P1.2分別作定時(shí)器/計(jì)數(shù)器2的外部計(jì)數(shù)輸入(P1.0/T2 )和時(shí)器/計(jì)數(shù)器2的觸發(fā)輸入(P1.1/T2EX),P2 口:P2 口是一個(gè)具有內(nèi)部上拉電阻的8位雙向I/O 口,P2輸出緩沖器能驅(qū)動(dòng)4個(gè)TTL邏輯電平。對(duì)P2端口寫(xiě)“ 1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL )。在訪問(wèn)
17、外部程序存儲(chǔ)器或用16位地址讀取外部數(shù)據(jù)存儲(chǔ)器(例如執(zhí)行MOVXDPTR )時(shí),P2 口送出高八位地址。在這種應(yīng)用中,P2 口使用很強(qiáng)的內(nèi)部上拉發(fā)送1。在使用8位地址(如 MOVXRI訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),P2 口輸出P2鎖存器的內(nèi)容。在flash編程和校驗(yàn)時(shí),P2 口也接收咼 8位地址字節(jié)和一些控制信號(hào)。P3 口:P3 口是一個(gè)具有內(nèi)部上拉電阻的8位雙向I/O 口,p2輸出緩沖器能驅(qū)動(dòng)4個(gè)TTL邏輯電平。對(duì)P3端口寫(xiě)“ 1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL )。專(zhuān)業(yè)資料整理WOR格式RST復(fù)位輸入。關(guān)于
18、這兩個(gè)機(jī)器周期針高,而振蕩器運(yùn)行重置設(shè)備。人一二:地址鎖存控制信號(hào)(ale)是訪問(wèn)外部程序存儲(chǔ)器時(shí),鎖存低8位地址的PROG輸出脈沖。在flash編程時(shí),此引腳(-)也用作編程輸入脈沖。在一般情況下, ALE以晶振六分之一的固定頻率輸出脈沖,可用來(lái)作為外部定時(shí)器或時(shí)鐘使用。然而,特別強(qiáng)調(diào),在每次訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),ALE脈沖將會(huì)跳過(guò)。如果需要,通過(guò)將地址為8EH的SFR的第0位置“ 1”,ALE操作將無(wú)效。這一位置“ 1”,ALE僅在執(zhí)行 MOVX或MOVC旨令時(shí)有效。否則,ALE 將被微弱拉高。這個(gè) ALE使能標(biāo)志位(地址為 8EH的SFR的第0位)的設(shè)置對(duì)微控制器處于外部執(zhí)行模式下無(wú)效。
19、PSNfSE N:程序存儲(chǔ)允許()輸出是外部程序存儲(chǔ)器的讀選通信號(hào),當(dāng)AT89C52由外PSEj部程序存儲(chǔ)器取指令(或數(shù)據(jù))時(shí),每個(gè)機(jī)器周期兩次一 有效,即輸出兩個(gè)脈沖。在此期間,當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器,將跳過(guò)兩次信號(hào)。:外部訪問(wèn)允許。欲使 CPU僅訪問(wèn)外部程序存儲(chǔ)器(地址為0000H-FFFFH,端必須保持低電平(接地)。需注意的是:如果加密位被編程,復(fù)位時(shí)內(nèi)部會(huì)鎖存EA端狀如EA端為高電平(接Vcc端),CPU則執(zhí)行內(nèi)部程序存儲(chǔ)器中的指令。Flash存儲(chǔ)器編程時(shí),該引腳加上+12V的編程允許電源Vpp,當(dāng)然這必須是該器件是使用12V編程電壓 Vpp。XTAL1:振蕩器反相放大器及內(nèi)部時(shí)鐘發(fā)生
20、器的輸入端。XTAL2:振蕩器反相放大器的輸出端。用戶軟件寫(xiě)入1秒不應(yīng)該對(duì)這些非上市地點(diǎn),因?yàn)樗鼈兛捎糜谖磥?lái)的產(chǎn)品援引新功能。在這種情況下,重置或新位無(wú)效值將始終為0。定時(shí)器2:控制和狀態(tài)位載于登記T2CON(見(jiàn)表2)和T2MOQ見(jiàn)表4定時(shí)器2)。登記冊(cè)對(duì)(RCAP2H RCAP2L的)是捕捉/定時(shí)器2裝入寄存器的16位捕捉模式或16位自動(dòng)專(zhuān)業(yè)資料整理WOR格式重載模式。中斷寄存器:個(gè)別中斷使能位在IE名冊(cè)。兩個(gè)優(yōu)先事項(xiàng)可以設(shè)定6個(gè)中斷源的IP每?jī)?cè)。數(shù)據(jù)存儲(chǔ)器:AT89C52有256個(gè)字節(jié)的內(nèi)部RAM高128個(gè)字節(jié)與特殊功能寄存器(SFR地址是重疊的,也就是高128字節(jié)的RAM和特殊功能寄存器
21、的地址的相同的,但物理上它們是分開(kāi)的。當(dāng)一條指令訪問(wèn) 7FH以上的內(nèi)部地址單元時(shí),指令中使用的尋址方式是不同的,也即尋址方式?jīng)Q定是訪問(wèn)高128字節(jié)RAM還是訪問(wèn)特殊功能寄存器。如果指令是直接尋址方式則為訪問(wèn)特殊功能寄存器。定時(shí)器0和定時(shí)器 1:AT89C52 的定時(shí)器0和定時(shí)器1的工作方式與 AT89C51 相同。定時(shí)器2:定時(shí)器2是一個(gè)16位定進(jìn)/計(jì)數(shù)器。它既可當(dāng)定時(shí)器使用,也可作為外部事件計(jì)數(shù)器使用,其工作方式由特殊功能寄存器T2CON勺C/T2位選擇。定時(shí)器2有三種工作方式:捕獲方式,自動(dòng)重裝載(向上或向下計(jì)數(shù))方式和波特率發(fā)生器方式,工作方式由T2CON勺控制位來(lái)選擇,如表3所示:定時(shí)
22、器 2由兩個(gè)8位寄存器 TH2和TL2組成,在定時(shí)器工作方式中,每個(gè)機(jī)器周期TL2寄存器的值加 1,由于一個(gè)機(jī)器周期由12個(gè)振蕩時(shí)鐘構(gòu)成,因此,計(jì)數(shù)速率的 1/12.在計(jì)數(shù)工作方式時(shí),當(dāng)T2引腳上外部輸入信號(hào)產(chǎn)生由1至9的下降沿時(shí),寄存器的值加1,在這種工作方式下,每個(gè)機(jī)器周期的5SP2期間,對(duì)外部輸入進(jìn)行采樣。若在第一個(gè)機(jī)器周期中采到的值為 1,而在下一個(gè)機(jī)器周期中采到的值為9,則在緊跟綜著的下一個(gè)周期的S3P1期間寄存器加 1.由于識(shí)別 1至0的跳變需要2個(gè)機(jī)器周期(24個(gè)振蕩周期),因此,最高計(jì)數(shù)速率為振蕩頻率的1/24.為確保采樣的正確性,要求輸入的電平在變化前至專(zhuān)業(yè)資料整理WOR格式
23、少保持一個(gè)完整周期的時(shí)間,以保證輸入信號(hào)至少被采樣一次??删幊虝r(shí)鐘輸出:定時(shí)器2可通過(guò)編程從P1.0輸出一個(gè)占空比為50%的時(shí)鐘信號(hào),如圖8所示。P1.0引腳除了是一個(gè)標(biāo)準(zhǔn)的I/O 口外,還可以通過(guò)編程使用作為定時(shí)/計(jì)數(shù)器2的外部時(shí)鐘和輸出占空比50%的時(shí)鐘脈沖。當(dāng)時(shí)鐘振蕩頻率為16MHz 時(shí),輸出時(shí)鐘頻率范圍為61Hz4MHz當(dāng)設(shè)置定時(shí)/計(jì)數(shù)器2為時(shí)鐘發(fā)生器時(shí),C/T2 ( T2C0N.D =0,( T2MOD.1 =1,必須由TR2( T2CON.2啟動(dòng)或停止定時(shí)器。時(shí)鐘輸出頻率取決于振蕩頻率和定時(shí)器2捕獲寄存器(RCAP2H RCAP2L的重新裝載值,公式如下:振蕩器頻率X B553B-
24、 (RCAFZH, ECAF2I0 在時(shí)鐘輸出方式下,定時(shí)器2的翻轉(zhuǎn)不會(huì)產(chǎn)生中斷,這個(gè)特性與作為波特率發(fā)生器使用時(shí)相仿。定時(shí)器2作為波特率發(fā)生器使用是,還可作為時(shí)鐘發(fā)生器使用,但需要注意的是波特率和時(shí)鐘頻率不能分開(kāi)確定,這是因?yàn)樗鼈兺褂肦CAP2f和RCAP2L中斷:AT89C55共有6個(gè)中斷向量:兩個(gè)外中斷( INT0和INT1),3個(gè)定時(shí)器中斷(定時(shí)器 0、1、2)和串行口中斷。所有這些中斷源如圖所示。這些中斷源可通過(guò)分別設(shè)置專(zhuān)用寄存器IE的置位或清 0來(lái)控制每一個(gè)中斷的允許或禁止。IE也有一個(gè)總禁止位EA它能控制所有中斷的允許或禁止。注意表中的IE。6為保留位,在 AT89C51 中I
25、E。5也是保留位。程序員不應(yīng)將“T寫(xiě)入這些位,它們是將來(lái) AT89系列產(chǎn)品作為擴(kuò)展用的。定時(shí)器2的中斷是由T2CON 中的TF2和EXF2邏輯或產(chǎn)生的,當(dāng)轉(zhuǎn)向中斷服務(wù)程序?qū)I(yè)資料整理WOR格式時(shí),這些標(biāo)志位不能被硬件清除,事實(shí)上,服務(wù)程序需要確定是TF2或EXF2產(chǎn)生中斷,而由軟件清除中斷標(biāo)志位。定時(shí)器0和定時(shí)器 1的標(biāo)志位TF0和TF1在定時(shí)器溢出那個(gè)機(jī)器周期的S5P2狀態(tài)置位,而會(huì)在下一個(gè)機(jī)器周期才查詢到該中斷標(biāo)志。然而,定時(shí)器2的標(biāo)志位 TF2在定時(shí)器溢出的那個(gè)機(jī)器周期的 S2P2狀態(tài)置位,并在同一個(gè)機(jī)器周期內(nèi)查詢到該標(biāo)志。三、uCos-II 在AT89C55上的移植雖然卩C/OS-II
26、大部分源代碼是用C語(yǔ)言寫(xiě)的,但是完成和處理器一些有關(guān)的代碼時(shí),照舊必須要用匯編語(yǔ)言來(lái)實(shí)現(xiàn)的。要使uCOS-ll正常運(yùn)行,必須滿足一下要求:(1) 處理器的C編譯器能產(chǎn)生可重入型代碼。(2) 用C語(yǔ)言就可以打開(kāi)和關(guān)閉中斷。(3) 處理器支持中斷,并且能產(chǎn)生定時(shí)中斷(通常頻率在10至100Hz之間)。(4) 處理器能支持容納一定量的數(shù)據(jù)存儲(chǔ)硬件堆棧(可能是幾千字節(jié))。(5) 處理器有將堆棧指針和其他CPU寄存器的內(nèi)容讀出并存儲(chǔ)到堆棧或內(nèi)存中的指令。AT89C55 與KeilCx51 編譯器可以滿足以上條件,可以將 uCOS-II移植到AT89C55系列處理器。需要說(shuō)明一點(diǎn),目前uCOS-II的版本
27、較多,但基本都一致,兼容性也很好,本例采用的是uCOS-IIV2.52 版。卩C/OS-II的移植包括以下幾個(gè)部分。(1)設(shè)置與編譯器有關(guān)的代碼OS_CPU.H在差異的處理器中有差異的字長(zhǎng),所以必須界說(shuō)一系列數(shù)據(jù)范例以確保移植的準(zhǔn)確性。另外,在uC/OS-ll中,不使用C的short、int和long等數(shù)據(jù)范例,這些都是和編譯器相干 的。下面即是uC/OS-II界說(shuō)的一部分?jǐn)?shù)據(jù)范例。專(zhuān)業(yè)資料整理WOR格式typedefunsignedcharBOOLEAN;typedefunsignedcharlNT8U;/*無(wú)標(biāo)志8位整數(shù)*/typedefsignedcharINT8S;/*有標(biāo)志8位整數(shù)*
28、/typedefunsignedintINT16U;/*無(wú)標(biāo)志16位整數(shù)*/typedefsignedintINT16S;/*有標(biāo)志 16 位整數(shù) */typedefunsignedlonglNT32U;/*無(wú)標(biāo)志32位整數(shù)*/typedefsignedlonglNT32S;/*有標(biāo)志32位整數(shù)*/typedeffloatFP32;/*單精度浮點(diǎn)數(shù)*/typedefdoubleFP64;/雙精度浮點(diǎn)*數(shù)*/首先來(lái)看對(duì)臨界段的處理,就是關(guān)中斷,處理完畢后在開(kāi)中斷。uCOS-II提供了 3種方法來(lái)處理,針對(duì) AT89C55單片機(jī),可以使用方法1來(lái)處理臨界段。在AT89C55系列單片機(jī)中,中斷允許寄
29、存器 IE的第7位EA為中斷允許控制為,EA=0屏蔽所有中斷、EA=1允許所有中斷。AT89C55 堆棧從低地址往高地址增長(zhǎng)(仁向下,0=向上),因此將 OS_STK_GROWTH定義為0。OS_TASK_SW()是一個(gè)宏,在uCOS-II從低優(yōu)先級(jí)任務(wù)切換到高優(yōu)先級(jí)任務(wù)是被調(diào)用。uCOS-II假定任務(wù)切換時(shí)靠中斷級(jí)代碼完成的,或者說(shuō)uCOS-II的任務(wù)切換時(shí)靠模仿中斷動(dòng)作來(lái)完成的。uCOS-ll需要一條處理器指令,使其行為就像是硬件中斷。MCS-51沒(méi)有軟中斷指令,在這種情況下,需要將堆棧結(jié)構(gòu)設(shè)置成與中斷堆棧結(jié)構(gòu)一樣,在用函數(shù)調(diào)用的方式來(lái)實(shí)現(xiàn)任務(wù)切換,也就是說(shuō),通過(guò)函數(shù)來(lái)模仿軟中斷指令。(2
30、)用 C語(yǔ)言編寫(xiě)6個(gè)與操作體系有關(guān)的函數(shù)OS_CPU_C.C這10 個(gè)函數(shù)是:OSTaskStklnit ()、OSTaskCreatHook ()、OSTaskDelHook ()、OSTaskSwHook ()、專(zhuān)業(yè)資料整理WOR格式OSTaskStatHook ()、OSTaskldleHook ()、OSTimeTickHook()、OSInitHookBegin() 、OSInitHookEnd()和 OSTCBInitHook()。這10個(gè)函數(shù)只對(duì) OSTaskStklnit ()編寫(xiě)代碼,后 9個(gè)函數(shù)必須聲明,但是內(nèi)部并沒(méi)有代碼。在對(duì)堆棧設(shè)計(jì)時(shí)需要考慮一下因素:傳統(tǒng)的8051處理
31、器在中斷來(lái)臨時(shí)只將程序計(jì)數(shù)器PC的值壓入堆棧。按照uCOS-II的要求,保存全部寄存器,AT89C55 的寄存器有 PSW ACC B、DPL DPH R0-R7 和 SP。Cx51編譯器允許用CPU寄存器傳遞 3個(gè)參數(shù)。堆棧從低地址向高地址增長(zhǎng)。堆棧指針指向上次入棧地址。AT89C55 存在系統(tǒng)棧。系統(tǒng)棧深度為256字節(jié)。因?yàn)樾枰M(jìn)行任務(wù)棧與系統(tǒng)棧的復(fù)制,獲得系統(tǒng)棧的起始地址,所以需要對(duì)系統(tǒng)進(jìn)行一些定義。首先,堆棧起點(diǎn)由 Keil決定,只關(guān)心大小,然后通過(guò)SOStack 獲得keil分配的SP起點(diǎn)。下面的代碼就是相關(guān)的匯編代碼,可以放在啟動(dòng)代碼中,也可以放在相關(guān)的文件中。為了函數(shù)重入,形參和
32、局部變量必須保存在堆棧里。MCS-51硬件堆棧太小,Keil將根據(jù)內(nèi)存模式在相應(yīng)內(nèi)存空間仿真堆棧,增長(zhǎng)方向由上向下,與硬件棧相反。對(duì)于大模式編譯,函數(shù)返回地址保存在硬件堆棧里,形參和局部變量放在仿真堆棧中,對(duì)MCS-51 咬使用大模式編譯。3.編寫(xiě)4個(gè)匯編語(yǔ)言函數(shù)OS_CPU_A.SuC/OS-II的移植實(shí)例要求用戶編寫(xiě)4個(gè)簡(jiǎn)略的匯編語(yǔ)言函數(shù):OSStartHighRdy()、專(zhuān)業(yè)資料整理WOR格式OSCtxSwO、OSIntCtxSwO、OSTicklSR()表2移植所需要的具體材料及移植的參數(shù)編譯硬任系統(tǒng)棧每定時(shí)單片機(jī)型號(hào)器件堆棧務(wù)棧大保存參數(shù)秒切換器初值大小?。ò4螖?shù)指針?C_XB
33、P)Kei35175B80STC11FICx510H0H00H48XE4.測(cè)試、編寫(xiě)驅(qū)動(dòng)和應(yīng)用步伐做完以上事情以后,就要測(cè)試移植的是否準(zhǔn)確。測(cè)試一個(gè)卩C/OS-II實(shí)時(shí)內(nèi)核并不龐大,即是讓這個(gè)實(shí)時(shí)內(nèi)核在自己的目的板上跑起來(lái)。uC/OS-II移植完成以后,就要在這個(gè)實(shí)時(shí)內(nèi)核之上編寫(xiě)接口驅(qū)動(dòng)步伐。由于嵌入式操作體系體積更小,功效更強(qiáng),且快速、穩(wěn)固,更具有針對(duì)性,因此不像其它操作體系那樣,對(duì)體系的全部接口配置都需要驅(qū)動(dòng)、管理、調(diào)治和監(jiān)視。由于嵌入式產(chǎn)品是針對(duì)特別的用途而計(jì)劃的,有很強(qiáng)的埋頭性,因此,在編寫(xiě)驅(qū)動(dòng)步伐時(shí)內(nèi)容更精簡(jiǎn),更具有穩(wěn)固性,編寫(xiě)出的驅(qū)動(dòng)模塊更小。 編寫(xiě)驅(qū)動(dòng)步伐應(yīng)完成以下基本功效:對(duì)配
34、置初始化和開(kāi)釋?zhuān)话褦?shù)據(jù)從內(nèi)核傳送到硬件和從硬件讀取數(shù)據(jù);讀取應(yīng)用步伐傳送給配置文件的數(shù)據(jù)和回送應(yīng)用步伐懇求的數(shù)據(jù);檢測(cè)和處理配置出現(xiàn)的錯(cuò)誤。實(shí)現(xiàn)了以上功效以后,一個(gè)嵌入式操作體系就基本組成了。四、系統(tǒng)硬件電路設(shè)計(jì)1. 復(fù)位電路部分如圖所示,當(dāng)要對(duì)晶片重置時(shí),只要按此開(kāi)關(guān)就能完成LED和開(kāi)關(guān)的重置。專(zhuān)業(yè)資料整理WOR格式2. 晶振部分產(chǎn)生時(shí)鐘信號(hào)3. 總設(shè)計(jì)圖專(zhuān)業(yè)資料整理WOR格式nw*U *hM Mr-E-盂 FTrJri ; -rrsrrjW -L 上A盯上w11 fz-dlt FT-*- *2 I刃片結(jié)果通過(guò)按鍵顯示不同圖形,于動(dòng)態(tài)顯示巻爵JS0UI需仃HrJDkDAM ”FILE3UF
35、1L - -I1!-二 L 一 眄 P口 i五、系統(tǒng)軟件設(shè)計(jì)#includeincludes.hunsignedchari=O;unsignedcharj=O;unsignedchara8=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f;unsignedcharb8=0x30,0x18,0x24,0x12,0x24,0x18,0x30,0x00;voidTaskStartyya(void*yydata)reentrant;voidTaskStartyyb(void*yydata)reentrant;voidTaskStartyyc(void*yydata)ree
36、ntrant;voidTaskStartyyd(void*yydata)reentrant;voidTaskStartyye(void*yydata)reentrant;OS_STKTaskStartStkyyaMaxStkSize;注意:我在 ASM文件中設(shè)置?STACK 空間為 40H即64。專(zhuān)業(yè)資料整理WOR格式專(zhuān)業(yè)資料整理WOR格式OS_STKTaskStartStkyybMaxStkSize;任務(wù)堆棧OS_STKTaskStartStkyycMaxStkSize;OS_STKTaskStartStkyydMaxStkSize;OS_STKTaskStartStkyyeMaxStkSi
37、ze;voidmain(void)OSInit();lnitTimerO();lnitSerial();lnitSerialBuffer();KeyInit();OSTaskCreate(TaskStartyya,(void*)0, &TaskStartStkyya0,2);OSTaskCreate(TaskStartyyb,(void*)0, &TaskStartStkyyb0,3);OSTaskCreate(TaskStartyyc,(void*)0, &TaskStartStkyyc0,4);OSTaskCreate(TaskStartyyd,(void*)0, &TaskStartSt
38、kyyd0,5);OSTaskCreate(TaskStartyye,(void*)0, &TaskStartStkyye0,6);OSStart();voidTaskStartyya(void*yydata)reentrant/任務(wù)1for(;)TH0=(65536-1000)/256;專(zhuān)業(yè)資料整理WOR格式專(zhuān)業(yè)資料整理WOR格式TL0=(65536-1000)%256;P3=ai;P仁 bi;i+;if(i=8)i=0;六、軟件調(diào)試1. 軟件調(diào)試根據(jù)程序框圖,寫(xiě)出對(duì)應(yīng)的程序,在keilC中進(jìn)行調(diào)試編譯,生成.hex文件。在Proteus中畫(huà)出電路圖,并裝載上述生成的.hex文件,首先要對(duì)程
39、序中的每個(gè)子函數(shù)進(jìn)行功能測(cè)試,在得到我們想要的功能后還要對(duì)子函數(shù)與子函數(shù)之間的調(diào)用進(jìn)行測(cè)試,在所有子函數(shù)測(cè)試都通過(guò)后才在能鑲嵌到主函數(shù)中進(jìn)行測(cè)試,仿真觀察結(jié)果,根據(jù)結(jié)果再對(duì)程序進(jìn)行修改,調(diào)試,直到滿意為止。2、硬件調(diào)試2.1、檢查元器件在焊接之前應(yīng)先檢查各元器件的好壞。檢查電容、電感、電阻的大小是否正確。檢查二極管是否導(dǎo)通。2.2、排列元器件由于本次課程設(shè)計(jì)采用的是萬(wàn)用板,元器件在電路上的排列要自己排列分布好,以為焊接減少不必要的麻煩。專(zhuān)業(yè)資料整理WOR格式專(zhuān)業(yè)資料整理WOR格式2.3、焊接在分布好元器件的格局后,開(kāi)始焊接,先焊接單片機(jī)底座、排母、其它元器件。焊接 完元器件后即元器件分布在萬(wàn)用板上已定型。然后根據(jù)電路圖,用導(dǎo)線連接各引腳。在用 導(dǎo)線連接時(shí)應(yīng)注意,導(dǎo)線焊接在元器件引腳上時(shí)剝皮部分長(zhǎng)度要適中。每焊完一個(gè)元器件
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版商業(yè)地產(chǎn)租賃押金退還及管理細(xì)則合同3篇
- 2025年度汽車(chē)行業(yè)勞動(dòng)合同范本(汽車(chē)版)2篇
- 二零二五年度餐廳桌椅智能控制系統(tǒng)集成采購(gòu)協(xié)議3篇
- 2025版煤礦安全生產(chǎn)設(shè)施改造工程承包合同4篇
- 二零二五年度股權(quán)轉(zhuǎn)讓合同:商業(yè)中心整棟樓物業(yè)交易2篇
- 2025年物業(yè)企業(yè)園林景觀維護(hù)合同范本3篇
- 二零二五版抵債協(xié)議書(shū)(債權(quán)回購(gòu))專(zhuān)業(yè)服務(wù)3篇
- 二零二五版二手房交易房產(chǎn)交易風(fēng)險(xiǎn)提示及合同補(bǔ)充條款4篇
- 二零二五年度學(xué)術(shù)報(bào)告廳場(chǎng)地租賃合同3篇
- 2025版產(chǎn)權(quán)車(chē)位買(mǎi)賣(mài)及車(chē)位租賃糾紛解決協(xié)議4篇
- 上海紐約大學(xué)自主招生面試試題綜合素質(zhì)答案技巧
- 辦公家具項(xiàng)目實(shí)施方案、供貨方案
- 2022年物流服務(wù)師職業(yè)技能競(jìng)賽理論題庫(kù)(含答案)
- 危化品安全操作規(guī)程
- 連鎖遺傳和遺傳作圖
- DB63∕T 1885-2020 青海省城鎮(zhèn)老舊小區(qū)綜合改造技術(shù)規(guī)程
- 高邊坡施工危險(xiǎn)源辨識(shí)及分析
- 中海地產(chǎn)設(shè)計(jì)管理程序
- 簡(jiǎn)譜視唱15942
- 《城鎮(zhèn)燃?xì)庠O(shè)施運(yùn)行、維護(hù)和搶修安全技術(shù)規(guī)程》(CJJ51-2006)
- 項(xiàng)目付款審核流程(visio流程圖)
評(píng)論
0/150
提交評(píng)論