日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 單片機 > 單片機
[導(dǎo)讀]引 言:   2002年初,筆者著手寫一個IC卡預(yù)付費電表的工作程序,該電表使用Philips公司的8位51擴展型單片機87LPC764,要求實現(xiàn)很多功能,包括熄顯示、負荷計算與控制、指示閃爍以及電表各種參數(shù)的查詢等,總之,要

引 言:   2002年初,筆者著手寫一個IC卡預(yù)付費電表的工作程序,該電表使用Philips公司的8位51擴展型單片機87LPC764,要求實現(xiàn)很多功能,包括熄顯示、負荷計算與控制、指示閃爍以及電表各種參數(shù)的查詢等,總之,要使用時間的單元很多。筆者當(dāng)時使用ASM51完成了這個程序的編寫,完成后的程序量是2KB多一點。后來,由于種種原因,這個程序并沒有真正使用,只是作了一些改動之后用在一個老化設(shè)備上進行計時與負荷計算。約一年后,筆者又重新改寫了這些代碼。 1 系統(tǒng)的改進   可以說,這個用ASM51實現(xiàn)的代碼是沒有什么組織性可言的,要什么功能就加入什么功能,弄得程序的結(jié)構(gòu)非常松散,其實這也是導(dǎo)致筆者最終決定重新改寫這些代碼的原因。   大家知道,87LPC764有4KB的Flash ROM,而筆者的程序量只有2KB多點,因而第一個想法是改用C語言作為主要的開發(fā)語言,應(yīng)該不至于導(dǎo)致代碼空間不夠用。其次,考慮到需要定時功能的模塊 (或稱任務(wù),以下統(tǒng)稱任務(wù))較多,有必要對這些任務(wù)進行有序的管理。筆者考慮使用時間片輪詢方式,即給每個要求時間管理的任務(wù)以一個時間間隔,時間間隔一到,即運行其代碼,達到合理使用系統(tǒng)定時器資源的目的。就51系統(tǒng)而言,一般至少一個定時器可用來進行時間片的輪詢?;谝陨系南敕ǎ瑯?gòu)造了下述數(shù)據(jù)類型。 typedef unsigned char uInt8 typedef struct { void (*proc)(void); //處理程序 uInt8 ms_count; //時間片大小 } _op_; 數(shù)據(jù)結(jié)構(gòu)定義好之后,接著就是實現(xiàn)代碼,包括三部分,即初始化數(shù)據(jù)、時間片的刷新與時間到執(zhí)行。初始化數(shù)據(jù)。 #define proc_cnt 0x08 //定義過程或任務(wù)數(shù)量 //任務(wù)棧初始化 code _op_ Op[proc_cnt]={{ic_check,10},{disp_loop,100},\ {calc_power,150},{set_led,2},…\ }; //設(shè)置時間片初始值 data uInt8 time_val[proc_cnt]={10,100,150,2,…}; 時間片刷新。 void time_int1(void) interrupt 3 { uInt8 cnt; Time_Counter:=Time_Unit; for(cnt=0;cnt

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉