51单片机从零开始入门教程 第一章(51单片机基础知识与工程创建)

本文围绕51单片机的基础知识展开,包括单片机概念、KeilC51编程工具的数据类型、运算及基本语句,还介绍了新建51单片机项目和编译的步骤。建议先学习相关课程如数电、模拟电路和微机原理以更好地理解内容。

重要的内容写在前面:

  1. 该系列是以up主江协科技的51单片机视频教程为基础写下去的,大部分内容都参考了老师的课件,对于一些个人认为比较难懂且重要而课件写得并不是很清晰的地方,笔者都在正文尽量用文字详细地描述了一遍(正文没有的话就是在代码的注释里)。
  2. 文中的图片基本都来源于老师的课件以及开发板和芯片的手册,粘贴过来是为了方便阅读。
  3. 个人把这个教程学完之后,整体感觉是很好的,如果有条件的可以先学习一些相关课程再来看51单片机的教程,学起来会更加轻松(零基础开始直接学51单片机也可以,老师讲得很清晰),相关课程有数字电路(强烈推荐先学数电,不然可能会有很多地方理解起来很困难)、模拟电路、计算机组成原理(像寄存器、存储器、中断等在这门课里有很详细的介绍)、计算机网络、微机原理等。
  4. 文章的原创部分很多都是笔者个人的理解,如有错漏欢迎指出。

视频链接:

[1-1] 课程简介

一、单片机基本知识

1、单片机的概念

(1)单片机,英文全称Micro Controller Unit,简称MCU。

(2)单片机内部集成了CPU、RAM、ROM、定时器、中断系统、通讯接口等一系列电脑的常用硬件功能。

(3)单片机的任务是信息采集(依靠传感器)、处理(依靠CPU)和硬件设备(例如电机、LED等)的控制。

(4)跟计算机相比,单片机算是一个袖珍版计算机,一个芯片就能构成完整的计算机系统,但在性能上,与计算机相差甚远,不过但单片机成本低、体积小、结构简单,在生活和工业控制领域大有所用。

2、单片机的命名规则

        本篇教程使用的是STC89C52系列的单片机,其命名规则如下图所示

二、计算机编程相关基础知识

1、进制转换表

2、Keil(C51)中的常见数据类型

3、Keil(C51)中的数据运算

4、Keil(C51)中的基本语句

5、C51的两个数据类型

(1)sfr和sbit是C51中特有的两个数据类型,在其它环境中是没有的。

①sfr(special function register):特殊功能寄存器声明。

②sbit(special bit):特殊位声明。

(2)特殊数据类型的声明:

例:sfr P0 = 0x80;   //声明P0寄存器,物理地址为0x80

例:sbit P0_1 = 0x81;     //或  sbit P0_1 = P0^1;  声明P0寄存器的第1位

(3)特殊数据类型的访问:

例:P2 = 0xFE;   //将P2寄存器配置为0b11111110

例:P2_0 = 1;     //单独对P2寄存器的第0位进行置1操作

6、寻址方式

(1)在单片机系统中,操作任意寄存器或者某一位的数据时,必须给出其物理地址,而51单片机的一个寄存器有8位数据,所以位的数量是寄存器数量的8倍,但单片机是以字节为单位进行地址编码的,无法对所有位进行编码。

(2)对不可位寻址的8位寄存器,若需要只操作其中一位而不影响其它位时,可用“&=”、“|=”、“^=”的方法进行位操作(位操作不仅适用于操作寄存器,任何只需要改变一个位而不影响其它位的情形,都可以使用位操作)。

①操作8位数据,控制某一位(如第3位)数据置0,其它位不变。

        操作语句:<操作数> &= ~(1 << <置0的位>);    //如“<操作数> &= ~(1 << 3)

②操作8位数据,控制某一位(如第3位)数据置1,其它位不变。

        操作语句:<操作数> |= (1 << <置1的位>);    //如“<操作数> |= (1 << 3)

③操作8位数据,控制某一位(如第3位)数据翻转,其它位不变。

        操作语句:<操作数>^= (1 << <翻转的位>);    //如“<操作数> ^= (1 << 3)

三、新建一个项目的流程

(1)打开Keil5后,在“Project”一栏找到“New μVision Project”,点击它。

(2)建议在桌面单独为51单片机建一个新文件夹,在该文件夹中存放不同的51单片机项目,每个项目再独自命名一个文件夹,生成的项目文件放在这个文件夹中(项目文件命名建议命为“project”)。

(3)单击“保存”后,会弹出如下对话框供我们选择型号。

(4)单击“OK”后,会弹出另一个对话框,建议选择否(选择是也没关系),然后就完成了工程的创建。

(5)右键选择“Source Group 1”文件夹,在这里创建编写代码的源文件(头文件也是在这里创建)。

①在Keil(C51)中可以使用c语言、C++和汇编语言,一般都是选择c语言,也就是创建.c文件,第一个.c文件通常命名为main。

②下图所示选项则是将文件夹中已有的代码文件导入项目中。

(4)有了代码文件后可以进行编译(点击下图橙框的按钮即可进行编译)。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Zevalin爱灰灰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值