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

標題: 求助:單片機從89C52改到STC12C5A60S2時延時函數的更改問題 [打印本頁]

作者: 憶昔    時間: 2016-5-16 21:41
標題: 求助:單片機從89C52改到STC12C5A60S2時延時函數的更改問題
單片機本來選取的是89C52,后來因為串口原因改到了STC12C5A60S2,也就是MCU從12T改到了1T,我知道需要更改延時韓式,但是不知道要怎么改,請教一下需要怎么改。延時函數如下:
/**************************************
延時5微秒(STC90C52RC@12M)
不同的工作環境,需要調整此函數,注意時鐘過快時需要修改
當改用1T的MCU時,請調整此延時函數
**************************************/
void Delay5us()
{
    _nop_();_nop_();_nop_();_nop_();
    _nop_();_nop_();_nop_();_nop_();
        _nop_();_nop_();_nop_();_nop_();
}

/**************************************
延時5毫秒(STC90C52RC@12M)
不同的工作環境,需要調整此函數
當改用1T的MCU時,請調整此延時函數
**************************************/
void Delay5ms()
{
    WORD n = 560;

    while (n--);
}


作者: ahshmj    時間: 2016-5-16 22:13
這個要看c語言程序最終使用了那些匯編指令。如:void Delay5us()  里面僅僅使用了“NOP”指令,這個指令對于STC12C5A60S2來說是傳統8051的速度的12倍(其他指令的速度倍數從3~12不等),所以需要執行12次Delay5us函數才能達到原來設定的延時時間。
另一個延時程序,最終的匯編指令用了哪些不清楚(當然你可以查看一下),最好使用keil4仿真運行中確定。
作者: ahshmj    時間: 2016-5-16 22:22
(接上一帖子),最終的匯編代碼可以打開“*.lst”文件查看(需要在/工程/為目標設置選項/清單/...中勾選“匯編代碼”才能查看),不過這需要你有匯編的基礎才行。
作者: 憶昔    時間: 2016-5-16 22:29
ahshmj 發表于 2016-5-16 22:13
這個要看c語言程序最終使用了那些匯編指令。如:void Delay5us()  里面僅僅使用了“NOP”指令,這個指令對 ...

感謝,十分感謝
作者: yyg123321a    時間: 2016-5-17 23:13
直接從STC-ISP軟件的延時程序中輸入你的參數,生成代碼即可使用,很準的。
作者: APLL    時間: 2018-12-27 14:42
請問您這個問題解決了嗎  我也是用這個單片機的   有問題想請教您
作者: jakcypater    時間: 2019-4-29 20:00
樓主還在嗎?我最近也在做這個東西,也是51改為stc12串口收到的數據是亂碼,延時也改了,還是沒用,樓主能提供下程序嗎?
作者: 小丑only    時間: 2022-1-11 22:20
時序問題,看我的帖子

作者: 風中追風1    時間: 2022-4-14 09:42
小丑only 發表于 2022-1-11 22:20
時序問題,看我的帖子

如果89c52單片機程序轉換成STC12C5A32S2程序還需要修改什么,改了延時不行




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1