天堂草原最受欢迎的角色,天堂动漫,天堂在线,色天堂下载,天堂中文在线资源,亚洲男人天堂

技術熱線: 4007-888-234
設計開發

專注差異化嵌入式產品解決方案 給智能產品定制注入靈魂給予生命

開發工具

提供開發工具、應用測試 完善的開發代碼案例庫分享

技術支持

從全面的產品導入到強大技術支援服務 全程貼心伴隨服務,創造無限潛能!

新品推廣

提供新的芯片及解決方案,提升客戶產品競爭力

新聞中心

提供最新的單片機資訊,行業消息以及公司新聞動態

CCSC timer.c程序使用MCD2demo 用PIC16F877A單片機片內Timer1定時

更新時間: 2019-03-23
閱讀量:1819

十年專注單片機方案開發的方案公司英銳恩,分享CCSC timer.c程序使用MCD2demo 用PIC16F877A片內Timer1定時。英銳恩現提供服務產品涉及主控芯片:8位單片機、16位單片機、32位單片機及各類運算放大器等。

/*=============================================================================
使用PIC16F877A片內Timer1定時,運行程序:
        程序開始    -> LED0亮,
        每0.5秒鐘   -> LED7交替亮滅,
        循環10次后  -> Timer1中斷關閉,LED6亮,LED7保持當前狀態。
=============================================================================*/
///////////////////////////////////////////////////////////////////////////////
// MPLAB IDE V7.11 + CCS C3.18
// Use 16F877A internal timer1 for MCD2-demo
//
// by LW7807@163.com
// 2005/06/22
///////////////////////////////////////////////////////////////////////////////
#include <16F877A.h>                            // PIC16F877 header file
#use delay(clock=4000000)                       // for 4Mhz crystal
#fuses XT, NOWDT, NOPROTECT, NOLVP              // for debug mode

#define TIMER1_500MS            (0xFFFF - 62500 + 1)
#define DO_THIS_TIMES           10

 

#define LED7_IO                 PIN_C7
#define LED6_IO                 PIN_C6
#define LED0_IO                 PIN_C0
#define LED_ON                  1
#define LED_OFF                 0

 


int1    led7_status             = LED_OFF;
int8    cnt                     = 0;

///////////////////////////////////////////////////////////////////////////////
//
#int_TIMER1
void timer1_isr(void)
{
        led7_status = ~led7_status;

 ++ cnt;
        if(cnt >= 2*DO_THIS_TIMES)
                {
                disable_interrupts(INT_TIMER1);
                output_bit(LED6_IO, LED_ON);
                }
}//end timer1_isr()

 

/*===========================================================================*/
void main(void)
{
        // begin program
        output_bit(LED0_IO, LED_ON);

 

        // setup timer1 for 0.5s interrupt
        setup_timer_1(T1_INTERNAL | T1_DIV_BY_8);
        set_timer1(TIMER1_500MS);
        enable_interrupts(INT_TIMER1);
        enable_interrupts(GLOBAL);

  // show led7 status
        while(1){
                output_bit(LED7_IO, led7_status);
                }
}//end main()

联系我们: 平原县| 丰宁| 民勤县| 泸定县| 登封市| 玉龙| 通城县| 长阳| 资讯| 房产| 宁明县| 临夏县| 仪陇县| 扶风县| 津南区| 揭阳市| 莱州市| 怀柔区| 永兴县| 马龙县| 阳朔县| 新丰县| 邵武市| 英山县| 应用必备| 定安县| 东宁县| 五家渠市| 芦溪县| 永州市| 黄骅市| 耒阳市| 朔州市| 新丰县| 土默特左旗| 兴仁县| 巩留县| 鸡东县| 醴陵市| 汶川县| 赞皇县|