找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

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

基于SM8952AC25P作為主控器件的智能家居設(shè)計(jì)資料,控制家居電氣,智能電話,和各...

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
本系統(tǒng)采用MCU(SM8952AC25P)作為主控器件,單片機(jī)應(yīng)用系統(tǒng)由硬件和軟件組成。硬件由單片機(jī)擴(kuò)展的存儲(chǔ)器、輸入/出設(shè)備以及各種實(shí)現(xiàn)單片機(jī)系統(tǒng)控制要求的接口電路和有關(guān)的外圍電路芯片或部件組成;軟件由單片機(jī)應(yīng)用系統(tǒng)實(shí)現(xiàn)其特定控制功能的各種工作程序和管理程序組成。

Altium Designer畫的原理圖和PCB圖如下:(51hei附件中可下載工程文件)


部分單片機(jī)代碼:
#include <AT89X55.H>
bit r_flag;
enum  eepromtype  {M2401,M2402,M2404,M2408,M2416,M2432,M2464,M24128,M24256};
extern bit   RW24XX(unsigned char *DataBuff,unsigned char ByteQuantity,unsigned int Address,
                     unsigned char ControlByte,enum eepromtype EepromType);

sbit key   = P2^0;
bit key_flag;

sbit dog   = P0^7;
sbit LED   = P0^0;
sbit TELA   = P3^6;
sbit TEL  = P3^7;
sbit RING  = P3^2;
sbit switching =P0^4;
unsigned char mode;
bit passwordflag;
unsigned char password[6];
unsigned char passwordtest[6];

void dlms(unsigned int x);
void reset(void);
void open(void);
//****************************************************************  //
//               INT1中斷服務(wù)程序                                               //
//****************************************************************  //
unsigned char ring_fluctuation;
unsigned char ring_count;
bit ring_flag;
void service_int0() interrupt 0 using 1
{
if(ring_fluctuation<10)
   {
    ring_fluctuation++;     
    }
}
//****************************************************************  //
//                      t1 定時(shí)中斷                                           //
//****************************************************************  //   
unsigned char ring_dlsm;
unsigned char ring_time;
unsigned int ring_reset_time;
unsigned char dlms_time;
void timer1 (void) interrupt 3 using 0
{
  TH1=0x3c;
  TL1=0xb0;
  dlms_time++;
  if(ring_fluctuation>5)
    {
         EX0=0;//INT1_OFF;
         ring_dlsm++;
         if(ring_dlsm==20)//等待一秒
           {
            ring_dlsm=0;
            EX0=1;//INT1_ON;
        ring_fluctuation=0;
                ring_count++;//震鈴次數(shù)

                 if(ring_flag)//有效振鈴
                   {
                    if(ring_count==6)
                          {
                           ring_count=7;
               mode=1;
                           }
                    }
                 else//無效振鈴
                   {
                    if(ring_count>2)
                          {
                           ring_reset_time=800;
                           }
                    }
            }
     }
   

   if((ring_count==2)|(ring_count==1))
     {
          ring_time++;
          if(ring_time==200)
            {
                 ring_flag=1;
                 }
          }
   if((ring_count>0)&(ring_count<6))
     {
      LED=INT0;

          }

智能家居控制系統(tǒng)程序.zip

807.3 KB, 下載次數(shù): 13, 下載積分: 黑幣 -5

程序

全套完整設(shè)計(jì)智能家居控制系統(tǒng)設(shè)計(jì).zip

2.51 MB, 下載次數(shù): 25, 下載積分: 黑幣 -5

原理圖PCB

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

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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