单片机原理与应用PrinciplesandApplicationofMicrocontroller讲授:唐露新广东工业大学信息工程学院测控技术系学习要求:上课记笔记独立完成作业认真做好实验学习方法:动手实践Practiceisabestwaytolearning.第1章计算机基础知识1.1计算机发展与应用1.2计算机的应用概况1.3计算机的数制及转换1.4单片机应用概况1.5单片机结构及指令执行过程1.1计算机发展与应用一、发展概况1946-1958:第一代电子管计算机。磁鼓存储器,机器语言汇编语言编程。世界上第一台数字计算机ENIAC。1958-1964:第二代晶体管计算机。磁芯作主存储器,磁盘作外存储器,开始使用高级语言编程。1964-1971:第三代集成电路计算机。使用半导体存储器,出现多终端计算机和计算机网络。1971-:第四代大规模集成电路计算机。出现微型计算机、单片微型计算机,外部设备多样化。1981-:第五代人工智能计算机。模拟人的智能和交流方式。二、计算机发展趋势微型化─便携式、低功耗巨型化─尖端科技领域的信息处理,需要超大容量、高速度智能化─模拟人类大脑思维和交流方式,多种处理能力系列化、标准化─便于各种计算机硬、软件兼容和升级网络化─网络计算机和信息高速公路多机系统─大型设备、生产流水线集中管理(独立控制、故障分散、资源共享)1.2计算机的应用概况1.科学计算:人造卫星轨迹,天气预报等2.数据处理:企业管理、情报检索等3.自动控制:航天飞行、火星探测等现场控制等4.辅助设计和制造5.系统仿真6.智能模拟7.计算机网络与信息高速公路1.3计算机的数制及转换一、十进制ND有十个数码0~9、逢十进一。十进制用于计算机输入输出,人机交互。二、二进制NB两个数码:0、1,逢二进一。二进制为机器中的数据形式。三、十六进制NH十六个数码:0~9,A~F,逢十六进一。十六进制用于表示二进制数。不同进位制数以下标或后缀区别,十进制数可不带下标。如:101、101D、101B、101H、101H1.3.1进位计数制简介表1-2-1不同进位记数制对照表十进制二进制十六进制十进制二进制十六进制000000810008100011910019200102101010A300113111011B401004121100C501015131101D601106141110E701117151111F一、十进制ND符号集: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+…1.3.2进位计数制二、二进制NB符号集: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展开式以十六为基数,各位系数为0~9,A~F。一般表达式: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.625DFC.8H=13×162+15×161+12×160+8×16-1=3580.5二、二进制与十六进制数之间的转换24=16,四位二进制数对应一位十六进制数。举例:3AF.2H=001110101111.0010=1110101111.001B3AF21111101.11B=01111101.1100=7D.CH7DC三、十进制数转换成二、十六进制数1.整数转换法“除基取余”:十进制整数不断除以转换进制基数,直至商为0。每除一次取一个余数,从低位排向高位。举例:(1)39转换成二进制数39=100111B2391(b0)2191(b1)291(b2)240(b3)220(b4)211(b5)0(2)208转换成十六进制数208=D0H16208余01613余13=DH02.小数转换法“乘基取整”:用转换进制的基数乘以小数部分,直至小数为0或达到转换精度要求的位数。每乘一次取一次整数,从最高位排到最低位。举例:(1)0.625转换成二进制数1)0.625×22)1.2501(b-×23)0.500(b-×21.01(b-0.625=0.101B(2)0.625转换成十六进制数0.625×16=10.00.625=0.AH(3)208.625转换成十六进制数208.625=D0.AH1.3.4带符号数的表示方法机器中,数的符号用“0”、“1”表示。最高位作符号位,“0”表示“+”,“1”表示“-”。一、机器数与真值机器数:机器中数的表示形式,其位数通常为8的倍数真值:机器数所代表的实际数值。举例:一个8位机器数与它的真值对应关系如下:真值:X1=+84=+1010100BX2=-84=-1010100B机器数:[X1]机=01010100[X2]机=11010100二、原码(TrueForm)最高位为符号位,0表示“+”,1表示“-”。数值位与真值数值位相同。例8位原码机器数:真值:x1=+1010100Bx2=-1010100B机器数:[x1]原=01010100[x2]原=11010100原码表示简单直观,但0的表示不唯一,加减运算复杂。三、补码(Two’sComplement)正数的补码表示与原码相同。负数补码的符号位为1,数值位等于求反加1。例:求8位补码机器数:x=+4[x]补=00000100x=-410000100x1111011[x]补=11111100补码表示的优点:0的表示唯一,加减运算方便数的补码与“模”有关“模”即计数系统的量程。当X0,[X]补=模-|X|。8位二进制数的模为:28=256当X0,[X]补=28-|X|=256-|X|=255-|X|+1=[X]反码+1规则:求反加1,符号位不变。如:10001101B其补码:11110010规定:00000000B为010000000B不是-0,而是-1288位机器数表示的真值8位机器数有符号数十六进制二进制无符号数原码补码0001…7F80…FEFF0000000000000001…0111111110000000…111111101111111101…127128…254255+0+1…+127-0…-126-127+0+1…+127-128…-2-1四、机器数与真值之间的转换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=FF01H1.3.5二—十进制编码BCD码BCD码(BinaryCodedDecimal)二进制代码表示的十进制数。一、8421BCD码例:求十进制数876的BCD码[876]BCD=100001110110876=36CH=1101101100B二、BCD码运算十进制调整:计算机实际按二进制法则计算,加入十进制调整操作,可计算BCD码。十进制调整方法:当计算结果有非BCD码或产生进位或借位,进行加6或减6调整。例:计算BCD码38-29=?00111000[38]BCD+11010111-[29]BCD100001111产生非BCD+11111010-06调整100001001结果无借位:91.3.6字符编码美国标准信息交换码ASCII码,用于计算机与计算机及外设之间传递信息。行列0000010100111001011101110000NULDLESP0@P、p0001SOHDC1!1AQaq0010STXDC2”2BRbr0011ETXDC3#3CScs0100EOTDC4$4DTdt0101ENQNAK%5EUeu0110ACKSYN&6FVfv0111BELETB’7GWgw1000BSCAN(8HXhx1001HTEM)9IYiy1010LFSUB*:JZjz1011VTESC+;K[k{1100FFFS,<L\l¦1101CRGS-=M]m}1110SORS·>N↑n~1111SIUS/?O_oDEL1.4单片机应用概况1976-1978初级8位单片机IntelMCS-48系列1978-高档8位单片机IntelMCS-51系列:-51子系列:8031/8051/8751-52子系列:8032/8052/8752低功耗型80C31高性能型80C252廉价型89C2051/10511983-16位单片机IntelMCS-96系列8098/8096、80C198/80C196,DSP32位单片机ARM二、计算机主要技术指标字长:CPU并行处理二进制的数据位数8位机、16位机、32位机和64位机。内存容量:内存存储单元数容量单位:1K=210=1024,1M=220=1KK8K、64K、16M、64M。运算速度:CPU处理速度时钟频率、主频、每秒运算次数6MHz、12MHz、24MHz、100MHz、300MHz。内存存取周期:内存读写速度50nS、70nS、200nS。1.5单片机结构及指令执行过程单片机即单片机微型计算机,是将计算机主机(CPU、内存和I/O接口)集成在一小块硅片上的微型机。单片机为工业测控而设计,又称微控制器。具有三高优势(集成度高、可靠性高、性价比高)。主要应用于工业检测与控制、计算机外设、智能仪器仪表、通讯设备、家用电器等。特别适合于嵌入式微型机应用系统。单片机开发系统有单片单板机和仿真器。实现单片机应用系统的硬、软件开发。一、单片机结构图1-1单片机组成框图二、计算机指令执行过程开始取指令PC+1执行指令图1-2取指令、执行指令序列