1、12主要内容和目的l目的:了解和掌握微型计算机系统的概念和工作原理,为后续课程的学习和工程实践打下良好的基础。l基本内容:以MCS-51单片机为例,介绍单片微机系统的组成及工作原理。l基本要求:了解微型计算机系统的组成、工作原理;掌握汇编语言编程、微机接口技术以及单片机系统基本设计方法。l课程性质:专业(基础)课、试内、必修l考核方式:平时+实验+期末3教材及参考书l教材:l 单片机原理、接口及应用 清华大学出版社,李群芳 编著l参考书:l单片微机原理及应用 清华大学出版社,朱定华 编著 单片机原理及其接口技术 清华大学出版社,胡汉才 编著4检测、控制系统构成输入设定输出显示计算机系统控制器被
2、控对象执行机构检测环节5微机原理及应用程序设计大学计算机基础控制类计算机系列课程公共课专业课 基础课专业基础课工业控制机嵌入式系统可编程控制器PLC数字信号处理器工业组态软件MATLAB6目录l 微型计算机基础l MCS51单片机结构l MCS51指令系统l MCS51汇编语言程序设计l 中断系统l 输入输出l 定时计数器l 串行接口7内 容 提 要l目的:了解计算机运算基础、建立计算机系统的总体概念及掌握常用的术语。l计算机中的数制与码制l微型计算机组成l计算机工作原理l小结81.1 1.1 数制及码制l数制:数的制式,是利用有限个符号进行计数的一种方法。l对于一个任意数制的数N N(n n
3、位整数、m m位小数)可表示为:l其中:R R:数的进制R Ri i:第i i位的权a ai i:数符,有R R个a ai i=0=0,11,R-1 R-1。RainmiiN191.1.1 1.1.1 常用进制l十进制Decimal R10,ai0、1、2、9 逢十进一l二进制Binary R2,ai0,1逢二进一l十六进制Hexadecimal R16,ai0、9、A、B、C、D、E、F 逢十六进一10表1-1 三种进制对照表十进制二进制十六进制十进制二进制十六进制000000810008100011910019200102101010A300113111011B401004121100C5
4、01015131101D601106141110E701117151111F11三种进制间的转换lB、H转换为D 按照权表达式展开相加。lD转换为B 整数:不断除以2,直到余数为0 小数:不断乘以2,直到小数部分为0,或满足精度为止 lB、H间转换 一位H可与四位B转换l三者关系 D B H (人)(表达方式)(机)121.1.2 1.1.2 二进制编码lASCII码(American Standard Code for(American Standard Code for Information Interchange)Information Interchange):采用7 7位二进制编码
5、表示128128个常用字符,用于信息的存储、传送和处理。参见表1.11.1l汉字编码:v输入码:数字(区位码)、拼音、字形v汉字内码:2个字节(D71)v字模码:点阵或轮廓描述 解决汉字的输入、存储、处理以及显示例13 BCD码l定义(Binary Coded Decimal):用4 4位二进制数对一位十进制数进行编码。l特点:形二实十,运算时需逢十进一l存放形式:组合BCDBCD:在一个单元内存放两位BCDBCD非组合BCDBCD:单元内低四位存放一位BCDBCD;高四位为0 0l注意:运算时要相应加6 6调整。141.1.3 有符号数的表示法l无符号数与有符号数无符号数:只有数值没有符号。
6、有符号数:既有数值,又有符号。l机器数与真值机器数:机器中有符号数的表示形式,它将数的正、负符号和数值部分一起进行二进制编码,其位数通常为8 8的整数倍。真值:机器数所代表的实际有符号数。15数据的定点、浮点表示l定点表示:小数点的位置固定不变。定点整数:小数点在最低数据位后。定点小数:小数点在符号位后。l特点:运算简单、速度快;同样位数表示的数的范围小,运算精度低。l浮点表示:任意二进制数Nm2e 其中m为尾数(小数),e为阶(整数)、为移码或补码。l特点:表示数的范围大,运算精度高。16定点整数机器数的表示法符号位数值位D7D6D5D4D3D2D1D0小数点l与真值关系:+/-号0、1化,
7、数值位原码:不变。反码:正数不变;负数按位取反补码:正数不变;负数按位取反+117机器数:原码(n8)l特点:数据表示范围为1270,0127。有两种0的表示法。由于数值位与真值相同,故便于实现乘除运算,不便加减运算。l定义:X原X 0X 2n-12n-1X -2n-1 X018机器数:反码l特点:数据表示范围为1270,0127。有两种0的表示法。负数的反码与其真值一一对应,但不相等。l定义:X反X 0X 2n-1(2n-1)X -2n-1 X019l特点:数据表示范围为1280127。只有一种0的表示法。负数的补码与其真值一一对应,但不相等。X补X反1便于进行加减运算。X补X 0X 2n-
8、12nX -2n-1 X 0机器数:补码l定义:20机器数:移码l定义:X移 2n-1X -2n-1 X 2n-1l特点:数据表示范围为1280127。有一种0的表示法。符号位与原、反、补码不同。真值大,其移码也大。21计算机中数的单位l位(bitbit):一个二进制数中的1 1位,其值不是1 1便是0 0。l字节(ByteByte):一个字节,就是一个8 8位的二进制数。l字(WordWord):两个字节,就是一个1616位的二进制数。l双字:两个字,即四个字节,一个3232位二进制数。l字长:CPU并行处理数据的位数。22一个字节表示的数据l无符号数:00HFFH对应0255。lBCD码(
9、存储方式)组合BCD(packed BCD)BCD(packed BCD)00H99H 非组合BCD(unpacked BCD)BCD(unpacked BCD)00H09Hl有符号数:采用机器数,将真值的或用0和1表示。有原码、反码、补码和移码等形式。23各种编码对照表(mod256)二进制无符号数原码反码补码移码00+0+00-12801+1+1+1-1270127+127+127+127-11128-0-127-12801129-1-126-127+11255-127-0-1+127241.1.4 二进制运算l逻辑运算:根据一定的逻辑关系确定逻辑命题是否成立的操作。l基本逻辑运算:v与
10、AND()v或OR()v非NOT()000 010100 111000 011101 111 0=1 1=0 25基本逻辑门&1 1&=1=1=1=1与门或门非门与非门或非门异或门同或门1 1缓冲门三态门26 算术运算l加:000、011、101、1110l减:000、101、011、110l乘:000、100、010、111l除:0/1=0、1/1=127Fi Ai Bi Ci Ai Bi Ci Ai Bi Ci Ai Bi Ci Ai Bi Ci Ci+1 Ai Bi Ci Ai Bi Ci Ai Bi Ci Ai Bi Ci Ai Bi+(Ai Bi)Ci Ai Bi+Hi Ci 一位二
11、进制全加器AiBiCiFiCi+10000001010100101100100110011011010111111真值表Fi Ai Bi Ci 进位Ci128全加器逻辑图和符号FiFACiBiAiCi1FiCi1CiBiAiHi29整数补码加法l规则:X补Y补XY补l证明:X0,Y0:X补Y补XYXY补X0,Y0:X补Y补(Xmod)(Ymod)(XYmod)XY补X0,Y0:X补Y补(Xmod)Y (XY)+modXY补30整数补码减法l规则:X补 Y补XY补 X补 Y补l证明:X0,Y0:X补Y补X(modY)X(modY)X补 Y补XY补X0,Y0:X补Y补(Xmod)(Ymod)(Xm
12、od)+(modY)XY补X0,Y0:X补Y补X(modY)X(modY)X补 Y补XY补31补码加减法特点l补码运算的结果仍为补码。l符号位参与运算,其进位为模,不计。l采用补码可简化运算器(+/-合一)。l当运算结果超出所能表示范围,溢出。此时运算结果错误。l有符号数扩展l判断溢出的条件:符号位与最高数值位不同时进位。OFCn Cn1132串行进位的加减法器实现:X补Y补XY补 X补 Y补 X补 Y补加法M0f7FAC2C6f1FAC1f0FAC0b7f6FAOFC7a7b6a6b1a1b0a0C8减法M1b7b6b1b033十进制运算l特点:逢十进一l方法:l直接采用十进制加法器(硬件)
13、l利用二进制加法器进行二进制相加,再用十进制调整指令调整。(软件)l例 253762l MOV A,25H ;A=25Hl ADD A,#37H ;A=5CH1.DA A ;A=62H34说明l计算机只识别0 0和1 1,并进行二进制运算;而不能识别是有、无符号数、是补码、BCDBCD码、ASCIIASCII码还是一般的二进制数。l例FFHFFH既可代表无符号255255,又可代表有符号补码1 1;又如32H32H,视作ASCIIASCII码它是字符2,2,视作BCDBCD码,它是十进制数3232,视作二进制数它是5050。l数据的性质完全是人的认定,根据不同的认定作不同的分析和处理(程序设计
14、)。351.2 1.2 微型计算机组成1 现代家庭、办公用计算机构成362 主机内部结构电源主板托架:固定硬盘、光驱、软驱373 主板构成CPU插座内存插槽PCI总线AGP接口电池电缆插座384 4 接口(适配器)用于连接主机与外设39双绞线连接器:RJ45插头和插座40光纤连接器:ST和SC41网络适配器或网络接口卡调制解调器(MODEM)MODEM)42中继器和集线器(HUB):连接和放大的作用43 工控机组成44工业PC总线45ALL IN ONE 模板46无源底板47PC104总线481.2.2 软件类型系统软件应用软件49单片机系统501.2.3 微型计算机系统组成微处理器存储器I/
15、O接口总线 硬件系统微 型计算机系 统微型计算机(主机)外设ALU寄存器控制器输入设备:键盘、鼠标、扫描仪输出设备:显示器、打印机外存:软盘、硬盘、光盘系统软件应用软件软件系统511.2.4 微机硬件系统逻辑结构存储器I/O接口输入设备I/O接口地址总线 ABAB输出设备CPU数据总线 DBDB控制总线 CBCBI/O接口AB:Address Bus,DB:Data Bus,CB:Control Bus其他系统 单片机52lCPUCPU:计算机的控制核心,功能是执行指令,完成算术、逻辑运算,并对整机进行控制。l存储器:用于存储程序和数据,按照字节管理。可分为外存、内存。内存主要有RAMRAM和
16、ROMROM两类。lI/OI/O接口:CPUCPU和外设之间相连的逻辑电路,CPUCPU通过对不同的I/OI/O接口进行操作来完成对外设的操作。功能53l总线:计算机系统内传送信息的公共通道。可分为:DBDB:用于传送程序或数据的总线;ABAB:地址总线用于传送地址,以识别不同的存储单元或I/OI/O接口;CBCB:用于控制数据总线上数据流送的方向、对象等。l外设:各种输入输出设备。54551.2.5 微机主要性能指标l字长:指CPUCPU一次运算二进制数的位数。字长标志着机器处理数据的精度,通常是8 8的倍数。l主频率:时钟脉冲的频率,控制CPUCPU工作的节拍是影响计算机运行速度的重要参数
17、。l存储器容量:计算机所能存放的字节数,包括主存和外存。l运算速度:每秒所能执行的指令条数MIPSMIPSl外设扩展能力:计算机配接各种外设的可能性、灵活性和适应性。561.3 计算机工作原理运算器存储器控制器输入设备输出设备原始 数据结果工作基础:1 二进制2 程序存储控制技术57 1.3.1 计算机解题的一般步骤v建立数学模型 数学模型:描述受控对象输入和输出之间的逻辑结构和数量关系的一整套数学表达式。v选择计算方法v编写解题程序v输入程序、调试程序、运行程序58示例:l问题:输入一个人的身高x,若数值在1米以下则无需购票(输出N),否则需购票(输出Y)。l建立数学模型:l确定算法:l输入
18、程序、调试程序、运行程序输出Y x1N x1 MOV AH,01H INT 21H CMP AL,31H JC NEXT MOV DL,59H JMP DONENEXT:MOV DL,4EHDONE:MOV AH,02H INT 21H INT 20H输入身高xx1输出N输出YEND否是存放地址 机器码 指令0AF8:0100 B401 MOV AH,010AF8:0102 CD21 INT 210AF8:0104 3C31 CMP AL,310AF8:0106 7204 JB 010C0AF8:0108 B259 MOV DL,590AF8:010A EB02 JMP 010E0AF8:01
19、0C B24E MOV DL,4E0AF8:010E B402 MOV AH,020AF8:0110 CD21 INT 210AF8:0112 CD20 INT 2059C语言程序#include void main()float height;char ch;cout请输入身高height;if(height1.0)cout您无需购票endl;else cout您需要购票endl;while(ch=cin.get()!=EOF)601.3.2 指令执行过程取指令指令译码取操作数执行指令存结果关键:1.CPU如何取出程序的第一条指令?2.CPU如何按程序控制流执行指令?3.CPU如何知道从哪里
20、取操作数?程序计数器硬件、操作系统地址、寻址方式611.3.3 模型机执行指令的过程l功能:R0R2R2l具体步骤:将PC中的指令地址送至存储器的AR,从该地址中取出指令送IR;根据IR中的地址码,由地址计算部件形成操作数地址送存储器,取出数据,送到运算器中的寄存器;将IR中的操作码OP送指令译码器进行译码;计算机有关部件在控制器发出的操作控制信号的控制下,执行操作码OP规定的操作;程序计数器PC加1,形成下一条指令地址。1.执行指令62执行过程示意图R0R2R1R32000HPCDRIDADD R0,R2微操作信号发生器时序部件+1读取指令ARIR R0R2R1R32000HPCDRID20
21、00HADD R0,R2微操作信号发生器时序部件+1读取指令ARIR R0R2R1R32000HPCDRID2000HADD R0,R2微操作信号发生器时序部件+1读取指令ARIR R0R2R1R32001HPCDRID2000HADD R0,R2微操作信号发生器时序部件+1读取指令ARIR OP AR0R2R1R32001HPCDRID2000HADD R0,R2微操作信号发生器时序部件+1读取指令ARIR OP AR0R2R1R32001HPCDRID2000HADD R0,R2微操作信号发生器时序部件+1解释指令ARIR OP AR0R2R1R32001HPCDRID2000HADD R
22、0,R2微操作信号发生器时序部件+1解释指令ARIR OP AR0R2R1R32001HPCDRID2000HADD R0,R2微操作信号发生器时序部件+1执行指令ARIR OP AR0R2R1R32001HPCDRID2000HADD R0,R2微操作信号发生器时序部件+1执行指令ARIR OP AR0R2R1R32001HPCDRID2000HADD R0,R2微操作信号发生器时序部件+1执行指令ARIR 63 1.3.4 计算机的工作过程l实质:周而复始地取出指令和执行指令的过程l具体步骤:qCPUCPU送出指令地址PCPC给存储器的ARAR。qPCPC自动加1 1,形成下一条指令的地址
23、。q地址译码器选择对应单元。qCPUCPU读操作读取指令。q指令经DBDB至CPUCPU的DRDR,IRIR由IDID形成相应的微操作信号。q各个部件在微操作信号的控制下执行指令。1.1.重复1 16 6。指令执行过程.swfp 经常不断地学习,你就什么都知道。你知道得越多,你就越有力量p Study Constantly,And You Will Know Everything.The More You Know,The More Powerful You Will Be写在最后谢谢大家荣幸这一路,与你同行ItS An Honor To Walk With You All The Way演讲人:XXXXXX 时 间:XX年XX月XX日