单片机原理与应用 Principles and Application of Microcontroller 讲授:唐露新 广东工业大学 信息工程学院测控技术系
学习要求: 学习方法:动手实践 上课记笔记 独立完成作业 认真做好实验 Practice is a best way to learning.
第1章 计算机基础知识 1.1 计算机发展与应用 1.2 计算机的应用概况 1.3 计算机的数制及转换 1.4 单片机应用概况 第1章 计算机基础知识 1.1 计算机发展与应用 1.2 计算机的应用概况 1.3 计算机的数制及转换 1.4 单片机应用概况 1.5 单片机结构及指令执行过程
1.1 计算机发展与应用 1946-1958: 第一代电子管计算机。磁鼓存储器,机器语言 汇编语言编程。世界上第一台数字计算机ENIAC。 一、 发展概况 1946-1958: 第一代电子管计算机。磁鼓存储器,机器语言 汇编语言编程。世界上第一台数字计算机ENIAC。 1958-1964: 第二代晶体管计算机。磁芯作主存储器, 磁盘 作外存储器,开始使用高级语言编程。 1964-1971: 第三代集成电路计算机。使用半导体存储器, 出现多终端计算机和计算机网络。 1971- : 第四代大规模集成电路计算机。出现微型计算 机、单片微型计算机,外部设备多样化。 1981- : 第五代人工智能计算机。模拟人的智能和交流 方式。
二、 计算机发展趋势 微型化─ 便携式、低功耗 巨型化─ 尖端科技领域的信息处理,需要超大容量、高 速度 智能化─ 模拟人类大脑思维和交流方式,多种处理能力 系列化、标准化─ 便于各种计算机硬、软件兼容和升级 网络化─ 网络计算机和信息高速公路 多机系统─ 大型设备、生产流水线集中管理(独立控制、 故障分散、资源共享)
1.2 计算机的应用概况 1.科学计算:人造卫星轨迹, 天气预报等 2.数据处理 :企业管理、情报检索等 3.自动控制 :航天飞行、火星探测等现场控制等 4.辅助设计和制造 5.系统仿真 6.智能模拟 7.计算机网络与信息高速公路
1.3 计算机的数制及转换 1.3.1 进位计数制简介 一、十进制ND 二、二进制NB 三、十六进制NH 人机交互。 二进制数。 1.3 计算机的数制及转换 1.3.1 进位计数制简介 一、十进制ND 有十个数码0~9、逢十进一。十进制用于计算机输入输出, 人机交互。 二、二进制NB 两个数码:0、1, 逢二进一。二进制为机器中的数据形式。 三、十六进制NH 十六个数码:0~9, A~F, 逢十六进一。十六进制用于表示 二进制数。 不同进位制数以下标或后缀区别,十进制数可不带下标。 如:101、101D、101B、101H、101H
1.3.2 进位计数制 一、十进制ND 符号集:0~9 规则:逢十进一。 符号集:0~9 规则:逢十进一。 例:1234.5=1×103 +2×102 +3×101 +4×100 +5×10-1 加权展开式以10称为基数,各位系数为0~9。 一般表达式: ND= dn-1×10n-1+dn-2×10n-2 +…+d0×100 +d-1×10-1+…
二、二进制NB 符号集:0、1 规则:逢二进一。 例:1101.101=1×23+1×22+0×21+1×20+1×2-1+1×2-3 符号集:0、1 规则:逢二进一。 例:1101.101=1×23+1×22+0×21+1×20+1×2-1+1×2-3 加权展开式以2为基数,各位系数为0、1。 一般表达式: NB = bn-1×2n-1 + bn-2×2n-2 +…+b0×20 +b-1×2-1+…
三、十六进制NH 符号集:0~9、A~F 规则:逢十六进一。 例:DFC.8=13×162 +15×161 +12×160 +8×16-1 一般表达式: NH= hn-1×16n-1+ hn-2×16n-2+…+ h0×160+ h-1×16-1+…
1.3.3 不同进位计数制之间的转换 进位计数制的一般表达式: Nr= an-1rn-1+an-2rn-2+ … +a1r1+a0r0+a-1r-1…+a-mr-m 一个r1进制的数转换成r2进制数的方法:先展开,然后 按r2进制的运算法则求和计算。 一、 二、十六进制数转换成十进制数 先展开,然后按照十进制运算法则求和。 举例: 1011.1010B=1×23+1×21+1×20+1×2-1+1×2-3=11.625 DFC.8H =13×162+15×161+12×160+8×16-1 = 3580.5
24=16 ,四位二进制数对应一位十六进制数。 举例: 二、二进制与十六进制数之间的转换 3AF.2H = 0011 1010 1111.0010 = 1110101111.001B 3 A F 2 1111101.11B = 0111 1101.1100 = 7D.CH 7 D C
三、十进制数转换成二、十六进制数 1. 整数转换法 举例: (2) 208转换成十六进制数 (1) 39转换成二进制数 “除基取余”:十进制整数不断除以转换进制基数,直至商为0。每除一次取一个余数,从低位排向高位。 举例: (1) 39转换成二进制数 39 =100111B 2 39 1 ( b0) 2 19 1 ( b1) 2 9 1 ( b2) 2 4 0 ( b3) 2 2 0 ( b4) 2 1 1 ( b5) 0 (2) 208转换成十六进制数 208 = D0H 16 208 余 0 16 13 余 13 = DH
2. 小数转换法 “乘基取整”:用转换进制的基数乘以小数部分,直至小数为0或达到转换精度要求的位数。每乘一次取一次整数,从最高位排到最低位。 举例: (2) 0.625转换成十六进制数 0.625 × 16 = 10.0 0.625 = 0.AH (3) 208.625 转换成十六进制数 208.625 = D0.AH (1) 0.625转换成二进制数 1) 0.625 × 2 2) 1.250 1 (b- × 2 3) 0.5 0 0 (b- × 2 1.0 1 (b- 0.625 = 0.101B
1.3.4 带符号数的表示方法 机器中,数的符号用“0”、“1” 表示。最高位作符号位,“0”表示“+”,“1”表示“-”。 1.3.4 带符号数的表示方法 机器中,数的符号用“0”、“1” 表示。最高位作符号位,“0”表示“+”,“1”表示“-”。 一、机器数与真值 机器数:机器中数的表示形式,其位数通常为8的倍数 真值: 机器数所代表的实际数值。 举例:一个8位机器数与它的真值对应关系如下: 真值: X1=+84=+1010100B X2=-84= -1010100B 机器数:[X1]机= 01010100 [X2]机= 11010100
二、原码(True Form) 最高位为符号位,0表示 “+”,1表示“-”。 数值位与真值数值位相同。 例 8位原码机器数: 例 8位原码机器数: 真值: x1 = +1010100B x2 =- 1010100B 机器数: [x1]原 = 01010100 [x2]原 = 11010100 原码表示简单直观,但0的表示不唯一,加减运算复杂。
三、补码(Two’s Complement) 正数的补码表示与原码相同。负数补码的符号位为1, 数值位等于求反加1。 例:求 8位补码机器数: x=+4 [x]补= 00000100 x=-4 10000100 x1111011 [x]补 = 11111100 补码表示的优点: 0的表示唯一,加减运算方便
数的补码与“模”有关 “模”即计数系统的量程。 当X<0,[X]补= 模-|X|。 8位二进制数的模为: 28 = 256 当X<0,[X]补= 28 -|X| = 256 -|X|= 255 -|X|+1 = [X]反码 + 1 规则:求反加1,符号位不变。 如: 1000 1101B 其补码:1111 0010 规定:0000 0000B 为0 1000 0000B 不是-0,而是-128
8位机器数表示的真值
1. 真值®机器数 四、机器数与真值之间的转换 (1)X1=+127,X2=-127,求[X]原 、[X]补 [X1]原=[X1]补=01111111= 7FH [X2]原=11111111= FFH [X2]补=10000001= 81H (2)X1=+255,X2=-255 ,求[X]原 、[X]补 [X1]原=[X1]补=0000000011111111= 00FFH [X2]原=1000000011111111= 80FFH [X2]补=1111111100000001= FF01H
1.3.5 二—十进制编码BCD码 例:求十进制数876的BCD码 [876]BCD = 1000 0111 0110 BCD码(Binary Coded Decimal) 二进制代码表示的十进制数。 一、8421 BCD码 例:求十进制数876的BCD码 [876]BCD = 1000 0111 0110 876 = 36CH = 11 0110 1100B
二、BCD码运算 十进制调整:计算机实际按二进制法则计算,加入十 进制调整操作,可计算BCD码。 或借位,进行加6或减6调整。 例:计算BCD码 38-29=? 0011 1000 [38]BCD + 1101 0111 - [29]BCD 1 0000 1111 产生非BCD + 1111 1010 -06调整 1 0000 1001 结果无借位:9
1.3.6 字符编码 美国标准信息交换码ASCII码,用于计算机与计算机及外设之间传递信息。
1.4 单片机应用概况 1976-1978 初级8位单片机 Intel MCS-48 系列 -51子系列:8031/8051/8751 -52子系列:8032/8052/8752 低功耗型80C31高性能型80C252廉价型89C2051/1051 1983- 16位单片机 Intel MCS-96 系列 8098/8096、80C198/80C196, DSP 32位单片机 ARM
二、计算机主要技术指标 字长: CPU并行处理二进制的数据位数 8位机、16位机、32位机和64位机。 内存容量: 内存存储单元数 内存容量: 内存存储单元数 容量单位:1K=210=1024,1M=220=1KK 8K、64K、16M、64M。 运算速度: CPU处理速度 时钟频率、主频、每秒运算次数 6MHz、12MHz、24MHz、100MHz、300MHz。 内存存取周期:内存读写速度 50nS 、70nS 、200nS 。
1.5 单片机结构及指令执行过程 单片机即单片机微型计算机,是将计算机主机(CPU、 内存和I/O接口)集成在一小块硅片上的微型机。 1.5 单片机结构及指令执行过程 单片机即单片机微型计算机,是将计算机主机(CPU、 内存和I/O接口)集成在一小块硅片上的微型机。 单片机为工业测控而设计,又称微控制器。具有三高优 势(集成度高、可靠性高、性价比高)。 主要应用于工业检测与控制、计算机外设、智能仪器仪 表、通讯设备、家用电器等。 特别适合于嵌入式微型机应 用系统。 单片机开发系统有单片单板机和仿真器。实现单片机应 用系统的硬、软件开发。
一、单片机结构 图1-1 单片机组成框图
二、计算机指令执行过程 开始 取指令 PC+1 执行 指令 图1-2 取指令、执行指令序列