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

標(biāo)題: 基于51單片機(jī)定時器0(或定時器1)工作方式2產(chǎn)生周期為1s方波的項目工程 [打印本頁]

作者: 51黑電子會員    時間: 2020-4-18 20:56
標(biāo)題: 基于51單片機(jī)定時器0(或定時器1)工作方式2產(chǎn)生周期為1s方波的項目工程
本帖最后由 51黑電子會員 于 2020-4-19 16:46 編輯
  1. #include <stdio.h>
  2. #include <reg51.h>
  3. sbit LED=P3^4;
  4. unsigned int count=0;
  5.   void main(void)//主函數(shù)
  6. {
  7.    TMOD=0x02;//定時器0工作方式2,也叫低8位初值自動重裝方式,適用于作較精確的脈沖信號發(fā)生器,定時器工作方式2與定時器其它幾種工作方式有所不同,定時器工作方式2將THx和TLx分開處理,初值存放在高8位THx中,計時或計數(shù)時只處理低8位TLx,則計時或計數(shù)最大值為2^8=256,即通過低8位TLx計時或計數(shù)達(dá)到256就溢出。當(dāng)計時或計數(shù)溢出后,低8位TLx不需要重新賦初值,而是會自動將高8位THx中的初值賦給低8位TLx作為重新計時或計數(shù)初值。
  8.    TH0=0x06;//0x06為十進(jìn)制數(shù)6,作為定時器0工作方式2計時初始值,當(dāng)計時溢出后,低8位TLx不需要重新賦初值,而是會自動將高8位THx中的初值賦給低8位TLx作為重新計時初值。
  9.    TL0=0x06;//0x06為十進(jìn)制數(shù)6,也就是從6開始計時。
  10.    EA=1;//開啟定時器總中斷
  11.    ET0=1;//開啟定時器0中斷開關(guān)
  12.    TR0=1;//啟動定時器0
  13.    while(1);//固定循環(huán)
  14.   }
  15.   void time0(void) interrupt 1//定時器0工作方式2中斷函數(shù)
  16. {
  17. //以下省掉的兩行代碼就是表明了定時器工作方式2在計時或計數(shù)溢出后,低8位TLx不需要重新賦初值,而是會自動將高8位THx中的初值賦給低8位TLx作為重新計時或計數(shù)初值。
  18. // TH0=0x06;
  19. // TL0=0x06;
  20.    count++;
  21.    if(count==2000)//中斷次數(shù)變量為2000次,表示0.5s時間到,也表示高電平或低電平各占用周期0.5s,即一個脈沖(高低電平)周期為1s,還可以表示高低電平(即一個脈沖)頻率(計算工式:F=1/T,其中F單位為赫茲,即Hz,而T單位為秒,即s。)為1/1s=1Hz。
  22. {
  23.     LED=~LED;//LED點亮或熄滅
  24.     count=0;
  25.    }
  26. }
復(fù)制代碼







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