99精品久久久久久久免费看蜜月/欧美激情做真爱牲交视频/日本不卡不码高清免费观看/三浦惠理子jux240久久 - 他在车里撞了我八次主角是谁

購物車0種商品
IC郵購網-IC電子元件采購商城
單片機多任務-DS18B20
(2011/10/23 9:08:00)
近來感覺自己單片機方面學得太淺了,尤其在多個任務的時候,系統實時性低,響應速度慢。看了網上關于這方面的書,覺得自己思路不是很清晰,望前輩點撥

網友評論:有這樣的想法很不錯,然后去網上找相關資料先自己琢磨一下,然后在碰到某一方面的問題再去解決。

網友評論:在LED顯示屏過程中的時候,需要刷新速度達到100HZ,對于51單片機來說,huangqi412說的方法實現還是有一定的差距的

網友評論:在讀溫度和讀時間的過程中,屏會出現比較抖動。

網友評論:不錯。。 學習了

網友評論:

很簡單的事:一共才2個任務:

任務1、DS18B20郵購DS18B20
任務2、DS1302郵購DS1302

RTOS節拍設定為 1 / 16秒,每節拍中斷ISR內刷新顯示屏;沒個抖動的。

2個任務代碼LZ你已經寫好了,獨立出來,搭個積木就行了。

網友評論:好的編程思想只能改善你的程序運行效率,再好的思想也不能讓CPU變快,當軟件滿足不了需求,只能用硬件來彌補了。

網友評論:用硬件??換mcu嗎?

網友評論:18B20只有一根信號線,對讀寫時序要求比較嚴格,如果讀到一半跑去中斷里刷屏可能會讀失敗,所以網上的18B20例程都要求讀的時候關中斷,你可以測試一下,在刷屏中斷里改寫完數據馬上出來,中斷里不要做任何延時,如果這樣都讀失敗,只能換單片機或者超頻了。

網友評論:《MSP430系列單片機系統工程設計與實踐 》《時間觸發嵌入式》

網友評論:看來我真的得換mcu了

網友評論:33樓真是誤導LZ。35樓即使換了飛快的MCU,33樓的問題還是存在,——18B20的讀寫時序是外設特征時間,與MCU速率無關!

一個18B20讀寫時間(不是轉換時間)需要50ms(或者1/16 秒)或者100ms (丟失一次顯示刷新,不至于閃爍吧)嗎?

如果這個時間必須是原子性的,必須嚴格時序到100us 誤差之內(可能么?又是需要50ms慢速等待,又是需要100us精度。)那就只好用2個CPU 啦。

書上現成的例子,沒那么復雜。



網友評論:樓上還自稱前輩, 懂不懂技術啊?
關閉中斷是為了不干擾 18B20 讀寫, 與 100ms 有什么關系? 這樣的系統, 而且還是 8051, 還推薦什么 rtos, 到底做過技術沒有?

7 樓已經說了: '狀態機','MCU軟件設計','事件驅動', 這才是技術要點。 使用定時中斷, 中斷里去做各種操作, 用狀態機方式劃分分時復用的操作狀態。 記住“分時“ 二字!

網友評論:

哈,前輩與c+++年齡相當,是機械專業的。所以不可能對MCU有多么深入的研究。只能利用工具進行控制器開發。

RTOS是一種工具,是給菜鳥用的,菜鳥借助RTOS,就能完成高手相當的作品(系統)。

正如一臺高級數碼相機,咱前輩老人拿在手里是“傻瓜”相機,但是拍出照片來勝似專業攝影師。——因為相機里面有一個高級OS幫我。

再如:現在市場上有電腦克隆出來的世界名畫,經專家甚至借助機器掃描鑒定,無法辨出真偽。——像我們這樣沒有天才細胞的菜鳥,是去學電腦克隆軟件操作,還是學繪畫技術用畫筆模擬克隆畢加索?!

前輩和LZ屬于菜鳥前者,知道利用天才大師做的先進工具,最終2天時間就能完成克隆畢加索大師級作品;而37樓水平雖高,利用自己一輩子磨練的8級工匠手工技術,一會兒學吳冠中,一會兒又改學畢加索,畫了半輩子,還是不倫不類。——英雄一生,壯志未酬,半輩子過去,已經不可能再有所發展,被信息時代淘汰了。

狀態機、事件驅動,這都什么年代的技術?說80年代不算早吧。——早就都包含在RTOS設計思想里了。現在還有人學?新華書店里這樣書都不好找啦,滿眼都是嵌入式RTOS。

哈,咱也敬佩37樓,80年代的精英;不過比較起來,現代技術:前輩我是利用工具進行設計,37樓是自己制造工具,然后自己設計。顯而易見,當然c+++水平高,他有完全的資格說“這論壇上能讓我正眼相看的人還沒出現……”;可惜最后,我們都站到了巨人的肩膀上,而那些從不肯向別人學習的人,還在巨人的腳下制造工具……。
一個人一輩子只有100年,再有才能也完不成巨人的一只腳。
這就是差別——眼光。



網友評論:樓上劉錢貝好像是那個被稱作論壇敗類的wxj5952的馬甲吧? 想單挑人家 highgear, 結果逃之夭夭了, 是你吧?
就你那點水平, 還巨人肩膀, 臉皮真厚。

網友評論:

C+++看不懂中文?38樓咱劉某人今年54歲,是一個機械專業的真正的單片機超級菜鳥,這句話說了800遍了,咱承認自己愿意跪拜這論壇上任何人為老師,論水平是根本談不上啦。C+++還在這娘們似地嘮叨自己水平如何比俺老劉高?

看起來,C+++這種highgear的馬甲之類的水平也就敢和我老劉這樣機械專業的超級菜鳥相提并論,并以此為快啦?——“哼!就這水平,還敢和咱 highgear比?咱一個‘授之于漁’教材貼就夠你喝一壺的。”——啊?俺劉前輩水平論壇第一差,咱 highgear 大師怎么說也是老二呀。就那么喜歡和論壇第一差比較誰的水平高?

這種冷漠老師筆下的精神病人,被1952一個帖子趕出論壇,3年憂郁成心病了。看著誰都像1952,都趕著追殺。典型的精神病狀。結果如今連個wxj 的名字都寫不好了,更象是病入膏肓了。早就建議你看心理醫生,可是任何精神病人都不會承認自己有病,就像醉鬼總是“我沒醉,我還能喝……”一樣。
所長如今還是愛和小輩水平比較——總喜歡“授人與漁”先把自己放在大師的位置到這邊來教育菜鳥以滿足精神需要?“沒有100貼我就不開講……”——大師犯什么毛病呢,到底想不想講。那邊自己開的帖子100多貼了,怎么還不開講,又跑這邊菜鳥群里混來了?

老劉今天選你為菜鳥幫主,以后就再也不用擔心和手下哪個菜鳥比較誰的水平高啦?



網友評論:哈哈,老劉
不得不說,我同意你的思想和眼光
但你可能沒想想,使用工具和制造工具其實是兩個不太相關的階層
如果都像你這么想和做,那沒人去做底層開發了
就像你很會用電腦,但從不知怎么裝系統甚至不會組裝電腦,
哪天你電腦壞了,你老婆給你買了臺新的回家,
在沒有別人幫助前,打死你也不會裝起來,你電腦玩得再好,
你也只能干瞪眼,頂多把電源線接起來跳跳繩,練練身子骨

你的想法沒有錯,但人家在這里討論的是制造工具,你卻勸大家去使用工具,跑題了
我要是猜得沒錯的話,其實你不是不想學怎么制造工具,而你已經沒時間了,54了,還能蹦幾年?

網友評論:

41樓還是沒理解眼光:咱老劉學用RTOS花了2個多月時間。如今比單位上那些自控專業學單片機的優勢多了:“物以稀為貴”;就咱老劉一個人會。等你們高手底層工具開發?20年都等過去了,猴年的事。國家都撤資啦。還等?還吹,——開發底層工具?會用就了不起了。知道WindowsAPI 有多少服務例程可以調用?幾千個?還是上萬個……這還真得問問所長。你來開發底層工具?你開發一個 51_RTOS_ API我試用看看。

還請問41樓,中國20年,哪位做出了一個可以像uC/OS等等那樣有廣泛影響的RTOS ?您手里用的是不是德國人的keil IDE ?還是你自己做的、可以推廣使用的什么工具?41樓這么雄心——制造工具,請問你制造過那些可供咱菜鳥使用的工具,也許您一生有規劃,立志做出咱中國的51上能用的RTOS(雖然有國人已經做過,難用,不能推廣。)還沒做出來的事,先別忽悠。

2、電腦?咱家里的3臺電腦2臺是咱老劉自己DIY的,(2臺筆記本不會裝,實話實說,買的二手)——連小學生都知道怎么組裝電腦;別太小看咱菜鳥。
但是老劉說的眼光:這么大中國,有沒有一臺自己品牌的,從里到外全部自己生產的電腦?!這么信息匱乏的人,以為中國芯片技術很先進?還真的有自己的N 核處理器?STC算中國貨?聯想PC離了外國的IC芯片,什么也做不出來。

很先進怎么釣魚島上日本就敢綁架中國船長?欺負你他有的短距離有翼機你沒有啊,你用直升機和日本對陣?——還是別在這充老大的好。

哈哈,老劉是學習使用芯片的總工,電腦硬盤壞了,換一個裝上就行,開玩笑,這么大中國有自己品牌的硬盤嗎?guomz 該不會是研究如何制造硬盤或者芯片之類的高級人才吧(比喻,中國20年沒有自己的OS,就指望41樓了。)。那可真了不起,中國的希望就寄托在你身上了。

底層開發?OS早把底層硬件隱藏管理了。還等你底層開發?你不會用OS是你自己的問題,和時代的發展沒有關系。和別人學習用OS的人也沒有關系,你愿意自己底層開發,也是你個人意愿,和LZ或者老劉或者別人玩RTOS沒有關系。“最使人厭惡的2種人之一,就是總把自己的意愿強加于人……”這不是我說的,是書上寫的……

這么了不起的工作的人,不可能在這浪費時間吧。 想了個組裝電腦的例子,還牛頭不對馬嘴,小孩子玩的技術,正栽在老劉的強項上。知道中關村什么叫芯片級維修?也不過是換芯片而已,你以為誰會修芯片呢(底層高手)。——沒到奔3 ?老劉早就功成名退,隱居山水之間,自由自在了,41樓不是每天還要朝九晚五地蹦跶,給老板賣命?

送你一篇文章,一個人最大的幸福或者成功是什么?





網友評論:21IC上一磚頭能砸到三位大師,俺這等無名小輩只會畫雞蛋~

網友評論:ocon給正在南寧受苦受難的兄弟們指點一下啊……

網友評論:我借劉總的ID發帖,感慨而已:

41樓舉這個例子太差了,我從不學修電腦,有那時間學些有益于自我目標的內容還來不及呢。一個人一生只要做好一件事就不得了,——這是劉總給我們講的道理。

我家電腦出故障我不好意思叫劉總,劉總的時間是什么價值,我們心里清楚。樓下就有電腦維修部,一個電話就上門來了,付10元上門費。零件費用另算,全市有一個統一標準配件價格表,年輕大學生老板從不在服務上賺黑錢。
如今,好多大學畢業生找不到工作,都是憑自己本事開業;我們這一片,開得最多的就是電腦維修部,配件商店什么的,老板都是剛畢業的大學生,快把中關村搬來了。都是同齡人,我自己有工作,我愿意借機會給他們錢,而且不愿顯得“摳門”。 劉總說了:“你難道會為了省10塊錢,而去花時間學習修理電腦?—— 一年甚至幾年都不會出故障的東西,那你是不是還想為了自己家省錢去學習修理電冰箱,電視機,洗衣機?你窮呀你!”
所以,什么樣的人才能站到巨人的肩膀上?41樓,你一生什么都會,但是你會的東西很多人都會,你不愿意利用別人已經研究過的東西來節約時間,不愿意花錢買時間,愿意自己花時間重新研究,自己做省錢?——大多數人就是這么把生命浪費了吧。

有一個故事,其實誰都知道:但是誰都做不到,做到了就是“必成大器”之人。我現在就做得到了。當然是受劉總影響。——別罵我奴性。“所謂師傅,就是在我迷惑的路途中,能夠點起一盞。”高中老師對我的影響也是一樣。父母做不到的。

一個人想在墻上掛一幅畫,先要釘一個木楔子,找來了木材,要做成楔子,需要有工具,于是去借鑿子、鋸子,鑿子太慢,又去找砂輪磨……,等什么工具都準備好了,木頭楔子也做好了,2星期過去了。結果發現墻不是磚結構,是鋼筋水泥的,木楔子根本打不進去;打孔機可不好借,怎么辦……。幾個星期過去,“我要干什么來著?”——早把最初目標忘了。
大多數人生不過如此吧。

其實這件事很簡單:打個電話給服務公司,馬上來人幫你打孔,支付服務費20元而已,半小時連木楔子都幫你釘好了。自己一天工資200,舍不得給別人專業服務公司20元?什么事都學來自己做?看著別人失業是嗎?那么人一生除了消耗幾噸糧食、資源之外,還干了些什么?這就是41樓和眼光之間的差別。一個人為了糊口去做這個,學那個,你什么都會,結果都是為了老板,為了別人的意愿,---自己的自由或者人生目標在哪里?
—— 什么人能夠站到巨人的肩膀上,有個朋友的格言很簡單:站得高,看得遠。——如何能站得高,這個朋友領悟到了。不是說說那么簡單的。

有人惱羞成怒不高興了,要跳起來犯病罵人了。沒關系,老師早就教過我了:甘于卑下,你必成大器。

別連帶我朋友、老師一塊罵就行了。

網友評論:突然心血來潮翻了下舊貼,大家共賞

網友評論:系統來個tick,其他的等待都用多少個tick來實現。

網友評論:樓上姓劉的是不是有病啊? 一個54歲的人怎么跟個憤青似的, 像個老娘們一樣喋喋不休。別把c+++扯到你和highgear的恩怨里, 有病啊你!
掛一幅畫還要打個電話給服務公司幫你, 還必成大器, 有這樣成大器的嗎? 這就是你所謂的站到巨人的肩膀上?

網友評論:好像他們都該 多核心的CPU了吧。還多線程的吧?

我們用的 MCU/DSP 何時 能 普及 兩核心、四核心的呢?

否則,現在或許可以搞多個MCU/DSP協同工作的方案了。


而且。。。

網友評論:一幅畫掛了幾個星期沒掛起來, 最后讓服務公司幫忙, 我笑噴了。

8051的堆棧太小, 只支持到256, 如果把任務堆棧放到內部ram里, 會擠占任務的ram, 放到外部ram里, 又失去了push pop指令的性能, 更惱火的是8051的movx效率低下, 用外部ram任務轉換耗時可以達到毫秒級。8051上玩玩os可以, lz的情況使用os還不如不用。

網友評論:呵呵正所謂你不過橋不要難住別人過橋啊,MCU中大部分任務是平等的,所以不要出現霸道者就好了。一個個輪流來,好比大家排隊吃飯,要講究次序,但是如果別人個子大,硬要插隊,你也沒有辦法,這就是優先級高的優勢。
mcu編程想都可以用日常生活來詮釋

網友評論:1- wire 總線雖然規定了每個比特的嚴格時序,但并未規定兩個比特的時間(只規定1us以上),可以無限長,可以將每個比特開始到結束之間的代碼劃為臨界代碼,關中斷時間縮為120us 左右

網友評論:樓上的方法很有價值。

網友評論:結貼后發現大家這么熱心,我真感動,但問題依舊,我正努力搞定它

網友評論:用定時中斷來處理就是多任務了,很實時。

網友評論:我用了定時中斷,每5ms就發一次數據,然后1秒中刷一次屏,1.5s采時間,我感覺這屏顯示的效果不太好。

網友評論:定時中斷50ms 刷屏才不會閃爍。
忘了,好像書上說LED是5ms刷屏。我再看看。也同時請教LZ。

網友評論:淡定。

網友評論:劉公這么大歲數了怎么還這么大火氣? 要淡定, 淡定。45樓冷漠老弟的那個巨人肩膀的例子實在是太......., 完全成了笑話了。

LED閃爍是因動態顯示造成, 所以需要50ms 以下刷屏周期, 5ms 估計是多個led 動態顯示中一個 LED 的點亮時間。 靜態led屏幕不需要快速刷屏, 看樣子樓主用的是靜態顯示。

網友評論:一篇帖子引發的口水戰

網友評論:試試1ms

網友評論:有意思

網友評論:

支持59樓highgear幫主的說法;不過老幫主修煉這么多年,還是沒有巨人講的清楚具體。

巨人的書上寫得一清二楚,菜鳥學生只用了一天就站到了巨人的肩膀上,實在不用自己苦苦修煉半輩子還概念模糊講不清楚:
我們上小學時就知道,電影原理是以每秒24幀影像刷新頻率;因此根據人類眼睛的響應特性,50HZ~20HZ(20ms~50ms)的多路LED模塊刷新頻率可以無閃爍地工作。如果有N個LED模塊,則每個LED將被激活1 / N時間,即:

每個LED應被點亮 T = 1/N ( 20ms ~ 50 ms )

所以,所謂 5ms 的點亮時間不過是具體指系統中只有4個LED模塊需要刷新(N=4)而已。如果系統中超過8個LED模塊,5ms點亮時間就要擔心閃爍了。——LED個數N越少,顯示越亮越穩定;N越多,亮度越暗。如若同樣的N數,希望亮度增大,那必然要使點亮時間增大,掃描頻率降低,越接近閃爍頻率。 所以系統中動態掃描LED個數一般不會太多, 除非使用專用LED掃描模塊。(還與LED亮度特性有關,例如選高亮度LED。)

每個LED點亮時間根據上面公式和顯示效果調整:
1、如果LED閃爍,說明延遲(點亮一個LED)時間過長或者掃描頻率不夠快(低于20HZ);
2、如果亮度很低,是掃描過快(超過50HZ);
3、如果感覺有重影,是中間切換過程沒處理好;應該是:先關閉顯示,然后送數據,然后再開顯示。
4、如果亮度不均勻,是因為每個LED點亮的時間片不一樣。

下面是一個實際應用的3個LED動態掃描例子。N=3,得到刷新頻率6ms;因此設定時間中斷節拍為6ms。



網友評論:

sbit led1=P2^1; //定義第一只數碼管的控制線
sbit led2=P2^0; //定義第二只數碼管的控制線
sbit led3=P2^2; //定義第三只數碼管的控制線
sbit K0=P3^2;
#define dig1 led1=0;led2=1;led3=1; //只點亮第一只數碼管
#define dig2 led1=1;led2=0;led3=1;//只點亮第二只數碼管
#define dig3 led1=1;led2=1;led3=0;//只點亮第三只數碼管
#define show P0//定義P0口為所顯示段碼的控制
uchar number[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x98};//數碼0~9
uchar one; //個位
uchar ten; //十位
uchar hundred;//百位
void delay_ms(unsigned int time) //延時1毫秒程序,n是形式參數
{
unsigned int i,j;
for(i=time;i>0;i--)//i不斷減1,一直到i>0條件不成立為止
for(j=112;j>0;j--)//j不斷減1,一直到j>0條件不成立為止
{;}
}
void T0_init(void)
{
TMOD=0x01;//選擇工作方式1
TL0=0x66; //每6ms中斷一次
TH0=0xea;
TF0=0; //中斷標志位清零
ET0=1; //允許定時器0中斷
EA=1; //允許總中斷
TR0=1; //啟動定時器
}
void main(void)
{
uchar i,j,k;
T0_init(); //定時器0初始化
i=0; //控制個位數碼
j=0; //控制十位數碼
k=0; //控制百位數碼
one=number[0]; //上電時三位數碼管都顯示為000
ten=number[0];
hundred=number[0];
while(1)
{
if(K0==0)//判斷是否有按鍵被下
{
delay_ms(20);//延時消抖
if(K0==0)//確認有按鍵被下
{
while(K0==0);//等待按下松開
i++;//個位遞增
one=number

網友評論:呵呵,這樣看來,是前輩誤解了,我說的是一個80*16的一個LED屏點陣,你理解成數碼管了。

網友評論:劉前輩?有點意思啊~怎么看都不像54歲的人啊~跟我年紀差不多吧~我剛畢業的~

網友評論:
我寫的是我自己的實驗板實驗程序,還是賣家提供的現成的對應實驗板程序,板上只有3個LED,所以按照原理公式取6ms或者7ms.——原理性程序而已。

LED點陣屏,我的概念是市場上有賣現成的,專業公司做的,是智能的嵌入式產品,(以前看朋友用89C51做過,不是很簡單)。RS232對外接口,串行送入顯示數據、位置、固定、移動……等參數,自動實現。例如公交車上的LED點陣屏。
朋友本來規劃自己成立公司專業做LED點陣顯示屏,陪他參加了2次競標,才知道別人做得比他好多了。——結果2年白干了,除了積累了經驗。

所以LED點陣屏應該是系統中一個RS232智能外設,整個系統是一個單片機主從通信系統。




網友評論:回66樓liuyu: 詳見45樓帖子,我也剛畢業,給劉老板打工而已。
如今工作不好找,公司招一名單片機開發,一下收到十幾份簡歷,還得感激劉老板招收我。否則可能現在還在人才市場晃悠呢。

網友評論:嗯,我還是能看得出來,你的水平還有很大的提高空間的

網友評論:
回66樓liuyu: 詳見45樓帖子,我也剛畢業,給劉老板打工而已。
如今工作不好找,公司招一名單片機開發,一下收到十幾份簡歷,還得感激劉老板招收我。否則可能現在還在人才市場晃悠呢。 ...
劉前輩 發表于 2010-10-19 19:34
現在這么感恩圖報的人真是很少了啊

網友評論:

同感,現在的人都是互相算計;像我長輩那樣一生沒講過一句假話的人,已經沒有了。
那么知道滴水之恩,涌泉相報的人,可能也成稀缺資源了。我在其中。

看我的簽名。



網友評論:只能說明現在的教材以及單片機書籍,

實在是不負責任,

充滿了:
DELAY(N);//延時N ms

網友評論:單片機軟件分時的本質是:

任務拆分,

任務分段處理,

別沒事還站著茅坑不拉屎.

僅此而已

網友評論:看著LZ的標題就覺得好笑,

還思想????

這是自發行為,

哪里談的著思想?

網友評論:至于嗎,不過是個簡單的TMR應用,至于扯到什么系統多任務上去嗎,都是讓滿天的UCOS,LINUX給整的

網友評論:看來UCOS,LINUX害我不淺啊

網友評論:忒高瞻遠矚了也不行啊

網友評論:是啊,腳踏實地慢慢來是對的

瀏覽:(943)| 評論( 0 )
博文評論

  • 昵 稱:
  • 內 容:10~250個字符
  • 驗證碼: 驗證碼看不清楚?請點擊刷新驗證碼
  •                      
  • 博文分類

    熱點博文

    最新博文

    最新評論

    IC電子元件查詢
    IC郵購網電子元件品質保障