欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4100|回復: 6
打印 上一主題 下一主題
收起左側

AT89C52替換成STC12C5A60S2應該怎樣修改啊請大神指導抱歉粘貼不完

[復制鏈接]
跳轉到指定樓層
樓主
ID:416495 發表于 2019-3-14 01:12 來自觸屏版 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
這是延時函數* 輸入 : q
* 輸出 : 無
***********************************************************************/
void delay_1ms(uint q)
{
        uint i,j;
        for(i=0;i<q;i++)
                for(j=0;j<110;j++);
}
這是定時函數
/*********************定時器0、定時器1初始化******************/
void time0_init()          
{
        TMOD = 0X11;          //定時器0、定時器1工作方式1
        ET0 = 1;                  //開定時器0中斷
        TR0 = 1;                  //允許定時器0定時
//        ET1 = 1;                  //開定時器1中斷
//        TR1 = 1;                  //允許定時器1定時       
}
這是中斷函數
/*********************定時器0中斷服務程序************************/
void time0_int() interrupt 1  
{                                                  
        static uchar value;                         //定時10ms中斷一次
        TH0 = 0x3c;
        TL0 = 0xb0;     //50ms
        value ++;
        flag_5m_value++;
        if(flag_5m_value % 10 == 0)
                flag_500ms = ~flag_500ms;
        if(value >= 20)
        {
                value = 0;
                flag_1s = 1;
        }
}
這是主函數
***********************************************************************/
void main()
{
        P0 = P1 = P2 = P3 = 0XFF;    //IO口全部輸出為1
        time0_init();
        dx_s = nb_time;          //南北時間
        while(1)
        {
                key();
                if(key_can < 20)
                        key_with();
                che_liuliang();         //車計流量程序
                if((menu_1 == 0) && (flag_jdgz == 0))
                        jiaotongdeng_dis();
                if(flag_che == 1)
                {
                        dis_smg[3] = smg_du[nb_che_value / 10 % 10] ;        //顯示為B
                        dis_smg[2] = smg_du[nb_che_value % 10] ;        //顯示為B
                        dis_smg[1] = smg_du[dx_che_value / 10% 10] ;                //顯示東?魃柚玫氖焙?
                        dis_smg[0] = smg_du[dx_che_value % 10 ] ;       
                }
                display();       
        }
}  
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:317383 發表于 2019-3-14 07:35 | 只看該作者
根據程序看,主要涉及到delay
stc12是1T,stc89是12T
stc12指令執行要快,比如你的delay函數
回復

使用道具 舉報

板凳
ID:100826 發表于 2019-3-14 08:04 | 只看該作者
12T 1T  延時少個10倍左右就可以了  你可以到宏晶官方網站看看  里面有例程 好像是DS18B20
回復

使用道具 舉報

地板
ID:94031 發表于 2019-3-14 08:36 | 只看該作者
一般來說牽扯定時的部分要修改,方法,先完全移植,然后碰到什么問題解決什么問題,難度不小于從頭開發。
回復

使用道具 舉報

5#
ID:202748 發表于 2019-3-14 08:41 | 只看該作者
沒用到12C5A60S的一些特殊功能的話,程序不用改變,可以直接換。我有一次使用STC89C52,因為程序有點大,裝不下。后面就直接用STC12C5A60S燒錄,完全正常運行。
回復

使用道具 舉報

6#
ID:426861 發表于 2019-3-14 10:08 | 只看該作者
STC12的12T模式可以兼容STC89的,如果用此模式的話就不用修改。但這也就浪費了1T的功能
回復

使用道具 舉報

7#
ID:285591 發表于 2019-3-14 10:15 | 只看該作者
用stc-isp的功能。添加12系列的頭文件。用stc-isp里面的延時計算器,直接替換掉源碼里面的延時函數。

回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表