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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

自己寫個程序發現運行不了找不到問題求指導

[復制鏈接]
跳轉到指定樓層
樓主
ID:58720 發表于 2014-2-9 15:53 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
“動態數碼管掃描”
用定時器,1秒一個數走到256然后清0從新走。基本這個意思。
下面是我寫的程序:


#include<reg51.h>
#define uint unsigned int
#define uchar unsigned char
uchar a,num,temp,ge,shi,bai;
uchar code duan[]={     //段數組編碼    0、1、2、3、4、5、6、7、8、9、0、A、B、C、D、E、F
  0x3f,0x06,0x5b,0x4f,
  0x66,0x6d,0x7d,0x07,
  0x7f,0x6f,0x77,0x7c,
  0x39,0x5e,0x79,0x71};
//uchar code wei[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};   //位數組編碼 個、十、百、千。。。
void init();
void display(uchar);
void delay(uint);
//void timer0();
void main()
{

init();

while(1)
{
   if(a==50)
   {
    a=0;
    if(num>256);
    num=0;
    num++;   
   }
   display(num);  //輸入數字(0~255)
           
}
}
void init()      //初始化程序
{
TMOD=0x01;
TH0=(65536-10000)/256;
TL0=(65536-10000)%256;
EA=1;
ET0=1;
TR0=1;
P1=0xff;
P0=0x00;
num=0;
}
void timer0() interrupt 1 //中斷計時器
{
TH0=(65536-10000)/256;
TL0=(65536-10000)%256;
a++;
}
void display(uchar temp)
{
bai=temp/100;    //顯百位數
P1=0xfe;     //百位應位左數第一個數
P0=duan[bai];
delay(2);

shi=temp%100/10;   //顯十位數
P1=0xfd;
P0=duan[shi];
delay(2);
ge=temp%100%10;    //顯個位數
P1=0xfb;     //個位應為左數第三個數
P0=duan[ge];
delay(2);
}
void delay(uint x) //約為1ms延時.
{
uint i,j;
for(i=x;i>0;i--)
  for(j=121;j>0;j--);

}


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:58936 發表于 2014-2-9 19:24 | 只看該作者
你好,你開發板的引腳是怎么定義的?
回復

使用道具 舉報

板凳
ID:7485 發表于 2014-2-10 19:57 | 只看該作者
根據你的num的定義,num的最大值只能是0xff,也就是255,不可能大于255更不可能大于256,所以......
另外,語句格式也不對,應該如下:
   if(num==255)
    num=0;
    else
    num++;   

其實,就一句  num++;  就夠了,其余的語句不需要。到了255后再加1就是0.
回復

使用道具 舉報

地板
ID:58720 發表于 2014-3-1 00:57 | 只看該作者
ahshmj 發表于 2014-2-10 19:57
根據你的num的定義,num的最大值只能是0xff,也就是255,不可能大于255更不可能大于256,所以......
另外 ...

謝謝您的回答!
回復

使用道具 舉報

5#
ID:59153 發表于 2014-2-21 01:01 | 只看該作者
單片機編程的話,可以debug那就用jtag單步調試,設置斷點看掛在那里。沒辦法就加printf,看程序在哪里之后開始沒打印。
回復

使用道具 舉報

6#
ID:55063 發表于 2014-2-25 21:19 | 只看該作者
其實三樓說的已經很到位了。我只想提醒一下,if語句如果不加“{}”,后面是不能加“;”的。“;”的意思是一條完整的命令。我想你也知道,但開始時會不經意出錯。我建議你即使是一條語句也加上“{}”,為以后寫大程序養成好習慣。
回復

使用道具 舉報

7#
ID:59303 發表于 2014-2-27 14:17 | 只看該作者
占坐觀眾
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 看黄在线 | 亚洲精品粉嫩美女一区 | www.国产精品 | 日本污视频 | 亚洲情侣视频 | 国产一区二区精 | 国产成人精品a视频一区www | av中文字幕在线播放 | 激情欧美日韩一区二区 | 免费的色网站 | 久久精品女人天堂av | 国产一区二区三区免费 | 国产成人精品a视频一区www | 久久久久久久久久久久久9999 | 免费在线一区二区 | 亚洲人人 | 99国产精品久久久久久久 | 黄色一级大片在线观看 | 国产伦一区二区三区 | 亚洲精品一区二区二区 | 国产一区二区三区四区 | 男女视频在线观看 | 国产电影一区二区三区爱妃记 | 国产精品久久国产精品久久 | 久久精品国产一区二区电影 | 免费人成激情视频在线观看冫 | 精品欧美 | 激情一区二区三区 | 国产精品大片在线观看 | 国产精品1 | 日韩欧美不卡 | 国产在线视频一区二区董小宛性色 | 成人黄色在线 | 日韩精品在线视频免费观看 | 亚洲国产精品福利 | 狠狠狠| 天堂精品 | 久久99久久98精品免观看软件 | 成人在线精品视频 | 在线播放国产一区二区三区 | 天天色天天色 |