51单片机学习笔记3 C51数据类型及最小系统

news2025/1/19 14:10:10

51单片机学习笔记3 C51数据类型

  • 一、 C51数据类型
    • 1. 基本类型
    • 2. C51扩充数据类型
    • 3. C51运算量
      • (1)常量
      • (2)变量
      • (3)位运算符
      • (4)逗号运算符
    • 4. 数组
  • 二、51 最小系统构成
    • 1. 晶振电路
    • 2. 复位电路
      • (1)上电复位运行过程
      • (2)按键复位
    • 3. 电源电路
    • 4. 下载电路

在这里插入图片描述

一、 C51数据类型

1. 基本类型

  • 数值类型:整型(hort,int,long)、浮点型(float,double)
  • 字符类型 char
  • 构造类型:数组、结构体、共用体、枚举
  • 指针
  • 空类型 void
数据类型关键字位数数范围
无符号字符型unsigned char80~255
有符号字符型char8-128~127
无符号整型unsigned int160~65535
有符号整型int16-32768~32767
无符号长整型unsigned long320~ 2 32 − 1 2^{32}-1 2321
有符号长整型long32 − 2 31 -2^{31} 231 ~ 2 31 − 1 2^{31}-1 2311
单精度浮点型float323.4e-38~3.4e38
双精度浮点型double641.7e-308~1.7e308

2. C51扩充数据类型

类型长度值域说明
bit0/1位变量声明
sbit0/1特殊功能位声明
sfr8位=1字节0~255特殊功能寄存器声明
Sfr1616位=2字节0-65535Srf的16位数据声明
*1~3字节对象的地址

示例:

sfr SCON=0x98;
sbit T1=SCON^1;    # 取SCON第一位

3. C51运算量

(1)常量

  • 整型常量,如 长整型:L结尾;
  • 浮点型常量
  • 字符型常量:单引号定义,如'a';
  • 字符串型常量:双引号定义,如: “DA”,字符串结尾处会有\0

(2)变量

略……

(3)位运算符

  • & 按位与
  • | 按位或
  • ^ 按位异或
  • ~ 按位取反
  • << 左移
  • >> 右移

(4)逗号运算符

表达式1, 表达式2, ……表达式n

表达式从左到右运算,返回最右边一个表达式的值。

4. 数组

unsigned char x[5];
unsigned int y[3]={1,2,3};
char string1[10];

二、51 最小系统构成

1. 晶振电路

在这里插入图片描述

晶振一般选择12M或11.0592Mhz,

  • 12M更容易计算机器周期,
  • 串口通讯中使用11.0592MHz更适合,在串行通信设置波特率时误差为0.
    晶振起振时一瞬间会产生电感,2端加无极性旁路电容,用来消除起振电感,容量一般选择 10-33p。

2. 复位电路

复位条件:在RST/VPD引脚端出现 >=10ms时间的高电平时复位。 高电平要>=3V。
一般有两种实现方式;

  • 上电复位
  • 手动按键复位

(1)上电复位运行过程

在这里插入图片描述
上电时,电容通交流、断直流,rst会直连5V高电平。
然后电容开始充电,充电完成后,电容对直流隔断,rst通过r2连到地低电平。

(2)按键复位

按下开关时,电容放电,放电过程电容通交流,RST相当于连5V高电平。由于R1的阻值很小(有的电路设计里不用这个R1,但直接对电容短接放电可能不太好),rst也可以通过这个通路连接高电平。

3. 电源电路

在这里插入图片描述

4. 下载电路

供电脑使用USB转TTL连接电路板。这里使用CH340C芯片,它自带晶阵,芯片7、8脚是空的。
如果使用CH340G需要外接晶振。

在这里插入图片描述

CH340C的13、14脚要对应普中开发板下载程序使用,通过Q5三极管控制Q3MOS的通断。
当DTR高电平、RTS低电平,三极管导通,MOS会导通,VCC通电。
当DTR低电平、RTS高电平,三极管截止,Q3的G脚被R20拉低,MOS管截止,VCC没有电源。
这个电路可以在使用普中开发板的下载程序省掉冷启动的过程。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/44261.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

EIGRP_协议知识点

EIGRP协议一、汇总1.配置(接口下)2.修改AD值(全局下)二、Stub特性2.1实验配置:三、路由泄露四、控制路由更新工具-Distribute-list(分发列表)一、汇总 EIGRP的自动汇总&#xff1a;EIGRP自动汇总只能汇总本地产生的路由&#xff0c;不能汇总从邻居学习的路由&#xff0c;会自动…

聊聊雪花算法?

随便聊聊 哈喽&#xff0c;大家好&#xff0c;最近换了份工作&#xff0c;虽然后端技术栈是老了点&#xff0c;但是呢&#xff0c;这边的前端技术确是现在市面上最新的那一套技术&#xff1a;Vue3ViteTSXPinaElement-PlusNativeUI。我本人主要是学后端的&#xff0c;确被拉去做…

2022王道OS 1.2 操作系统的发展与分类

2022 王道OS 操作系统的发展与分类 文章目录2022 王道OS 操作系统的发展与分类知识总览OS的发展与分类手工操作阶段批处理阶段--单道批处理系统批处理阶段--多道批处理系统分时操作系统实时操作系统其他几种OS知识回顾与重要考点文章目录2022 王道OS 操作系统的发展与分类知识总…

【Android App】勾勒出三维立方体和球体以及它们的转动图形讲解及实战(附源码和演示视频 超详细)

需要源码或运行有问题请点赞关注收藏后评论区留言~~~ 一、轮廓勾勒 勾勒三维物体轮廓线条的步骤如下&#xff1a; &#xff08;1&#xff09;调用glEnableClientState方法启用顶点开关 &#xff08;2&#xff09;调用glVertexPointer方法指定三维物体的顶点坐标集合 &#…

单体分层应用架构剖析

分层单体架构风格是分层思想在单体架构中的应用&#xff0c;其关注于技术视角的职责分层。同时&#xff0c;基于不同层变化速率的不同&#xff0c;在一定程度上控制变化在系统内的传播&#xff0c;有助于提升系统的稳定性。但这种技术视角而非业务视角的关注点隔离&#xff0c;…

Unity-2D游戏-打击感与敌人AI

前言 最近快搞毕设了&#xff0c;学一些Unity2D游戏开发的知识&#xff0c;发现b站宝藏up主奥飒姆Awesome的两个蛮不错的教程&#xff0c;我想简单记录一下它这个游戏设计的方法。 我不一点点实现了&#xff0c;就是分析一下大致框架&#xff08;方便以后套用&#xff09; 资…

广东电子MES系统在电子厂实施的功能和流程

1、电子行业特点电子行业为典型的离散性加工企业&#xff0c;其管理核心的问题在于SN号的管理和物料追溯&#xff0c;即产品、半成品、关键部件都有SN号&#xff0c;且需要实现物料追溯。2、电子行业MES解决方案针对行业需求&#xff0c;我们提供了如下的解决方案&#xff1a;采…

【Python模块】日期时间

在平时开发工作中&#xff0c;我们经常需要用到日期时间&#xff0c;比如日志记录、日期时间的计算、时间字段的赋值等。Python 提供了 time 模块、datatime 模块及子模块、calendar 模块等内置模块&#xff0c;可实现对日期时间的设置、获取、转换等常见操作。 一、日期时间的…

基于STM32G431嵌入式学习笔记——七、定时器定时

一、题目引入 上述为第13届蓝桥杯省赛节选内容&#xff0c;为了研究定时器的机理并独立书写计时函数&#xff0c;上述内容简化为以下要求&#xff1a; ①按下B4按键&#xff0c;LD1点亮5s后熄灭 ②按下B3按键&#xff0c;LD2以0.1秒为间隔切换亮灭状态 二、基础知识 定时器相…

请问各位程序员,是我的思维方式有错误吗?

你好呀&#xff0c;我是歪歪。 前几天知乎给我推送了一个问题&#xff0c;我点进去一看&#xff0c;好家伙&#xff0c;竟然把我血压都看上来了是怎么回事。 我先把问题复述一遍&#xff0c;聊天记录比较长&#xff0c;但是看的过程中容易冲动&#xff0c;注意控制情绪&#…

麦芽糖-聚乙二醇-人血清白蛋白,HAS-PEG-maltose

中文名称&#xff1a;麦芽糖-人血清白蛋白 英文名称&#xff1a;maltose-HAS 别称&#xff1a;人血清白蛋白修饰麦芽糖&#xff0c;HAS-麦芽糖 PEG接枝修饰麦芽糖 麦芽糖-聚乙二醇-人血清白蛋白 HAS-PEG-maltose 人血清白蛋白-PEG-麦芽糖 纯度&#xff1a;95% 存储条件…

物料搬运装置及控制系统设计(CAD+PLC)

目 录 1 绪论 1 1.1 物料搬运装置的概述 1 1.2 物料搬运装置的发展史 1 1.3 气动技术及气动物料搬运装置的发展过程 2 1.4 物料搬运装置未来的发展趋势 3 1.5 本课题研究内容 6 1.6 课题研究的意义 6 2 物料搬运装置的总体设计方案 7 2.1 物料搬运装置的工作原理及系统组成 7 2…

动态规划 DP专题

跟着ygg的dp题单刷的dp 1.代码源每日一题 Div1 连续子序列 分析&#xff1a; dp数组开成map&#xff0c;则状态转移式dp[i] max(dp[i - 1] 1, dp[i]) AC代码&#xff1a; #include <bits/stdc.h>using namespace std; typedef long long ll; #define int ll #define …

Day814.电商系统表设计优化案例分析 -Java 性能调优实战

电商系统表设计优化案例分析 Hi&#xff0c;我是阿昌&#xff0c;今天学习记录的是关于电商系统表设计优化案例分析。 如果在业务架构设计初期&#xff0c;表结构没有设计好&#xff0c;那么后期随着业务以及数据量的增多&#xff0c;系统就很容易出现瓶颈。 如果表结构扩展…

CentOS7.9 安装配置MySQL5.7.30

1.下载mysql安装包&#xff1a;mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz 2. 卸载自带的mariadb和mysql 检查是否安装了mariadb和mysql&#xff0c;有时候默认安装了 rpm -qa | grep mariadb rpm -qa | grep mysql 如果没有&#xff0c;就可以安装mysql&#xff0c;如果有&a…

Centos7搭建SVN代码控制服务器

Centos7搭建SVN代码控制服务器检查SVN是否安装创建SVN版本库配置代码库设置允许访问远程仓库的用户帐号密码设置权限控制设置SVN服务配置启动svn与停止启动SVN关闭SVN访问拉取远程仓库代码检查SVN是否安装 1、centos7系统自带SVN rpm -qa subversion2、如果没有则通过yum安装 …

[论文精读|博士论文]面向文本数据的关系抽取关键技术研究

电子科技大学 2022.3.15博士论文 实体关系的方向性语义缺失&#xff0c;使得关系的判别缺乏对文本蕴含语义特征的利用 提出——基于句法关系的方向敏感型句子级关系抽取算法 利用依存句法树结构信息构建双向依存路径结构&#xff08;新的文本策略解决过度剪裁&#xff09;额外…

构建直接序列扩频系统模型(Matlab代码实现)

&#x1f352;&#x1f352;&#x1f352;欢迎关注&#x1f308;&#x1f308;&#x1f308; &#x1f4dd;个人主页&#xff1a;我爱Matlab &#x1f44d;点赞➕评论➕收藏 养成习惯&#xff08;一键三连&#xff09;&#x1f33b;&#x1f33b;&#x1f33b; &#x1f34c;希…

【分析笔记】全志 i2c-sunxi.c 控制器驱动分析

分析平台&#xff1a;全志 A64 内核版本&#xff1a;Linux 4.9 数据手册&#xff1a;Allwinner_A64_User_Manual_V1.1.pdf (whycan.com) 驱动框架 I2C 设备驱动 作为方案应用来说&#xff0c;我们是最经常要动的地方&#xff0c;这一层主要与具体的芯片功能强关联&#xff0c…

RK3588平台开发系列讲解(USB篇)内核 USB 配置

平台内核版本安卓版本RK3588Linux 5.10Android 12文章目录 一、USB PHY CONFIG二、USB Host CONFIG三、USB OTG CONFIG四、USB Gadget CONFIG沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇将介绍USB的相关配置。 USB 模块的配置及保存和其它内核模块的配置方法一…