- 1、本文档共257页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[信息与通信]《单片机原理及应用》结构与功能
一片半导体硅片集成:中央处理单元(CPU)、存储器(RAM、ROM)、并行I/O、串行I/O、定时器/计数器、中断系统、系统时钟电路及系统总线的微型计算机。 具有微型计算机的属性,因而被称为单片微型计算机,简称单片机。 CPU结构 CPU是8051内部的一个字长为8位的中央处理单元,它包括三部分:运算器、控制器和专用寄存器组。 2.3.2 控制器 8051单片机的控制器由指令寄存器(IR)、定时控制逻辑和振荡器(OSC )等电路组成。相关寄存器有指令译码器、堆栈指针SP、程序计数器PC、数据指针DPTR、RAM地址寄存器以及16位地址缓冲器等组成。 IR主要用于存放从程序存储器中取出的指令码;定时控制逻辑用于对指令寄存器的指令进行译码,在OSC的配合下产生指令的时序脉冲,完成相应指令的执行; OSC是控制器的核心,它产生矩形时钟脉冲序列,并为控制器提供时钟脉冲;时钟频率的高低是衡量单片机的重要性能指标之一。 2.3.3 专用寄存器组 专用寄存器主要用于存放当前要执行的命令在存储器中的存储单元地址、存放操作数和指令执行后的各种状态等。它主要由堆栈指针SP、程序计数器PC、数据指针DPTR、累加器ACC、通用寄存器B、RAM地址寄存器以及16位地址缓冲器等组成。 程序计数器PC----是一个16位的程序地址寄存器,用来存放将要执行下一条指令所在存储单元的地址。编码范围0000H~FFFFH,寻址范围为64KB。 累加器ACC---8位寄存器,主要用来存放参与运算的操作数和ALU运算的结果。 数据指针DPTR--- 16位寄存器,主要用来存放数据存储器RAM的地址。 堆栈指针SP---用户在内部RAM中专门开辟的一个专用存储区域。 存储数据原则: “先进后出,后进先出”。 通用寄存器B---8位寄存器,在执行乘除法运算时,用来存放其中一个操作数和运算结果中的一部分。 2.5 单片机指令时序 1、时钟电路 时钟电路用于产生单片机工作所需要的时钟信号,而时序研究的是指令执行中各信号之间的相互联系。 因其内部有时钟电路,只需外接定时控制元件(晶体振荡器和电容)即可。见2.1.2。 2、时序定时单位 1个机器周期=6个状态周期=12个时钟周期 当振荡脉冲频率为12MHz时,一个机器周期是1us; 9.1.2 键盘设计 1. 独立式按键 2. 键盘矩阵 9.1.3 按键的识别编程 1. 程控按键扫描 2. 定时按键扫描 3. 外部中断按键扫描 9.1.4 键盘识别举例 例1 采用查询法对如图9.2所示的电路图进行按键扫描编程: ORG 0000H AJMP MAIN ORG 0040H MAIN: MOV SP, #60H … LOOP: … JNB P1.0, KEY0 ;如果P1.0为低,则转至以KEY0为标号的程序段执行 JNB P1.1, KEY1 ;如果P1.1为低,则转至以KEY1为标号的程序段执行 JNB P1.2, KEY2 ;如果P1.2为低,则转至以KEY2为标号的程序段执行 JNB P1.3, KEY3 ;如果P1.3为低,则转至以KEY3为标号的程序段执行 … LJMP LOOP KEY0: CALL DELAY10MS … RET KEY1: CALL DELAY10MS … RET KEY2: CALL DELAY10MS … RET KEY3: CALL DELAY10MS … RET 例4 编程对图9.3所示键盘进行识别。 判断是否有键按下。 (2) 判断哪个键按下 。 9.2 LED显示器接口 9.2.1 LED简介 图9.5 LED结构原理及外形图 图9.6 LED各段的传统排列顺序 9.2.2 LED显示器及显示方式 9.2.3 LED与单片机的接口设计 例1 对于并行接口的LED显示,其应用较为简单,如图9.7所示为通过P1口驱动一只LED显示器的例子。 其例程为: ORG 0000H AJMP MAIN OR
文档评论(0)