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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

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

[復制鏈接]
跳轉(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,對應的段碼為0x00,表示不亮。
unsigned char temp[8];//暫存數(shù)組
unsigned char dispcount;//掃描位的記錄
unsigned char T0count;//計數(shù)次數(shù)
unsigned char timecount;//定時器5ms中斷的次數(shù)
bit flag; //定義標志位
unsigned long x; //定義變量用來存放頻率值

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

  TMOD=0x15; //設置定時工作模式        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;// 標志位清零
         x=T0count*65536+TH0*256+TL0;//獲得整數(shù)的頻率值,T0count計數(shù)器在1s內(nèi)溢出的次數(shù),每溢出一次就
                                                                         //就計數(shù)了T0count*65536次,再加上當前計數(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;//        關閉計數(shù)器0
      timecount=0;//清零重新計數(shù)中斷次數(shù)
      flag=1;// 標志位置1通知主程序1s已到
    }
        //因為放在該中斷程序中,故4秒掃描一次數(shù)碼管
P2=0xff;//先關閉所有數(shù)碼管 //
// P2=dispbit[dispcount];//送入位碼
P0=dispcode[dispbuf[dispcount]];// 先確定相應數(shù)碼管的段碼,送入段碼
P2=dispbit[dispcount];//送入位碼
  dispcount++;// 下一次應該掃描下一位數(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ā)
ID:202748 發(fā)表于 2019-4-28 15:34 | 只看該作者
Proteus仿真時,可能是因為電腦配置的原因,頻率一高就會遲滯。實物不會有這問題。
回復

使用道具 舉報

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

謝謝

回復

使用道具 舉報

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

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日韩www视频 | 蜜桃官网| 992tv人人草| 国产日产精品一区二区三区四区 | 99精品欧美一区二区三区综合在线 | 国产精品国产三级国产aⅴ入口 | 久久久精品网站 | 黄色片在线免费看 | 成人影视网址 | 奇米视频777 | 精品国产乱码久久久久久图片 | 国产精品久久久久久亚洲调教 | 国产精品免费看 | 欧美黄色网络 | 国产欧美精品在线观看 | 噜久寡妇噜噜久久寡妇 | 拍真实国产伦偷精品 | 国产精品久久久久久久免费大片 | 日韩在线观看一区 | 亚洲日本三级 | 久优草 | 成人av免费| 日韩精品一区二区三区在线播放 | 亚洲风情在线观看 | 中国毛片免费 | 精品欧美一区二区三区久久久小说 | 欧美一区二区三区 | 91精品国产色综合久久不卡98口 | 欧美视频免费在线 | 99精品亚洲国产精品久久不卡 | 中文字幕在线看人 | 成人av看片| 9久9久9久女女女九九九一九 | 国产一区二区精品在线观看 | 蜜桃在线一区二区三区 | 免费人成在线观看网站 | 午夜影院视频 | 国产一区欧美 | 天天操天天干天天爽 | 91视频网 | 午夜在线视频一区二区三区 |