第2章 MCS51单片机C程序设计.ppt

合集下载

第02章 MCS-51单片机的结构

第02章 MCS-51单片机的结构

CY
AC
F0
RS1 RS0
OV
/
P
PSW位地址
D7H D6H D5H D4H CY AC F0 RS1
D3H RS0
D2H D1H OV
D0H P
CY:进位标志。用于表示Acc.7有否向更高位进位。 加减运算时,保存最高位进位、借位状态。 AC:半进位标志。用于表示Acc.3有否向Acc.4进位。 例:78H+97H 0111 1000 +1001 0111 1 0000 1111
ALU
定时与控制 程序地址寄存器AR
CPU

2.2.2 控制器
控制器由程序计数器PC、指令
寄存器和指令译码器、定时和控
制逻辑电路。
相对控制器而言,运算器接受控 制器的命令而进行动作。
1).程序计数器PC
※ PC不属于特殊功能寄存器,不可访问,在物理结构 上是独立的。 ※ 16位的地址寄存器,用于存放下一字节指令的地址, 可寻址64KB的程序存储器空间。 ※ PC的基本工作方式有:
⑴ 自动加1。CPU从ROM中每读一个字节,自动执行 PC+1→PC; ⑵ 执行转移指令时,PC会根据要求修改地址; ⑶ 执行调用子程序或发生中断时,CPU会自动将当前 PC值压入堆栈,将子程序入口地址或中断入口地址装入 PC;子程序返回或中断返回时,恢复原有被压入堆栈的 PC值,继续执行原顺序程序指令。
用示波器检测该引脚来判断单片机是否损坏。
② PROG功能:片内有EPROM的芯片,在EPROM编程 期间,此引脚输入编程脉冲。
⑵ PSEN:片外程序存储器读选通信号输出端。 在向片外程序存储器读取指令或常数期间,每个机
器周期该信号两次有效(低电平)作为片外ROM的

单片机第二章MCS-51系列单片机硬件结构

单片机第二章MCS-51系列单片机硬件结构

3. P1口(P1.0~P1.7,1脚~8脚)
P1口仅用作I/O使用,它也是自带上拉电阻的8 位准双向I/O接口,每一位可驱动4个LSTTL负载。 当P1口作为输入接口时,应先向口锁存器写“1”。 4. P3口(P3.0~P3.7,10脚~17脚)
除了和P1口的功能一样外, P3口的每一引脚还具有第二功能。
第二章 单片机的硬件结构
2.1 MCS-51单片机的总体结构
2.2 微处理器 2.3 MCS-51存储器 2.4 MCS-51基本电路及引脚电路 2.5 实例演练
2.1MCS-51单片机的总体结构
一,8031芯片实照
二,MCS-51单片机外形是一个40脚的双列直插式集成块:
P10 P1.1 P12 P1.3 P1.4 P1.5 P1.6 P1.7 RST/VPD RXD/P3.0 TXD/P3.1 INT0/P3.2 INT1/P3.3 T0/P3.4 T1/P3.5 WR/P3.6 RD/P3.7 XTAL2 XTAL1 Vss 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 Vcc P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7 EA/VPP ALE/PROG PSEN P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0
ALE地址锁存使能信号输出端。存取 片外存储器时,用于锁存低8位地址。 PROG是对于EPROM型单片机,在 EPROM编程期间,此引脚用于输入编 程脉冲。
ALE/ PROG (30脚)
控制 引脚

单片机原理 第2章 MCS-51单片机体系结构

单片机原理 第2章 MCS-51单片机体系结构
8051单片机的内RAM共有128个单元,应用最为灵活,用于 存放变量的值、运算结果和标志位等信息。按其用途可分为三个 区域。
2.4.2 MCS-51单片机数据存储器
2.4.2 MCS-51单片机数据存储器
1. 工作寄存器区
字节地址为00H~1FH的32个单元是4组通用工作寄存器区,每组占用8个 字节,都标记为R0~R7。在某一时刻,CPU只能使用其中的一组工作寄存 器,工作寄存器的选择由程序状态字寄存器PSW中RS1、RS0两位来确定 ,如表2-3所示。
2. 数据总线DB 数据总线宽度为8位(D0~D7),由P0提供。
3. 控制总线CB 控制总线由P3口的第二功能状态和4根独立控制线RESET、 和ALE组成。
2.3 MCS-51单片机的中央处理器
• 8051系列单片机的中央处理器CPU是单片机 的指挥中心和执行机构,它的作用是产生合适的 时序,读入和分析每条指令代码,根据每条指令 代码的功能要求,指挥并控制单片机的有关部件 和器件,具体执行指定的操作。
2.2.3 并行I/O引脚
3. P2口
P2口,为准双向I/O口,具有内部上拉电阻。一共8位,有P2.0~P2.7共8 条引脚。当8051系列单片机扩展外部存储器及I/O接口芯片时,P2口作为 地址总线(高8位),和P0输出的低8位地址一起构成16位地址,可以寻址 64KB的地址空间。
P2口位结构图如图2-3 (c)所示,它比P1口多了 一个转换控制部分,当P2 与P0配合作为“地址/数据总 线”方式下的高8位数据线 (A8~A15)时,CPU将写 控制信号“1”使MUX切换到 右边,在“地址/数据总线” 方式下,无论P2口剩余多 少地址线,均不能被用于 普通I/O操作。
(2)控制引脚—— 、

第2章MCS-51单片机基本结构

第2章MCS-51单片机基本结构
令和四周期指令。
2.1.4
复位和复位电路
单片机在重新启动时都需要复位,MCS-51 系列单片机有一个复位引脚输入端RST。 1. MCS-51系列的单片机复位方法为:在RST上加
一个维持两个机器周期(24个时钟周期)以上
的高电平,则单片机被复位。 2. 复位时单片机各部分将处于一个固定的状态。
复位后单片机各单元的初始状态
R2 2 00
2 2u F
R S T/VP D
R1 1K
V ss
GND
未稳压电源
WDI R1 PFI MR R2 MAX813L P1.0
RESET
WDO

RST MCS-51
“看门狗”复位电路
2.1.5 MCS-51单片机的引脚功能
MCS-51单片机采用40脚双列直插式封装形式,主要包括以 下几个部分: 1. 电源引脚Vcc和Vss Vcc(40脚):电源端,为十5V; Vss(20脚):接地端 ,GND。 2. 时钟电路引脚XTAL1和XTAL2 XTAL1为内部振荡电路反相放大器的输入端 。 XTAL2为内部振荡电路反相放大器的输出端 。 3. 控制信号引脚RST、ALE、PSEN和EA 4. I/O(输入/输出)端口P0、P1、P2和P3 5. MCS-51单片机P3口的第二功能
单片机各种周期的关系图
机器周期 S1 S2 S3 S4 S5 S6 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2
时钟周期 状态周期
1个机器周期=6个状态周期=12个时钟周期
4、指令周期: 它是指CPU完成一条操作所需的全部
时间。 每条指令执行时间都是有一个或几个机器周
期组成。MCS - 51 系统中, 有单周期指令、双周期指

第二讲 第2章 MCS-51单片微型计算机结构

第二讲 第2章  MCS-51单片微型计算机结构

S1
S2
S3
读下一个操作 码(丢弃) P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P S1 S2 S3 S4 S5 S6 S1 (a) 单字节,单周期指令 例:MOV A R1
读操作码 读操作码 读第二字节
2
P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P S1 S2 S3 S4 S5 S6 S1 (b) 双字节,单周期指令 例:ADD A dir 读操作码
MCS-51单片机的结构原理
一、计算机的经典组成 计算机的经典结构见 图1.1 所示。这种结 构是由计算机的开 拓者——数学家约 翰· 诺依曼最先提 冯· 出的,所以就称之 为冯· 诺依曼计算机 体系结构,也叫普 林斯顿结构。
图 1.1 计算机经典结构
二、 MCS-51单片机的基本组成
(一) 8051单片机的结构
﹡IP B8H ﹡IE A8H TMOD ﹡TCON TL0 TH0 TL1 TH1 PCON ﹡SCON 寄存器 SBUF
IP.7~IP.0 BFH~B8H 中断优先控制器 IE.7~IE.0 AFH~A8H 中断允许控制器 89H 定时器方式选择 88H TCON.7~TCON.0 8FH~88H 定时控制寄存器 8AH 定时器T0低8位 8CH 定时器T0高8位 8BH 定时器T1低8位 8DH 定时器T1高8位 87H 电源控制及波特率选择 98H SCON.7~SCON.0 9FH~98H 串行口控制 99H 串行口数据缓冲器
F0H E0H D0H B8H B0H A8H A0H 98H 90H 88H 80H
特 殊 功 能 寄 存 器 中 位 寻 址
FFFFH 外部 RAM

第2章 MCS-51单片机结构与时序_110905

第2章 MCS-51单片机结构与时序_110905
2.3.1 运算部件及专用寄存器组 2.3.2 控制部件及振荡器 2.3.3 单片机工作的基本时序
2.3.1 运算部件及专用寄存器组
运算部件以算术逻辑单元ALU为核心,包括一个位处理器和 两个8位暂存寄存器(不对外开放),它能实现数据的算术运 算、逻辑运算、位变量处理和数据传输操作。 累加器ACC 寄存器B 专用寄存器组 程序状态字PSW 程序计数器PC 堆栈指针SP 数据指针寄存器DPTR
锁 存 器
A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 D7 D6 D5 D4 D3 D2 D1 D0 VCC VSS
地 址 总 线 (AB)
数 据 总 线 (DB)
VCC VSS
ห้องสมุดไป่ตู้(a)
(b)
MCS-51系列单片机引脚及总线结构
2.3 微 处 理 器
Program State Word
accumulator
ALU --Arithmetic and Logic Unit
图2.1 MCS-51单片机内部结构框图
1.算术逻辑单元ALU与累加器ACC、寄存器B
算术逻辑单元不仅能完成8位二进制的加、减、乘、除、加 1、减1及BCD加法的十进制调整等算术运算,还能对8位变量进 行逻辑"与"、"或"、"异或"、循环移位、求补、清零等逻辑运 算,并具有数据传输、程序转移等功能。 累加器(ACC,简称累加器A,地址E0H)为一个8位寄存器, 它是CPU中使用最频繁的寄存器。进入ALU作算术和逻辑运算的 操作数多来自于A,运算结果也常送回A保存。 寄存器B(地址F0H )是为ALU进行乘除法运算而设置的。 若不作乘除运算时,则可作为通用寄存器使用。

第2章MCS--51系列单片机的结构及原理

(3)软件标志FO(PSW.5):这是可由用户定义的一个 状态标志,可由用户置位或复位。F1的定义与F0相同。
(4)工作寄存器组选择位RS1、RS0(PSW.4,
PSW.3): RS1、RS0与工作寄存器组的对应关系
如下:
RS1 RS0 工作寄存器组 片内RAM地址
00
第0组
00H~07H
01
第1组
指令执行后,A=D1H最高位无进位,故C=0;低半字节有进位,AC=1; OV=0 1=1,发生溢出;A中1的个数为偶数,故P=0。
CPU时序
一.振荡器
CPU执行指令的一系列动作是在时序电路的控制下一拍一拍进行的。 其节拍信号由振荡器产生,MCS--51系列单片机的内部有一个高增益的反 相放大器。外接晶体后可构成自激振荡器产生节拍信号,接法见图2-1, 也可使用片外振荡器,采用不同工艺制造的单片机芯片接法不同:
RST/VPO:双功能引脚,在单片机工作期间, 当此引脚上出现连接2个机器周期的高电平时可 实现复位操作,详见2.4节。
在Vcc掉电期间,若该引脚接备用电源 (+5v),可向片内RAM供电,以保存片内RAM中 的信息。
2.2 MCS—51系列单片机的微处理器与CPU时序
运算器由算逻运算单元ALU、累加器A、B寄存器、暂存器1、 暂存器2、及程序状态字PSW构成。程序状态字PSW是1个8位 的专用寄存器,用于存放程序运行中的各种状态信息,可 进行位寻址,
P
图2—3 程序状态字各位的含义
(1)进位标志C(PSW.7);很多算术逻辑运算指令执行 后都会影响进位标志C。例如加减运算,若运算结果有进 位或借位,则C=1,若无,则C=0。可用专门的指令或硬件 将C置位或清零,在进行位操作时,C又起着位累加器的作 用,类似于累加器A。

第2章 MCS-51单片机


(4)可寻址外部程序存储器和数据存储器,各64KB;
(5)两个16位定时器/计数器; (6)32位可编程并行I/O口; (7)一个可编程全双工串行I/O口; (8)二十多个特殊功能寄存器; (9)5个中断源,两个优先级嵌套中断结构。
2. 微处理器 8051微处理器的组成如下所示:
累 加 器 ACC( Accumulator) 程 序 状 态 字 寄 存 器 PSW( Program Status Word) 运算器 暂存寄存器 CPU 寄存器B 指 令 寄 存 器 IR 控制器 指 令 译 码 器 ID 程 序 计 数 器 PC
(2)位寻址区
内部RAM的0x20~0x2F为位寻址区,这16个字节的每
一位都对应一个8位地址,位地址范围为0x00~0x7F。该区 域可按字节读写,也可按位读写,位地址从0x20单元最低位 开始,共有16×8位,即128个位地址。 如果系统需要位操作,最好保留0x20~0x2F单元的部分
或全部,作为位存储区,以支持位处理操作。位寻址区的每
一位都可以直接进行位操作。通常把各种程序状态标志位控 制变量,设在位寻址区内,同时,位寻址区的RAM单元也 可以作一般的数据缓冲器使用。RAM寻址区位地址映象如 表2-5所示。
位 寻 址 区 地 址 映 象
(3)缓冲器区
内部RAM的0x30~0x7F的地址区,可作为数据缓冲器 使用,存放数据,由于该区有丰富的操作指令,使用十分 方便。 2.外部数据存储器 在51系列中,允许用户扩展外部数据存储器和I/O接口, 用户可以通过P0、P2口最多扩展连接64K个外部单元(每
片机系统。
MCS-51的典型产品是8051、8031、8751。8051是ROM型单片 机,内部有 4KB 掩膜 ROM ; 8031 无片内 ROM , 8751 片内有

第2章 MCS-51单片机的硬件结构

CPU访问片外存储器时,模拟开关打向右边。P2 口上送出PC高8位地址或DPTR高8位地址信息。再不作 I/O口使用。
(2)通用I/O接口功能
P2口作准双向口使用,与P1口相同,也有输入、 输出、端口操作三种工作方式。
3.P2口负载能力
4个LSTTL负载,输出电流≥ 400uA
三、P3口
1. P3口1位结构原理图如图所示
P 奇偶标志
A中1的个数若为奇数P=1,否则P=0
例如:MOV A, #7FH ADD A, #4FH 0111,1111B + 0100,1111B 1100,0110B
结果:(A)=C6H, C=0,AC=1,OV=1,P=0
2.控制器 3.片内存储器
4.4个I/O接口
5.串行接口
6.定时/计数器
先片内、后片外,片内片外连续,二者 一般不作重叠。 EA=0,只访问片外程序存储器 EA=1,先访问片内程序存储器。当PC >0FFFH(51子系统)或PC>1FFFH(52子系统) ,再去访问片外程序存储器。
存储器编址图如下图所示
0000H
片内ROM /EA=1 0FFFH 0FFFH 1000H 片外ROM 0000H 片外ROM /EA=0 00H 7FH 80H FFH 片外RAM 片内RAM 0000H
有5个中断源
11.111条指令,含乘、除法,有很强
的位处理能力 12.片内采用单总线结构,单一+5V
电源
52系列主要有8032、8052两种机型。 与51系列不同在于:片内数据存储器增 至256个字节,3个16位定时/计数器,6 个中断源。
二、内部结构
MCS-51系列单片机的内部结构如 下图所示:
1 2 . . .

第二章 MCS-51系列单片机结构与工作

• (1)地址总线(AB):地址总线为16位,可寻址范围为 216=64KB。16位地址总线由并口P0经地址锁存器提供低8位地址 (A0至A7);并口P2直接提供高8位地址(A8至A15)。由于P0口 还要作数据总线,只能分时用作低8位地址线,所以P0输出的低8位 地址必须用锁存器锁存。锁存器的锁存控制信号为ALE输出信号。P2 口具有输出锁存功能,所以不需外加锁存器。 • (2)数据总线(DB):数据总线为8位,由并口P0提供,用于单片 机与外部存储器和I/O设备之间传送数据。P0口为三态双向口,可以 进行双方向的数据传送。 • (3)控制总线(CB):由并口P3的第二功能状态和4根独立控制线 RESET、EA、ALE、PSEN组成。
2.3.1运算器 2.3.1运算器
• 4.程序状态字寄存器PSW • 程序状态字寄存器PSW是8位寄存器,用来存储当前指令执行后的状 态,便于程序查询和判别。程序状态字寄存器各位的定义如表2-2。
• (1)进位标志位C:又名CY,在加法和减法运算时, 表示运算结果 最高位的进位或借位情况。
2.3.1运算器 2.3.1运算器
2.2.1 MCS-51系列单片机的引脚与功能 MCS-51系列单片机的引脚与功能
• (8)XTAL2(18脚):片内振荡电路反向放大器的输出端,采用外 部时钟时该引脚为振荡信号的输入端。 • (9)P0口:P0.0~P0.7依次为第39~32脚,P0口除了可以作普通 的双向I/O口使用外,也可以在访问外部存储器时用作低8位地址线和 数据总线。 • (10)P1口:P1.0~P1.7依次为第1~8脚,P1口是带内部上拉电 阻的双向I/O口,向P1口写入“1” 时,P1口被内部上拉为高电平, 可用作输入口。当作为输出脚时,被外部拉低的P1口会因为内部上拉 电阻的存在而输出电流。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
sbit bit_name = sfr字节地址 ^ 位位置;
例如, sbit CY = 0xD0^7;
3)将SFR的0~7位直接定义为位变量名
sbit bit_name = sfr_name ^ 位位置;
例如, sbit CY = PSW^7;
第2章 MCS-51单片机C程序设计
延安大学西安创新学院
在Keil下进行Cx51开发的基本步骤是:建立项目 →输入源程序→设置编译参数→编译连接→下载 调试。
第2章 MCS-51单片机C程序设计
快捷键在程序调试中的使用
项目进行编译、连接后 Ctrl+F5进入调试状态 F10单步执行 F11跟踪到函数内部
延安大学西安创新学院
延安大学西安创新学院
Cx51变量定义的四要素:
【存储种类】 数据类型 【存储类型】 变量名
存储种类共有四个说明符:
1、auto(自动型)——变量的作用范围在定义它的函数体或 语句块内。执行结束后,变量所占内存即被释放。
2、extern(外部型) ——在一个源文件中被定义为外部型 的变量,在其它源文件中需要通过extern说明方可使用。
可见,C51指针变量突出了两个问题: 1)指针变量自身位于哪个存储区域; 2)该指针的值指向的是哪个存储区域里的地址。
第2章 MCS-51单片机C程序设计
延安大学西安创新学院
例1 unsigned char xdata * pi;
解:若编译器默认的存储类型为data,则指针pi自身被存 放在data区内,它是指向 xdata 存储区的无符号字符型变量。
程序体------
延安大学西安创新学院
第2章 MCS-51单片机C程序设计
2.2.2 Cx51的数据结构
延安大学西安创新学院
1. Cx51的变量
在程序执行过程中,数值可以发生改变的量称为变量。
例如
变量名与存储单元地址相对应,变量值 与存储单元的内容相对应。
在哈佛结构的存储空间中如何建立变量概念?
第2章 MCS-51单片机C程序设计
延安大学西安创新学院
【存储种类】 数据类型 【存储类型】 变量名
51单片机的 三个逻辑存储空间: 片内数据存储器,片外数据存储器和程序存储器。
第2章 MCS-51单片机C程序设计
Cx51存储类型与存储空间的对应关系 共有6种存储类型
延安大学西安创新学院
第2章 MCS-51单片机C程序设计
延安大学西安创新学院
static char m, n; //定义m和n为2个位于data区中的有符号字符型静态变量。
Hale Waihona Puke 2章 MCS-51单片机C程序设计
延安大学西安创新学院
2. C51的指针
用来存放变量地址的变量——指针变量 C51指针变量也要先定义后使用,定义的一般形式如下: 数据类型【指向存储类型】*【自身存储类型】 变量名 其中,若省略第一个方括号,系统编译时将用指定存储类 型替代;若省略第二个方括号,则用默认存储类型替代。
第2章 MCS-51单片机C程序设计
延安大学西安创新学院
sbit型
部分SFR具有位地址,如何将这些位地址与位变量关联起来?
D0^7
PSW
CCYY
D7H
D0^6
AACC
D6H
D0^5
FF00
D5H
D0^4
RRSS1 1
D4H
D0^3
RRDSS30H0
D0^2
OOVV
D2H
D0^1
FF11
D1H
D0^0
延安大学西安创新学院
工程
项目




程序模块
某智能仪器的C51 软件实例
第2章 MCS-51单片机C程序设计
延安大学西安创新学院
Cx51与标准C程序结构完全相同
① 程序由函数组成(一个主函数,或 一个主函数和若干自定义函数);
② 利用预处理命令对变量或函数进行 集中定义或说明;
③ 函数和变量都需遵循先定义后使用 的基本原则;
Cx51的存储类型与存储空间对应关系表
较小应用系统
稍大应用系统 较大应用系统
第2章 MCS-51单片机C程序设计
延安大学西安创新学院
【存储种类】 数据类型 【存储类型】 变量名
三种编译模式分别对应于三种缺省(默认)存储类型:
C51编译器可根据当前采取的编译模式自动认定默认的存 储类型,若无特殊声明,一般均为“小编译模式”
PP
D0H
相对位地址 D0H 字节地址 绝对位地址
第2章 MCS-51单片机C程序设计
延安大学西安创新学院
sbit用于定义具有位地址的SFR变量,共有三种定义方法:
1)将SFR的绝对位地址定义为位变量名
sbit bit_name = 位地址常数;
例如, sbit CY = 0xD7;
2)将SFR的相对位地址定义为位变量名
例2 unsigned char code * idata port;
解:指针port自身被存放在idata区内,它是指向 code 存储 区的无符号字符型变量。
第2章 MCS-51单片机C程序设计
延安大学西安创新学院
2.3 Keil软件的使用
Keil软件是目前开发8051系列单片机的常用软件, Keil提供了包括C编译器、宏汇编、连接器、库管 理和一个功能强大的仿真调试器等在内的完整开 发方案,通过一个集成开发环境 ( μVision )将 这些部分组合在一起。通过实例介绍Keil软件的 使用。
//定义system_status为无符号字符型自动变量,该变量位于 data区中且初值为0。
第2章 MCS-51单片机C程序设计
延安大学西安创新学院
unsigned char bdata status_byte; //定义status_byte为无符号字符型自动变量,该变量位于bdata区
unsigned int code unit_id[2]={0x1234, 0x89ab}; //定义unit_id[2]为无符号整型自动变量,该变量位于code 区中,是长度为2的数组,且初值为0x1234和0x89ab。
【存储种类】 数据类型 【存储类型】 数据的不同格式叫做数据类型
标准C语言的数据类型
变量名
* 有符号数类型可以忽略signed标识符
第2章 MCS-51单片机C程序设计
延安大学西安创新学院
Cx51扩充数据类型:bit、sfr或sfr16、sbit
bit 型
bit用于定义一个位变量,语法规则如下:
bit bit_name [= 常数0~1];
第2章 MCS-51单片机C程序设计
延安大学西安创新学院
【存储种类】 数据类型 【存储类型】 变量名
变量名可以由字母、数字和下划线三种字符组成,且第一个 字符必须为字母或下划线,变量名长度随编译系统而定。 变量名具有字母大小写的敏感性,如SUM和sum代表不同的 变量。
强调:头文件中定义的变量都是大写的,若程序采取小写变 量则需要重新定义。
Cx51语言已成为51系列单片机程序开发的主流软件。
第2章 MCS-51单片机C程序设计
延安大学西安创新学院
Cx51与标准C的相同之处: 语法规则、程序结构、编程方法
Cx51与标准C的差异之处: 数据结构(数据类型、存储模式)、中断处理
第2章 MCS-51单片机C程序设计
2.2.1Cx51的程序结构
④ 主函数中的所有语句执行完毕,则程 序结束。
第2章 MCS-51单片机C程序设计
举例:LED灯的闪烁控制功能
延安大学西安创新学院
第2章 MCS-51单片机C程序设计
预处理命令--------函数说明-----------全局变量定义------
主函数------------
程序体
调用函数-----------局部变量定义---------
汇编语言是一种用文字助记符来表示机器指令的符号语言。 优点:占用资源少,程序执行效率高。 缺点:不易移植。
2、什么是C语言?C语言有什么特点?
C语言是一种结构化的高级语言。
优点:可读性好、移植容易,可直接实现对系 统硬件的控制。
缺点:占用资源较多,执行效率没有汇编高。
第2章 MCS-51单片机C程序设计
例如:bit door = 0 ; //定义一个叫door的变量且初值为0 与标准C的变量定义及初始化用法是一致的,例如:
int a = 5 ; unsigned char sum = 0x10 ;
第2章 MCS-51单片机C程序设计
sfr或sfr16型
延安大学西安创新学院
sfr或sfr16用于定义特殊功能寄存器变量,语法规则如下:
3、static(静态型) ——利用static可使变量定义所在的函数 或语句块执行结束后,其分配的内存单元继续保留。
4、register(寄存器型) ——将变量对应的储存单元指定为 通用寄存器,以提高程序运行速度。
缺省存储种类为auto (自动)型变量
第2章 MCS-51单片机C程序设计
延安大学西安创新学院
延安大学西安创新学院
用C语言来编写目标系统软件,会大大缩 短开发周期,明显地增加软件的可读性,便于 改进和扩充,从而研制出规模更大、性能更完 备的系统。使用C语言进行单片机程序设计已 成为单片机开发的一个主流,是单片机开发与 应用的必然趋势。目前,针对8051单片机的C 编译器功能非常完备,而且使用C语言进行单 片机系统应用开发简洁、高效。
Cx51编译器在头文件“reg51.h”中定义了全部sfr/sfr16和sbit变 量。
用一条预处理命令#include <reg51.h>把这个头文件包含到 C51程序中,无需重定义即可直接使用它们的名称。
相关文档
最新文档