当前位置: 首页 > news >正文

51单片机-系列-单片机基础知识入门流水灯

 🌈个人主页:羽晨同学 

💫个人格言:“成为自己未来的主人~”  

单片机基础知识入门

常用的单片机封装

DIP直插

在DIP直插中,我们根据引脚数量的不同分为8P,14P,16P,18P,20P,这些是窄体,除了窄体之外,还有宽体,包括,24P,28P,32P,40P

PLCC

常用单片机的标识解读

我们在这里主要就是讲解一下STC89C51RC/RD+系列单片机的命名规则

需要补充的是 汽车级的工作温度范围是-40℃-125℃,军工级的工作温度范围是-55℃-150℃。

 

在这个单片中的1325H4W378.90C

中的1325表示的是生产批次号,年/周,用于追溯

90C表示的是版本号 

数字电路只有0和1,TTL电平特性

模拟电路中的电压是连续的:0、0.3、1.2、4.5等

数字电路只有两种电平状态,高电平【1】和低电平【0】

在后面的一系列讲解中,我们定义单片机的电源和IO口为TTL电平

高电平【1】+5v,低电平【0】还是0v

RS232电平:计算机的串口,采用负逻辑

高电平【1】 -12V,低电平【0】 +12V

所以计算机和单片机之间的通讯需要加电平转换芯片Max232(开发板上串口旁)

其实,TTL电平是有一定的变化范围的,并不是严格的5V和0V

其实,这张图片可以很好的对这个进行阐释,在TTL特性中,VOH表示的是对外输出高电平的最低值,BIH表述的是输入高电平的最低值,VIL表示输入低电平的最高值,VOL表示输出低电平的最高值。

因为单片机中只有两种电平0和1,所以内部存储,运算都是二进制方式。

单片机中存储数据的最小结构(寄存器)是字节,一个字节等于8个比特

单片机的内部结构和工作原理

 

  • 内核通过总线从FLASH中读取指令并响应
  • 内核从ram中读取待赋值的值
  • 内核将数据赋值给外设的寄存器
  • 外设根据寄存器的数值转换成高低电平 

 流水灯

C51中的数据类型

为什么要有数据类型,单片机内部存放临时数据的空间是有限的,而且非常宝贵,用完就没有了,只有512字节

单片机需要提前知道某一个数的大小范围,以方便它提前准备好能足够存放数据的空间,此空间刚好合适,足够放得下是最好的选择,大了浪费,小了不够

流水灯,单片机的机器周期和指令周期

  • 振荡周期: 也称时钟周期,是指为单片机提供时钟脉冲信号的震荡源的周期,学习板上是11.0592MHZ,这个频率的大小和串口通信有关
  • 状态周期,每个状态周期是时钟周期的两倍,是振荡周期经二分频后得到的
  • 机器周期,一个机器周期包含6的状态周期S1-S6,也就是12个时钟周期,在一个机器周期内,CPU可以完成一个独立的操作
  • 指令周期,它是指CPU完成一条指令操作所需的全部时间,每条指令执行时间都是有一个或几个机器周期组成,MC5-51系统中,有单周期指令,双周期指令,四周期指令

位运算左移和右移

x<<n;

把X中的每一位向左平移n位,右位空位补0,左边的移出的数字丢弃。

x>>n;

把x中的每一位向右平移n位,当x为有符号数的时候,左边空位补符号上的值,称为算术移位,当x为无符号数时,左边空位补0,称为逻辑补位,右边移出的数丢弃。 

接下来,我们展示一下用位移的形式实现流水灯

#include<stc89c5xrc.h>
#define uint unsigned char
uint a,b,j;
void delay_ms(uint);
void main()
{while(1){for(j=0;j<8;j++){// 00000001P2=~(0x01<<j);delay_ms(400);}}
}void delay_ms(uint c)
{for(a=c;a>0;a--)for(b=115;b>0;b--);
}

C51库函数用法

crol 循环左移,cror 循环右移 
irol int类型,
iror int类型 .
lror long类型
lrol long类型

循环右移和右移的区别是不一样的,在循环右移当中,移出的会放到后面,而右移会直接删除

51单片机的io口结构

 

上电默认状态:

O0:开漏输出,需加上上拉电阻才可正常使用

P1-3:标准输入输出模式,弱上拉模式

IO口一般只有三种状态,高电平,低电平,高阻态,高电平是1,低电平是0,高阻态是不知道什么状态,没有办法使用。

 锁存,LE分为0和1,1是全通,0是锁存上次的信号

好了,本次的文章就到这里了,我们下次再见。

 

 


http://www.mrgr.cn/news/27584.html

相关文章:

  • vocode Vue3项目 红色波浪线解决方案集锦
  • 低成本出租屋5G CPE解决方案:ZX7981PG/ZX7981PM WIFI6千兆高速网络
  • 录的视频怎么消除杂音?从录制到后期的杂音消除攻略
  • lab2:docker基础实战
  • vue项目npm run serve出现【- Network: unavailable】(从排查到放弃)
  • 常用List工具类(取交集、并集等等)
  • 1.使用 VSCode 过程中的英语积累 - File 菜单(每一次重点积累 5 个单词)
  • 6芯7芯可旋转电连接器航空插头
  • [进阶]面向对象之 包 final
  • redis windows安装包下载路径
  • Python实用的27个实例,涵盖从基础到进阶的所有领域!
  • 字典转换(根据字典转换、根据id转换)
  • 为什么黄酒不能成为主流?
  • Leetcode 验证回文串
  • AUTOSAR_EXP_ARAComAPI的5章笔记(6)
  • 【网络安全 | Java代码审计】JreCms代码审计
  • 【网络通信基础与实践第三讲】传输层协议概述包括UDP协议和TCP协议
  • PCIe进阶之TL:First/Last DW Byte Enables Rules Traffic Class Field
  • 玩转springboot之为什么springboot可以直接执行
  • MySQl篇(基本介绍)(持续更新迭代)
  • 扣子智能体实战-汽车客服对话机器人(核心知识:知识库和卡片)
  • 01.AI推出Yi模型家族:多维度能力的展示
  • 二叉树算法
  • 召回01 基于物品是协同过滤 ItemCF
  • 【RabbitMQ 项目】服务端:数据管理模块之绑定管理
  • Qwen2-VL的微调及量化