色偷偷偷久久伊人大杳蕉,色爽交视频免费观看,欧美扒开腿做爽爽爽a片,欧美孕交alscan巨交xxx,日日碰狠狠躁久久躁蜜桃

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

我想說(shuō)的是, 搞論文別搞51, 搞51別搞論文. 這甚至可以說(shuō)不是同一個(gè)行業(yè). 我也實(shí)話說(shuō)如果想解決學(xué)習(xí)或應(yīng)用中的問(wèn)題, 可以適當(dāng)參考一下我的帖子, 如果做論文, 不只是我的帖子, 就是這個(gè)網(wǎng)站, 恐怕也難滿足這樣的期望吧.
14
 樓主| 發(fā)表于 2010-3-15 00:14:46 | 只看該作者
有一陣子沒(méi)時(shí)間來(lái)發(fā)帖了, 對(duì)不住關(guān)注該話題的各位. 有機(jī)會(huì)我會(huì)把以前做過(guò)的一些應(yīng)用貼上來(lái), RTX51 和 UC/OS-II的都有, 希望對(duì)各位有用.  現(xiàn)在的問(wèn)題是我有好長(zhǎng)時(shí)間不搞51了, 也沒(méi)時(shí)間整理那些東西, 非常抱歉.
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ù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號(hào) | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表