亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6778|回復(fù): 3
打印 上一主題 下一主題
收起左側(cè)

proteus仿真數(shù)字頻率計存在的問題

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:523448 發(fā)表于 2019-4-28 10:31 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
仿真數(shù)字頻率計時1khz以下正常顯示,超過1khz數(shù)碼管顯示就出現(xiàn)閃爍。這是怎么回事?
#include <reg51.H> // 包含頭文件
unsigned char code dispbit[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//定義數(shù)碼管位選碼
unsigned char code dispcode[]={0x3f,0x06,0x5b,0x4f,0x66,
                               0x6d,0x7d,0x07,0x7f,0x6f,0x00,0x40};        //定義數(shù)碼管段碼
unsigned char dispbuf[8]={0,0,0,0,0,0,0,0};//顯示數(shù)碼組,因為只用了六個數(shù)碼管,所以將最后兩位賦值為10,對應(yīng)的段碼為0x00,表示不亮。
unsigned char temp[8];//暫存數(shù)組
unsigned char dispcount;//掃描位的記錄
unsigned char T0count;//計數(shù)次數(shù)
unsigned char timecount;//定時器5ms中斷的次數(shù)
bit flag; //定義標(biāo)志位
unsigned long x; //定義變量用來存放頻率值

void main(void)        //主函數(shù)
{
  unsigned char i;//定義變量

  TMOD=0x15; //設(shè)置定時工作模式        T1為定時1模式,T0為計數(shù)器1模式
  TH0=0; //        計數(shù)器高8位賦值為0
  TL0=0;// 計數(shù)器低8位賦值為0  所以最大可以輸入65535
  TH1=(65536-5000)/256;// 定時器1高8位賦初值
  TL1=(65536-5000)%256;// 定時器1低8位賦初值
  TR1=1;//啟動定時器1
  TR0=1;// 啟動計數(shù)器0
  ET0=1;//開啟定時器0中斷
  ET1=1;// 開啟定時器1中斷
  EA=1;//開啟總中斷

  while(1)//  大循環(huán)
   {
     if(flag==1)// 如果定時時間到1s
       {
         flag=0;// 標(biāo)志位清零
         x=T0count*65536+TH0*256+TL0;//獲得整數(shù)的頻率值,T0count計數(shù)器在1s內(nèi)溢出的次數(shù),每溢出一次就
                                                                         //就計數(shù)了T0count*65536次,再加上當(dāng)前計數(shù)寄存器的值即為實際計數(shù)總數(shù)
         for(i=0;i<8;i++) //
           {
             temp[i]=0;        // 暫存緩沖區(qū)清零
           }
         i=0; //
         while(x/10) //將頻率值的每一位分離出來,存進temp數(shù)組,例如63239分離為6、3、2、3、9
           {
             temp[i]=x%10;//
             x=x/10;//
             i++;//
           }
         temp[i]=x;//
         for(i=0;i<6;i++)//
           {
             dispbuf[i]=temp[i];//將暫存數(shù)組的數(shù)據(jù)賦給顯示數(shù)組
           }
         timecount=0;//計時清零
         T0count=0;//計數(shù)清零
         TH0=0;// 計數(shù)器初值清零
         TL0=0;// 計數(shù)器初值清零
         TR0=1;// 重啟計數(shù)器
       }
   }
}

void t0(void) interrupt 1 using 0 //  計數(shù)器中斷
{
  T0count++;//
}

void t1(void) interrupt 3 using 0 // 定時器中斷4ms中斷一次
{
  TH1=(65536-5000)/256;//         定時器高8位賦初值
  TL1=(65536-5000)%256;        //         定時器低8位賦初值
  timecount++;//                         時間變量++
  if(timecount==200)//        判斷中斷250次為1s
    {
      TR0=0;//        關(guān)閉計數(shù)器0
      timecount=0;//清零重新計數(shù)中斷次數(shù)
      flag=1;// 標(biāo)志位置1通知主程序1s已到
    }
        //因為放在該中斷程序中,故4秒掃描一次數(shù)碼管
P2=0xff;//先關(guān)閉所有數(shù)碼管 //
// P2=dispbit[dispcount];//送入位碼
P0=dispcode[dispbuf[dispcount]];// 先確定相應(yīng)數(shù)碼管的段碼,送入段碼
P2=dispbit[dispcount];//送入位碼
  dispcount++;// 下一次應(yīng)該掃描下一位數(shù)碼管所以要加一
  if(dispcount==8)//因為只有8只數(shù)碼管,判斷是否送入8次。
    {
      dispcount=0;// 使變量清零
    }
}

QQ圖片20190428102915.png (115.69 KB, 下載次數(shù): 37)

QQ圖片20190428102915.png

QQ圖片20190428103032.png (93.64 KB, 下載次數(shù): 35)

QQ圖片20190428103032.png
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:202748 發(fā)表于 2019-4-28 15:34 | 只看該作者
Proteus仿真時,可能是因為電腦配置的原因,頻率一高就會遲滯。實物不會有這問題。
回復(fù)

使用道具 舉報

板凳
ID:523448 發(fā)表于 2019-4-28 17:04 | 只看該作者
ysandi 發(fā)表于 2019-4-28 15:34
Proteus仿真時,可能是因為電腦配置的原因,頻率一高就會遲滯。實物不會有這問題。

謝謝

回復(fù)

使用道具 舉報

地板
ID:462827 發(fā)表于 2019-4-29 00:36 | 只看該作者
你把仿真圖文件也發(fā)上來看看
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表