找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

帖子
查看: 2277|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

upsd3234A實現(xiàn)led燈25HZ程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
#
ID:311210 發(fā)表于 2018-4-18 21:15 | 只看該作者 回帖獎勵 |正序瀏覽 |閱讀模式
本帖最后由 378498084 于 2018-4-18 21:16 編輯

#include "upsd_hardware.h"                // 開發(fā)板硬件定義
#include "upsd3200.h"                        // UPSD單片機(jī)特殊寄存器聲明頭文件
#include <stdio.h>
sbit L1=P4^5;        
static unsigned int idata timer0_tick;
unsigned int timer0_count(void);
#define TIMER0_VALUE-(((FREQ_OSC * 10L) / 12L) - 17L)#define Watchdog_Off()  WDKEY=0x55
void UartInit();                    //串口初始化程序

void UartInit()
{
        T2MOD = 0;                     //timer2
        T2CON = 0x30;

        RCAP2L = 0x8B;            //計數(shù)器重裝值
        RCAP2H = 0xFF;

        TL2 = 0x8B;                        //baud rate = 9600
        TH2 = 0xFF;
        SCON |= 0x52;                //mode 1, REN = 1,TI=1
        PCON = 0x00;
        TI = 1;
        TR2 = 1;                        //enable timer2
}

void timer0_init(void)         //         chushihua
  {
              EA = 0;        
                  timer0_tick = 0;
                  TR0 = 0;
                  TMOD &= 0xF0;        
                  TMOD |= 0x01;
                  TL0 = (TIMER0_VALUE & 0x00FF);
        
                  TH0 = (TIMER0_VALUE >> 8);
                  PT0 = 1;
                  ET0 = 1;
                  TR0 = 1;
                  EA = 1;        
}
                 
static void timer0_isr(void) interrupt TF0_VECTOR using 1
{
                  TR0 = OFF;
                  TL0= (TIMER0_VALUE & 0x00FF);
                  TH0 = (TIMER0_VALUE >> 8);
                  TR0 = ON;
                  timer0_tick++;        
}


unsigned int timer0_count(void)         //
{
                  unsigned int t;
                  EA = 0;        
                  t = timer0_tick;
                  EA = 1;        
                  return(t);
}
void main(void){
         Watchdog_Off();                                                                                                
         UartInit();
         timer0_init();
   while(1)
   {
          if(timer0_tick==2)
          {   
             L1=!L1;
                 timer0_tick=0;
                 
          }
         }
}



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

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表