51单片机内部资源及编程
- 格式:ppt
- 大小:335.00 KB
- 文档页数:56
中国科学技术大学业余无线电协会编目 录§1 前言 (1)§2 单片机简介 (2)2.1 数字电路简介 (2)2.2 MCS-51单片机简介 (2)2.3 Easy 51 Kit Pro简介 (5)2.4 Easy 51 Kit Pro电路功能分析 (5)§3 MCS-51单片机的C语言编程 (8)3.1 汇编语言 (8)3.2 建立你的第一个C项目 (8)3.3 生成hex文件 (12)3.4 Keil C语言 (14)3.5 单片机I/O (18)3.6 中断 (25)3.7 定时器/计数器 (27)3.8 定时器的应用举例 (29)3.9 外部中断 (34)3.10 串行通信 (38)3.11 定时器2 (43)3.12 看门狗 (47)3.13 空闲模式和掉电模式 (50)§4 MCS-51单片机C语言编程应用进阶 (51)4.1 扫描式键盘 (51)4.2 EEPROM芯片AT93C46的读写 (55)4.3 Keil C的高级使用 (63)§5 编写高质量的单片机C程序 (64)5.1 文件结构 (64)5.2 程序的版式 (66)5.3 单片机程序命名规则与变量选择 (70)5.4 表达式和基本语句 (73)5.5 函数设计 (77)5.6 单片机程序框架 (79)附图:Easy 51 Kit Pro电路图(最小系统板) (80)附图:Easy 51 Kit Pro电路图(学习板) (81)§1 前言什么是单片机,目前还没有一个确切的定义。
普通认为单片机是将CPU、RAM、ROM、定时器/计数器以及输入输出(I/O)接口电路等计算机主要部件集成在一块芯片上,这样所组成的芯片级微型计算机称为单片微型计算机(Single Chip Microcomputer)。
简称为单片微机或单片机。
利用单片机程序,可以实现对硬件系统的小型化的智能控制。
这节课的标题是点亮LED,但是需要大家了解的单片机基础知识的内容也非常多,特别是对于初学者,刚开始要在头脑中建立一个单片机的概念,课程最后通过点亮一个LED小灯来增加初学者对实验的好奇心和自信心。
1.1 单片机的内部资源在这里我所讲到的单片机内部资源,和传统单片机书籍讲单片机内部结构不同,我这里讲到的内部资源,是指我们作为单片机用户,单片机提供给我们可使用的一些内容。
总结起来,主要是三大资源:1、FLASH(程序存储空间,早期单片机是OTPROM)2、RAM(数据存储空间)3、SFR(特殊功能寄存器)在早期的技术里边,主要是用OTPROM(One Time Programable Read-Only Memory,即一次可编程只读存储器)来存储单片机的程序,随着技术的发展,FLASH的以其可重复擦写且大容量低成本的优点成为绝大多数单片机的程序存储器。
对于单片机来说FLASH最大的意义是断电后数据不丢失,这个概念类似于我们电脑的硬盘,你看我们保存了电影、文档、音乐等文件,我们把电源关掉后,下次重新开电脑,所有的文件都还照样存在。
RAM是单片机的数据存储空间,用来存储程序运行过程中产生的和需要的数据,和我们电脑的内存是一个概念,其实最典型的比喻是我们的计算器,我们用计算器计算个加减法,一些中间的数据都会保存在RAM里边,关电后数据丢失,所以我们每次打开计算器,都是从归零开始计算。
但是他的优点第一是读写速度非常快,第二是理论上是可无限次写入的,即寿命无限,不管程序怎么运行怎么读写它都不会坏的。
第三个资源是SFR,特殊功能寄存器。
这个概念大家可能刚开始理解不了,但是一定要记住。
单片机有很多很多功能,每个功能都会配一个或多个SFR,我们就是通过对SFR的读写来实现单片机的多种多样的功能的。
讲到这里,我们来了解一下51单片机。
通常我们一说到51单片机,指的都是兼容Intel MCS-51体系架构的一系列单片机。
51单片机资源分配和功能定义1.引言在51单片机的开发过程中,资源的合理分配和功能的准确定义是确保项目成功的关键。
本文将介绍51单片机资源的分配策略以及功能定义的步骤和方法。
2. 51单片机资源分配2.1内存资源分配在51单片机中,内存资源的合理分配对于程序的运行至关重要。
通常情况下,内存资源可以分为3个部分:内部R AM、外部R AM和R OM。
内部R AM分为数据内存和特殊功能寄存器(S FR),而外部R AM一般用于存储大量的数据。
R OM则用于存储程序代码。
在进行内存资源分配时,需要考虑以下几个因素:-程序的规模:根据程序的规模和功能需求,合理分配数据内存和外部R A M的大小;-数据内存和SF R的分配:根据程序的需求,合理分配数据内存和SF R 的地址;-R OM的分配:根据程序代码的大小,合理分配R OM的大小。
2.2I/O资源分配51单片机的I/O资源分配主要涉及到引脚的使用和外设的选择。
在进行I/O资源分配时,需要考虑以下几个因素:-引脚的数量和类型:根据项目需求和外设的连接方式,选择合适的引脚数量和类型;-引脚的功能定义:根据项目需求,在程序中准确定义每个引脚所承担的功能;-外设的选择:根据项目需求和功能要求,选择合适的外设进行连接和使用。
3.功能定义在进行51单片机的功能定义时,需要明确每个功能的需求和实现方式。
以下是功能定义的步骤和方法:3.1需求分析在功能定义之前,首先进行需求分析是十分重要的。
通过与项目团队的沟通和理解,明确项目的功能需求和目标。
3.2功能划分根据需求分析的结果,将项目功能进行划分,并确定每个功能的优先级和重要性。
3.3功能描述对于每个功能,进行详细的功能描述。
功能描述应包括功能的输入、输出、处理逻辑以及与其他功能的关联。
3.4功能实现根据功能描述,确定功能的具体实现方式。
可以使用编程语言来实现功能,也可以利用硬件电路来实现。
4.总结本文介绍了51单片机资源分配和功能定义的相关内容。
51单片机C语言编程基础及实例51单片机C语言编程基础及实例C语言是一门通用计算机编程语言,应用广泛。
下面是店铺整理的51单片机C语言编程基础及实例,希望对大家有帮助!单片机的外部结构:DIP40双列直插;P0,P1,P2,P3四个8位准双向I/O引脚;(作为I/O输入时,要先输出高电平)电源VCC(PIN40)和地线GND(PIN20);高电平复位RESET(PIN9);(10uF电容接VCC与RESET,即可实现上电复位)内置振荡电路,外部只要接晶体至X1(PIN18)和X0(PIN19);(频率为主频的12倍)程序配置EA(PIN31)接高电平VCC;(运行单片机内部ROM中的程序)P3支持第二功能:RXD、TXD、INT0、INT1、T0、T1单片机内部I/O部件:(所为学习单片机,实际上就是编程控制以下I/O部件,完成指定任务)四个8位通用I/O端口,对应引脚P0、P1、P2和P3;两个16位定时计数器;(TMOD,TCON,TL0,TH0,TL1,TH1) 一个串行通信接口;(SCON,SBUF)一个中断控制器;(IE,IP)针对AT89C52单片机,头文件AT89x52.h给出了SFR特殊功能寄存器所有端口的定义。
C语言编程基础:十六进制表示字节0x5a:二进制为01011010B;0x6E为01101110。
如果将一个16位二进数赋给一个8位的字节变量,则自动截断为低8位,而丢掉高8位。
++var表示对变量var先增一;var—表示对变量后减一。
x |= 0x0f;表示为 x = x | 0x0f;TMOD = ( TMOD & 0xf0 ) | 0x05;表示给变量TMOD的低四位赋值0x5,而不改变TMOD的高四位。
While( 1 ); 表示无限执行该语句,即死循环。
语句后的分号表示空循环体,也就是{;}在某引脚输出高电平的编程方法:(比如P1.3(PIN4)引脚)代码#include //该头文档中有单片机内部资源的符号化定义,其中包含P1.3void main( void ) //void 表示没有输入参数,也没有函数返值,这入单片机运行的复位入口{P1_3 = 1; //给P1_3赋值1,引脚P1.3就能输出高电平VCCWhile( 1 ); //死循环,相当 LOOP: goto LOOP;}注意:P0的每个引脚要输出高电平时,必须外接上拉电阻(如4K7)至VCC电源。
51单片机硬件及程序详细讲稿概述51单片机是一种广泛应用于嵌入式系统和控制器中的微控制器,拥有广泛的硬件资源和易于学习的编程语言。
本文将详细介绍51单片机的硬件及程序设计。
硬件介绍51单片机特点51单片机是一种具有完整硬件系统和软件系统的单片机。
它的主要特点有:1.具有8位CPU结构,集成了ROM、RAM、I/O端口和定时器等基础设备,因此外围器件比较少。
2.采用哈佛结构,将数据存储和指令存储分开存放,有效提高了程序的执行效率。
3.具有典型的 Harvard 设计,数据和指令有独立的存储空间,提高了程序的执行效率。
4.具有比较完善的中断机制,可扩展性高,可适应各种应用场合。
单片机的外部硬件单片机的外部硬件主要有晶体振荡器、电源、复位电路、LED指示灯、按键、数码管、LCD液晶显示器、ADC、DAC、串口、接口电路等。
其中,晶体振荡器是单片机工作的时钟,复位电路是单片机正常工作的保障。
单片机的内部硬件单片机的内部硬件主要有:1.存储器:程序存储器ROM、数据存储器RAM和特殊寄存器SFR等。
2.CPU:包括ALU、ACC、B寄存器等。
3.I/O端口:具有8位输入输出通道,每个通道都有不同的功能。
4.定时器:可用于产生中断、计数、测量时间等功能。
5.串口:可用于与外部设备进行通信。
6.中断:可响应外部中断和内部中断。
程序设计基本语言51单片机的编程主要使用汇编语言和C语言两种。
汇编语言编写的单片机程序执行的速度比较快,但实际应用比较少,C语言编写的程序可读性好,易于维护。
程序结构51单片机程序通常由以下几部分组成:1.头文件:包含了程序需要的相关信息和函数。
2.宏定义:定义一些常量和符号,方便程序的编写和维护。
3.全局变量:定义程序中需要用到的全局变量。
4.函数:包括主函数和其他函数。
程序调试51单片机程序的调试主要有软件仿真和硬件调试两种方法。
在软件仿真调试时,可以使用Keil软件或IAR软件对程序进行仿真调试。