久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索

STC89C52單片機(jī)的除法運(yùn)算問題

查看數(shù): 5167 | 評(píng)論數(shù): 16 | 收藏 0
關(guān)燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請(qǐng)稍候......
發(fā)布時(shí)間: 2021-3-12 15:19

正文摘要:

想請(qǐng)教各位大佬關(guān)于STC89C52除法的問題。 大概就是發(fā)現(xiàn)程序在沒有準(zhǔn)確算出這個(gè)式子的結(jié)果,調(diào)試出來的結(jié)果也很奇怪。 個(gè)人猜測(cè)是和STC89C52只有8位有關(guān),但是由于自己單片機(jī)原理方面不太懂,所以想請(qǐng)教一下大家。 ...

回復(fù)

ID:304608 發(fā)表于 2021-3-18 11:30
王快活。 發(fā)表于 2021-3-15 12:09
感謝各位大佬的耐心解答,我參考了這篇帖子
https://blog.csdn.net/avideointerfaces/article/details/275 ...

你修改代碼再試一下, volatile unsigned int temp;  增加一個(gè)關(guān)鍵字試試
ID:304608 發(fā)表于 2021-3-18 11:28
王快活。 發(fā)表于 2021-3-15 12:09
感謝各位大佬的耐心解答,我參考了這篇帖子
https://blog.csdn.net/avideointerfaces/article/details/275 ...

我覺得樓上說的對(duì),可能是被優(yōu)化了
ID:232366 發(fā)表于 2021-3-15 21:53
hefq 發(fā)表于 2021-3-12 22:07

大佬你的keil配色可以分享一下嗎?
ID:550952 發(fā)表于 2021-3-15 12:09
感謝各位大佬的耐心解答,我參考了這篇帖子
https://blog.csdn.net/avideointerfaces/article/details/27512485
應(yīng)該是溢出了
ID:287575 發(fā)表于 2021-3-14 23:51
我測(cè)試正確的,結(jié)果是0x001F
ID:287575 發(fā)表于 2021-3-14 23:50
        unsigned int temp;
        temp=100*155/500;

51hei瀏覽器截圖20210314234538.png (4.27 KB, 下載次數(shù): 58)

51hei瀏覽器截圖20210314234538.png
ID:487569 發(fā)表于 2021-3-14 17:47
void main(void) {         unsigned int temp,a;                  temp = 200*255/500;a=temp; }.試試這個(gè),然后你再看運(yùn)算結(jié)果。我懷疑你并沒有執(zhí)行運(yùn)算,你定義temp的時(shí)候沒有賦初值,Value=0XFFE可能是temp運(yùn)算之前的隨機(jī)值,按我給出的例子,當(dāng)你指針指到a=temp;的時(shí)候再看temp的值

評(píng)分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

ID:783421 發(fā)表于 2021-3-13 14:30
數(shù)字有沒有溢出?
ID:879348 發(fā)表于 2021-3-13 08:18
也可能是temp沒有用,被優(yōu)化了,整個(gè)除法沒有執(zhí)行

評(píng)分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

ID:605142 發(fā)表于 2021-3-12 22:07


評(píng)分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

ID:605142 發(fā)表于 2021-3-12 22:02
編譯器默認(rèn)是按有符號(hào)16位運(yùn)行,200*255溢出了
a=200u*255/500應(yīng)該可行

評(píng)分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

ID:213173 發(fā)表于 2021-3-12 21:41
本帖最后由 wulin 于 2021-3-12 21:48 編輯

強(qiáng)制轉(zhuǎn)換數(shù)據(jù)類型,200和255默認(rèn)為unsigned char型,500默認(rèn)為unsigned int型。類型統(tǒng)一就不會(huì)錯(cuò)了。
tepm=(unsigned int)(200*255)/500;也可以分兩步計(jì)算也不會(huì)錯(cuò)。
tepm=200*255;
tepm=tepm/500;

評(píng)分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

ID:451718 發(fā)表于 2021-3-12 17:13
確實(shí)碰到過這類問題,我的解決方案是:
unsigned int a , temp;
a = 200*255;
temp = a / 500;
這樣就不會(huì)有錯(cuò),估計(jì)是編譯器的問題。

評(píng)分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

ID:550952 發(fā)表于 2021-3-12 17:03
game灬boy 發(fā)表于 2021-3-12 16:55
不應(yīng)該吧,是不是其他地方把改變值了?
計(jì)算的時(shí)候應(yīng)該是有高位寄存器和低位寄存器啊,
像定時(shí)器初始化時(shí) ...

這是我特意新建的一個(gè)工程,整個(gè)代碼就下面幾句
#include <reg52.h>
void main(void)
{
        unsigned int temp;
       
        temp = 200*255/500;
}
ID:367369 發(fā)表于 2021-3-12 16:55
不應(yīng)該吧,是不是其他地方把改變值了?
計(jì)算的時(shí)候應(yīng)該是有高位寄存器和低位寄存器啊,
像定時(shí)器初始化時(shí)就寫到過(65535 - 1000) /  256

評(píng)分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

ID:390416 發(fā)表于 2021-3-12 16:35
這個(gè)叫 取模,也就是 除法運(yùn)算 保留了商 丟棄了余數(shù)   ,取余用%

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 成人免费视频在线观看 | 欧美一区二区三区在线 | 男人天堂视频在线观看 | 亚洲性人人天天夜夜摸 | 男人天堂av网 | 国产精品一码二码三码在线 | 久久91| 华人黄网站大全 | 国产在线一区二区 | 一区二区三区在线免费观看 | 国产操操操 | 日韩一级 | 国产高清一区二区 | 成人国产精品色哟哟 | 国产日韩一区二区 | 欧美高清hd| 久久成人人人人精品欧 | 久久精品91久久久久久再现 | 国产精品久久久久久亚洲调教 | 精品国产成人 | 91精品久久久久久久久 | 久久精品中文字幕 | 国产精品一区二区不卡 | 久久中文字幕一区 | 欧美一级在线 | 一级免费在线视频 | 国产欧美日韩在线观看 | 国产精品免费一区二区三区四区 | 黄免费观看视频 | 99久久精品免费看国产四区 | 一区二区三区四区在线免费观看 | 国产精品亚洲第一区在线暖暖韩国 | 特级特黄特色的免费大片 | 午夜免费观看网站 | 亚洲国产成人精品一区二区 | 成人久久久| 亚洲在线| 精品一区二区三区四区五区 | 一区二区视频在线 | 国产精品视频一区二区三区不卡 | 美女视频一区 |