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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

顯示時間跑不起來。查了很久,希望大神們指點下。

[復制鏈接]
跳轉到指定樓層
樓主
ID:71991 發表于 2016-2-6 22:23 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
本帖最后由 hsanper 于 2016-2-6 22:30 編輯

#define uchar unsigned char
#define uint unsigned int
#include<reg51.h>
#include<intrins.h>
sbit P07=P0^7;

sbit P10=P1^0;
sbit P11=P1^1;
sbit P12=P1^2;
sbit P13=P1^3;
bit l=0;//狀態標志位
bit c=1;//小數點標志

uint i;
int z=0;
bit k=0;
uchar r=1;
uint dis=0x7f;
uint time=0;
uchar ocode1[6]={10,10,0,0,0,0};
uchar ocode2[6]={0,0,10,10,0,0};
uchar ocode3[6]={0,0,0,0,10,10};

uchar tcode[8]={0,0,0,0,0,0,0,1};//放時間位
uchar code dcode[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};
              //共陽      0,  1,   2,   3,   4,   5,    6,   7,   8,   9   暗


/*******************************************************************/
/*                                                                                                                                  */
/* 延時子程序delay( )                                                                                                                  */
/*                                                                                                                                  */
/*******************************************************************/

void delay(int ms)
{                           
   int i;
   while(ms--)
   {
     for(i = 0; i< 250; i++)
     {
      _nop_();
      _nop_();
      _nop_();
      _nop_();
     }
   }
}

/*******************************************************************/
/*                                                                                                                                  */
/* 數碼管掃描程序void display()                                                                                                                */
/*                                                                                                                                  */
/*******************************************************************/
void display()  
{
        P3=0x00;//!!!!!!非常重要,先關所有顯示
        P0=dcode[tcode[time]];        
        time++;
        if(time==8)
          {
                time=0;//各位顯示
                P07=c;
          }

        if(dis==0xdf||dis==0xf7)
          {P07=0;}//小數位
        P3=dis;
        dis=_iror_(dis,1);//掃描位
        if(dis==0xfd)
          dis=0x7f;//只掃描前6位        
         
}                                                                                 
/*******************************************************************/
/*                                                                                                                                  */
/* 主程序void main()                                                                                                                */
/*                                                                                                                                  */
/*******************************************************************/

void main()
{
TMOD=0x22;         
TCON=0x00;
TH1=0x06;//(65536-250)/256;             //定時250us
TL1=0x06;//(65536-250)%256;
ET1=1;
TH0=0x06;//(65536-250)/256;             //定時250us
TL0=0x06;//(65536-250)%256;
ET0=1;
EA=1;
TR0=1;
TR1=1;
P1=0xff;
P3=0xfc;      //開始6位為0
P0=dcode[0];

while(1)
{   }
}                  
/*******************************************************************/
/*                                                                                                                                  */
/* 中斷程序timer0()                                                                                                               */
/*                                                                                                                                  */
/*******************************************************************/
timer0() interrupt 1 //using 2
{

i++;
if(i==15)
  {
    i=0;
    display();                   //數目管掃描顯示
  }
}

/*******************************************************************/
/*                                                                                                                                  */
/* 中斷程序timer1()                                                                                                               */
/*                                                                                                                                  */
/*******************************************************************/

timer1() interrupt 3 //using 1
{                  
  unsigned int b;          //static

        b++;
        if(b==4000)
          {
                b=0;
                tcode[0]++;
                if(tcode[0]==10)
                  {
                        tcode[1]++;
                        tcode[0]=0;//時間顯示的秒個位
                        if(tcode[1]==6)
                        {
                                tcode[2]++;
                                tcode[1]=0;//時間顯示的秒十位
                                if(tcode[2]==10)
                                {
                                        tcode[3]++;
                                        tcode[2]=0;//時間顯示的分個位        
                                        if(tcode[3]==6)
                                      {
                                                tcode[4]++;
                                                tcode[3]=0;//時間顯示的分十位
                                                if(tcode[4]==10)
                                                {
                                                        tcode[5]++;
                                                        tcode[4]=0;//時間顯示的時個位
                                                        if(tcode[5]==2&&tcode[4]==4)
                                                        {
                                                          tcode[5]=0;
                                                          tcode[4]=0;
                                                          } //時十位已在前控制
                                                                           
                                          }
                                                }
                                  }
                        }
                }        
        }

}
                        

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

使用道具 舉報

沙發
ID:99525 發表于 2016-2-9 22:12 | 只看該作者
先把低級錯誤改了,P07是sbit,要么0,要么1
回復

使用道具 舉報

板凳
ID:100240 發表于 2016-2-16 19:27 來自手機 | 只看該作者
是uint還是int
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 一本一道久久a久久精品蜜桃 | 人成在线 | 亚洲视频三区 | 国产成人精品一区二区三区视频 | 午夜欧美 | 欧美一级毛片在线播放 | 亚洲国产精品一区二区第一页 | 久久9视频 | 日本在线观看视频 | 日本不卡一区 | 国产三级在线观看播放 | 国产精品视频免费观看 | 国产精品成人久久久久 | 毛片一区二区 | 成年免费大片黄在线观看一级 | 欧美一二三| 久久网站免费视频 | 在线一区观看 | 欧美在线不卡 | 羞羞视频在线观免费观看 | 国产伦精品一区二区三区在线 | 国产日韩欧美精品一区二区 | 色在线看| 一区二区三区视频免费看 | 欧美精品久久久久久久久老牛影院 | 国产人成精品一区二区三 | 精品久久久久久 | 欧美成人性生活 | 中文字幕在线视频网站 | 国产高清精品一区二区三区 | 九九热精品在线 | 在线黄色网 | 精品国产乱码久久久久久牛牛 | 国产欧美日韩综合精品一区二区 | 国产精品国产 | 欧美色影院 | 蜜臀久久99精品久久久久野外 | 国产激情视频在线 | 久草色播 | 国产一区 | 日韩欧美手机在线 |