单片机基础第1章.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
如图1-4是一堆栈的结构图。通过这个图可以了解以下几点: ① 这个堆栈的栈底为50H,在程序初始化过程中可以通过指令MOV SP,#50H来指定,同时确定堆栈深度为51H~7FH,在具体使用中的堆栈深度根据实际需要保存的数据个数来确定。 ② 当前堆栈指针SP的值为54H,即当前栈顶为54H。 ③ 这4个数据的压栈顺序为10H、14H、58H、64H,根据“先进后出”原则,这4个数据的出栈顺序为64H、58H、14H、10H。 从上面几点看,堆栈与手枪弹夹的结构和工作原理十分相似。 图1-4 堆栈结构示意图 4.输入/输出设备及其接口电路 单片机系统的输入/输出设备也称作I/O设备,比如键盘、鼠标、显示器、微型打印机等。输入/输出(I/O)接口由大规模集成电路组成的I/O器件构成,用来连接主机和相应的I/O设备(如:键盘、鼠标、显示器、打印机等),使得这些设备和主机之间传送的数据、信息在形式上和速度上都能匹配。不同的I/O设备必须配置与其相适应的I/O接口。通常,这些接口电路集成在一块芯片上。如8255A、8155、8253、DAC0832、ADC0809等扩展芯片。 1.2.2 单片机系统软件组成 只配备硬件设备的单片机系统,并不能完成我们所需要实现的功能,硬件是实现功能的载体,而软件是硬件的灵魂,目前用来设计软件的语言分为三类。 1.机器语言 机器语言的主要特点是: (1)由一组二进制码组成,直接能被计算机识别并执行。 (2)不同的微处理器,采用不同的机器语言。 (3)可读性差,直观性差,容易出错,目前基本不采用。 2.汇编语言 汇编语言的主要特点是: (1)用助记符代替机器语言中的操作码。 (2)汇编语言翻译成机器语言的方法有两种:一种是手工查表汇编,一种是机器汇编。由于机器汇编方便,目前基本上都是采用机器汇编。 (3)不同的微处理器采用不同的汇编语言。 (4)较直观,可读性好,占用内存少,速度快。 3.高级语言 高级语言的主要特点是: (1)采用类似人类自然语言的程序设计语言。 (2)通过专门的编译程序翻译成机器语言。 (3)通用性强,移植性好,不随微处理器的不同而不同。 (4)目前较流行的有C51、PL/M和BASIC语言。 三种语言各有特点,本书介绍的是汇编语言,虽然不同类型单片机的汇编语言有所不同,但还是有很多相似之处,可以举一反三。同时,在掌握汇编语言的基础上,再去掌握高级语言的编程,能达到事半功倍的效果。 1.3 单片机中数的表示及编码 在日常生活中,我们经常使用的是十进制数,而在单片机中,二进制机器编码是它的基本语言,考虑到二进制在书写和阅读方面的缺点,在单片机软件编写过程中,常引入十六进制数来表示。 如何进行十进制、二进制、十六进制之间的相互转换,是基本的数字处理能力,这里不再详述。对此有疑问的初学者,可以参考有关的数字电路基础的数据,本书主要介绍正负数在计算机中的表示方法和有关编码知识。 1.3.1 正数和负数在单片机中的表示方法 在日常数字表示中,有符号数的正负性可以用“+”、“-”来表示,但是在计算机数字表示中,有符号数的正负根据其最高位是“0”还是“1”来区分。如在8位微机中,D7位表示这个数的符号,是“1”,表示负数,是“0”,表示正数,其余位表示数值位的大小,如图1-5所示。 图1-5 8位有符号数的表示方法 【例1-1】指出N1和N2的值。 解: 由于N1的D7位为1,是负数,后面的数值位的值为6,则N1= -6; 由于N2的D7位为0,是正数,后面的数值位的值为7,则N2=+7。 那么,在计算机中,-6和+7的存储形式真的如此吗?我们来看一下下面的例子。 【例1-2】求S=N1+N2=-6+7。 解:根据例1-1的结果,-6=1000 0110B,+7=0000 0111B,则运算过程如下: N1 N2 S=-13 S=-13,很明显,结果错误,那么问题出在哪里呢?主要是因为有符号数在计算机中的表示方法出现错误。在计算机中,有符号数的表示方法有3种:原码、反码和补码。我们上面两个例子采用的都是原码,但是,计算机中,负数是以补码形式存储并参与运算的。下面我们来具体了解正负数的原码、反码和补码。 1.正数的原码、反码、补码 正数的表示最简单,它的原码、反码和补码都一样,即 【X】原 =【X】反 =【X】补 = X 【例1-3】X=+9,求其原码、反码、补码。 解:+9,则 【+9】原 =【+9】反

文档评论(0)

132****9295 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档