360 likes | 494 Views
单片机原理及应用 性质:专业技术课 考核:闭卷考试 学时: 56 学分: 3.5. 教材: 《 单片机原理与应用及 C51 程序设计 》 谢维成,清华大学出版社. 推荐参考书: 1 、 《 单片机基础 》 ,李广弟等编著 北京航空航天大学出版社 2 、 《 单片微型计算机与接口技术 》 ,李群芳等 电子工业出版社 3 、 《 单片机的 C 语言应用程序设计 》 ,马忠梅等 北京航空航天大学出版社. 目录. 第 3 章 单片机汇编程序设计
E N D
单片机原理及应用 性质:专业技术课 考核:闭卷考试 学时:56 学分:3.5
教材:《单片机原理与应用及C51程序设计》谢维成,清华大学出版社教材:《单片机原理与应用及C51程序设计》谢维成,清华大学出版社 • 推荐参考书: • 1、 《单片机基础》,李广弟等编著 • 北京航空航天大学出版社 • 2、 《单片微型计算机与接口技术》,李群芳等 • 电子工业出版社 • 3、 《单片机的C语言应用程序设计》,马忠梅等 • 北京航空航天大学出版社
目录 第3章 单片机汇编程序设计 3.1 MCS-51系列单片机汇编指令格式及标识 3.2 MCS-51系列单片机的寻址方式 3.3 MCS-51系列单片机指令系统 3.4 MCS-51系列单片机汇编程序常用伪指令 3.5 MCS-51系列单片机汇编程序设计 第4章 单片机C语言程序设计 4.1 C语言与MCS-51单片机 4.2 C51的数据类型 4.3 C51的运算量 4.4 C51的运算符及表达式 4.5 表达式语句及复合语句 4.6 C51的输入/输出 4.7 C51程序基本结构与相关语句 4.8 函数4.9 C51构造数据类型 4.9 C51构造数据类型 • 第1章 基础知识 • 1.1 信息在计算机中的表示 • 1.2 单片机的概念及其特点 • 1.3 单片机的发展及其主要品种 • 1.4 单片机的应用 • 第2章 单片机基本原理 • 2.1 MCS-51系列单片机简介 • 2.2 MCS-51系列单片机的结构原理 • 2.3 MCS-51系列单片机的外部引脚及片外总线 • 2.4 MCS-51系列单片机的工作方式 • 2.5 MCS-51系列单片机的时序
第9章 MCS-51单片机的其它接口 9.1 LCD与MCS-51接口 9.2 MCS-51单片机与I2C总线芯片接口 9.3 MCS-51单片机与时钟日历芯片接口 第10章 单片机应用系统设计 10.1 单片机应用系统的基本结构 10.2 单片机应用系统的硬件系统设计 10.3 单片机应用系统的软件设计 第11章 单片机应用系统设计实例 11.1 单片机电子时钟的设计 11.2 多路数字电压表的设计 第12章 Keil C51集成环境的使用 12.1 Keil C51简介 12.2 Keil uVision2 IDE的使用方法 12.3 Keil C51的调试技巧 • 第5章 MCS-51单片机内部资源及编程 • 5.1 并行输入/输出接口 • 5.2 定时/计数器接口 • 5.3 串行接口 • 5.4 中断系统 • 第6章 MCS-51单片机系统扩展 • 6.1 MCS-51单片机的最小系统 • 6.2 存储器扩展 • 6.3 输入/输出口扩展 • 第7章 MCS-51单片机与键盘、显示器的接口 • 7.1 MCS-51单片机与键盘的接口 • 7.2 MCS-51单片机与LED显示器接口 • 7.3 MCS-51单片机与行程开关、晶闸管、继电器的接口 • 第8章 MCS-51与D/A、A/D的接口 • 8.1 MCS-51单片机与ADC的接口 • 8.2 MCS-51单片机与DAC的接口
复习 1、数据单位 二进制位:在计算机中,二进制中的每个0 或1。 它是表示信息的最小单位。 位(Bit):二进制代码只有“0”和“1”,在CPU中占1位。 字节(Byte):通常把8位二进制数定义为一个字节 (Byte),它是数据处理的基本单位。 字(Word):1个字为2个字节。 字 长:计算机一次可处理的二进制数的位数。
2、数据表示 生活中其实很多地方的计数方法都多少有点不同进制的影子。 比如:我们最常用的10进制,其实起源于人有10个指头。如果我们的祖先始终没有摆脱手脚不分的境况,我想我们现在一定是在使用20进制。 至于二进制……没有袜子称为0只袜子,有一只袜子称为1只袜子,但若有两袜子,则我们常说的是:1双袜子。 生活中还有:七进制,比如星期;十二进制,比如小时或“一打”;六十进制,比如分钟或角度…… 2、8、16,分别是2的1次方、3次方、4次方。这一点使得三种进制之间可以非常直接地互相转换。8进制或16进制缩短了二进制数,但保持了二进制数的表达特点。
3、数值与数制 计数:数的记写和命名方法。 数制:不同的计数规则构成了不同的进位数制。 权: 每一个数码所表示的值就等于该数码本身 乘以一个与所在数位有关的常数。 ▼ 十进制 (D)Decimal system (scale) ▼二进制 (B)Binary system ▼八进制 (O)Octonary system ▼十六进制(H)Hexadecimal system 进制越大,数的表达长度也就越短。
4、采用二进制编码的好处 (1)物理上容易实现(状态分明),可靠性强; (2)运算简单,通用性强; (3)二进制的0、1数码与逻辑量“真”和“假” 的0、1吻合。
5、十进制向二进制的转换(除法): • 整数部分: • 方法:除2取余 • 余数 • 操作: 2 25 1 最低位 • 2 12 0 • 2 6 0 • 2 3 1 • 2 1 1 最高位 • 0 • 结果:(25)D=(11001)B
小数部分: • 方法:乘2取整 • 操作: • 0.625 • ×2 • 1.2501小数的高位 • × 2 • 0.5000 • × 2 • 1.0001小数的低位 • (0.625)D=(0.101)B • 说明 : • ①非纯小数的结果为整数和小数部分各自转换结果的组合。 • ②十进制向八进制和十六制的转换依此类推。
(25.3125)D=(11001.0101)B (116.84375)D=(74.D8)H
符号位 数值位 第1章 基础知识 1.1 信息在计算机中的表示 1.1.1 数在计算机内的表示 计算机中的数通常有两种:无符号数和有符号数。 无符号数由于不带符号,表示时比较简单,直接用它对应的二进制形式表示,例如:假设机器字长为8位,123表示成01111011B。 有符号数带有正负号,通常,在计算机中表示有符号数时,在数的前面加一位,作为符号位。正数表示为0,负数表示为1,其余的位用以表示数的大小。这种连同一个符号位在一起作为一个数,称为机器数,它的数值称为机器数的真值。 机器数在计算机中有三种表示法:原码、反码和补码。
符号位 数值位 一、原码 原码表示时,最高位为符号位,正数用0表示,负数用1表示,其余的位用于表示数的绝对值。 对于一个N位的二进制,它的原码表示范围为-(2n-1-1)~+(2n-1-1)。 例如:如果用8位二进制表示原码,则数的范围为-127~+127。 原码表示时,假设机器字长为8位,-0的编码为10000000,+0的 编码为00000000。 【例1-1】 求+67、-25的原码(机器字长8位)。 因为 +67=67=1000011B - 25=25=11001B 所以 [+67]原=01000011B [- 25]原=10011001B
小结: 原码:用最高位表示符号位,数值部分为其真值的绝对值。 若为“0”:代表正数; 若为“1”:代表负数。 二进制(真值):+1110101 −0000101 原 码: 01110101 10000101 原码可表示为: X ( 2n>X≥0) [X]原= 2n +|X| (0>X≥−2n ) n为二进制数的位数。 8位原码表示数的范围:−127~+127。 优缺点:简单、转换方便。但加减运算不便。
二、反码 反码表示时,最高位为符号位,正数用0表示,负数用1表示,正数的反码与原码相同,而负数的反码可在原码的基础之上,符号位不变,其余位取反得到。 对于一个n位的二进制,它的反码表示范围为-(2n-1-1)~+(2n-1-1),对于0,假设机器字长为8位,-0的反码为11111111B,+0的反码为00000000B。 【例1-2】 求+67、-25的反码(机器字长8位)。 因为 [+67]原=01000011B [- 25]原=10011001B 所以 [+67]反=01000011B [- 25]反=11100110B
小结: 反码:对正数,为其原码本身; 对负数,其反码为:除符号位外, 逐位取反所得到的结果。 二进制(真值):+1011 −1011 原码: 01011 11011 反码: 01011 10100 反码可表示为: X (2n>X≥0) [X]反= 2n−1−|X| (0>X≥−2n ) 8位反码表示数的范围: −127~+127。 优缺点:运算也不方便。
三、补码 补码表示时,最高位为符号位,正数用0表示,负数用1表示,正数的补码与原码相同,而负数的补码可在原码的基础之上,符号位不变,其余位取反,末位加1得到。对于一个负数X,X的补码也可用2n-X得到,其中n为计算机字长。 【例1-3】 求+67、-25的补码(机器字长8位)。 因为 [+67]原=01000011B [- 25]原=10011001B 所以 [+67]补=01000011B [- 25]补=11100111B 另外,对于计算补码,也可用一种求补运算方法求得。
小结: 补码:正数的补码与其原码相同; 负数的补码被定义为其反码加1。 二进制(真值):+1001 −10110 原码: 01001 110110 反码: 01001 101001 补码: 01001 101010 补码可表示为: X (2n>X≥0) [X]补= 2n −|X| (0>X≥−2n ) 补码的运算规则:[X ±Y]补=[X] 补±[Y]补 8位补码表示数的范围:−128~+127。 优缺点:可方便地实现正、负数的加法运算。
求补运算:一个二进制数,符号位和数值位一起取反,末位加1。求补运算:一个二进制数,符号位和数值位一起取反,末位加1。 求补运算具有以下的特点: 对于一个数X: [X]补 [-X]补 [X]补 【例1-4】 已知+25的补码为00011001B,用求补运算求-25的补码。 因为 [25]补 [-25]补 所以 [-25]补=11100110+1=11100111B 补码数的表示范围,对于一个n位的二进制,它的补码表示范围为-(2n-1)~+(2n-1-1)。补码表示时,对于0,-0和+0的补码是相同的,假设机器字长为8位,则0的补码为00000000B。
四、补码的加减运算 补码的加法运算规则: [X+Y]补=[X]补+[Y]补 [X-Y]补=[X]补+[-Y]补 对于[-Y]补,只要对[Y]补求就可以得到。
【例1-5】 假设计算机字长为8位,完成下列补码运算。 1. 25+32 [25]补=00011001B [32]补=00100000B [25]补=00011001 + [32]补=00100000 00111001 所以 [25+32]补=[25]补+[32]补=00111001B=[57]补 2. 25+(-32) [ 25]补=00011001B [-32]补=11100000B [ 25]补=00011001 + [-32]补=11100000 11111001 所以 [25+(-32)]补=[25]补+[-32]补=11111001B=[-7]补
3. 25-32 [ 25]补=0011001B [-32]补=11100000B [ 25]补=00011001 + [-32]补=11100000 11111001 所以 [25-32]补=[25]补+[-32]补=11111001B=[-7]补 4. 25-(-32) [25]补=00011001B [32]补=00100000B [25]补=00011001 + [32]补=00100000 00111001 所以 [25-(-32)]补=[25]补+[32]补=00111001B=[57]补
五、十进制数的表示 十进制编码又称为BCD码。 分压缩BCD码和非压缩BCD码: 压缩BCD码又称为8421码,它是用四位二进制编码来 表示一位十进制符号。 例如:十进制数124的压缩BCD码为000100100100。 十进制数4.56的压缩BCD码为0100.01010110。 非压缩BCD码是用八位二进制来表示一位十进制符号,其中低四位二进制编码与压缩BCD码相同,高四位任取。 例如:十进制数124的非压缩BCD码为 0011 00010011 00100011 0100。
1.1.2 字符在计算机内的表示 现在的计算机中字符数据的编码通常采用的是美国信息交换标准代码ASCII码(American Standard Code for Information Interchange)。基本ASCII码标准定义了128个字符,用七位二进制来编码,包括英文大字字母26个、小写字母26个、数字符号0~9十个,还有一些专用符号(如“:”、“!”、“%”)及控制符号(如换行、换页、回车等)。
1.2 单片机及其特点 1.2.1 单片机的基本概念 单片微机是早期Single Chip Microcomputer的直译,它忠实地反映了早期单片微机的形态和本质。 单片机属于微型计算机的一种,是把微型计算机中的微处理器、存储器、I/O接口、定时器/计数器、串行接口、中断系统等电路集成在一块集成电路芯片上形成的微型计算机。因而被称为单片微型计算机,简称为单片机。
单片机按照用途可分为通用型和专用型两大类:单片机按照用途可分为通用型和专用型两大类: • 1、早期——通用型单片微机。 • 通过不同的外围扩展来满足不同的应用对象要求。 • 2、随着应用领域的不断扩大出现了专门为某一类应用而设计的单片机——专用型单片微机。 • 目的:降低成本、简化系统结构、提高可靠。 • 如:用于计费率电表、用于电子记事簿的单片机等。 在单片机使用上注意以下几个相互有相同点也有区别的概念: (1)单板机; (2)单片机; (3)多板机。
1.2.2 单片机的主要特点 (1)在存储器结构上,单片机的存储器采用哈佛(Harvard)结构, ROM和RAM是严格分开的。 ROM称为程序存储器,只存放程序、固定常数和数据表格。 RAM则为数据存储器,用作工作区及存放数据。 (2)在芯片引脚上,大部份采用分时复用技术。 (3)在内部资源访问上,通过用特殊功能寄存器(SFR)的形式。 (4)在指令系统上,采用面向控制的指令系统。 (5)内部一般都集成一个全双工的串行接口。 (6)单片机有很强的外部扩展能力。
1.3 单片机发展及其主要品种 1.3.1 4位单片机 1.3.2 8位单片机 在1978年以前各厂家生产的8位单片机,由于集成度的限制,一般都没有串行接口,只提供小范围的寻址空间(小于8KB), 性能相对较低,称为低档8位单片机。 在1978年以后,集成电路水平提高,出现了一些高性能的8位单片机,它们的寻址能力达到了64KB,片内集成了4~8KB的ROM,片内除了带并行I/O口外,还有串行I/O接口,甚至有些还集成A/D转换器。这类单片机称为高档8位单片机。 1.3.3 16位单片机 1.3.4 32位单片机
一、电子计算机的发展历史 • 1、第一代(1946—1958):电子管计算机。 • 用于:科学计算 • 2、第二代(1958—1964):晶体管计算机。 • 用于:科学计算、数据处理、工业控制 • 3、第三代(1964—1971):集成电路计算机、网络。 • 用于:科学计算、数据处理、工业控制、事务管理。 • 4、第四代(1971— ):大规模集成电路计算机。 • 用于:计算量极大的高尖技术及国民经济领域出现了微型机。 • 5、第五代:智能型计算机正在研制中。 • 用于:模拟人的智能,识别图像、语言和物体,联想、推理、 • 解答问题,使用自然语言进行会话处理。
二、微型计算机的发展历史 • 微型机算计的核心部分:微处理器的发展已经历了五代。 • 第一代(1971—1973):4位→8位(初级) • 第二代(1973—1975):8位(初级) • 第三代(1975—1978):初级8位单片机 • Intel MCS-48系列单片机 • 第四代(1978—80年代中期):高档8位单片机 • Intel MCS-51系列单片机→16位、32位 • 第五代(80年代中期至今):→64位
1.4 单片机的应用 1.4.1 单机应用 (1)工业自动化控制。 (2)智能仪器仪表。 (3)计算机外部设备和智能接口。 (4)家用电器。 1.4.2 多机应用 1.4.3 单片机的等级 (1)民用级或商用级。温度适应能力在0C~70C,适用于机房和一般的办公环境。 (2)工业级。温度适应能力在-40C~85C,适用于工厂和工业控制中,对环境的适应能力较强。 (3)军用级。温度适应能力在-65C~125C,运用于环境条件苛刻、温度变化很大的野外。主要用在军事上。
单片机技术的应用遍布国民经济与人民生活的各个领域单片机技术的应用遍布国民经济与人民生活的各个领域
小 结 • 1、数在计算机内的表示及数制之间的转换。 • 2、单片机即单片微型计算机,是将计算机主机(CPU、 • 内存和I/O接口)集成在一小块硅片上的微型机。 • 3、单片机为工业测控而设计,又称微控制器。 • 具有三高优势(集成度高、可靠性高、性价比高)。 • 4、主要应用于工业检测与控制、计算机外设、智能 • 仪器仪表、通讯设备、家用电器等。 • 特别适合于嵌入式微型机应用系统。 • 5、单片机开发系统有单片单板机和仿真器。 • 实现单片机应用系统的硬、软件开发。