02-51单片机的C语言基础与最小系统

C语言基础

一个简单的单片机C程序要有什么

c 复制代码
#include<reg51.h>
void main()
{
	while(1)
	{
	}
}

C语言中常用语句略,if,while,do...while,for,switch...case

函数略

C-51的数据类型扩充定义

复制代码
sfr:特殊功能寄存器声明

sfr 变量名=地址值;

*特殊功能寄存器在reg51.H这个头文件里面都帮我们定义好了,所以平时我们就不要自己去定义寄存器的名字。

复制代码
sbit:特殊功能位声明

sbit 变量名=地址值;

*在给某个引脚取名的时候经常会用到。

复制代码
bit:位变量声明

*用来定义位数据变量

例:

复制代码
sfr SCON= 0X98;

sbit LED= P0^2;

51单片机最小系统

最小应用系统

51单片机的最小应用系统,至少有这三个外围电路:电源电路、复位电路、时钟电路。

1.电源电路的作用不用多说。

2.复位电路是为了保证单片机上电之后从一个确定的状态开始工作。就像计算器的清零按钮一样。

3.时钟电路用于产生单片机工作所需要的时钟信号,唯一的时钟信号控制下的时序可以保证单片机各部件同时工作。就比如你只用单片机点亮一个LED,你不需要时钟模块,当你要这个LED有规律闪烁的时候,时钟模块就起到了它的作用。

最小应用系统+下载模块

下载模块是为了把hex文件烧录到单片机上的。市面上的单片机最小系统板都有下载模块,要不然你代码弄不到硬件上。下载模块的原理就是TXD、RXD通过各种方式,和电脑进行通信。

下面是USB转串口的示意图

也可以利用RS232接口和计算机直接进行串口通信,但个人感觉不太方便,现在很多电脑都没这个接口了。

开发软件安装与工程建立

KEIL安装与使用

微信公众号搜一下,非常简单,需要破解,这个软件主要是方便写代码。

你用vscode+platformIO也可以,这玩意开源的。

刚学51、stm32的时候我还习惯用KEIL,后来需要学esp32、Arduino这些东西的时候,就比较偏向platformIO了。ARM版KEIL和51版KEIL同时安装在一台电脑上,就挺麻烦的。Arduino又没有项目管理功能。

protues的安装与使用

微信公众号搜一下,电脑配置够的话装新不装旧。使用方法必应搜一下,protues8.x、7.x的使用方法都差不多。

protues是一个电路仿真软件。不仅能仿真8051,也能仿真stm32\esp32\arduino\树莓派的一些功能,但是无线通信功能protues确实仿真不了。

个人感觉新版本就是能仿真的硬件更多一点,但是体积也大。如果只学51的话,装最古老的版本就够了。我现在装的是protues8.16,最新版已经更到8.17了。

后记

最小系统图是我从STC89C52的数据手册(datasheet)里截的,C52是C51的一个增强版本,多一些特殊功能而已。

AT89C52和STC89C52使用上的区别不大,AT是国外公司Atmel生产的,数据手册只有英文版,并且已经停产了。STC是国内公司宏晶科技生产的,有中文版数据手册,读起来更方便。

89是人家公司内部的生产线编号。STC89系列比AT89系列,在存储器容量、下载方式等方面要强一点。AT89C52是经典,STC89C52是后来者居上。

51、stm32、esp32等MCU(微控制器单元)的开发,最快的学习方式就是读数据手册,因为当一个新技术出成课本录成视频的时候,它已经变成经典了。

相关推荐
国科安芯7 小时前
星间光链路:AS32S601型抗辐射MCU在空间激光通信终端控制中的技术实现
服务器·网络·单片机·嵌入式硬件·物联网·安全·信息与通信
小李不困还能学9 小时前
基于 51 单片机的8 路抢答器设计教程
单片机·嵌入式硬件·mongodb·抢答器
萌动的小火苗9 小时前
嵌入式开发中的栈与队列:任务调度为什么依赖数据结构
数据结构·c++·单片机·嵌入式硬件
振浩微433射频芯片10 小时前
工业遥控器总在关键时刻“掉链子”?——433MHz芯片方案如何破局
网络·单片机·嵌入式硬件·物联网·工业遥控
blevoice10 小时前
抖抖燃脂机单 AC6966B 主控调试踩坑:Type-C 整机供电喇叭无声排障
c语言·开发语言·单片机
小小晓.11 小时前
C++小白记:C风格字符串和数组用法
c语言·开发语言·c++
深念Y11 小时前
开发者如何清理和迁移C盘堆积的垃圾
c语言·开发语言
三易串口屏11 小时前
三易串口屏开发教程:如何使用键盘控件输入参数并发送给单片机
单片机·嵌入式硬件·串口屏·三易串口屏·键盘控件
十月的皮皮12 小时前
STM32从零到量产开发:四路继电器工业控制模块开发实战笔记(小白视角)
c语言·笔记·stm32·stm32cubemx·hal库
国科安芯13 小时前
空间机电一体化:AS32S601型抗辐射MCU在卫星推进与执行机构控制中的关键技术研究
单片机·嵌入式硬件·物联网·机器人·云计算