標(biāo)題: 基于51單片機(jī)的吉他校音器程序源碼 [打印本頁]

作者: xinghe280    時(shí)間: 2018-7-25 11:46
標(biāo)題: 基于51單片機(jī)的吉他校音器程序源碼
基于51的吉他校音器源碼

單片機(jī)源程序如下:
  1. //電子校音器源程序
  2. #include <reg51.h>
  3. unsigned char n,i,DelayTime;
  4. unsigned long int f,t,m;
  5. sbit P1_0=P1^0;
  6. sbit P1_1=P1^1;
  7. sbit P1_2=P1^2;
  8. sbit P1_3=P1^3;
  9. sbit P1_4=P1^4;
  10. sbit P1_5=P1^5;
  11. sbit P1_6=P1^6;
  12. sbit P1_7=P1^7;
  13. sbit P3_7=P3^7;
  14. sbit P3_5=P3^5;
  15. void delay(DelayTime);
  16. main()          //主程序
  17. {       
  18.         TMOD=0x01;        //定時(shí)器T0工作于方式1
  19.         TH0=0;
  20.         TL0=0;       
  21.         IE=0X81;         //開中斷
  22.         IT0=1;           //外部中斷0為邊沿觸發(fā)方式
  23.         TR0=1;           //開定時(shí)器T0
  24.         t=1;
  25.         f=1;
  26.         for(;;)          //顯示輸出部分
  27.         {       
  28.                 delay(50);                  //延時(shí)50mS
  29.                 P1=0xff;
  30.                 P3_7=1;
  31.                 if(P3_5==0)                 //校音顯示輸出
  32.                 {
  33.                         m=1000000000/t;
  34.                         m=m*10000;
  35.                         m=m/f;                  //計(jì)算頻率比
  36.                         if(m>=9715&&m<9885)     //誤差在-50音分與-20之間
  37.                                 P1_7=0;              //發(fā)光二極管VD2點(diǎn)亮
  38.                         else if(m>=9885&&m<9942)
  39.                                 P1_6=0;
  40.                         else if(m>=9942&&m<9971)
  41.                                 P1_5=0;
  42.                         else if(m>=9971&&m<9988)
  43.                                 P1_4=0;
  44.                         else if(m>9988&&m<=10012)
  45.                                 P1_3=0;
  46.                         else if(m>10012&&m<=10029)
  47.                                 P1_2=0;
  48.                         else if(m>10029&&m<=10058)
  49.                                 P1_1=0;
  50.                         else if(m>10058&&m<=10116)
  51.                                 P1_0=0;
  52.                         else if(m>10116&&m<=10293)
  53.                                 P3_7=0;
  54.                 }
  55.                 else                         //設(shè)置顯示輸出
  56.                 {
  57.                         m=1000000000/t;
  58.                         if(m>19208&&m<19992)     //LM567振蕩頻率在g音附近,即頻率在196Hz附近
  59.                         {
  60.                                 P1_7=0;              //發(fā)光二極管VD2點(diǎn)亮
  61.                                 f=19600;             //給標(biāo)準(zhǔn)頻率賦值
  62.                         }
  63.                         else if(m>28779&&m<29953)
  64.                         {
  65.                                 P1_6=0;
  66.                                 f=29366;
  67.                         }       
  68.                         else if(m>43120&&m<44880)
  69.                         {
  70.                                 P1_5=0;
  71.                                 f=44000;
  72.                         }       
  73.                         else if(m>64607&&m<67245)
  74.                         {
  75.                                 P1_4=0;
  76.                                 f=65926;
  77.                         }
  78.                 }
  79.         }
  80. }
  81. external0() interrupt 0 //外部中斷服務(wù)程序
  82. {
  83.         n++;
  84.         if(n==10)
  85.         {
  86.                 TR0=0;
  87.                 t=TL0|(TH0<<8);   //取計(jì)數(shù)值
  88.                 TH0=0;
  89.                 TL0=0;
  90.                 n=0;
  91.                 TR0=1;
  92.                 t=t+18;           //程序誤差修正
  93.         }
  94. }
  95. void delay(DelayTime)    //延時(shí)子程序
  96. {
  97.         for(;DelayTime>0;DelayTime--)
  98.         {
  99.                 for(i=0;i<250;i++);
  100.         }
  101. }

復(fù)制代碼

所有資料51hei提供下載:
程序.zip (26.24 KB, 下載次數(shù): 22)



作者: t260161851    時(shí)間: 2019-8-8 19:37
多謝樓主分享
作者: yhbyhb    時(shí)間: 2019-8-10 00:05
你好,這個(gè)有實(shí)物嗎




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1