单片机原理与应用及C51程序设计谢维成杨加国主编董秀成审四川省高等教育教学改革工程人才培养质量和教学改革项目教材单片机原理与应用及C51程序设计单片机原理与应用及C51程序设计目录第一章基础知识第二章单片机基本原理第三章单片机汇编程序设计第四章单片机C语言程序设计第五章MCS-51单片机内部资源及编程第六章CS-51单片机系统扩展第七章MCS-51与键盘、显示器的接口第八章MCS-51与D/A、A/D的接口第九章MCS-51单片机的其他接口第十章单片机应用系统设计第十一章单片机应用系统设计实例第十二章KEILC51集成环境的使用第一章基础知识第一章基础知识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表示,正数的反码与原码相同,而负数的反码可在原码的基础之上,符号位不变,其余位取反得到。对于一个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第一章基础知识三.补码补码表示时,最高位为符号位,正数用0表示,负数用1表示,正数的补码与原码相同,而负数的补码可在原码的基础之上,符号位不变,其余位取反,末位加1得到。对于一个负数X,X的补码也可用2...