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

正文內(nèi)容

小型智能電子產(chǎn)品開(kāi)發(fā)自編講義-資料下載頁(yè)

2025-05-12 01:10本頁(yè)面
  

【正文】 程。而監(jiān)控程序較易出問(wèn)題,這如同當(dāng)一名操作工人比較容易,而要當(dāng)好一個(gè)廠(chǎng)長(zhǎng)就比較困難了。軟件任務(wù)分析的另一個(gè)內(nèi)容是如何安排監(jiān)控軟件和各執(zhí)行模塊。整個(gè)系統(tǒng)軟件可分為后臺(tái)程序(背景程序)和前臺(tái)程序。后臺(tái)程序指主程序及其調(diào)用的子程序,這類(lèi)程序?qū)?shí)時(shí)性要求不是很高,延誤幾十毫秒甚至幾百毫秒也沒(méi)關(guān)系,故通常將監(jiān)控程序(鍵盤(pán)解釋程序)、顯示程序、打印程序等與操作者打交道的程序放在后臺(tái)程序中來(lái)執(zhí)行。而前臺(tái)程序安排一些實(shí)時(shí)性要求較高的內(nèi)容,如定時(shí)系統(tǒng)和外部中斷(如掉電中斷)。也可以將全部程序均安排在前臺(tái),后臺(tái)程序?yàn)椤笆瓜到y(tǒng)進(jìn)人睡眠狀態(tài)”,以利于系統(tǒng)節(jié)電和抗干擾。 數(shù)據(jù)類(lèi)型與結(jié)構(gòu)的規(guī)劃上節(jié)中的軟件任務(wù)分析只是一個(gè)粗糙的分析和大體上的安排,還不能開(kāi)始編程。系統(tǒng)中各個(gè)執(zhí)行模塊之間有著各種因果關(guān)系,互相之間要進(jìn)行各種信息傳遞。如數(shù)據(jù)處理模塊和檢測(cè)模塊之間的關(guān)系,檢測(cè)模塊的輸出信息就是數(shù)據(jù)處理模塊的輸人信息;同樣數(shù)據(jù)處理模塊和顯示模塊、打印模塊之間也有這種“產(chǎn)銷(xiāo)”關(guān)系。各模塊之間的關(guān)系體現(xiàn)在它們的接口條件上,即輸人條件和輸出結(jié)果上。為了避免出現(xiàn)產(chǎn)銷(xiāo)脫節(jié)現(xiàn)象,就必須嚴(yán)格規(guī)定好各個(gè)接口條件,即各接口參數(shù)的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)類(lèi)型。這一步工作可以這樣來(lái)做將每一個(gè)執(zhí)行模塊要用到的參數(shù)和要輸出的結(jié)果列出來(lái),對(duì)于與不同模塊都有關(guān)的參數(shù),只取一個(gè)名稱(chēng),以保證同一個(gè)參數(shù)只有一種格式。然后為每一個(gè)參數(shù)規(guī)劃一種數(shù)據(jù)類(lèi)型和數(shù)據(jù)結(jié)構(gòu)。從數(shù)據(jù)類(lèi)型上來(lái)分類(lèi),可分為邏輯型和數(shù)值型,但通常將邏輯型數(shù)據(jù)歸到軟件標(biāo)志中去考慮,而將“數(shù)據(jù)類(lèi)型分類(lèi)”理解為“數(shù)值類(lèi)型分類(lèi)”。數(shù)值類(lèi)型可分為定點(diǎn)數(shù)和浮點(diǎn)數(shù)。定點(diǎn)數(shù)有直觀(guān)、編程簡(jiǎn)單、運(yùn)算速度快的優(yōu)點(diǎn),其缺點(diǎn)是表示的數(shù)值動(dòng)態(tài)范圍小,容易濫出。浮點(diǎn)數(shù)則相反,數(shù)值動(dòng)態(tài)范圍大,相對(duì)精度穩(wěn)定,不易溢出;但編程復(fù)雜,運(yùn)算速度低。如果一個(gè)參數(shù)的變化范圍有限,就可用定點(diǎn)數(shù)來(lái)表示,以簡(jiǎn)化程序設(shè)計(jì)和加快運(yùn)行速度。如某溫度控制系統(tǒng),溫度范圍為33. 0~44. 0℃,控制精度為0. 1℃。如果用一個(gè)字節(jié)來(lái)表示溫度(℃),就可以表示12. 8℃的溫度變化范圍。采用坐標(biāo)變換算法后,00H~~℃的溫度范圍了,從而實(shí)現(xiàn)一個(gè)字節(jié)的定點(diǎn)表示方法。當(dāng)參數(shù)的變化范圍太寬時(shí),只好采用浮點(diǎn)數(shù)來(lái)表示,如智能電橋中被測(cè)對(duì)象的變化范圍達(dá)10個(gè)數(shù)量級(jí)(1pF~10 000μF),定點(diǎn)數(shù)是無(wú)法勝任的。 如果某參數(shù)是一系列有序數(shù)據(jù)的集合,如采樣信號(hào)系列,則不光有數(shù)據(jù)類(lèi)型問(wèn)題,還有一個(gè)數(shù)據(jù)存放格式間題,即數(shù)據(jù)結(jié)構(gòu)間題。在單片機(jī)應(yīng)用系統(tǒng)中,數(shù)據(jù)結(jié)構(gòu)比較簡(jiǎn)單,對(duì)于“數(shù)組”,一般采用順序存放的格式,這樣就可以用簡(jiǎn)單的下標(biāo)運(yùn)算來(lái)訪(fǎng)問(wèn)數(shù)組中的任何一個(gè)元素。對(duì)于“隊(duì)列”,一般采用環(huán)形隊(duì)列結(jié)構(gòu),為此應(yīng)規(guī)劃好三樣?xùn)|西,隊(duì)列存儲(chǔ)區(qū)域、隊(duì)首指針和隊(duì)尾指針,并計(jì)算出總共需要的RAM字節(jié)數(shù)。 硬件資源分配完成數(shù)據(jù)類(lèi)型和數(shù)據(jù)結(jié)構(gòu)的規(guī)劃后,便可開(kāi)始分配系統(tǒng)的資源了。系統(tǒng)資源包括程序存儲(chǔ)器(多為片內(nèi))、RAM、定時(shí)器/計(jì)數(shù)器、中斷源等。在任務(wù)分析時(shí),實(shí)際上已將定時(shí)器/計(jì)數(shù)器、中斷源等資源分配好了。因此,如果采用匯編語(yǔ)言進(jìn)行程序設(shè)計(jì),資源分配的主要工作是RAM資源的分配。片外RAM的容量比片內(nèi)RAM大,通常用來(lái)存放批量大的數(shù)據(jù),如采樣數(shù)據(jù)系列。真正需要認(rèn)真考慮的是片內(nèi)RAM的分配。如果采用C語(yǔ)言進(jìn)行程序設(shè)計(jì),大部分資源就由編譯器來(lái)分配。片內(nèi)RAM分配時(shí)應(yīng)注意充分發(fā)揮各自的特長(zhǎng),做到物盡其用:00H~1FH這32字節(jié)可以作為工作寄存器,其中00H~0FH可用來(lái)作為0區(qū)、1區(qū)工作寄存器。在一般的應(yīng)用系統(tǒng)中,后臺(tái)程序用0區(qū)工作寄存器,前臺(tái)程序用1區(qū)工作寄存器。如果有高級(jí)中斷,則高級(jí)中斷可用2區(qū)工作寄存器(10H~17H)。如果前臺(tái)程序中不使用工作寄存器,則系統(tǒng)只需0區(qū)工作寄存器。未作工作寄存器的其他單元便可以轉(zhuǎn)為其他使用目的了。系統(tǒng)上電復(fù)位時(shí),自動(dòng)定義0區(qū)為工作寄存器,1區(qū)為堆棧,并向2區(qū)、3區(qū)延伸。如果系統(tǒng)前臺(tái)程序要用1區(qū)、2區(qū)作工作寄存器,就應(yīng)將堆??臻g重新規(guī)劃。 在工作寄存器的8個(gè)單元中,R0和R1具有指針功能,是編程的重要角色,應(yīng)充分發(fā)揮其作用,盡量避免用來(lái)做其他事情。20H~2FH這16字節(jié)具有位尋址功能,用來(lái)存放各種軟件標(biāo)志、邏輯變量、位輸人信息副本、位輸出信息副本、狀態(tài)變量、邏輯運(yùn)算的中間結(jié)果等。當(dāng)這些項(xiàng)目全部安排好后,保留一兩個(gè)字節(jié)備用,剩下的單元才可改作其他用途。30H~7FH為一般通用寄存器,只能存人整字節(jié)信息。通常用來(lái)存放各種參數(shù)、指針、中間結(jié)果,或用做數(shù)據(jù)緩沖區(qū)。也常將堆棧安放在片內(nèi)RAM的高端,如68H~7FH。89C52等增強(qiáng)型單片機(jī)片內(nèi)RAM空間為256字節(jié)或更多,80H~0FFH同樣可以作為一般通用寄存器來(lái)使用,但只能通過(guò)R0和R1來(lái)間接使用,故適合安排各種數(shù)組和表格。如果將系統(tǒng)的各種開(kāi)銷(xiāo)安排后,所剩單元很少,這往往不是好兆頭。應(yīng)該留有足夠的余地,因?yàn)楝F(xiàn)在還處于規(guī)劃階段,隨著軟件設(shè)計(jì)的發(fā)展進(jìn)程,幾乎都會(huì)出現(xiàn)新的資源要求。如果在規(guī)劃階段資源已經(jīng)很緊張,則建議修改硬件設(shè)計(jì),增加RAM資源。RAM資源規(guī)劃好后,應(yīng)列出一張RAM資源的詳細(xì)分配清單,作為編程依據(jù)。 系統(tǒng)軟件功能 本系統(tǒng)功能主要由軟件控制實(shí)現(xiàn),采用C語(yǔ)言對(duì)單片機(jī)編程。軟件主要實(shí)現(xiàn)了以下功能:(1)REST鍵: 1)復(fù)位功能:按此鍵對(duì)計(jì)時(shí)顯示的數(shù)字及計(jì)時(shí)輸出狀態(tài)進(jìn)行復(fù)位,恢復(fù)到初始狀態(tài)。2)確認(rèn)功能:時(shí)間參數(shù)設(shè)置完畢后,必須按此鍵確認(rèn)。(2)MODE鍵:連續(xù)按動(dòng)MODE鍵,參數(shù)設(shè)定依次出現(xiàn)下列菜單設(shè)置值:“P0”、“P1” 、“P2”,但“P0”不顯示。 1)P1S: ~; 2)P1A: 延時(shí)范圍1s~99min99s; 3)P1H: 延時(shí)范圍1min~99h99min; 4)P2U:正計(jì)時(shí); 5)P2D:倒計(jì)時(shí);(3)位移鍵:時(shí)間參數(shù)設(shè)置過(guò)程中,按此鍵選擇某種功能中需要調(diào)整設(shè)置的參數(shù)。(4)增量鍵:按此鍵對(duì)選中的項(xiàng)目進(jìn)行加數(shù),實(shí)現(xiàn)遞增變化。 (5)啟動(dòng):按下啟動(dòng)鍵開(kāi)始計(jì)時(shí)。(6)暫停:計(jì)時(shí)過(guò)程中,啟動(dòng)鍵放開(kāi)暫停計(jì)時(shí),再次按下則累計(jì)計(jì)時(shí)。 繪制流程圖系統(tǒng)軟件總流程圖如圖31所示:圖31 系統(tǒng)軟件總流程圖初始化模塊流程圖如圖32所示:圖32 初始化模塊流程圖顯示模塊流程圖如圖33所示:圖33 顯示模塊流程圖按鍵模塊流程圖如圖34所示:圖34 按鍵模塊流程圖啟動(dòng)鍵模塊流程圖如圖35所示:圖35 啟動(dòng)鍵模塊流程圖復(fù)位模塊流程圖如圖36所示:圖36 復(fù)位模塊流程圖功能處理模塊流程圖如圖37所示:圖37 功能處理模塊流程圖移位處理模塊流程圖如圖38所示:圖38 移位處理模塊流程圖增量處理模塊流程圖如圖39所示:圖39 增量處理模塊流程圖T0中斷處理模塊流程圖如圖310所示:圖310 T0中斷處理模塊流程圖1T1中斷處理模塊流程圖如圖311所示:圖311 T1中斷處理模塊流程圖1計(jì)時(shí)處理模塊流程圖如圖312所示:圖312 計(jì)時(shí)處理模塊流程圖 程序設(shè)計(jì)本項(xiàng)目采用C語(yǔ)言進(jìn)行程序設(shè)計(jì),因此在程序開(kāi)頭要進(jìn)行預(yù)處理,具體見(jiàn)如下說(shuō)明:/*STC90C52RC,12Mhz晶振,P0口輸出段碼,P2口作位掃描,用共陽(yáng)極LED數(shù)碼管*/includedefine uchar unsigned chardefine uint unsigned intsbit key0=P3^1。 //啟動(dòng)sbit key1=P3^3。 //繼電器控制sbit key2=P3^4。 //復(fù)位sbit key3=P3^5。 //功能選擇sbit key4=P3^6。 //移位sbit key5=P3^7。 //加一//*****************************************************************//// 定義狀態(tài)字符區(qū) ////*****************************************************************////mcon模式選擇M0M1M2//scon位移選擇S0S1S2S3//fcon延時(shí)范圍選擇F0F1F2//jcon計(jì)時(shí)范圍選擇J0J1uchar bdata flag。 //狀態(tài)特征字節(jié)sbit FLAG_RT=flag^0。 //復(fù)位特征字(0:非1:是)sbit FLAG_QD=flag^1。 //啟動(dòng)特征字(0:非1:是)sbit FLAG_JS=flag^2。 //計(jì)時(shí)方式特征字(0:正計(jì)時(shí)1:倒計(jì)時(shí))sbit FLAG_XY=flag^3。 //按鍵響應(yīng)特征字(0:非1:是)sbit FLAG_GY=flag^4。 //記憶特征字(0:非1:是)sbit FLAG_YW=flag^5。 //移位特征字(0:非1:是)sbit FLAG_JY=flag^5。 //加一特征字(0:非1:是)//sbit FLAG_ZD=flag^7。 //外部中斷特征字(0:非1:是)uchar bdata seed。 //計(jì)時(shí)特征字節(jié)sbit SEED_JS1=seed^0。 //~,即計(jì)時(shí)方式一sbit SEED_JS2=seed^1。 //計(jì)時(shí)方式1s~99min99s特征字,即計(jì)時(shí)方式二sbit SEED_JS3=seed^2。 //計(jì)時(shí)方式1min~99h99min特征字,即計(jì)時(shí)方式三uchar bdata yxzt。 //狀態(tài)特征字節(jié)sbit FLAG_T0=yxzt^0。 //運(yùn)行狀態(tài):等待(0:非1:是)sbit FLAG_T1=yxzt^1。 //運(yùn)行狀態(tài):調(diào)整(0:非1:是)sbit FLAG_T2=yxzt^2。 //運(yùn)行狀態(tài):計(jì)時(shí)(0:非1:是)sbit FLAG_T3=yxzt^3。 //運(yùn)行狀態(tài):暫停(0:非1:是)sbit FLAG_T4=yxzt^4。 //運(yùn)行狀態(tài):時(shí)間到(0:非1:是)char code seg_7[21]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xBF,0x8C,0x92,0x88,0x89,0xC1,0xA1,0x86,0x8E,0xFF,0x00}。/*共陽(yáng)極LED段碼表0123456789PSAHUdEF熄滅全亮*/uchar data seg[10]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x13,0x00}。 //數(shù)碼顯示單元uchar data buf[8]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}。 //數(shù)碼顯示緩存區(qū)uchar data bgn[8]={11,1,10,12,11,2,10,15}。 //功能顯示緩存區(qū)uchar data scan_con[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}。 //位選掃描區(qū)uchar data initial[8]={0,0,0,0,0,0,0,0}。 //主程序初始化char data mcon=0xFF,scon=0x00,fcon=0x00,jcon=0x00。 //計(jì)數(shù)用char data con04s=0x00。 //T1閃爍計(jì)時(shí)用int data con=0x0000。 //T0計(jì)數(shù)計(jì)時(shí)用//*函數(shù)說(shuō)明*//void delay_1ms(uint)。 //延時(shí)函數(shù)void clearmen(void)。 //初始化函數(shù)void show(void)。 //顯示函數(shù)void keyscan(void)。 //鍵處理函數(shù)void timer_jishi(void)。 //計(jì)時(shí)方式函數(shù)void time_intt0(void)。 //10ms中斷處理函數(shù)void time_intt1(void)。 // 系統(tǒng)軟件主程序如下:main(){clearmen()。while(1){show()。keyscan()。}} 初始化模塊程序如下:void clearmen(){uchar i,j。for(j=0。j200。j++){for(i=0。i=7。i++) { P2=scan_con[i]。 P0=seg_7[20]。 delay_1ms(1)。 P2=0xFF。 }}for(i=0。i=7。i++) { seg[i]=initial[i]。 }flag=0。seed=0。yxzt=0。//狀態(tài)初始化FLAG_T0=1。 //置等待狀態(tài)SEED_JS1=1。 //置計(jì)時(shí)方式一TMOD=0x11。//T/C0方式1方式2計(jì)數(shù)TH0=(6553610000)/256。//10ms定時(shí)初值TL0=(6553610000)%256。TH1=(6553650000)/256。//50ms定時(shí)初值TL1=(6553650000)%256。ET0=0。 //T0中斷允許位關(guān)斷ET1=0。 //T1中斷允許位關(guān)斷TR0=0。 //T0計(jì)時(shí)關(guān)斷TR1=0。 //T1計(jì)時(shí)關(guān)斷EA=1。} 顯示模塊程序如下:vo
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)教案相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1