欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: AT C52單片機T2定時器實現可調方波Proteus仿真+程序 [打印本頁]

作者: 曹志成    時間: 2019-7-21 20:44
標題: AT C52單片機T2定時器實現可調方波Proteus仿真+程序
P1口輸出可調方波;key1上調頻率;
key2下調頻率;
注:若編譯時出現沒有T2MOD,可在頭文件reg52.h中加上sfr T2MOD = 0xC9;    (此方法通過百度知道搜索)
頭文件夾目錄為keil->C51->INC  
此程序用的時52中的T2定時/計數器51中沒有。
//這是書上的程序,做出來供參考一下   mcs-51單片機還是很強大的嘛  --來自初學者的感嘆!

仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
35hz:


單片機源程序如下:
  1. #include <reg52.h>
  2. #include "delay.h"

  3. #define unit unsigned int
  4. #define uchar unsigned char

  5. uchar fre;//定義頻率變量
  6. uchar LED[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x39,0x5e,0x79,0x71};//0-e  共陰數碼管
  7. sbit pulse=P1^0;//脈沖輸出端
  8. sbit key1=P1^1;//按下  頻率增大1
  9. sbit key2=P1^2;//頻率減小1

  10. void main()
  11. {
  12.         fre=50;//設頻率初值50hz
  13.         pulse=1;
  14.         T2MOD=0X02;
  15.         T2CON=0X00;
  16.         TH2=(65536-(12000000/(24*fre)))/256;
  17.         TL2=(65536-(12000000/(24*fre)))%256;
  18.         RCAP2H=(65536-(12000000/(24*fre)))/256;
  19.         RCAP2L=(65536-(12000000/(24*fre)))%256;
  20.         EA=1;
  21.         ET2=1;
  22.         TR2=1;
  23.         while(1)
  24.         {
  25.                 if(key1==0)
  26.                 {
  27.                          delay(5);//去除抖動
  28.                         if(key1==0)
  29.                         {
  30.                                 fre++;//頻率+1
  31.                                 if(fre==100)fre=99;//極限頻率99hz
  32.                                 RCAP2H=(65536-(12000000/(24*fre)))/256;
  33.                                 RCAP2L=(65536-(12000000/(24*fre)))%256;
  34.                                 while(!key1);
  35.                                 do{delay(5);}
  36.                                 while(!key1);//去除抖動
  37.                         }
  38.                 }
  39.                    if(key2==0)
  40.                    {
  41.                    delay(5);
  42.                         if(key2==0)
  43.                         {
  44.                                 fre--;//頻率-1
  45.                                 if(fre==7)fre=8;//極限8hz
  46.                                 RCAP2H=(65536-(12000000/(24*fre)))/256;
  47.                                 RCAP2L=(65536-(12000000/(24*fre)))%256;
  48.                                 while(!key2);
  49.                                 do{delay(5);}
  50.                                 while(!key2);//去除抖動       
  51.                         }
  52.                
  53.                  }
  54.         }
  55. }

  56. void counter2()interrupt 5
  57. {
  58.         TF2=0;
  59.         pulse=!pulse;
  60. }
復制代碼

所有資料51hei提供下載:
52單片機的t2功能(可調頻率方波).zip (46.95 KB, 下載次數: 36)



作者: longyo    時間: 2019-7-22 06:10
下來學習謝謝分享。。
作者: 鵬博士PBs    時間: 2019-7-22 15:52
感謝分享 學習學習
作者: wyj191    時間: 2019-7-25 01:33
謝謝分享。。。!




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