国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

查看: 28459|回復(fù): 62
打印 上一主題 下一主題

RTX51——Keil的專用于51單片機的嵌入式系統(tǒng)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2009-11-12 22:02:03 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
關(guān)鍵詞: 興趣
  RTX51是一款非常緊湊的用于51單片機嵌入式系統(tǒng),支持多任務(wù)、中斷和時間片調(diào)度。特別是RTX51 Tiny,能用于真正的51單片系統(tǒng)。該系統(tǒng)在Keil UV2上可用,且?guī)д{(diào)試支持。經(jīng)過多年的改進,RTX51已經(jīng)很成熟。
    本人認為,在51的簡單應(yīng)用中,這個輕量級的RTX51還是很實用的。有哪位用過,不妨交流一下自己的看法,本人在此先行謝過。
  RTX51很容易使用,在此提供一個例子,單片機控制兩個LED亮滅閃爍。
rtx_tes.rar (669 Bytes)
其中設(shè)置如下

沙發(fā)
發(fā)表于 2009-11-12 22:24:35 | 只看該作者
這個OS局限性太大,沒什么大的實際用途

對網(wǎng)絡(luò)應(yīng)用支持么?

而且現(xiàn)在的MCU越來越便宜了,復(fù)雜、對性能有需求的,51很難勝任

RTX51學(xué)學(xué)就可以了
板凳
 樓主| 發(fā)表于 2009-11-13 10:31:24 | 只看該作者
非常感謝,樓上說的沒錯,RTX51專用于51單片機。
如果需要網(wǎng)絡(luò)應(yīng)用,可以選其它架構(gòu)的片子。
在這里我不妨就事論事,在可以用51的場合,51芯片和RTX51還是搭配的。
試看更低端的MCU,有的連C都不支持。好在51的資料豐富,開發(fā)工具還算不錯,也很便宜。
地板
 樓主| 發(fā)表于 2009-11-13 10:46:14 | 只看該作者
如果我沒有記錯,wangkj的顯卡就用了51,“stc51單片機主控,cpld+sdram實現(xiàn)顯卡硬件”。當(dāng)然,這位的應(yīng)用做得很高端,本人望塵莫及。
地下室
 樓主| 發(fā)表于 2009-11-13 17:47:58 | 只看該作者
一個簡單的例子,51直接驅(qū)動兩個LED亮滅閃爍。
// ===========================================
//                        test project for RTX51 Tiny
// ===========================================
#include   
// 包含RTX51 tiny頭文件
#include   

// ---------------------------------------------------------------
// 指示燈口線定義
sbit LED0 = P1^0;
sbit LED1 = P1^1;

// ---------------------------------------------------------------
// 定義閃爍周期。為突出差異,兩個周期設(shè)為不同的值。
const unsigned char ucDly0 = 53;
const unsigned char ucDly1 = 137;

// =========================================
// 第一個任務(wù)“_task_ 0”,系統(tǒng)啟動默認加載的任務(wù)
void job0(void) _task_ 0
{
    static bit LED_Flag = 0;

        // 加載另一個任務(wù)
        os_create_task(1);
        
        while(1)
        {
                // 指示燈輸出
                LED0 = LED_Flag;
                // 位寄存器取反
                LED_Flag = ~LED_Flag;
                // 延時等待,RTX51系統(tǒng)過程調(diào)用
                os_wait2(K_TMO, ucDly0);
        }
}

// ---------------------------------------------------------------
// 第二個任務(wù),除了沒有“加載另一個任務(wù)”外與第一個任務(wù)基本相同
void job1(void) _task_ 1
{
    static bit LED_Flag = 0;

        while(1)
        {
                LED1 = LED_Flag;
                LED_Flag = ~LED_Flag;
               
                os_wait2(K_TMO, ucDly1);
        }
}

// =========================================
6
 樓主| 發(fā)表于 2009-11-19 14:45:13 | 只看該作者
上面是該例子的源代碼,其中沒有用到時間片調(diào)度,CONF_TNY.A51中只改了兩個默認的參數(shù):INT_CLOCK,設(shè)為9216是為在fosc = 11.0592MHz時得到10MS的系統(tǒng)調(diào)度周期;TIMESHARING設(shè)為0,禁止時間片調(diào)度。
7
 樓主| 發(fā)表于 2009-11-21 09:23:18 | 只看該作者
  該例子中可以看出RTX51應(yīng)用的特點,沒有C程序中常用的main()過程,只有用_task_關(guān)鍵字定義的任務(wù),每個任務(wù)是一個封閉閉的循環(huán)。main()的功能已被RTX51接管了;系統(tǒng)等待調(diào)用os_wait2()。其實還有os_wait1(),os_wait()兩個等待過程,三者之間功能略有差異,具體可參考“C:\Keil\C51\HLP\TR51.CHM”。
  還有其它可供調(diào)用的RTX51系統(tǒng)例程,可以參考RTX51的函數(shù)說明。
8
 樓主| 發(fā)表于 2009-12-5 08:00:15 | 只看該作者
RTX51用MCS51匯編語言寫成,KEIL是不提供源碼的,但不影響正常使用。UV2中附帶的例子很不錯,TRAFFIC是一個應(yīng)用RTX51 TINY的交通燈控制程序,其中用了UART通信,重寫了putchar()、getkey()等過程,以適應(yīng)RTX51任務(wù)調(diào)用。
9
 樓主| 發(fā)表于 2009-12-11 10:11:30 | 只看該作者
交通燈控制程序TRAFFIC,其功能是控制一個供行人通過的路口的交通指示燈,忙碌時段內(nèi)車輛通行方向為綠燈,行人通行方向為紅燈。行人要通過時,按下按鍵,交通燈轉(zhuǎn)換為車輛通行方向為紅燈,行人通行方向為綠燈,讓行人通過,稍后恢復(fù)為車輛通行。空閑時段內(nèi)車輛通過方向黃燈亮滅閃爍。如果系統(tǒng)與串行終端連接,則終端上顯示控制器內(nèi)部的實時時間,可以通過終端設(shè)置控制器的時間,忙碌時段的開始時間和結(jié)束時間。
這是一個典型的過程控制例子,其中的單片機系統(tǒng)等待的時間較長,工作狀態(tài)轉(zhuǎn)換也較頻繁,程序如果用前后臺方式設(shè)計,工作量大而且容易出錯。用RTX51 則程序很簡潔,實時性能也不錯。
10
 樓主| 發(fā)表于 2009-12-11 10:31:54 | 只看該作者
TRAFFIC中有效的任務(wù)劃分為:
1)實時時間計時CLOCK;
2)行人通過時的按鍵輸入KEYREAD;
3)忙碌時交通燈控制LIGHTS;
4)空閑時交通燈控制BLINKING;
5)終端命令接收COMMAND;
6)終端輸入時ESC捕獲GET_ESC。
其中KEYREAD、COMMAND和CLOCK始終運行,LIGHTS和BLINKING交替運行,GET_ESC只在終端輸入時運行。
11
 樓主| 發(fā)表于 2009-12-19 17:08:28 | 只看該作者
其實,用RTX的更方便的是功能的裁剪。TRAFFIC中的功能,用前后臺編程也可以很方便地實現(xiàn),有興趣的可以試試。但是,以上提到的各個任務(wù),在前后臺系統(tǒng)中要做增減是很費勁的,而用RTX則很方便,刪除一個任務(wù)本身和等待該任務(wù)的信號的操作即可,修改的地方很少,幾乎不留痕跡。可以試試在前后臺系統(tǒng)上的修改過程是如何繁瑣。
12
發(fā)表于 2010-2-2 11:01:11 | 只看該作者
支持LZ。像TRAFFIC這樣的例子,如果不使用RTX51,即使高手也做不了那么完善。

看到不少研究生以RTX51_TINY應(yīng)用方法做論文課題,其實教授也用不好,愿意的話在這里貼幾篇碩士論文,結(jié)果是用錯了。當(dāng)然評委也是蒙古教授,學(xué)生能研究到這個程度就不錯了,畢竟中國還沒有一個博士或者教授能寫的出來51_RTOS 呀.
13
 樓主| 發(fā)表于 2010-3-15 00:09:15 | 只看該作者
非常感謝樓上的回帖!

其實我是這樣理解的, 國內(nèi)不是寫不出51_RTOS, 很大程度上是不屑于去寫. 我從來不敢低估各位國內(nèi)同行的實力, 甚至我都認為某些國內(nèi)同行技術(shù)實力和創(chuàng)造性絕不亞于國外同行. 政策和資金方面的引導(dǎo)那不是咱搞技術(shù)的能確定的, 在此不提.

其實51是不適合用來做論文的,就算做出來也不見得能通過答辯或發(fā)表, 在這方面它顯得技術(shù)含量不高, 沒人會當(dāng)回事. 前幾年我接觸過一個研究生, 做DSP + ARM9 + USB + FS + IP/TCP, 視頻采集處理 + 壓縮存儲 + 主機端程序.  不到一年時間, 從原理圖, PCB, 算法, 軟件都搞定. 結(jié)果有人給評優(yōu)秀, 根本不問那是怎么搞出的.

我想說的是, 搞論文別搞51, 搞51別搞論文. 這甚至可以說不是同一個行業(yè). 我也實話說如果想解決學(xué)習(xí)或應(yīng)用中的問題, 可以適當(dāng)參考一下我的帖子, 如果做論文, 不只是我的帖子, 就是這個網(wǎng)站, 恐怕也難滿足這樣的期望吧.
14
 樓主| 發(fā)表于 2010-3-15 00:14:46 | 只看該作者
有一陣子沒時間來發(fā)帖了, 對不住關(guān)注該話題的各位. 有機會我會把以前做過的一些應(yīng)用貼上來, RTX51 和 UC/OS-II的都有, 希望對各位有用.  現(xiàn)在的問題是我有好長時間不搞51了, 也沒時間整理那些東西, 非常抱歉.
15
發(fā)表于 2010-5-17 13:57:19 | 只看該作者
學(xué)習(xí)學(xué)習(xí)
16
 樓主| 發(fā)表于 2010-5-19 00:34:23 | 只看該作者
RTX51應(yīng)用中的各任務(wù)多由 task 0 創(chuàng)建, 在建立各任務(wù)后, 在 task 0 的最后將該任務(wù)本身刪除: os_delete_task( 0 );
17
發(fā)表于 2010-6-30 15:23:42 | 只看該作者
好好學(xué)習(xí)學(xué)習(xí)
18
發(fā)表于 2010-7-6 21:25:22 | 只看該作者
回復(fù)17樓supergame111
值得好好學(xué)習(xí)
19
發(fā)表于 2010-7-6 21:25:47 | 只看該作者
謝謝分享,好東西
20
發(fā)表于 2010-7-7 15:45:43 | 只看該作者
不提供源代碼很不方便啊
您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产成人黄网址在线视频 | 91视在线国内在线播放酒店 | 国产九色在线 | 国产一级在线播放 | 麻豆精品在线播放 | 亚洲视频免费在线看 | 一级毛片免费不卡直观看 | 国产极品粉嫩福利在线观看 | 狠狠色丁香久久婷婷 | 一本大道香蕉高清视频在线 | 在线欧美精品一区二区三区 | 99热国产这里只有精品9九 | 青草成人 | 亚州免费视频 | 国产精品欧美在线观看 | 天天做天天爱天天影视综合 | 99热导航| 香蕉视频免费网站 | 国产大战女模特在线视频 | 噜噜在线 | 亚洲欧美精品一区 | 国产精品一区二区久久精品 | 亚洲男人天堂网 | 男性天堂 | 黄色免费网站视频 | 91精品视品在线播放 | 国产综合色在线视频 | 美女h片| 国产成人福利在线视频播放尤物 | 国产三区视频 | 视频一区二区三区在线 | 成年女人毛片免费视频 | 9l国产精品久久久久麻豆 | 免费高清欧美大片在线观看 | 黄视频网站免费观看 | 国产日韩视频在线观看 | 免费二级片 | 国产精品久久久久久一级毛片 | 天天操操操操操 | a级国产乱理伦 | 亚洲黄色片一级 |