智能控制电路项目实践
DESCRIPTION
智能控制电路项目实践. 单片机开发工具的使用. 简易仪器仪表设计制作. 秒表的设计制作. 里程表的设计制作. LED 电子显示屏的设计制作. LED 流水灯设计制作. 简易计算器的设计制作. 五. 四. 七. 三. 六. 八. 二. 学习项目. 单片机最小系统构建. 一. 任务 1. 任务 3. 任务 2. 单片机中数据使用. 单片机最小系统构建. 单片机程序和数据存储. 项目一 单片机最小系统构建. 任务2 单片机程序和数据存储. 任务要求. 单片机系统应用程序大概 1KB , 其中 主程序 500B , 子程序 400B , - PowerPoint PPT PresentationTRANSCRIPT
智能控制电路项目实践智能控制电路项目实践
学习项目单片机最小系统构建单片机最小系统构建一
单片机开发工具的使用单片机开发工具的使用二
LEDLED 流水灯设计制作流水灯设计制作三
简易计算器的设计制作简易计算器的设计制作四
里程表的设计制作里程表的设计制作五
秒表的设计制作秒表的设计制作六
LEDLED 电子显示屏的设计制作电子显示屏的设计制作七
简易仪器仪表设计制作简易仪器仪表设计制作八
项目一 单片机最小系统构建项目一 单片机最小系统构建
单片机中数据使用单片机中数据使用 任务任务 11
任务任务 22 单片机程序和数据存储单片机程序和数据存储
任务任务33
单片机最小系统构建单片机最小系统构建
任务 2 单片机程序和数据存储
任务要求任务要求
单片机系统应用程序大概 1KB ,其中主程序 500B ,子程序 400B,
定时器 0 中断服务程序 100B ;原始数据有 200B ,位数据 8 位,
分别分配存储空间。
任务分析任务分析
任务 2 单片机程序和数据存储
单片机运行的单片机运行的程序程序和运算及处理的和运算及处理的数据数据都是都是存储在存储器存储在存储器中,本任务要求中,本任务要求了解单片机的了解单片机的存储器结构存储器结构,以便正确合理的存储系统程序,以便正确合理的存储系统程序和数据。和数据。
任务 2 单片机程序和数据存储
完成本任务需要掌握的知识:完成本任务需要掌握的知识:
(( 11 )) 89C5189C51 单片机内部结构单片机内部结构
(( 22 )) 89C5189C51 单片机工作过程单片机工作过程
(( 33 )) 89C5189C51 单片机程序存储器结构单片机程序存储器结构
(( 44 )) 89C5189C51 单片机数据存储器结构单片机数据存储器结构
任务 2 单片机程序和数据存储
1. 89C51 单片机内部结构 主要包括 CPU 、内部存储器、定时与中断
系统、并行 I/O 口、串行 I/O 口和时钟电路等部分
任务 2 单片机程序和数据存储
CPU
时钟电路 SFR
和RAM
ROM
定时 /计数器
时钟源 T0 T1
并行端口 串行端口 中断系统
P0P1P2P3 TXD
RXD
INT0
INT1
内 部 总 线
任务 2 单片机程序和数据存储
也叫中央处理器是单片机的核心部件主要用于完成单片机的运算和控制功能。其内部由运算器和控制器组成。
CPUCPU
任务 2 单片机程序和数据存储
程序存储器 (ROM) : 只读存储器 用于存放程序指令、原始数据及表格
数据存储器 (RAM) : 随机存储器 用于存放数据
内部存储器内部存储器
任务 2 单片机程序和数据存储
内部有两个 16 位的定时器 / 计数器 用于实现定时或计数功能
89C51 单片机有中断系统 共有 5 个中断源,两级中断
定时与中断系统定时与中断系统
任务 2 单片机程序和数据存储
89C51 单片机内部共有4 个 8 位的并行 I/O 口P0、 P1、 P2、 P3
主要用于实现数据的并行输入和输出。
并行并行 I/OI/O 口口
任务 2 单片机程序和数据存储
89C51 单片机有一个全双工的串行口,用于实现与外部的串行数据传送和与外
部设备串行通信。
串行串行 I/OI/O 口口
任务 2 单片机程序和数据存储
89C51 单片机的内部有时钟电路需外接石英晶体振荡器时钟电路为单片机产生时钟脉冲序列,
用于协调和控制其工作。
时钟电路时钟电路
任务 2 单片机程序和数据存储
2. 单片机的工作过程和 ROM
( 1 )单片机的工作过程是自动执行程序的过程即一条条执行指令的过程指令:要求单片机执行的各种操作用命令的
形式写下来一条命令对应一条指令一系列指令的集合称为程序
ROM……
0x05
0x12
0x23
0xD2
0x22
0x75
0x40
0xA3
0xE4
……
PCPC加一指令加一指令
移位指令移位指令
置置 11 指令指令
传送指令传送指令
清零指令清零指令
执行执行…………指令指令
执行执行加一加一指令指令
执行执行移位移位指令指令
执行执行置置 11 指令指令
执行执行传送传送指令指令
执行执行清零清零指令指令
任务 2 单片机程序和数据存储
( 2 )程序存储器 ROM
在单片机内部,专门用来存放程序 ROM 写入信息后不能改写,只能读出存储
器。 断电后, ROM 中的信息保留不变 ROM 用来存放固定的程序或数据。
任务 2 单片机程序和数据存储
89C51 是一种带 Flash ROM 的单片机 Flash ROM 是一种快速存储式只读存储器 可以电擦写,掉电后程序依然保存 编程寿命可以达到一千次左右。
0x0000
0x0001
0x0002
0x0003 ……
0x000b ……
0x0013 ……
0x001b
0x0023 ……
。。。。。。
系统引导程序系统引导程序
外部外部 00 中断服务程序中断服务程序
定时器定时器 00 中断服务程中断服务程序序
外部外部 11 中断服务程序中断服务程序
定时器定时器 11 中断服务序中断服务序
串行口串行口中断服务程序中断服务程序任意存放
任务 2 单片机程序和数据存储
(3) 地址和数据每个存储单元在存储器中所处的位置是以地址
标识的一个存储单元对应一个地址可以将地址理解为每个存储单元前面的编号不同地址根数,所确定的存储空间也不一样。
任务 2 单片机程序和数据存储
00
11
0000
0101
1010
1111
000000
001001
010010
011011
100100
101101
110110
111111
12
22
32
nn 根地址线根地址线对应的存储空间有对应的存储空间有 22nn 个存储单元个存储单元存储单元的编号范围是存储单元的编号范围是 00 ~~ (2(2nn-1)-1)
任务 2 单片机程序和数据存储
89C51 单片机提供 16 根地址线最大寻址空间为 216 ,即 64K
( 0x0000~ 0xffff )但芯片内部 ROM容量只有 4K
( 0x0000~ 0x0fff )。宏晶公司生产的 STC89E516 单片机
的内部 ROM容量已达到 63KB 。
任务 2 单片机程序和数据存储
2 、数据存储器 RAM
片内片内RAMRAM
片外片外RAMRAM
0xf0xf
ff
…………
0x80x8
00
0x70x7
ff
…………
0x00x0
00
0xffff0xffff
..
..
..
..
..
..
0x000x00
0000
数据存储空间
128B
专用寄存器
存储空间
128B
数据存储空间
64K
0x7f0x7f
..
..
..
0x30x3
00
8080 个 个
1616 个 个
3232 个 个
0x1f0x1f0x180x180x170x170x100x100x0f0x0f0x080x080x070x070x000x00
0x20x2
ff
……
0x20x2
00
第 3 组工作寄存器
第 2 组工作寄存器
第 1 组工作寄存器
第 0 组工作寄存器
通用数据区
位地址区
片内 RAM
( 1 )片内数据存储器空间1 )工作寄存器区2 )位地址区 3 )通用 RAM区
任务 2 单片机程序和数据存储
RS1 RS0 当前寄存器组 0 0 0 组 0 1 1 组 1 0 2 组 1 1 3 组
0x1f0x1f0x180x180x170x170x100x100x0f0x0f0x080x080x070x070x000x00
第 3 组工作寄存器
第 2 组工作寄存器
第 1 组工作寄存器
第 0 组工作寄存器
RS1 RS0专用寄存器 PSW
任务 2 单片机程序和数据存储
共有 128 位 每一位都有相对应的位地址, 位地址范围从 0x00~ 0x7F 。 0x20x2
ff
……
0x20x2
00
位地址区
位地址:位地址:0x070x07
位地址:位地址:0x000x00
0x20x2
ff
……
0x20x2
00
位地址:位地址:0x170x17
有双重寻址功能可以进行位寻址操作也可以按字节寻址操作 11
1 0 1 0 1 0 1 0
数据缓冲器区。用于存放用户数据,只能按字节存取。通常可用于中间数据的保存,也用作堆栈的数据单元。
0x7f0x7f
..
..
..
0x30x3
00
通用数据区
任务 2 单片机程序和数据存储
(2) 特殊功能寄存器(专用寄存器) 89C51 单片机的专用寄存器总数为 21 个, 占用了 0x80H~ 0xFF 中的一小部分 其他空间虽然未安排寄存器,但也不能进行
读、写操作。
任务 2 单片机程序和数据存储
表 1-3 特殊功能寄存器一览表符号 地址 名称 符号 地址 名称ACC 0xE
0累加器 IE 0xA
8中断允许控制器
B 0xF0
B 寄存器 TMOD
0x89
定时器方式选择
PSW
0xD0
程序状态字 TCON
0x88
定时器控制器
SP 0x81
堆栈指针 TH0 0x8C
定时器 0 高 8位
DPL 0x82
数据寄存器指针(低 8位)
TL0 0x8A
定时器 0 低 8位
DPH 0x83
数据寄存器指针(高 8位)
TH1 0x8D
定时器 1 高 8位
P0 0x80
通道 0 TL1 0x8B
定时器 1 低 8位
P1 0x90
通道 1 SCON
0x98
串行控制器
P2 0xA0
通道 2 SBUF
0x99
串行数据缓冲器
P3 0xB0
通道 3 PCON
0x87
电源控制器
IP 0xB8
中断优先级控制器
任务 2 单片机程序和数据存储
(3) 外部数据存储器 单片机最大可扩展片外 64KB 空间的数据
存储器,地址范围为 0x0000~ 0xFFFF 。
任务 2 单片机程序和数据存储
1AE
决策决策决策决策
外部外部程序存储器程序存储器
64K64K
内部内部程序存储器程序存储器
4K4K
外部外部程序存储器程序存储器
64K64K
0AE
外部外部数据存储器数据存储器
64K64K
特殊功能特殊功能寄存器区寄存器区
通用数据区通用数据区位地址区位地址区寄存器区寄存器区
加加或或
(1) 单片机内部结构;
(2) 单片机工作过程和 ROM ;
(3) 数据存储器 RAM ;
任务 2 单片机程序和数据存储 总结总结总结总结
1.1.89C5189C51单片机内部结构包含哪几部分?单片机内部结构包含哪几部分?
各部分的主要功能是什么?各部分的主要功能是什么?
2. 2. 单片机是如何实现自动运行程序的?单片机是如何实现自动运行程序的?
3. 3. 对于容量有对于容量有 4kB4kB的程序存储器,其地址线需要多少的程序存储器,其地址线需要多少根?根?
4. 4. 简述简述 89C5189C51单片机片内单片机片内 RAMRAM的空间分配。的空间分配。
各部分主要功能是什么?各部分主要功能是什么?
5.5.片内片内 RAMRAM中包含哪些可位寻址单元?中包含哪些可位寻址单元?
任务 2 单片机程序和数据存储 思考思考思考思考