合集-51单片机
摘要:点亮第一个LED LED模块原理图 LED的电阻 102电阻 含义: 102 --> 1k电阻 作用: 限流, 防止LED烧毁 控制P20口输出高电平 通过寄存器的值控制高低电平 编写代码 烧录程序 成功运行 优化程序, 不要重复点亮, 让它兜圈子
阅读全文
摘要:LED闪烁 编写代码 烧录运行 发现只是亮度变暗, 没有闪烁 原因: 程序运行很快是MHZ级别, 每秒运行百万次, 所以发现不了闪烁 解决: 加延迟代码 用STC-ISP生成延迟函数 编写代码 查看效果  //@12.000MHz { unsigned char i, j, k; _nop_(); i = 4; j = 205; k = 187; do { do {
阅读全文
摘要:LED流水灯Plus 修改延迟函数 void DelayXms(unsigned int xms) //@12.000MHz { unsigned char i, j; while(xms--) { i = 2; j = 239; do { while (--j); } while (--i); }
阅读全文
摘要:独立按键 原理图 控制LED单个灯的寄存器 独立按键控制LED亮灭 #include <REGX52.H> void main() { while(1) { if(P3_1 == 0) { P2_0=0; } else { P2_0=1; } } } 运行效果 按键的抖动 消除抖动可以使用延迟20m
阅读全文
摘要:数码管 就算有多个数码管被点亮也显示相同的数字 数码管原理图 译码器原理图 高低位表示 数码管LED3显示3 #include <REGX52.H> void main() { //高低位顺序: C B A P2_4=0; //C P2_3=1; //B P2_2=0; //A P0=0x4F; /
阅读全文
摘要:模块化编程 将多位数码管显示不同数字的代码模块化 模块化之前 #include <REGX52.H> unsigned char NixieTable[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0
阅读全文
摘要:LCD1602调试工具 编写代码 LCD1602.c #include <REGX52.H> //引脚配置: sbit LCD_RS=P2^6; sbit LCD_RW=P2^5; sbit LCD_EN=P2^7; #define LCD_DataPort P0 //函数定义: /** * @br
阅读全文
摘要:矩阵键盘 矩阵键盘介绍 扫描的概念 矩阵按键原理图 按按键显示对应数字 MatrixKey.c #include "Delay.h" #include <REGX52.H> unsigned char MatrixKey() { unsigned char KeyNumber=0; P1=0xFF;
阅读全文
摘要:定时器 定时器介绍 STC89C52定时器资源 定时器框图 定时器工作模式 定时器时钟 中断系统 中断程序流程 STC89C52中断资源 定时器和中断系统 定时器相关寄存器 使用定时器0每隔一秒使LED亮灭 Timer0.c #include <REGX52.H> /** * @brief 定时器0
阅读全文
摘要:串口通信 串口介绍 接口及引脚定义 硬件电路 电平标准 常见通信接口比较 相关术语 51单片机的UART 串口参数及时序图 串口模式图 串口和中断系统 串口相关寄存器 单片机每隔一秒向电脑发送数据 UART.c #include <REGX52.H> /** * @brief 串口初始化 * @pa
阅读全文
摘要:LED点阵屏 介绍 显示原理 原理图 74HC595 C51的sfr,sbit 选择列来显示矩阵LED main.c #include <REGX52.H> #inlcude "Delay.h" sbit mRCLK=P3^5; //RCLK sbit mSRCLK=P3^6; //SRCLK sb
阅读全文
摘要:DS1302实时时钟 介绍 引脚定义和应用电路 内部结构框图 寄存器定义 时序定义 BCD码 LCD1602显示年月日时分秒星期信息 DS1302.c #include <REGX52.H> #include "DS1302.h" sbit DS1302_SCLK=P3^6; sbit DS1302
阅读全文
摘要:蜂鸣器 介绍 驱动电路 ULN2003 键盘与音符对照 音符与频率对照 简谱 独立按键触发蜂鸣器按时长发声 Buzzer.c #include <REGX52.H> #include "Delay.h" #include "intrins.h" //蜂鸣器端口 sbit BEEP=P2^5; /**
阅读全文
摘要:AT24C02(I2C总线) 存储器介绍 存储器简化模型 AT24C02介绍 引脚及应用电路 内部结构框图 I2C总线介绍 I2C电路规范 弱上拉模式 开漏输出模式 I2C时序结构 I2C数据帧 AT24C02数据帧 AT24C02数据存储 I2C.c #include <REGX52.H> sbi
阅读全文
摘要:DS18B20温度传感器 介绍 引脚及应用电路 原理图 内部结构框图 存储器结构 单总线介绍 单总线电路规范 单总线时序结构 DS18B20操作流程 DS18B20数据帧 温度存储格式 获取温度用LCD显示 OneWire.c #include <REGX52.H> #include <intrin
阅读全文
摘要:LCD1602 介绍 引脚及应用电路 原理图 内部结构框图 存储器结构 时序结构 LCD1602指令集 LCD1602操作流程 字符,字符串 编写LCD1602代码 LCD1602.c #include <REGX52.H> sbit LCD_RS=P2^6; //1数据0指令 sbit LCD_R
阅读全文
摘要:直流电机驱动 直流电机介绍 电机驱动电路 PWM介绍 使用PWM控制呼吸灯 main.c #include <REGX52.H> sbit LED=P2^0; void Delay(unsigned int t) { while(t--); } void main() { unsigned char
阅读全文
摘要:AD/DA 介绍 硬件电路模型 硬件电路 运算放大器 运放电路 DA原理 原理图 AD原理 AD/DA性能指标 XPT2046 XPT2046时序 原理图 AD模数转换可调电阻光敏温度电阻 XPT2046.c #include <REGX52.H> sbit XPT2046_CS=P3^5; sbi
阅读全文