找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4382|回復: 1
打印 上一主題 下一主題
收起左側(cè)

[求助]keil編譯遇到奇怪問題,請大家?guī)兔纯础?/span>

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:1805 發(fā)表于 2012-6-21 14:13 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
我寫一個簡單小程序,希望隔一秒蜂鳴器短暫的“嘀”一聲,
結(jié)果遇到奇怪問題,這么幾行,編譯就顯示:Program Size: data=11.1 xdata=0 code=329
code居然有329?

代碼如下:
  1. <br/>1 #include"reg52.h"<br/>2 #define uint unsigned int<br/>3 #define uchar unsigned char<br/>4 #define TIMER 25000<br/>5 <br/>6 <br/>7 sbit suin=P2^2;<br/>8 bit flag;<br/>9 unsigned int y=0;<br/>10 <br/>11 void init() //初始化,開定時器0<br/>12 {<br/>13 &nbsp;&nbsp;&nbsp;&nbsp;TMOD=0x01;<br/>14 &nbsp;&nbsp;&nbsp;&nbsp;TCON=0x10; <br/>15 &nbsp;&nbsp;&nbsp;&nbsp;TH0=(65536 - TIMER) / 256; <br/>16 &nbsp;&nbsp;&nbsp;&nbsp;TL0=(65536 - TIMER) % 256; <br/>17 &nbsp;&nbsp;&nbsp;&nbsp;IE=0x82;<br/>18 } <br/>19 <br/>20 void main()<br/>21 {<br/>22 &nbsp;&nbsp;&nbsp;&nbsp;init();<br/>23 &nbsp;&nbsp;&nbsp;&nbsp;while(1)<br/>24 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>25 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>26 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>27 }<br/>28 <br/>29 void timer0() interrupt 1 //定時器中斷<br/>30 {<br/>31 &nbsp;&nbsp;&nbsp;&nbsp;<br/>32 &nbsp;&nbsp;&nbsp;&nbsp;y++;<br/>33 &nbsp;&nbsp;&nbsp;&nbsp;y %= 40;<br/>34 &nbsp;&nbsp;&nbsp;&nbsp;if(y == 0)<br/>35 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>36 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;suin = ~suin;<br/>37 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>38 &nbsp;&nbsp;&nbsp;&nbsp;TH0=(65536 - TIMER) >> 8;<br/>39 &nbsp;&nbsp;&nbsp;&nbsp;TL0=(65536 - TIMER) % 256;<br/>40 }<br/>41
復制代碼


如果把定時器中 y %= 40去掉,編譯的code=197, 就這么一句,code居然差別一百多?
如果把開始的unsigned int y = 0;   改成 unsigned int y; 代碼也可以少一百多。

請問大家,這是什么問題呢。我用的keil2, keil4都試過了,結(jié)果一樣。

還有問一下,程序運行的結(jié)果不會是簡短的“嘀”一聲,而是很長的“嘀”一聲,不知道為什么呢?




[此貼子已經(jīng)被作者于2012-6-21 14:15:06編輯過]
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:45963 發(fā)表于 2012-11-6 13:43 | 只看該作者
取余運算需要占用的內(nèi)存多,所以多了唄。
回復

使用道具 舉報

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

本版積分規(guī)則

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

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

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