资源简介
采用8位的STC89C51单片机做控制器,程序采用C语言编程。内附源码、原理图及PCB
代码片段和文件信息
/*************************************************
更多51单片机资料请关注微信公众号:电子应用学习馆
**************************************************
*****************《电子应用学习馆》***************
***************************************************/
#include
#include
#include //头文件
#define uc unsigned char
#define ui unsigned int
sbit in_go = P1^3;
sbit in_back = P1^2;//手动前进后退按键
sbit out_go = P3^0;
sbit out_back = P3^5;//电机控制输出
sbit limit_go = P3^4;
sbit limit_back = P3^6;//前进后退限位开关
sbit led_go = P1^4;
sbit led_back = P1^5;//前进后退限位指示灯
sbit light = P1^0;//光线传感器
sbit change = P1^1;//手动自动切换按键(默认自动)
sbit led_zhishi = P1^7;
sbit buzz = P1^6;
sbit W1=P2^2;
sbit W2=P2^1;
//定义DHT11数据口
sbit DATA = P2^0;
uc U8FLAGU8tempU8comdataU8RH_data_H_tempU8RH_data_L_tempU8T_data_H_tempU8T_data_L_tempU8checkdata_temp;
uc U8RH_data_HU8RH_data_LU8T_data_HU8T_data_LU8checkdata;
uc Modehumidity;
bit bdata FlagStartRHhotcoldhumiddry;
bit bdata flag1flag2change_flagflag_shanflag_shan1flag_shan2flag_HH;
uc mnshan;
uc code table[11]={ //共阴极字型码
0x3f //--0
0x06 //--1
0x5b //--2
0x4f //--3
0x66 //--4
0x6d //--5
0x7d //--6
0x07 //--7
0x7f //--8
0x6f //--9
0x00 //--NULL
};
//定时器0初始化
void Timer0_Init()
{
ET0 = 1; //允许定时器0中断
TMOD = 1; //定时器工作方式选择
TL0 = 0xb0;
TH0 = 0x3c; //定时器赋予初值
TR0 = 1; //启动定时器
EA=1;
}
void Delay1(ui j)
{
uc i;
for(;j>0;j--)
{
for(i=0;i<27;i++);
}
}
void Delay_10us(void)
{
uc i;
i--;
i--;
i--;
i--;
i--;
i--;
}
void COM(void)
{
uc i;
for(i=0;i<8;i++)
{
U8FLAG=2;
while((!DATA)&&U8FLAG++);
Delay_10us();
Delay_10us();
Delay_10us();
U8temp=0;
if(DATA)U8temp=1;
U8FLAG=2;
while((DATA)&&U8FLAG++);
//超时则跳出for循环
if(U8FLAG==1)break;
//判断数据位是0还是1
// 如果高电平高过预定0高电平值则数据位为 1
U8comdata<<=1;
U8comdata|=U8temp; //0
}//rof
}
//--------------------------------
//-----温湿度读取子程序 ------------
//--------------------------------
//----以下变量均为全局变量--------
//----温度高8位== U8T_data_H------
//----温度低8位== U8T_data_L------
//----湿度高8位== U8RH_data_H-----
//----湿度低8位== U8RH_data_L-----
//----校验 8位 == U8checkdata-----
//----调用相关子程序如下----------
//---- Delay(); Delay_10us();COM();
//--------------------------------
uc RH(void)
{
//主机拉低18ms
DATA=0;
Delay1(180); //原来为5
DATA=1;
//总线由上拉电阻拉高 主机延时20us
Delay_10us();
Delay_10us();
Delay_10us();
Delay_10us();
//主机设为输入 判断从机响应信号
DATA=1;
//判断从机是否有低电平响应信号 如不响应则跳出,响应则向下运行
if(!DATA) //T !
{
U8FLAG=2;
//判断从机是否发出 80us 的低电平响应信号是否结束
while((!DATA)&&U8FLAG++);
U8FLAG=2;
//判断从机是否发出 80us 的高电平,如发出则进入数据接收状态
while((DATA)&&U8FLAG++);
//数据接收状态
COM();
U8RH_data_H_temp=U8comd
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 38431 2016-10-27 10:46 晾衣架\原理图\Backup of mokuai.Sch
文件 37907 2015-12-03 11:11 晾衣架\原理图\Previous Backup of mokuai.Sch
文件 540672 2015-12-03 11:12 晾衣架\原理图\zong.Bkp
文件 540672 2016-10-27 10:46 晾衣架\原理图\zong.ddb
文件 62512 2016-10-27 10:46 晾衣架\原理图\原理图.pdf
文件 44 2018-12-07 00:00 晾衣架\原理图\更多嵌入式资料.txt
文件 44 2018-12-07 00:00 晾衣架\更多嵌入式资料.txt
文件 6376 2015-01-13 23:16 晾衣架\源码\STARTUP.A51
文件 14463 2019-03-22 23:54 晾衣架\源码\STARTUP.LST
文件 749 2019-03-22 23:54 晾衣架\源码\STARTUP.OBJ
文件 15577 2019-03-22 23:54 晾衣架\源码\zidongliangyijia
文件 1085 2019-03-22 23:54 晾衣架\源码\zidongliangyijia.build_log.htm
文件 2466 2019-03-22 23:54 晾衣架\源码\zidongliangyijia.hex
文件 65 2019-03-22 23:54 晾衣架\源码\zidongliangyijia.lnp
文件 21414 2019-03-22 23:54 晾衣架\源码\zidongliangyijia.M51
文件 1228 2015-01-13 23:16 晾衣架\源码\zidongliangyijia.plg
文件 85727 2019-03-22 23:55 晾衣架\源码\zidongliangyijia.uvgui.Administrator
文件 5469 2019-03-22 23:55 晾衣架\源码\zidongliangyijia.uvopt
文件 14047 2019-03-22 23:55 晾衣架\源码\zidongliangyijia.uvproj
文件 55691 2015-01-13 23:16 晾衣架\源码\zidongliangyijia_uvopt.bak
文件 13428 2015-01-13 23:16 晾衣架\源码\zidongliangyijia_uvproj.bak
文件 7602 2019-03-22 23:54 晾衣架\源码\zifongliangyijia.c
文件 15182 2019-03-22 23:54 晾衣架\源码\zifongliangyijia.LST
文件 17801 2019-03-22 23:54 晾衣架\源码\zifongliangyijia.OBJ
文件 44 2018-12-07 00:00 晾衣架\源码\更多嵌入式资料.txt
目录 0 2019-03-22 23:56 晾衣架\原理图
目录 0 2019-03-22 23:56 晾衣架\源码
目录 0 2019-03-22 23:56 晾衣架
----------- --------- ---------- ----- ----
1498696 28
............此处省略1个文件信息
相关资源
- at89c51单片机产生5KHZ方波c语言编程
- STM32系列单片机C语言编程语法指导
- 五子棋MFC源码及注释.
- IAR for ARM IAR5.4版本
- C语言经典编程282例源码+随书光盘
- MFC电梯仿真模拟源码超酷
- TI SHA_256 源码及例程
- 单片机控制按键播放音乐
- Lan P2P Phone(用于局域网内各PC之间的
- 防火墙源码用C++编写
- C++截图、抓屏程序
- kdtree的源码C语言版
- C语言程序300集(pdf,清晰)
- linux局域网聊天软件server+client 源码
- C++ 高效 屏幕找图 函数源码 终极版
- 获取网络时间校正本地系统时间,C
- windows下 c++实现ping地址源码两种
- MFC程序开发之聊天室客户端+服务器源
- mfc 贪吃蛇游戏 MFC实现贪吃蛇小游戏
- 开放源码的计算机图形学几何算法包
- c++实现四则运算器源码 支持括号
- c语言实现字典顺序排序
- 一个双色球彩票随机选号器6+1C++源码
- 数据结构约瑟夫环实习报告及源码
- tcp socket实现单进程单线程 高并发服务
- 摄影测量空间后方交会程序合集,含
- 实现最近点对问题源的代码(C语言)
- 板材切割c源码
- 人工智能旅行商问题实验报告及C++源
- 基于单片机的银行排队叫号系统的设
评论
共有 条评论