亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? project based on embeded system(c51).txt

?? 一個基于嵌入式內核做的項目的源代碼(c51的).
?? TXT
?? 第 1 頁 / 共 5 頁
字號:
/*****************************************************************************/
//文件說明:
//       1。整個程序是基于small rtos51編寫的,并遵守了使用協議
//       2。這是一個正式產品的程序的一個部分,省略了一部分控制方面的關鍵代碼,和實現產品中的特殊功能的代碼,但關于嵌入式small rtos51應用的部分都已經給出
//       3。本文所述的產品,我已經寫了相關的文章,對于任務的規劃進行了簡單的說明,
//           文章已經被《單片機與嵌入式系統應用》錄用,  不過估計要等幾個月才能刊出,可以向本人索取,
//       4。在整個程序的編寫過程中,得到了陳明計先生的熱心指導,在此表示衷心的感謝
//       5。文件是用keil7.07版本編譯的,如果需要工程文件,請和我聯系
//       6。本人對于51的理解不夠深刻,而且剛開始接觸嵌入式系統,水平有限,希望與大家交流。
//       7。希望各位高手能指點一二:對程序的各個方面  , 希望您給我一點建議,能讓我的水平有一個很大的提升
// *************************************************************************************************/
//   我的聯系方式:
//                   陳杰峰   wishercjf@163.com 
//                                                歡迎各位大俠拍磚

/*********************************************************************************************************

**--------------文件信息--------------------------------------------------------------------------------
**文   件   名: main.c
**創   建   人: 陳杰峰   wishercjf@163.com 
**最后修改日期:  2004年6月2日
**描        述: 本文件是整個系統的核心,完成系統的大部分功能
*************************************************************************************
** 修改人:
** 日 期:
** 描 述:
**
**------------------------------------------------------------------------------------------------------
***********************************************************************************************************/

#include "config.h"
sbit motor=P1^0;      //連接電機
sbit speaker=P1^1;    //連接蜂鳴器
sbit red=P1^6;         //紅色報警燈
sbit yellow=P1^7;     //黃色加溫燈
sbit powerkey=P1^2;    //連接電壓報警
sbit SPI_CLK=P1^4;     //da輸出脈沖
sbit SPI_DATA=P1^3;    //da輸出數據
sbit CS_DA=P1^5;       //da片選




uint8 OS_Q_MEM_SEL NotUse _at_ 0x0000;      //指針的NULL為0,這個變量占用0地質避免出現有效的NULL指針
uint8 OS_Q_MEM_SEL CommandData[16];         //給命令消息隊列分配的隊列空間
uint8 OS_Q_MEM_SEL Drip[5];                //存儲反饋的滴數
uint8 OS_Q_MEM_SEL serial[5];            //液晶要顯示的東西
uint8 shengyin;

uint8 moshi,wendu;
uint16 sheding,yijing,sudu;
uint8 run;
uint16 runtime,stoptime;
uint8 dripnub;
uint8 testpage,test;
uint8 yeup,keytime;
uint8 power,powertime;
uint8 setbaojing;

//轉速表,修改具體數據,實際轉速對應已經去掉
uint16 code rate[4][301]={

0
};
//停止時間表
uint16 code stoptimebiao[4][301]={
0

};


/*********************************************************************************************************
** 函數名稱:  intdata()
** 功能描述: 初始化函數,設置了全局變量的初值
** 輸 入: 無
** 輸 出: 無
** 全局變量: 無
** 調用模塊: 
**
** 作 者: 陳杰峰   wishercjf@163.com 
** 日 期: 2004年5月4日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/



void intdata()
{
moshi=1;
wendu=45;
run=0;
dripnub=0;
testpage=0;
test=2;
sheding=1000;
yijing=0;
sudu=150;
yeup=0;
keytime=0;

serial[0]=0;
serial[1]=0;
serial[2]=0;
serial[3]=0;
serial[4]=0;
}


/*********************************************************************************************************
** 函數名稱: init
** 功能描述: 初始化函數,一般在多任務環境啟動前調用
** 輸 入: 無
** 輸 出: 無
** 全局變量: 無
** 調用模塊: 
**
** 作 者: 陳杰峰   wishercjf@163.com 
** 日 期: 2004年5月4日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/

        void init(void)
{
    //"系統初始化"
    //IE = 0x00;      //"清除中斷"
    //ES = 1;         //4"串行中斷允許"
    EX0 = 1;        //0"外部中斷0允許"
    ET0 = 1;        //1"定時器0中斷允許"
    EX1 = 1;        //2"外部中斷1允許"
//    ET1 = 1;        //3"定時器1中斷允許"
    //ET2 = 1;
    //IP = 0;         //"清除中斷優先級"
    //PS = 1;         //"串行中斷優先"
    //PX0 = 1;        //"外部中斷0"
    PT0 = 1;        //"定時器中斷0"
    //PX1 = 1;        //"外部中斷1"
    //PT1 = 0;        //"定時器中斷1"
    //TCON            "定時器控制寄存器"
//    TCON = 0;
    //TF1             "T1溢出標志"
    //TR1 = 1;        //"T1運行控制"
    //TF0             "T0溢出標志"
    //TR0 = 1;        //"T0運行控制"
    //IE1             "外部中斷1申請標志"
    IT1 = 1;        //"外部中斷1觸發方式 0=電平 1=邊沿"
    //IE0             "外部中斷0申請標志"
    IT0 = 1;        //"外部中斷0觸發方式 0=電平 1=邊沿"
    //TMOD            "定時器模式控制寄存器"
    //  |GATE    |C//T   |M0      |M1      |GATE   |C//T   |M0       |M1        |
    //"高4位用于T1  低4位用于T0"
    //SCON  "串行控制"
    //| SM0 | SM1 | SM2 | REN | TB8 | RB8 | TI  | RI  |
    //"| SM0  SM1 | 工作方式  |   說    明   |   波 特 率    |"
    //"|   0    0 | 方 式 0   |? 同步移位   |   fosc/12     |"
    //"|   0    1 | 方 式 1   | 10位異步收發 |  定時器控制   |"
    //"|   1    0 | 方 式 2   | 11位異步收發 |fosc/32|fosc/64|"
    //"|   1    1 | 方 式 3   | 11位異步收發 |  定時器控制   |"
    //"SM2 多機通訊允許"
    //"REN 接收允許控制"
    //"TB8 發送數據第9位"
    //"RB8 接收數據第9位"
    //"TI  發送中斷標志"
    //"RI  接受中斷標志"
    //PCON "電源控制寄存器"
    //SMOD"波特率選擇位 =1 方式1,2,3 波特率加倍"
    //"波特率=2^(sod)*fosc/(32*12*(256-初值))"
    
                                            //使用定時器0設置蜂鳴器頻率,頻率為3000Hz

                                            //系統節拍中斷使用定時器2,中斷頻率為600Hz

}

/*********************************************************************************************************
** 函數名稱: Delay(unsigned int time)
** 功能描述: 延時函數,在操作系統中,其實不需要這個函數,
**            但是我用的液晶速度比較慢,要等待一段時間
** 輸 入: 無
** 輸 出: 無
** 全局變量: 無
** 調用模塊: 
**
** 作 者: 陳杰峰   wishercjf@163.com 
** 日 期: 2004年5月4日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/


Delay(unsigned int time)
{unsigned int ii,jj;
for (jj=0;jj<time;jj++);
    {
      for (ii=0;ii<100;ii++);
    }
}

/*********************************************************************************************************
** 函數名稱: main
** 功能描述: 主函數,用戶程序從這里執行
** 輸 入: 無
** 輸 出: 無
** 全局變量: 無
** 調用模塊: init(),OSStart()、Delay()、intdata();
**
** 作 者: 陳杰峰   wishercjf@163.com 
** 日 期: 2004年5月4日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
                            void main(void)
{
       unsigned int i;

        for(i=0;i<500;i++)
        {
             Delay(100);       //延時0.2秒
        }

    intdata();
    init();
    

    OSStart();
}
/*********************************************************************************************************
** 函數名稱: command
** 功能描述: 命令處理任務,高層命令由這個任務執行,相當于應用程序

** 輸 入: 無
** 輸 出: 無
** 全局變量: 無
** 調用模塊: OSSemCreate(),OSQPend()
**            OSQIntPost(),
** 作 者: 陳杰峰   wishercjf@163.com 
** 日 期: 2004年5月15日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/

void Command(void)
{
    uint8 KeyTemp[4];

    while(1)
    {
        OSQPend(KeyTemp,KeyReadBuf,0);   
        OSQPend(KeyTemp + 1,KeyReadBuf,0);  

        switch(KeyTemp[0])
        {
            case KEY_DOWN:
                switch(test)
                {
                    case 2://第二個實驗頁面
                        switch(KeyTemp[1])
                        {
                            case KEYMOSHI:
                                moshi++;
                                if(moshi>4)
                                {
                                    moshi=1;
                                }
                                serial[0]=CMOSHI;
                                OSQIntPost(CommandData, serial[0]);
                            break;
                            case KEYQUEDING:
                                serial[0]=CYEMIAN;
                                serial[1]=5;
                                OSQIntPost(CommandData, serial[0]);
                                serial[0]=CYEMIAN;
                                serial[1]=6;
                                OSQIntPost(CommandData, serial[0]);
                                serial[0]=CSHEDING;
                                serial[1]=sheding/256;
                                serial[2]=sheding%256;
                                serial[3]=1;
                                OSQIntPost(CommandData, serial[0]);
                                serial[0]=CSUDU;
                                serial[1]=sudu/256;
                                serial[2]=sudu%256;
                                serial[3]=0;
                                OSQIntPost(CommandData, serial[0]);
                                test=3;
                            break;
                            default:
                            break;
                        
                        }
                    break;
                    case 3://第三個實驗頁面
                        switch(KeyTemp[1])
                        {
                            case KEYJIA:
                                if(yeup==0)
                                {
                                    sheding++;
                                    serial[0]=CSHEDING;
                                    serial[1]=sheding/256;
                                    serial[2]=sheding%256;
                                    serial[3]=1;
                                    OSQIntPost(CommandData, serial[0]);
                                }
                                else
                                {
                                    sudu++;
                                    serial[0]=CSUDU;
                                    serial[1]=sudu/256;
                                    serial[2]=sudu%256;
                                    serial[3]=1;
                                    OSQIntPost(CommandData, serial[0]);
                                
                                }
                                
                            break;
                            case KEYJIAN:
                                if(yeup==0)
                                {
                                    sheding--;
                                    serial[0]=CSHEDING;
                                    serial[1]=sheding/256;
                                    serial[2]=sheding%256;
                                    serial[3]=1;
                                    OSQIntPost(CommandData, serial[0]);

                                }
                                else
                                {
                                    sudu--;
                                    serial[0]=CSHEDING;           
                                    serial[0]=CSUDU;
                                    serial[1]=sudu/256;
                                    serial[2]=sudu%256;
                                    serial[3]=1;
                                    OSQIntPost(CommandData, serial[0]);
                                }
                            break;
                            case KEYQUEDING:
                                if(yeup==0)
                                {
                                    serial[0]=CSHEDING;
                                    serial[1]=sheding/256;
                                    serial[2]=sheding%256;
                                    serial[3]=0;
                                    OSQIntPost(CommandData, serial[0]);
                                    serial[0]=CSUDU;
                                    serial[1]=sudu/256;
                                    serial[2]=sudu%256;
                                    serial[3]=1;
                                    OSQIntPost(CommandData, serial[0]);
                                    yeup=1;
                                }
                                else
                                {
                                    serial[0]=CYEMIAN;
                                    serial[1]=7;
                                    OSQIntPost(CommandData, serial[0]);
                                    serial[0]=CYEMIAN;
                                    serial[1]=8;
                                    OSQIntPost(CommandData, serial[0]);
                                    runtime=rate[moshi-1][sudu];
                                    stoptime=stoptimebiao[moshi-1][sudu];

                                    yeup=0;
                                    test=4;
                                    
                                }
                            break;
                            default:

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
看电视剧不卡顿的网站| 国产精品国产自产拍在线| 色吧成人激情小说| 粉嫩13p一区二区三区| 国内精品久久久久影院一蜜桃| 五月天激情小说综合| 亚洲6080在线| 精品一区二区三区影院在线午夜 | 99精品视频一区二区| 成人av电影免费观看| 成人aa视频在线观看| 色噜噜狠狠色综合中国| 日本精品裸体写真集在线观看| 色综合 综合色| 91精品国产91久久综合桃花| 91.麻豆视频| 精品人伦一区二区色婷婷| 久久久国产精品麻豆| 又紧又大又爽精品一区二区| 婷婷丁香激情综合| 国产寡妇亲子伦一区二区| 99视频一区二区| 欧美日韩在线一区二区| 26uuu久久综合| 亚洲欧美日本韩国| 天堂蜜桃91精品| 大白屁股一区二区视频| 欧美性大战久久| 久久夜色精品一区| 亚洲精品日日夜夜| 久久er精品视频| 色综合久久中文综合久久97| 日韩午夜在线播放| **欧美大码日韩| 久久超碰97人人做人人爱| 91捆绑美女网站| 日韩精品中文字幕一区| 亚洲欧美经典视频| 国产丶欧美丶日本不卡视频| 欧美在线free| 欧美国产一区二区在线观看| 亚洲成人av电影在线| 波多野结衣在线aⅴ中文字幕不卡 波多野结衣在线一区 | 国产欧美日韩在线看| 亚洲精品国产第一综合99久久| 久久99精品国产91久久来源| 99久久久久久| 久久久欧美精品sm网站| 欧美aaaaaa午夜精品| 91成人免费网站| 中文字幕中文在线不卡住| 日韩不卡一二三区| 欧美少妇bbb| 国产精品剧情在线亚洲| 国产综合久久久久久久久久久久| 91黄色免费网站| 国产精品久久看| 国产91精品一区二区| 精品国偷自产国产一区| 亚洲成人黄色小说| 91视频国产资源| 亚洲色图一区二区| 成人美女视频在线观看| 欧美国产精品v| 国产在线精品视频| 久久女同互慰一区二区三区| 久久99久久精品欧美| 欧美一区二区三区影视| 日韩黄色片在线观看| 欧美三级视频在线播放| 亚洲第一久久影院| 欧美男同性恋视频网站| 亚洲成a人在线观看| 欧美高清hd18日本| 日韩av二区在线播放| 欧美一区二区三区免费视频| 久久99热狠狠色一区二区| 精品久久人人做人人爰| 国产一区日韩二区欧美三区| 久久精品综合网| 97精品国产97久久久久久久久久久久 | 色综合色狠狠天天综合色| 亚洲蜜桃精久久久久久久| 欧美亚洲综合网| 男女男精品视频| 26uuu久久天堂性欧美| 国产成人自拍网| 亚洲天堂a在线| 色综合色狠狠天天综合色| 亚洲超碰精品一区二区| 日韩午夜中文字幕| 国产精品456| 亚洲精品精品亚洲| 欧美美女一区二区三区| 久久国产麻豆精品| 中文在线免费一区三区高中清不卡| www.欧美日韩国产在线| 夜夜精品视频一区二区 | 欧日韩精品视频| 亚洲aⅴ怡春院| 精品成人免费观看| 成人久久视频在线观看| 亚洲一区二区精品3399| 欧美成人高清电影在线| 成人中文字幕在线| 午夜国产精品影院在线观看| 精品美女在线观看| 91麻豆国产福利在线观看| 美腿丝袜亚洲综合| 亚洲欧美乱综合| 精品国产sm最大网站免费看| 91免费版pro下载短视频| 日本欧美在线观看| 亚洲三级电影全部在线观看高清| 777奇米成人网| 成人动漫中文字幕| 日本va欧美va精品| 中文字幕在线观看不卡视频| 日韩一级高清毛片| 色综合久久66| 成人爽a毛片一区二区免费| 婷婷亚洲久悠悠色悠在线播放 | 欧美丰满少妇xxxxx高潮对白| 高清在线成人网| 久久精品国产77777蜜臀| 一区二区高清在线| 国产精品美女视频| 日韩免费视频线观看| 欧美日韩你懂的| 欧美综合久久久| 成人动漫视频在线| 国产乱子伦视频一区二区三区| 婷婷中文字幕综合| 天天操天天综合网| 夜夜嗨av一区二区三区中文字幕| 国产精品久久看| 国产精品久久久久久久久久久免费看 | 精品欧美一区二区在线观看| 欧美日韩和欧美的一区二区| av不卡一区二区三区| 国产成人精品在线看| 国内精品写真在线观看| 久久99国产精品免费网站| 日本午夜一本久久久综合| 午夜不卡av在线| 午夜激情综合网| 亚洲一区二区三区三| 亚洲激情校园春色| 亚洲一区成人在线| 亚洲综合男人的天堂| 一区二区三区日本| 亚洲综合999| 午夜精品久久久久久久| 亚洲成av人片在线| 美国十次综合导航| 久久99精品久久久| 国产成人夜色高潮福利影视| 国产精品自拍av| 91在线小视频| 在线观看一区二区视频| 欧美日本韩国一区| 日韩午夜在线观看视频| 精品国产免费视频| 中文字幕在线不卡| 一区二区不卡在线视频 午夜欧美不卡在| 亚洲免费av观看| 日韩电影一区二区三区| 国产真实乱偷精品视频免| 国产夫妻精品视频| 91视频在线观看免费| 欧美日韩一区在线观看| 欧美xxxxxxxxx| 国产精品传媒入口麻豆| 亚洲国产一区二区视频| 免费人成在线不卡| eeuss鲁片一区二区三区| 在线观看三级视频欧美| 日韩视频一区二区三区在线播放 | 国产欧美一区二区精品忘忧草| 国产精品日韩成人| 午夜精品免费在线观看| 韩国v欧美v日本v亚洲v| 一本一道久久a久久精品| 日韩一区二区三区电影在线观看| 久久精品在线免费观看| 午夜伦欧美伦电影理论片| 国产精品一区二区你懂的| 在线一区二区三区四区| 久久蜜桃av一区二区天堂 | 成a人片亚洲日本久久| 欧美色图激情小说| 久久久久久毛片| 一区二区成人在线视频| 国产成人无遮挡在线视频| 欧美日韩一区在线观看| 国产精品久99| 韩国午夜理伦三级不卡影院| 欧美日韩在线播放一区| 国产精品视频在线看| 精品一区免费av|