[cpp] view plaincopy //---------------------------------------------------------- // 模块名称:DS18B20.h // 模块功能:DS18B20 读写操作 //-------------------------------------------
#include <reg51.h>#include <intrins.h> //_nop_();延时函数用#define Disdata P0 //段码输出口#define discan P2 //扫描口#de
[cpp] view plaincopy /*温度传感器18B20--串口显示温度*/ #include<reg52.h> #include <intrins.h> typedef unsigned char uint8; typedef unsigned int uint16; typedef
1、头文件 [cpp] view plaincopy #ifndef _DS18B20_H_ #define _DS18B20_H_ #define uchar unsigned char #define uint unsigned int void DS18B20_Delayus(uint us);
参考源码如下:#include#define uint unsigned int#define uchar unsigned charsbit temp = P2^2;// delayus(1);//7us// delay(1);//24us// delayms(1);//826ms// delayus(10);//25us// delay(10);//123us// delayms
DS18B20是Dallas公司生产的数字温度传感器,具有体积小、适用电压宽、经济灵活的特点。它内部使用了onboard专利技术,全部传感元件及转换电路集成在一个形如三极管的集成电路内。DS18B20有电源线、地线及数据线3根引
1.DS18B20是Dallas公司生产的数字温度传感器,具有体积小、适用电压宽、经济灵活的特点。它内部使用了onboard专利技术,全部传感元件及转换电路集成在一个形如三极管的集成电路内。DS18B20有电源线、地线及数据线3根
lm358内部电路图:
概述(Description):LM358内部包括有两个独立的、高增益、内部频率补偿的双运算放大器,适合于电源电压范围很宽的单电源使用,也适用于双电源工作模式,在推荐的工作条件下,电源电流与电源电压无关。它的使用范围包括
/* 名称:定时器控制数码管动态显示说明:8 个数码管上分两组动态显示年月日与时分秒,本例的位显示延时用定时器实现。*/#include<reg51.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned i
/* 名称:100 000s 以内的计时程序说明:在 6 只数码管上完成 0~99 999.9s。*/#include<reg51.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned int//段码uchar codeDSY_CODE[]={0x3f,0x06,
/* 名称:用计数器中断实现 100 以内的按键计数说明:本例用 T0 计数器中断实现按键技术,由于计数寄存器初值为 1,因此 P3.4 引脚的每次负跳变都会触发 T0 中断,实现计数值累加。计数器的清零用外部中断 0 控制
/* 名称:10s 的秒表 说明:首次按键计时开始,再次按键暂停,第三次按键清零。*/#include<reg51.h>#define uchar unsigned char#define uint unsigned intsbit K1=P3^7; uchari,Second_Counts,Key_Flag_Idx
当改写锁存器数据的指令时,锁存器中的新数据能否出现在输出线上,为什么?答:执行改写锁存器数据的指令时,在该指令的最后一个时钟周期S6P2里将数据写入锁存器。由于输出缓冲器仅仅在每一个状态周期的相位1(P1)期间
根据I/O口的结构及CPU的控制方式,当执行读引脚操作后,口锁存器状态与引脚状态应当是相同的。但当给口锁器写某一状态后,相应的口引脚是否呈现锁存器状态,就与外电路的连接有关。例如:用I/O口线驱动三极管的基极时