文章目录
一、开发板
51烧录板
二、基础
51单片机
最小系统
引脚功能
芯片名称
例:STC89C52RC
STC——公司名称
8——8051内核芯片
9——Flash EEPROM 存储器
C——CMOS产品
2——芯片内部程序存储/FLASH空间大小(8KB)
RC——RAM/随机读写存储器(512B)
ESP8266 node MCU
三、电机
舵机
①例程:51-舵机-循环转动(下图)(代码、流程图、P34)
红外接收管
HX/HS/VS1838:工作电压 2.7 ~ 5.5V
①例程:51-红外-控制小灯亮灭(代码、P32红外、P22小灯)
#include "reg52.h" //´ËÎļþÖж¨ÒåÁ˵¥Æ¬»úµÄһЩÌØÊ⹦ÄܼĴæÆ÷
typedef unsigned int u16; //¶ÔÊý¾ÝÀàÐͽøÐÐÉùÃ÷¶¨Òå
typedef unsigned char u8;
sbit IRIN=P3^2;
sbit led = P2^2;
u8 IrValue[6];
u8 Time;
void delay(u16 i)
{
while(i--);
}
void IrInit()
{
IT0=1;//ϽµÑØ´¥·¢
EX0=1;//´ò¿ªÖжÏ0ÔÊÐí
EA=1; //´ò¿ª×ÜÖжÏ
IRIN=1;//³õʼ»¯¶Ë¿Ú
}
void main()
{
IrInit();
while(1)
{
if (IrValue[2] == 0x45)
{
led =0;
}
if (IrValue[2] == 0x47)
{
led=1;
}
}
}
void ReadIr() interrupt 0
{
u8 j,k;
u16 err;
Time=0;
delay(700); //7ms
if(IRIN==0) //È·ÈÏÊÇ·ñÕæµÄ½ÓÊÕµ½ÕýÈ·µÄÐźÅ
{
err=1000; //1000*10us=10ms,³¬¹ý˵Ã÷½ÓÊÕµ½´íÎóµÄÐźÅ
/*µ±Á½¸öÌõ¼þ¶¼ÎªÕæÊÇÑ»·£¬Èç¹ûÓÐÒ»¸öÌõ¼þΪ¼ÙµÄʱºòÌø³öÑ»·£¬ÃâµÃ³ÌÐò³ö´íµÄʱ
ºî£¬³ÌÐòËÀÔÚÕâÀï*/
while((IRIN==0)&&(err>0)) //µÈ´ýÇ°Ãæ9msµÄµÍµçƽ¹ýÈ¥
{
delay(1);
err--;
}
if(IRIN==1) //Èç¹ûÕýÈ·µÈµ½9msµÍµçƽ
{
err=500;
while((IRIN==1)&&(err>0)) //µÈ´ý4.5msµÄÆðʼ¸ßµçƽ¹ýÈ¥
{
delay(1);
err--;
}
for(k=0;k<4;k++) //¹²ÓÐ4×éÊý¾Ý
{
for(j=0;j<8;j++) //½ÓÊÕÒ»×éÊý¾Ý
{
err=60;
while((IRIN==0)&&(err>0))//µÈ´ýÐźÅÇ°ÃæµÄ560usµÍµçƽ¹ýÈ¥
{
delay(1);
err--;
}
err=500;
while((IRIN==1)&&(err>0)) //¼ÆËã¸ßµçƽµÄʱ¼ä³¤¶È¡£
{
delay(10); //0.1ms
Time++;
err--;
if(Time>30)
{
return;
}
}
IrValue[k]>>=1; //k±íʾµÚ¼¸×éÊý¾Ý
if(Time>=8) //Èç¹û¸ßµçƽ³öÏÖ´óÓÚ565us£¬ÄÇôÊÇ1
{
IrValue[k]|=0x80;
}
Time=0; //ÓÃÍêʱ¼äÒªÖØи³Öµ
}
}
}
if(IrValue[2]!=~IrValue[3])
{
return;
}
}
}
时钟芯片
DS1302
引脚名 | 作用 |
---|---|
VCC2 | 主电源(2.0V ~ 5.5V) |
VCC1 | 备用电池 |
GND | 电源接地 |
X1,X2 | 32.768kHz晶振 |
CE | 芯片使能 |
IO | 数据输入/输出 |
SCLK | 串行时钟 |
DS1302模块原理图 & PCB(存于demo99工程中)
四、显示
LCD12864(51_LCD_26_25_27_0_32)
例程分析:
引脚:LCD:26 25 27 0 32 33
函数:lcd12864_show_string(开始横坐标,开始纵坐标,显示内容)
- 开始横坐标 0~7空间
- 开始纵坐标 0~3空间
- 显示内容文字占1个空间,字母数字占半个空间
函数:lcd12864_write_cmd(横坐标)- 0x80、0x90、0x88、0x98 分别代表行1~行4
十、库
arduino库
项目-加载库-管理库
ArduinoJson
http://www.taichi-maker.com/homepage/esp8266-nodemcu-iot/iot-c/nodemcu-arduino-ide/
http://www.taichi-maker.com/homepage/esp8266-nodemcu-iot/iot-c/esp8266-iot-basics/
http://www.taichi-maker.com/homepage/esp8266-nodemcu-iot/esp8266-nodemcu-tutorial-index/nodemcu-board/