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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

STC12C5A16S2單片機的定時器操作演示實驗

[復制鏈接]
跳轉到指定樓層
樓主
ID:149839 發表于 2016-11-23 22:53 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式

#include<reg51.h>
/************* 本地常量聲明 **************/
#define Main_Fosc   11059200UL     //定義外部晶振頻率
#define TIME        (65536-Main_Fosc/1000)  //定義定時器時間溢出數
/************* 特殊寄存器聲明 **************/
sfr AUXR=0x8E;         //輔助寄存器AUXR聲明
sfr WAKE_CLKO=0x8F;        //時鐘輸出和掉電喚醒寄存器聲明
/************* 特殊位聲明 **************/
sbit  P1_0=P1^0;        //LED燈的控制管腳P1_0聲明
/************* 本地變量聲明 **************/
unsigned int count;        //普通計數變量聲明
void main()
{
    AUXR=0x80;         //定時器0工作在1T模式下
   TMOD=0x01;         //定時器0工作在模式1(16位定時器/計數器)下
TL0=TIME;         //計數值低8位裝入定時器低計數寄存器中
TH0=TIME>>8;        //計數值高8位裝入定時器高計數
TR0=1;          //允許定時器0開始計數
ET0=1;          //開定時器0中斷
P1_0=1;          //將P1的第0管腳設置為輸出,這時LED燈亮
EA=1;          //開中斷
count=0;         //初始化計數值
while(1)
   ;
}
/*******************************************************
*  函數名:timer0_out()
*  輸入:無
*  輸出:無
*  功能描述:定時0溢出終端處理函數。每隔1us產生溢出中斷,這時候count的值由5000減1
*            當count值減為0時,改變LED燈狀態,同時又從5000開始計數。
            
******************************************************/
void timer0_out()  interrupt 1
{
   TL0=TIME;
TH0=TIME>>8;
if(count-- ==0)
   {
      count=5000;
   P1_0=~P1_0;
   }
}
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

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