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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

簡易頻率計單片機代碼

[復制鏈接]
跳轉到指定樓層
樓主
ID:185877 發表于 2017-4-3 21:58 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式

  1. #include <AT89X51.H>
  2. //********數碼管位代碼表(P0口)**********//
  3. unsigned char code dispbit[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0x7f};
  4. //********數碼管段代碼表(P2口,共陰且高位接a,低位接h筆段)**********//   
  5. unsigned char code dispcode[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};
  6. //********8位數據緩沖器**********//                                          
  7. unsigned char dispbuf[8];            
  8. unsigned char temp[8];                  
  9. unsigned char dispcount;                 
  10. unsigned char T0count;
  11. unsigned char timecount;
  12. bit flag;                  
  13. unsigned long x;

  14. //*********初始化模塊**********//
  15. void initial(void){
  16. TMOD=0x15;                    
  17. TH0=0;
  18. TL0=0;
  19. TH1=(65536-4000)/256;
  20. TL1=(65536-4000)%256;
  21. TR1=0;
  22. TR0=0;
  23. ET0=1;
  24. ET1=1;
  25. EA=1;
  26. }
  27. //******************************************************//

  28. //*********顯示模塊**********//
  29. void dataDisplay(){
  30. unsigned char i;   
  31. for(i=0;i<8;i++){
  32. temp[i]=0;
  33. }
  34. i=0;
  35. while(x/10)
  36. {
  37.    temp[i]=x%10;
  38.    x=x/10;
  39.    i++;
  40.     }
  41. temp[i]=x;
  42. for(i=0;i<8;i++){
  43.    dispbuf[i]=temp[i];   
  44.     }   
  45. P2=dispcode[dispbuf[dispcount]];
  46. P0=dispbit[dispcount];
  47. dispcount++;
  48. if(dispcount==8)
  49. {
  50.    dispcount=0;
  51. }
  52. }
  53. //******************************************************//

  54. //*********信號頻率測量模塊**********//
  55. float frequency(float freq)
  56. {
  57. initial();
  58. TR0=1;TR1=1;
  59. if(timecount==250)
  60. {
  61.    TR0=0;
  62.    freq=T0count*65536+TH0*256+TL0;   
  63.    return(freq);
  64. }   
  65. }
  66. //******************************************************//

  67. //*********信號周期測量模塊**********//
  68. float cycle(float count){
  69. initial();
  70. if(P3_4==1){
  71.    TR0=1;TR1=1;
  72.    if(P3_4==0){
  73.     TR0=0;   
  74.     count=1000000/(timecount*4000+TH1*256+TL1-61536);
  75.    }
  76. }        
  77. return(count);
  78. }
  79. //******************************************************//

  80. //*********定時中斷服務程序1**********//
  81. void t1(void) interrupt 3 using 0{
  82. //initial();
  83. //TR0=1;
  84. //TR1=1;
  85. TH1=(65536-4000)/256;
  86. TL1=(65536-4000)%256;
  87. timecount++;
  88. }
  89. //******************************************************//

  90. //*********定時中斷服務程序2**********//
  91. void t0(void) interrupt 1 using 0{
  92. //initial();
  93. //TR0=1;
  94. //TR1=1;
  95. T0count++;
  96. }
  97. //******************************************************//

  98. //*********主函數**********//
  99. void main(void){
  100. while(1){  
  101.    x=frequency(x);
  102.    if(x<100){
  103.     x=cycle(x);
  104.    }
  105.    dataDisplay();
  106. }
  107. }
  108. //******************************************************//
復制代碼
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 一级高清 | 粉嫩高清一区二区三区 | 色www精品视频在线观看 | 亚洲精品国产精品国自产在线 | 特级黄色毛片 | 在线播放亚洲 | 三级免费av | 亚洲 欧美 日韩在线 | 日韩欧美三级电影在线观看 | av一级久久 | 国产目拍亚洲精品99久久精品 | 免费观看一级黄色录像 | 一级a爱片性色毛片免费 | 日韩国产精品一区二区三区 | 国内精品免费久久久久软件老师 | 成人精品在线观看 | 久久毛片 | 成人免费一区二区三区视频网站 | 91视频网址 | 日韩在线一区二区三区 | 国产一区二区三区高清 | 三级成人片 | 亚洲精品成人 | 亚洲精选一区 | 91麻豆精品一区二区三区 | 国产日韩欧美电影 | 伊人在线视频 | 国际精品鲁一鲁一区二区小说 | 激情视频中文字幕 | 91精品在线观看入口 | 狠狠操狠狠干 | 草久久| 亚洲一区二区三区在线视频 | 四虎影院在线观看av | 久久久成人精品 | 中文字幕一区二区三区日韩精品 | 国产激情网站 | 日韩一区二区不卡 | 精品亚洲一区二区三区 | 一区二区三区亚洲精品国 | 国产三级|