单片机基础知识
此部分为单片机入门的基础知识,大部分只需要理解即可。
微处理器、微机、单片机的概念
- 微处理器:小型计算机或者卫星计算机的控制和处理部分,本身不是计算机。
- 微机:具有完整运算及控制功能的计算机。包括微处理器、存储器、接口适配器、输入/输出(I/O)设备等。
- 单片机:将微处理器、一定量的RAM、ROM以及I/O接口、定时器等电路集成在一块芯片上构成的微型计算机。
微处理器的构成
运算器
运算器由逻辑运算单元(ALU)、累加器、寄存器等及部分组成。
ALU的数据来源于累加器和数据寄存器,能够对数据进行算数运算和逻辑运算,并将处理结果存入累加器中。
控制器
控制器由程序计数器、指令寄存器、、指令译码器、时序发生器和操作控制器构成。能过够完成的功能有:
- 从内存中取出指令,指出下一条指令的位置
- 对指进行译码或测试
- 指挥并控制CPU、内存和输入/输出设备之间数据流动方向
寄存器
-
累加器(A)
在算术运算中具有双重功能:
1、 运算前,保存一个操作数
2、运算后、保存运算结果 -
程序计数器(PC)
在程序开始执行前,必须将其起始地址,即程序的第一条指令所在的内存单元地址送到PC.
当执行指令时,CPU自动修改PC内容,使之总是保存将要执行下一条命令的地址。
由于大多数指令都是按顺序执行,所以修改的过程时简单的加1操作 -
数据寄存器(DR)
-
指令寄存器(IR)及指令译码器(ID)
-
地址及寄存器(AR)
存储器
两根8位总线和若干控制线把存储器和微处理器(机)连接起来。地址总线将一组8位二进制数(能表示256个单元)从CPU送到存储器的地址译码器。每个存储单元被赋予一个唯一的地址,规定第一单元地址为0,最后一单元的地址为255(用二进制表示为11111111B,用十六进制表示为FFH)。在地址总线上,通过8位地址线选择指定的单元。地址译码器的输出可以唯一确定被选择的存储单元。
存储器还从CPU接收控制信号,从而确定存储器执行何种操作。“读”信号表明要读出被选单元的内容,并将数据放到数据总线上,由总线送到CPU。“写”信号表明要把数据总线上的数据写入指定的存储单元中。
I/O接口及外设
每个外部设备与微处理器的连接必须经过接口适配器(I/O)接口。
每个I/O接口及其对应的外部设备都有一个固定的地址,在CPU的控制下实现对外部设备的读写操作。
数制及编码
数制
二进制 | 十六进制 | 十进制 | 二进制 | 十六进制 | 十进制 |
---|---|---|---|---|---|
0000 | 0 | 0 | 1000 | 8 | 8 |
0001 | 1 | 1 | 1001 | 9 | 9 |
0010 | 2 | 2 | 1010 | A | 10 |
0011 | 3 | 3 | 1011 | B | 11 |
0100 | 4 | 4 | 1100 | C | 12 |
0101 | 5 | 5 | 1101 | D | 13 |
0110 | 6 | 6 | 1110 | E | 14 |
0111 | 7 | 7 | 1111 | F | 15 |
编码
- ASCII码
ASCII码 | 字符 |
---|---|
0AH | 换行 |
0DH | 回车 |
20H | 空格 |
31H | 1 |
41H | A |
61H | a |
ASCII码大小关系:
符号<数字<大写字母<小写字母
小写字母ASCII码=大写字母ASCII码+32
数据在计算机中的表示
有符号数
有符号的8位二进制D7位表示符号,0代表+,1代表-,D6-D0位为数值位。
- 原码
最高位表示符号,其后为数值本身。
范围:-127~+127
- 反码
正数反码与原码相同,符号位为0.
负数反码符号位为1,数值位为原码求反。
范围:-127~+127
- 补码
正数补码与原码相同
负数补码的符号位为1,数值位求反后加1,即负数反码加1
范围:-128~+127
无符号数
无符号的8位二进制数没有符号位,D7~D0结尾数值位。
范围:0~+255