打印
[51单片机]

【开源】手机远程(数据、WIFI)控制设备学习之路(连载)

[复制链接]
1203|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
duxinlng|  楼主 | 2015-7-31 17:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 duxinlng 于 2015-8-5 10:07 编辑

交流QQ群:322416747
硬件资源:

1、MUC-51单片机STC15W4K48S4(48K FLASH,4K SDRAM)
2、串口WIFI模块
3、EEPROM-AT24C02
4、时钟芯片-DS1302
5、步进电机
6、RS232接口
7、4bit独立LED
8、4bit独立触摸按键
9、RS485接口
10、温湿度采集
11、红外遥控
12、蜂鸣器
13、液晶LCD128X64带字库

宏定义头文件:

typedef unsigned char  c51_uint8_t; //8bit无符号整型数据
typedef unsigned int   c51_uint16_t; //16bit无符号整型数据
typedef unsigned long  c51_uint32_t; //32bit无符号整型数据

typedef char  c51_int8_t;  //8bit符号整型数据
typedef int   c51_int16_t; //16bit符号整型数据
typedef long  c51_int32_t; //32bit符号整型数据

typedef bit   c51_bit; //1bit类型

#define NULL 0

typedef enum{
        C51_FALSE = 0,
        C51_TRUE
}C51_TYPE_ENUM_BOOL; //BOOL变量定义

typedef enum{
        C51_ERR = 0,
        C51_ERR_OK,
        C51_ERR_TIMEOUT
}C51_TYPE_ERR;       //ERROR变量定义

#define ROMDATA        code
#define XDATA        xdata

LED控制程序:
#define LED_ON  C51_TRUE            //LED开类型定义
#define LED_OFF C51_FALSE           //LED关类型定义
extern void Func_Led_Init(void);    //LED管脚和状态初始化
extern void Func_Led_Ctrl(C51_TYPE_ENUM_BOOL led1,C51_TYPE_ENUM_BOOL led2,
                          C51_TYPE_ENUM_BOOL led3,C51_TYPE_ENUM_BOOL led4);//LED亮灭控制


#define LED1_PxM1  P4M1 //PxM1和PxM0结合用于设置端口的模式
#define LED1_PxM0  P4M0 //详情查看"STC15.H"
#define LED1_PORT  P4   //LED接的I/O端口
#define LED1_BIT   0X08 //P4.3
#define LED1_UBIT  0XF7
#define LED1_DIR   {LED1_PxM1 |= LED1_BIT;LED1_PxM0 |= LED1_BIT;} //设置I/O为推挽输出模式
#define LED1_OUTH  {LED1_PORT |= LED1_BIT;} //I/O置高电平,LED灭
#define LED1_OUTL  {LED1_PORT &= LED1_UBIT;} //I/O置低电平,LED亮


#define LED2_PxM1  P4M1 //PxM1和PxM0结合用于设置端口的模式
#define LED2_PxM0  P4M0 //详情查看"STC15.H"
#define LED2_PORT  P4   //LED接的I/O端口
#define LED2_BIT   0X04 //P4.2
#define LED2_UBIT  0XFB
#define LED2_DIR   {LED2_PxM1 &= LED2_UBIT;LED2_PxM0 |= LED2_BIT;} //设置I/O为推挽输出模式
#define LED2_OUTH  {LED2_PORT |= LED2_BIT;} //I/O置高电平,LED灭
#define LED2_OUTL  {LED2_PORT &= LED2_UBIT;} //I/O置低电平,LED亮


#define LED3_PxM1  P4M1 //PxM1和PxM0结合用于设置端口的模式
#define LED3_PxM0  P4M0 //详情查看"STC15.H"
#define LED3_PORT  P4   //LED接的I/O端口
#define LED3_BIT   0X02 //P4.1
#define LED3_UBIT  0XFD
#define LED3_DIR   {LED3_PxM1 &= LED3_UBIT;LED3_PxM0 |= LED3_BIT;} //设置I/O为推挽输出模式
#define LED3_OUTH  {LED3_PORT |= LED3_BIT;} //I/O置高电平,LED灭
#define LED3_OUTL  {LED3_PORT &= LED3_UBIT;} //I/O置低电平,LED亮


#define LED4_PxM1  P3M1 //PxM1和PxM0结合用于设置端口的模式
#define LED4_PxM0  P3M0 //详情查看"STC15.H"
#define LED4_PORT  P3 //LED接的I/O端口
#define LED4_BIT   0X80 //P3.7
#define LED4_UBIT  0X7F
#define LED4_DIR   {LED4_PxM1 &= LED4_UBIT;LED4_PxM0 |= LED4_BIT;} //设置I/O为推挽输出模式
#define LED4_OUTH  {LED4_PORT |= LED4_BIT;} //I/O置高电平,LED灭
#define LED4_OUTL  {LED4_PORT &= LED4_UBIT;} //I/O置低电平,LED亮


/*********************************************************************
**:LED初始化,配置I/O为推挽输出模式
*********************************************************************/
void Func_Led_Init(void)
{
  LED1_DIR;//I/O初始化,设置为推挽输出模式
  LED2_DIR;//I/O初始化,设置为推挽输出模式
  LED3_DIR;//I/O初始化,设置为推挽输出模式
  LED4_DIR;//I/O初始化,设置为推挽输出模式
  Func_Led_Ctrl(LED_OFF,LED_OFF,LED_OFF,LED_OFF);
}


/*********************************************************************
**:LED亮灭控制,LED_ON = 开, LED_OFF = 关
*********************************************************************/
void Func_Led_Ctrl(C51_TYPE_ENUM_BOOL led1,C51_TYPE_ENUM_BOOL led2,
                   C51_TYPE_ENUM_BOOL led3,C51_TYPE_ENUM_BOOL led4)
{
  if(led1==LED_ON){LED1_OUTL;} //LED1开
  else {LED1_OUTH;} //LED1关


  if(led2==LED_ON){LED2_OUTL;} //LED2开
  else {LED2_OUTH;} //LED2关


  if(led3==LED_ON){LED3_OUTL;} //LED3开
  else {LED3_OUTH;} //LED3关


  if(led4==LED_ON){LED4_OUTL;} //LED4开
  else {LED4_OUTH;} //LED4关
}












SCH.pdf

139.64 KB

原理图

相关帖子

沙发
duxinlng|  楼主 | 2015-8-3 09:04 | 只看该作者
自己顶起:)

使用特权

评论回复
板凳
duxinlng|  楼主 | 2015-8-5 10:45 | 只看该作者
:)顶起

使用特权

评论回复
地板
duxinlng|  楼主 | 2015-8-7 16:43 | 只看该作者
:)

使用特权

评论回复
5
duxinlng|  楼主 | 2015-8-21 13:54 | 只看该作者
:D

使用特权

评论回复
6
huangyouneng119| | 2015-8-22 23:25 | 只看该作者
支持 ,谢谢

使用特权

评论回复
7
yuanquan12345| | 2015-8-23 08:15 | 只看该作者
学习了。

使用特权

评论回复
8
cxc731003| | 2015-8-24 11:33 | 只看该作者
期待

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

21

帖子

0

粉丝