51单片机

数码管

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时序

红外调控

遥控器键码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值