• 51单片机学习笔记_1单片机介绍,C语言基础语法


    软件下载

    开发:Keil

    程序文件下载到单片机:STC/普中(STC需要冷启动,先点击下载再开启单片机电源)

    介绍

    Micro Controller Unit, MCU 单片机,其中包含了CPU RAM ROM 输入输出设备 等一系列电脑硬件常用功能。

    功能:通过传感器采集数据,通过CPU处理数据,控制硬件。

    可以说是一个性能低的小电脑,是了解计算机原理的很好的学习方法。

    右上角的跳线帽使用数码管时跳到VCC,使用点阵时跳到GND。

    STC89C52RC 命名规则

    STC:芯片为 STC 公司生产的产品。

    8:该芯片为 8051 内核芯片。

    9:表示内部含有 Flash EEPROM 存储器,还有如 80C51 中 0 表内部含有 MaskROM(掩模 ROM)存储器;如 87C51 中 7 表示内部含有 EPROM(紫外线可擦除 ROM)存储器。

    C–表示该器件为 CMOS 产品。还有如 89LV52 和 89LE58 中的 LV 和 LE 都表示 该芯片为低电压产品(通常为 3.3V 电压供电);而 89S52 中 S 表示该芯片含有 可串行下载功能的 Flash 存储器,即具有 ISP 可在线编程功能。

    5–固定不变。

    2:表示该芯片内部程序存储(FLASH)空间大小,1 为 4KB,2 为 8KB,3 为 12KB,即该数乘以 4KB 就是芯片内部的程序存储空间大小。程序空间大小决定了 一个芯片所能装入执行代码的多少。一般来说,程序存储空间越大,芯片价格也 越高,所以我们再选择芯片的时候要根据自己需求选择合适芯片。 RC–STC 单片机内部 RAM(随机读写存储器)为 512B。还有如 RD+表示内部 RAM 为 1280B。还有芯片会省略此部分

    image-20220828144814559

    芯片介绍

    芯片在 PDIP 里。黑色的部分 PDIP 是一种封装方式,可能还有 LQFP 等(一个正方形的形状)封装方式。

    8051 内核基本上都是中间绿色块的样子,只是外设、封装等方式不同。

    image-20220828145334929

    管脚图:

    Vcc 是电源,XTAL 管时钟,RST 是复位,等等。

    image-20220828145345268

    image-20230125214429628

    整个是一个总线结构,所有外设都挂在上面。如最下面一行左边是晶振,右边是外部引脚。

    只有这一个单片机是不能运行的,看我们的开发板上面还外接了好多好多外设呢。能让单片机运行的最小应用系统如下:

    image-20230125214745143

    三角是正极,三线符号是负极。

    首先需要 Vcc 接正,GND 接负。

    然后需要接晶振。没有晶振单片机程序无法一条条往下执行,有了晶振按照固定的周期才能一条条往下执行。晶振就是板子上银色的椭圆形的一个东西,频率写在上面,一般是有12MHz和11.多MHz的两种(有的芯片自带晶振。不过很明显我们的芯片并不自带)。

    然后还有复位电路,让程序回到第一条的位置。

    开发板介绍

    image-20220903113237968

    中间黑色的是刚刚介绍的单片机。拉起拉杆,可以取下单片机,但放回时一定不能放反。单片机有缺口的一端左侧从01开始,逆时针逐渐增大到40。

    右侧中间有8个 LED 灯,我是点灯大师!

    下面是一个矩阵按键,用户可以通过按按键输入。

    最下面一行右侧有个红外接收传感器,接收红外线的。

    左边无线模块,8个插孔的,做无线模块(如2.4G)用的。

    再左边四个独立按键。

    最左下是 USB 自动下载模块,插上 USB 线后按开关就会自动下载程序,不用了解。

    DS1302 时钟芯片,可以做一个小时钟,读取时间。

    红色按钮是 RST 按钮。

    AD/DA 模数转换器,使单片机在数字与模拟领域之间转化。

    74H595 可以扩展出更多的 IO 口。

    步进电机可以精确控制脚步(转一圈、转半圈)。比如空调会用。

    超声波模块可以测距。

    蜂鸣器模块可以放歌。但我()()()()。

    138译码器控制数码管,也可以扩展 IO 口。

    24c02 也是一种 ROM,还是 EEP ROM(掉电不丢失)。其实单片机自带的 Flash ROM 更先进,但是只能用来存储程序。

    温度传感器可以用来检测温度。

    74HC245 可以驱动数码管(我的单片机是 HC138)。

    左上角的电位器和排座用于接显示屏。电位器可以调整显示屏的亮度。

    最大的黑色方阵是一个 LED 点阵。可以点亮8*8的方阵,甚至用来做动画。

    之后的课程中还会详细介绍每一个模块,以及对应的电路图。

    逻辑运算

    &与,|或,!非,⊙同或(相同结果才=1),异或⊕(不同结果才为1)

    C语言语法

    int 16位,char 8位。

    image-20220904115124141

    image-20220904115224027

    基本语法其他的都好说,再复习一下位运算。

    image-20220904145323095

    左右移补0.

    位运算符也可以参与成为复合赋值运算符,如^=, <<=

    逗号运算符=最后一个表达式的值

    image-20220904145638619

    函数在C语言基础上做的拓展

    重入函数

    在函数形参括号后加修饰符 reentrant,代表这个函数是重入函数,可以被递归调用,但这样就不能有bit变量,也不能进行位运算。

    中断函数

    在函数形参括号后加修饰符 interrupt m,系统编译时把对应函数转化为中断函数,自动加上程序头段和尾段,并按 51 系 统中断的处理方式自动把它安排在程序存储器中的相应位置。

    在该修饰符中,m 的取值为 0~31,对应的中断情况如下:

    0——外部中断 0

    1——定时/计数器 T0

    2——外部中断 1

    3——定时/计数器 T1

    4——串行口中断

    5——定时/计数器 T2

    其它值预留。

    外部函数

    如果要调用的函数不在本文件内,在其他文件内,定义函数时函数开头要加 extern 修饰符。

    51单片机最小系统组成

    • 晶振电路,提供时钟,相当于心脏
    • 复位电路,系统运行不正常时可以重启
    • 电源电路,注意单片机的供电电压要求
    • 下载电路,烧入程序

    另外注意,单片机的P0口是漏级开路,输出高电平会导致高阻态,因此输出高电平时要接上拉电阻,通常选择 4.7K~10K 阻值。

  • 相关阅读:
    深入理解分布式一致算法:原理、应用与挑战
    线程池ThreadPoolExecutor源码剖析
    自适应分组多级并发框架
    HashMap-红黑树插入平衡、左旋、右旋源码解析
    zlib.compress()的用法
    Docker 安装 Redis 单机&集群总结
    自建Elasticsearch 集群的规划和常见问题
    真菌基因组——发现生物标记物领域
    java学习day51(SSM)SSM综合练习需求与表结构
    jsp344小区物业管理与疫情防控系统ssm
  • 原文地址:https://blog.csdn.net/jtwqwq/article/details/126722725