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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 1360|回復(fù): 1
收起左側(cè)

單片機(jī)頻率計(jì)代碼

[復(fù)制鏈接]
ID:454245 發(fā)表于 2018-12-25 11:28 | 顯示全部樓層 |閱讀模式
  1. #include<reg52.h>
  2. bit timeint0,timeint1;
  3. unsigned char dispbuf[4];
  4. unsigned int period;
  5. unsigned int timecount=0;
  6. unsigned int count_1s;
  7. unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; //7段數(shù)碼管代碼表
  8. HEX_TO_BCD(unsigned int n)
  9. {
  10.         unsigned char i; //當(dāng)顯示的頻率超出范圍,顯示EEEE報(bào)錯(cuò)
  11.         if (n>9361)
  12.         for(i=0;i<4;i++)
  13.         dispbuf[i]=0x0e;
  14.         else

  15.         {
  16.                 dispbuf[3]=n/1000; //取出千位字節(jié)
  17.                 dispbuf[2]=(n/100)%10; //取出百位字節(jié)
  18.                 dispbuf[1]=(n/10)%10; //取出十位字節(jié)
  19.                 dispbuf[0]=n%10; //取出個(gè)位字節(jié)
  20. }
  21. }
  22. void scandisp(void) //顯示子程序,
  23. //將顯示緩存數(shù)組中的BCD碼掃描并顯示在數(shù)碼管上
  24. {
  25.         unsigned char posi=0x01;
  26.         unsigned char i,j,temp;
  27.         for(i=0;i<4;i++) //依次選中4個(gè)數(shù)碼管
  28.         {
  29.         temp=dispbuf[i];//查出字碼
  30.         temp=table[temp];//第三位顯示小數(shù)點(diǎn)
  31.         if(i==1)
  32.                 {
  33.                 for(j=0;j<200;j++)
  34.                 {
  35.                 P2=posi;
  36.                 P0=temp|0x80;
  37.                 }
  38.                 }
  39.         else
  40.         {
  41.         for(j=0;j<200;j++)
  42.         {
  43.         P2=posi;
  44.         P0 =temp;
  45.         }
  46.         }
  47. //依次點(diǎn)亮字位
  48. posi<<=1;
  49. }
  50. }
  51. void INIT_TMR1INT(void) //定時(shí)器初始化了程序,定義了兩種
  52. {
  53. //定時(shí)/計(jì)數(shù)器0工作定時(shí)器方式,定時(shí)/計(jì)數(shù)器1工作在計(jì)數(shù)器方式
  54.         TMOD=0x51;
  55.         ET1=1;//中斷0開(kāi)中斷
  56.         ET0=1;//CPU開(kāi)中斷
  57.         EA=1;
  58.         count_1s=0;//啟動(dòng)定時(shí)/計(jì)數(shù)器0開(kāi)始定時(shí)
  59.         TR0=1;
  60.         TR1=1;
  61. }
  62. void time0(void) interrupt 1 //定時(shí)器0中斷服務(wù)程序,系統(tǒng)自動(dòng)調(diào)用,
  63. //每2.5ms執(zhí)行一次
  64. {
  65.         TH0=0xf6;
  66.         TH1=0x3c;//每次定時(shí)是2.5 ms, 40次即0.1s
  67.         if(++count_1s>40)
  68.         {
  69.                 count_1s=0;//每0.1s對(duì)計(jì)數(shù)器1所計(jì)數(shù)值進(jìn)行統(tǒng)計(jì)
  70.                 timecount=TH1*256+TL1;
  71.                 TH1=0;
  72.                 TL1=0;//精確到小數(shù)點(diǎn)后1位,以KHz為單位
  73.                 period=timecount/10;//四舍五入顯示
  74.                 if((timecount%10)>4)
  75.                 period++;
  76.                 timecount=0;
  77.                 HEX_TO_BCD(period);
  78.         }
  79. }
  80. void timer1(void) interrupt 3 //定時(shí)器1中斷服務(wù)程序,溢出后中斷
  81. {
  82.         TH1=0x00;
  83.         TL1=0x00;
  84. }
  85. void main(void) //主函數(shù)
  86. {
  87. //初始化
  88. INIT_TMR1INT();
  89.         while(1)
  90.         {
  91. //顯示子程序
  92.                 scandisp();
  93.         }
  94. }
復(fù)制代碼
回復(fù)

使用道具 舉報(bào)

ID:1 發(fā)表于 2018-12-25 19:21 | 顯示全部樓層
補(bǔ)全原理圖或者詳細(xì)說(shuō)明一下電路連接即可獲得100+黑幣
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 精品亚洲一区二区三区 | 五月婷婷丁香婷婷 | 日韩黄| 国产色婷婷久久99精品91 | 国产91丝袜在线播放 | 一本一道久久a久久精品蜜桃 | 91久久精品 | 色婷婷亚洲国产女人的天堂 | 天天操操操操操 | 精品av天堂毛片久久久借种 | 国产精品精品3d动漫 | 欧美一二三 | 在线观看中文字幕 | 中文字幕精品一区 | 久久精品视频99 | 欧美一级欧美三级在线观看 | 国产91久久久久蜜臀青青天草二 | 日本成人中文字幕 | 欧美成人影院 | 亚洲日产精品 | 一级黄色播放 | 高清久久久 | 91在线看网站 | 国产高清精品一区二区三区 | 国内自拍偷拍 | 久热中文字幕 | 免费高清av | 中文字幕一区二区三区乱码在线 | 天天天操天天天干 | 国产精品欧美日韩 | 自拍视频网| 免费啪啪| 国产乱码一区 | 狠狠干狠狠操 | 激情欧美一区二区三区中文字幕 | 国产免费麻豆视频 | 国产精品久久久久久二区 | 国精日本亚洲欧州国产中文久久 | 亚洲国产精品自拍 | 欧美视频二区 | 天堂一区二区三区四区 |