版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、单 片 机 技 术 及 应 用,第1章 单片机基础知识,第1章 单片机基础知识,1.1 单片微型计算机 单片微型计算机是制作在一块集成电路芯片上的计算机,简称单片机。它包括中央处理器(CPU),用RAM构成的数据存储器,用ROM构成的程序存储器,定时/计数器,各种输入/输出(I/O)接口和时钟电路。,1.1.1 单片机最小系统 单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统。 对一般的51系列单片机来说,由单片机、晶振电路和复位电路,便组成了一个最小系统.但是一般我们在设计中总是喜欢把按键输入、显示输出等加到上述电路中,成为最小系统。,1.1.2 单片机的基本
2、知识 1. 单片机 单片机是微型计算机中的一种,是把微型计算机中的微处理器、存储器、I/O接口、定时器/计数器、串行接口、中断系统等电路集成在一块集成电路芯片上形成的微型计算机。因而被称为单片微型计算机,简称为单片机。,2单片机和单片机系统 单片机只是一个芯片,而单片机系统则是在单片机芯片的基础上扩展其他电路或芯片构成的具有一定应用功能的计算机系统。 通常所说的单片机系统都是为实现某一控制应用需要由用户设计的,是一个围绕单片机芯片而组建的计算机应用系统。在单片机系统中,单片机处于核心地位,是构成单片机系统的硬件和软件基础。,3单片机应用系统和单片机开发系统 单片机应用系统是为控制应用而设计的,
3、该系统与控制对象结合在一起使用,是单片机开发应用的成果。但由于软硬件资源所限,单片机系统本身不能实现自我开发,要进行系统开发设计,必须使用专门的单片机开发系统。,4 单片机的程序设计语言和软件 单片机程序设计语言和软件,主要是指在开发系统中使用的语言和软件。在单片机开发系统中使用机器语言、汇编语言和高级语言,而在单片机应用系统中只使用机器语言。 机器语言是用二进制代码表示的单片机指令,用机器语言构成的程序称之为目标程序。汇编语言是用符号表示的指令,汇编语言是对机器语言的改进,是单片机最常用的程序设计语言。虽然机器语言和汇编语言都是高效的计算机语言,但它们都是面向机器的低级语言,不便记忆和使用,
4、且与单片机硬件关系密切,这就要求程序设计人员必须精通单片机的硬件系统和指令系统。 单片机也开始尝试使用高级语言,其中编译型语言有Pl、M5l、C-5l、C、MBASIC-51等,解释型的有MBASIC和MBASIC-52等。,1.1.3 单片机的发展概况 目前国际市场上8位、16位单片机系列已有很多,但是,在国内使用较多的系列是Intel公司的产品,其中又以MCS-51系列单片机应用尤为广泛,二十几年经久不衰,而且还在更进一步发展完善,价格越来越低,性能越来越好。单片机技术正以惊人的速度向前发展,就市场上已出现的单片机而言,其技术革新与进步主要表现在以下几个方面:,1. CPU的发展 2. 片
5、内存储器的发展 (1)片内存储器的发展 (2)片内EPROM开始E2PROM化 (3) 闪速存储器 (4) 串行存储器 (5) 片内程序的保密措施 3 片内输入输出接口功能 单片机在工艺上的提高 5. 片内固化应用软件和系统软件,1.1.4 单片机主要品种简介 1. 4位单片机 高档8位单片机的巨大产量挤占了部分4位机的市场。为了保住自己的领地,4位机的结构和功能也发生了很大的改进。其一是增强片内I/O功能,把应用系统所需的LED、LCD、VFD(FIP)显示器驱动电路都集成在单片机芯片内,使其成为“单片”控制器。目前8位单片机和16位单片机还很少做到这点。其二是提高指令执行速度,新型的4位单
6、片机采用1.5m COMS工艺,其指令执行速度小于1s。其三是增大片内ROM、RAM,有的ROM已达到32KB,RAM已达到1K4位。其四是低压低功耗,有的在2.2V下也能正常工作,有的甚至在A级电流时也能正常工作。其实有的4位单片机性能已不低于8位单片机。,2. 8位单片机 8位单片机年产量目前已达到十亿片,约占当年单片机产量的70%。主流机型是Intel公司的8051及其系列产品和派生产品。风靡全球的IC卡,大多采用此单片机构造。Motorola公司的6800(6502)派系也是很有名气的。其中MC68HC11是功能很强的8位单片机,具备16位机的I/O功能。而MC68HC05则具有4位单
7、片机的价格,是4位单片机的强劲竞争者。Z80派系的单片机相对小一些,但NEC公司的PD78K系列的单片机功能较强,被誉为新一代的8位单片机。,3. 16位单片机 16位单片机目前产量只占整个单片机市场的5%。16位单片机的性能都较高,有乘除指令、快速I/O功能。有的还有DMA传送,可支持C或者FORTH语言等等。其主要机型是Intel 的8096。美国国家半导体公司的HPC单片机性能价格比较高,已占CMOS工艺16位单片机销售量的首位。日本Hitachi公司的H8/500单片机的性能目前最高,其指令执行速度为200ns,片内FPROM/ROM达62K字节,片内RAM为2K字节,A/D为10位,
8、转换时间为13.8 s ,还有DMA功能。,4. 32位单片机 32位单片机更多地称作32位嵌入式控制器。它主要应用于机器人、光盘、激光打印机等的控制器。这些控制器的地址线为2432位,寻址能力为16400MB,并且都有很高的指令执行速度和快速运算能力。例如,Intel公司的80960KB在20MHz时钟下,其指令速度为7.5MIPS,在它内部还有IEEE754标准的80位浮点运算部件,在25MHz时钟下,可以达到5.2Mwhetstones/s.这些控制器都能直接支持高级语言和实时多任务处理。,1.1.5 单片机的应用 单片机是在一块芯片上集成了一台微型计算机所需的CPU、存储器、输入/输出
9、部件和时钟电路等。因此它具有体积小,使用灵活、成本低、易于产品化、抗干扰能力强,可在各种恶劣环境下可靠地工作等特点。特别是它应用面广,控制能力强,使它在工业控制、智能仪表、外设控制、家用电器、机器人、军事装置等方面得到了广泛的应用。,单片机主要可用于以下几方面: 1. 测控系统中的应用 控制系统特别是工业控制系统的工作环境恶劣,各种干扰也强,而且往往要求实时控制,故要求控制系统工作稳定、可靠、抗干扰能力强。单片机是最适宜用于控制领域。例如炉子恒温控制、电镀生产线自动控制等。,2. 智能仪表中的应用 用单片机制作的测量、控制仪表,能使仪表向数字化、智能化、多功能化、柔性化发展,并使监测、处理、控
10、制等功能一体化,使仪表重量大大减轻,便于携带和使用,同时降低了成本,提高了性能价格比。如数字式RLC测量仪、智能转速表、计时器等。,3.智能产品 单片机与传统的机械产品结合,使传统机械产品结构简化、控制智能化,构成新型的机、电、仪一体化产品。如数控车床、智能电动玩具、各种家用电器和通信设备等。,4. 在智能计算机外设中的应用 在计算机应用系统中,除通用外部设备(键盘、显示器、打印机)外,还有许多用于外部通信、数据采集、多路分配管理、驱动控制等接口。如果这些外部设备和接口全部由主机管理,势必造成主机负担过重、运行速度降低,并且不能提高对各种接口的管理水平。如果采用单片机专门对接口进行控制和管理,
11、则主机和单片机就能并行工作,这不仅大大提高系统的运算速度,而且单片机还可对接口信息进行预处理,以减少主机和接口间的通信密度、提高接口控制管理的水平。如绘图仪控制器,磁带机、打印机的控制器等等。,计算机中数和字符的表示,1. 概述,2. 无符号数的表示,3. 有符号数的表示,4. 定点数和浮点数,5. 计算机中的二进制编码,一、计算机中数和字符的存放 数据存放于存储器或寄存器中。 数据按字长一般分为: 8位(字节BYTE,简写为B) 16位(字WORD) 32位(双字DWORD) 64位、128位、256位,概述,二、数制及其转换 1、数制 十进制(Decimal)后缀加“D” 例如:25D或2
12、5(后缀可略) 二进制(Binary)后缀加“B” 例如:11010001B 八进制(Octonary)后缀加“O”或“Q” 例如:76Q 十六进制(Hexadecimal)后缀加“H” 例如:0F6H(字符开头的数前需加“0”),2、数制之间的转换 任意进制转换为十进制 例如:10101101B=27+25+23+22+20=179 4F.8H=4*161+15*160+8*16-1=79.5 十进制转换为任意进制 整数部分:连续除以基数取余倒计法 小数部分:连续乘以基数取整顺计法,二进制与十六进制间的转换 一个十六进制数对应四位二进制数 例如:6E3.C2H=0110 1110 0011.
13、1100 0010B 110 0111.1110 10B=67.E8H,三、二进制数的运算 1、二进制数的算术运算 特点:按一定字长进行,运算结果超过字长则产生进位、借位或自动丢失。,2、二进制数的逻辑运算 特点:按位进行,无进位或借位,4)逻辑异或XOR 11010001 XOR 11100101 00110100,3)逻辑反(非)NOT NOT 11010011=00101100,四、关于模(MOD)的概念,简单地说,模是能表示的最大数再加1。 例如,8位寄存器能表示的最大数是 11111111B=255 其模为28=256(MOD 28) 计算机中的运算都是在一定模值下进行的, 例: 2
14、00+85=29(MOD 28) 9+4=1(MOD 12),计算机中数和字符的表示,1. 概述,2. 无符号数的表示,3. 有符号数的表示,4. 定点数和浮点数,5. 计算机中的二进制编码,当n=8时,可表示的无符号数的范围为0255,当n=16时,可表示的无符号数的范围为 065535。,在计算机中最常用的无符号整数是表示地址的数,无符号数的表示,计算机中数和字符的表示,1. 概述,2. 无符号数的表示,3. 有符号数的表示,4. 定点数和浮点数,5. 计算机中的二进制编码,1机器数与真值 计算机中的数是用二进制表示的,数的符号也是用二进制表示的。通常一个数的最高位为符号位,为0表示正数,
15、为1表示负数。若字长为8位的计算机,则D7为符号位,D6D0为数值位。,有符号数的表示,这种符号数码化的数称为机器数。机器数所代表的实际数值称为真值。 若计算机的字长为n位,则n位有符号数可表示的数X的范围是-2n-1 X +(2n-11) 当n=8时,可表示的有符号数的范围为-128127,当n=16时,可表示的有符号数的范围为-3276832767。 机器数可以用不同的码制来表示,常用的有原码和补码表示法。,2原码表示法 最高位为符号位, 0表示正数,1表示负数,其余各位为数值位,这种表示法称为原码表示法。 例: 若X= 97 则X原 =01100001B 若X= 97 则X原 =1110
16、0001B 原码表示数0有两种表示形式: 0原 =00000000B 0原 =10000000B,注意:n位原码可表示的数X的范围是: 2n-1+1X2n-1-1,3反码表示法 反码表示法中,正数的反码和原码相同;负数的反 码可由其原码除符号位,保持不变外,其余各位按位取反,即0变1、1变0 。 例:若X= 45, X反=00101101B X=-45, X反=11010010B,4. 补码表示法 补码表示法中,正数的补码和原码相同;负数的 补码可由其原码除符号位,保持不变外,其余各位按位 取反,再在最末位加1而形成。 例:假设机器字长为8位,则 X原=01100001B 则 97补=0110
17、0001B X原=11100001B 则 97补=10011111B 10011110B+1,补码具有以下特点: 0补=0补=00000000B n位二进制补码所能表示的数值范围为: 2n-1X2n-11 若n=8,则8位二进制补码所能表示的数值范围为128127。 对于一个用补码表示的负数,如果将X补再求一次补,即将 X补除符号位外取反并在最末位加1就可得到 X原。用下式表示为: X补补=X原, -15 补补= 10001111 B补补= 11110001B补 = 10001111 B = -15原 注意:10000000补=-128原= 10000000 B,二进制数码 无符号数 原 码
18、反 码 补 码 00000000 0 +0 +0 +0 00000001 1 +1 +1 +1 00000010 2 +2 +2 +2 : 01111110 126 +126 +126 +126 01111111 127 +127 +127 +127 10000000 128 -0 -127 -128 10000001 129 -1 -126 -127 10000010 130 -2 -125 -126 : 11111110 254 -126 -1 -2 11111111 255 -127 -0 -1,5. 补码的加减运算 (1)补码的加法运算规则是: XY补= X 补Y补 该式表明,当有符号
19、的两个数采用补码形式表示时,进行加法运算可以把符号位和数值位一起进行运算(若符号位有进位,则丢掉),结果为两数之和的补码形式。,例:用补码进行下列运算:(33)(15);(33)(15),解:,Y补是对减数进行求负操作。 一般称已知 Y补求得 Y补的过程叫变补或求负。,变补运算(NEG)已知+X补求-X补 规则:全部位(含符号位)按位取反后再加1,例: 已知+15补=00001111B 则 -15补=11110000B+1=11110001B 或:0- +15补=0-00001111B=11110001B,解: 若X=33,Y=15 X补=00100001B Y补=00001111B Y补=1
20、1110001B 00100001B X 补 + 11110001B Y补 自然丢失 1 00010010B 18 补,例:用补码进行XY运算,若 X=33 Y=15 则 33补=11011111B 15补=11110001B 15补=00001111B 11011111B 33 补 + 00001111B 15补 11101110 18补,补码的作用: 1、引入补码后,将减法运算转化为易于实现的加法运算,且符号位也当作数据相加,从而可简化运算器的结构,提高运算速度。因此,在微型计算机中,有符号数通常都用补码表示,得到的是补码表示的结果。 2、当字长由8位扩展到16位时,对于用补码表示的数,正
21、数的符号扩展应该在前面补0,而负数的符号扩展应该在前面补1。 例:机器字长为8位, 46补=00101110B,46=11010010B,从8位扩展到16位 46补=0000 0000 0010 1110B=002EH 46补=1111 1111 1101 0010B=FFD2H,6. 有符号数运算时的溢出问题 当两个有符号数进行加减运算时,如果运算结果超出可表示的有符号数的范围时,就会发生溢出,使计算结果出错。显然,只有两个同符号数相加或两个异号数相减时,才会产生溢出。,例:设机器字长为8位,以下运算都会发生溢出 (88) (65) = 153 127 (88) (-65) =153 127
22、 (83) (80) =163 128,(2)带符号数的溢出OF OF= CYD7 CYD6 (MOD 28)或 OF= CYD15 CYD14 (MOD 216),CYD6=1,CYD7=1,计算机中数和字符的表示,1. 概述,2. 无符号数的表示,3. 有符号数的表示,4. 定点数和浮点数,5. 计算机中的二进制编码,在计算机中,数值数据有两种表示法:定点表示法和浮点表示法。分别称为定点数和浮点数。,1. 定点数 定点数是指小数点在数中的位置是固定不变的,常用的定点数有纯小数和纯整数两种。 纯小数:小数点固定在符号位之后,如 1.1100111B,此时机器中所有数均为小数。 纯整数;小数点
23、固定在最低位之后,如 111001l1.B,此时机器中所有数均为整数。,定点数和浮点数,2. 浮点数 浮点数由阶码和尾数两部分组成。对任意一个有符号的二进制数N的普遍形式可表示为 N= 2EM,式中E称为N的阶码,是一个有符号的可变整数。设 Eejek1e0 ej为阶符:若ej=0,则E是正数;若ej=1,则E为负数。 ek-1e0是阶值。,式中M称为N的尾数,是一个有符号的纯小数。设 M=mjm1 mn mj为尾符:若mj=0,则M为正数;若mj=1,则M为负数。尾数M的符号就是浮点数N的符号。 m1mn是尾值。,浮点数N在计算机内的表示形式如下所示。,ek-1ek-2e0,3规格化数与溢出
24、 为了便于浮点数的运算,数采用规格化表示。对尾数规格化作如下定义: 若mjm1,则称尾数M为规格化数;若mj=m1,则称尾数M为非规格化数。例如,N=20110.0010100,显然尾数 0.001010为非规格化数。 如果尾数不是规格化数,那么要用移位手段把它变为规格化数。尾数每左移一位,阶码就减1,尾数每右移一位,阶码就加1,直至mjm1为止。以左移操作实现尾数的规格化称为左规,以右移实现规格化称为右规。如上例中的N为非规格化数,则将0.0010100左移两位后,变成0.1010000,此数已是规格化数,不再左移,从阶码011中减去010,得001。所以规格化后的N应为20010.1010
25、000。 存储在计算机中的数一定是规格化数。两数的运算结果也应为规格化数,如果不是,那么必须通过移位方式把它变为规格化数。,当浮点数超出机器所能表示数的范围时,我们称为溢出。对规格化的浮点数,当阶码小于机器所能表示的最小数时,称为下溢,此时机器将把此数作0处理;若阶码大于机器所能表示的最大范围时,称为上溢。溢出发生时,机器就产生溢出中断,进入中断处理。 浮点表示法比定点表示法所表示的数的范围大,精度高,但运算规则比较复杂,成本较高。早期的微型计算机采用定点表示,机器中数均为整数,没有处理浮点数的指令。为了弥补这方面的不足,专门设计了相应的数值协处理器(8087、80287、80387等)来实现
26、对浮点数的运算。80486、80586的数值协处理器已集成在CPU芯片内部。在本教材中,若无特别说明,数据均采用纯整数定点表示。,计算机中数和字符的表示,1. 概述,2. 无符号数的表示,3. 有符号数的表示,4. 定点数和浮点数,5. 计算机中的二进制编码,1. BCD码(Binary Coded Decimal) BCD码是以四位二进制的不同组合表示十进制数十个数码的方法,又称二十进制编码。 常用的BCD码为8421 BCD码,即每位十进制数码用四位二进制数来表示,四位二进制数从高到低的权值分别为23、22、21、20即 8421。 8421 BCD码如表所示。,计算机中的二进制编码,表:8421BCD码,例: 十进制数和BCD码相互转换。 将十进制数86.5转换为BCD码: 86.5=(1000 0110.0101)BCD 将BCD码1001 0111.0100转换为十进制数: (1001 0111.0100)BCD=97.4,根据在存储器中的不同存放格式,BCD码又分为 压缩型BCD码:一个字节中存放两个十进制数码 非压缩型BCD码:每个字节只存放一个十进制数,例:将十进制数8762用压缩型BCD码表示,则为: 1000 0111 0110 0010 在存储器中的存放格式为:,高,低,非压缩型BCD码: 0000 1000 ,0000 0111,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医院后勤库管主管岗位面试题及答案
- 助理电力调度员题库及答案
- 五官科空气消毒机、紫外线灯使用考核试题及答案
- 2026年矿山防灭火专项安全管理模拟试卷及答案
- 2026年人证网约车考试题库及参考答案
- 2026年10月高等教育自学考试《市场营销学》模拟试卷B含完整答案解析
- 《数据结构》课件 第5章 串
- 吉林省长春市农安县2025-2026学年九年级上学期1月期末考试化学试题(含答案)
- 沙子供货合同范本6篇
- 天下第一武道会龙珠IP主题酒吧派对活动策划方案
- 医疗健康管理与慢病防控
- 2026河北机关事业单位工人技能等级考试(汽车驾驶员·高级)历年参考题库含答案详解2卷
- 正压送风口阀体损坏更换安装调试方案
- 第二届重庆市市场监管系统执法办案电子数据取证技能大竞赛赛完整试题
- 中考物理电路设计与电路故障分析三年2023-2025中考真题分类汇编解析版
- 煤炭销售部管理制度(3篇)
- 中海大海洋工程环境学课件03波浪流体力学理论
- 2025年检验检测机构授权签字人考核试题(含答案)
- 十二指肠营养管
- 跟腱断裂的术后护理
- 《光伏电站场区总平面布置技术要求》
评论
0/150
提交评论