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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

基于51單片機定時器0(或定時器1)工作方式2產生周期為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)//主函數
  6. {
  7.    TMOD=0x02;//定時器0工作方式2,也叫低8位初值自動重裝方式,適用于作較精確的脈沖信號發生器,定時器工作方式2與定時器其它幾種工作方式有所不同,定時器工作方式2將THx和TLx分開處理,初值存放在高8位THx中,計時或計數時只處理低8位TLx,則計時或計數最大值為2^8=256,即通過低8位TLx計時或計數達到256就溢出。當計時或計數溢出后,低8位TLx不需要重新賦初值,而是會自動將高8位THx中的初值賦給低8位TLx作為重新計時或計數初值。
  8.    TH0=0x06;//0x06為十進制數6,作為定時器0工作方式2計時初始值,當計時溢出后,低8位TLx不需要重新賦初值,而是會自動將高8位THx中的初值賦給低8位TLx作為重新計時初值。
  9.    TL0=0x06;//0x06為十進制數6,也就是從6開始計時。
  10.    EA=1;//開啟定時器總中斷
  11.    ET0=1;//開啟定時器0中斷開關
  12.    TR0=1;//啟動定時器0
  13.    while(1);//固定循環
  14.   }
  15.   void time0(void) interrupt 1//定時器0工作方式2中斷函數
  16. {
  17. //以下省掉的兩行代碼就是表明了定時器工作方式2在計時或計數溢出后,低8位TLx不需要重新賦初值,而是會自動將高8位THx中的初值賦給低8位TLx作為重新計時或計數初值。
  18. // TH0=0x06;
  19. // TL0=0x06;
  20.    count++;
  21.    if(count==2000)//中斷次數變量為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. }
復制代碼


評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表