数码管

138译码器控制
将P2_4 P2_3 P2_2赋值为二进制的Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7令对应的LED灯亮
数码管
将P0二进制使需要的二极管发光,从下往上转化为16进制

数码管驱动方式
单片机直接扫描:硬件设备简单,但会耗费大量的单片机cpu时间
专用驱动芯片:内部自带显存,扫描电路,单片机需告诉它显示什么即可
静态数码管

第三位数码管显示6


第二位数码管显示3
动态数码管





段选——位选处发生问题
解决方法:段选 清零 位选

模块化编程
模块化编程:把各个模块的代码放在不同的。c文件里,在。h文件里提供外部可调用函数的声明,其它。c文件想使用其中的代码时,只需要#include"xx.h"文件即可。使用模块化编程可极大的提高代码的可阅读性,可维护性,可移植性等

.c文件:函数,变量的定义
.h文件:可被外部调用的函数,变量的声明

LCD1602调试工具

LCD1602引脚

矩阵键盘

矩阵键盘密码锁




定时器
定时器在单片机内部就像一个小闹钟一样,根据时钟的输出信号,每隔"一秒",计数单元的数值就增加一,当计数单元数值增加到"设定的闹钟提醒时间"时,计数单元就会向中断系统发出中断申请,产生"响铃提醒",使程序跳转到中断服务函数中执行
定时器框架



定时器配置
1.对TMOD 赋值,以确定 T0和T1 的工作方式
2.根据所要定时的时间计算初值,并将其写入 TH0,TL0或THI . TLI
3.如果使用中断,则对EA赋 赋值,开放定时器中断
4使 TR0 或 TR1 置位,启动定时/计数器定时或计数


定时器初始化
void time0_init(void)
{
TMOD|= 0x01;//选择为定时器0模式,工作方式1
TH0=0XFC; //给定时器赋初值,定时1ms
TL0=0X18;
ET0=1;//打开定时器0中断允许
EA=1;//打开总中断
TR0=1;//打开定时器
}

中断



中断响应条件
1,中断源有中断请求
2,中断源的中断允许位为1
3, CPU开中断 (即 EA=1)


以外部中断 为例,如下:
EA=1;//打开总中断开关
EX0=1;//开外部中断
IT0=0/1;//设置外部中断的触发方式
void into() interrupt 0
{
//编写用户所需的功能代码
}

串口
硬件电路
1.简单双向串口通信有两根通信线(发送端TXD和接收端RXD)
2.TXD与RXD要交叉连接
3.当只需单向的数据传输时,可以直接一根通信线
4.当电平标准不一致时,需要加电平转换芯片

电平标准
电平标准是数据1和数据0的表达方式,是传输线缆中人为规定的电压与数据的对应关系,串口常用的电平标准有如下三种:
1.TTL电平:+5v表示1,0v表示0
2.RS232电平i:-3~-15v表示1,+3~+15v表示0
3.RS485电平:两线压差+2~+6v表示1,-2~-6v表示0 (差分信号)
常见通信接口

相关术语
1.全双工:通信双方可以在同一时刻互相传输数据
2.半双工:通信双方可以互相传输数据,但必须分时复用一根数据线
3.单工:通信只能有一方发送到另一方,不能反向传输
4.异步:通信双方各自约定通信速率
5.同步:通信双方靠一根时钟线来约定通信速率
6.总线:连接各个设备的数据传输线路(类似于一条马路,把路边各住户连接起来,使住户可以相互交流)
51单片机的串口模式

串口参数和时序图



串口相关寄存器



LED点阵屏
显示原理

LED引脚


74HC595


sfr、sbit

DS1302实时时钟




BCD码

蜂鸣器
蜂鸣器介绍

驱动电路
1.三极管驱动

2.集成电路驱动

音符与频率对照表

存储器


AT24C02
AT24C02简介

引脚

AT24C02数据帧

I2C
基本介绍


起始终止

发送字节

接收字节

发送接收应答




![]()

DS18B02温度传感器
DS18B02温度传感器简介

引脚和应用电路




单总线






直流电机驱动(PWM)
电机驱动电路

PWM


AD/DA

运算放大器

反向放大器

同向放大器

DA原理


AD原理

XPT2046时序

红外调控


遥控器键码


2万+

被折叠的 条评论
为什么被折叠?



