当前位置:文档之家› 89C51单片机的工作方式与工作原理

89C51单片机的工作方式与工作原理

89C51单片机的工作方式与工作原理

89C51 单片机的工作方式与工作原理

89C51 单片机共有复位、程序执行、低功耗以及编程和校验等四种工作方式。

1.复位方式

(l)复位操作复位是单片机的初始化操作,其主要功能是把PC 初始化为OOOOH,使单片机从0000H 单元开始执行程序。除了进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需按复位键以重新启动。

除PC 之外,复位操作还对其它一些特殊功能寄存器有影响,它们的复位状态如上表所示。

复位操作还对单片机的个别引脚信号有影响。例如在复位期间,ALE 和信号变为无效状态,即ALE=LPSEN=1。(2)复位信号及其产生

①复位信号

AT89C51单片机的基本结构和工作原理

AT89C51单片机的主要工作特性: ·内含4KB的FLASH存储器,擦写次数1000次; ·内含28字节的RAM; ·具有32根可编程I/O线; ·具有2个16位可编程定时器; ·具有6个中断源、5个中断矢量、2级优先权的中断结构; ·具有1个全双工的可编程串行通信接口; ·具有一个数据指针DPTR; ·两种低功耗工作模式,即空闲模式和掉电模式; ·具有可编程的3级程序锁定定位; AT89C51的工作电源电压为5(1±0.2)V且典型值为5V,最高工作频率为24MHz. AT89C51各部分的组成及功能: 1.单片机的中央处理器(CPU)是单片机的核心,完成运算和操作控制,主要包括运算器和控制器两部分。

(1)运算器 运算器主要用来实现算术、逻辑运算和位操作。其中包括算术和逻辑运算单元ALU、累加器ACC、B寄存器、程序状态字PSW和两个暂存器等。 ALU是运算电路的核心,实质上是一个全加器,完成基本的算术和逻辑运算。算术运算包括加、减、乘、除、增量、减量、BCD码运算;逻辑运算包括“与”、“或”、“异或”、左移位、右移位和半字节交换,以及位操作中的位置位、位复位等。 暂存器1和暂存器2是ALU的两个输入,用于暂存参与运算的数据。ALU的输出也是两个:一个是累加器,数据经运算后,其结果又通过内部总线返回到累加器;另一个是程序状态字PSW,用于存储运算和操作结果的状态。 累加器是CPU使用最频繁的一个寄存器。ACC既是ALU处理数据的来源,又是ALU运算结果的存放单元。单片机与片外RAM或I/O扩展口进行数据交换必须通过ACC来进行。 B寄存器在乘法和除法指令中作为ALU的输入之一,另一个输入来自ACC。运算结果存于AB寄存器中。 (2)控制器 控制器是识别指令并根据指令性质协调计算机内各组成单元进行工作的部件,主要包括程序计数器PC、PC增量器、指令寄存器、指令译码器、定时及控制逻辑电路等,其功能是控制指令的读入、译码和执行,并对指令执行过程进行定时和逻辑控制。AT89C51单片机中,PC是一个16位的计数器,可对64KB程序存储器进行寻址。复位时PC的内容是0000H. (3)存储器 单片机内部的存储器分为程序存储器和数据存储器。AT89C51单片机的程序存储器采用4KB的快速擦写存储器Flash Memory,编程和擦除完全是电器实现。 (4)外围接口电路 AT89C51单片机的外围接口电路主要包括:4个可编程并行I/O口,1个可编程串行口,2个16位的可编程定时器以及中断系统等。 AT89C51的工作原理: 1.引脚排列及功能 AT89C51的封装形式有PDIP,TQFP,PLCC等,现以PDIP为例。 (1)I/O口线 ·P0口 8位、漏极开路的双向I/O口。 当使用片外存储器及外扩I/O口时,P0口作为低字节地址/数据复用线。在编程时,P0口可用于接收指令代码字节;程序校验时,可输出指令字节。P0口也可做通用I/O口使用,但需加上拉电阻。作为普通输入时,应输出锁存器配置1。P0口可驱动8个TTL负载。 ·P1口 8位、准双向I/O口,具有内部上拉电阻。 P1口是为用户准备的I/O双向口。在编程和校验时,可用作输入低8位地址。用作输入时,应先将输出锁存器置1。P1口可驱动4个TTL负载。 ·P2 8位、准双向I/O口,具有内部上拉电阻。 当使用外存储器或外扩I/O口时,P2口输出高8位地址。在编程和校验时,P2口接收高字节地址和某些控制信号。 ·P3 8位、准双向I/O口,具有内部上拉电阻。 P3口可作为普通I/O口。用作输入时,应先将输出锁存器置1。在编程/校验时,P3口接收某些控制信号。它可驱动4个TTL负载。 (2)控制信号线

键盘输入原理

基础知识 1. 键盘的基本原理 键盘是一组按键的组合,它是最常用的输入设备,操作人员可以通过键盘输入数据或命令,实现简单的人机对话。 键盘是一种常开型的开关,通常键的两个触点处于断开状态,按下键时它们才闭合。键盘的识别有两种方案:一是采用现有的一些芯片实现键盘扫描;再就是用软件实现键盘扫描。目前有很多芯片可以用来实现键盘扫描,如有Intel8279、CH451、ICM7218、PCF8574等。但是键盘扫描的软件实现方法有助于缩减系统的重复开发成本,且只需要很少的CPU 开销。嵌入式控制器的功能很强,可以充分利用这一资源,这里就介绍一下用软件实现键盘扫描的方案。 键盘从结构上分为独立式键盘与矩阵式键盘。一般按键较少时采用独立式键盘,按键较多时采用矩阵式键盘。 (1)独立式键盘。在由单片机组成的测控系统及智能化仪器中,用的最多的是独立式键盘。这种键盘具有硬件与软件相对简单的 特点,其缺点是按键数量较多时,要占用大量口线。当按键没 按下时,CPU对应的I/O接口由于内部有上拉电阻,其输入为

高电平;当某键被按下后,对应的I/O接口变为低电平。只要 在程序中判断I/O接口的状态,即可知道哪个键处于闭合状态。 (2) 矩阵式键盘。矩阵式键盘使用于按键数量较多的场合,它由行线与列线组成,按键位于行、列的交叉点上。一个3*3的行列结构可以构成一个有9个按键的键盘。同理,一个4*4的行列可以构成一个16按键的键盘。很明显,在按键数量较多的场合,与独立式键盘相比,矩阵式键盘要节省很多I/0接口。

2、键盘按键识别方法 (1)扫描法。扫描法有行扫描和列扫描两种,无论采用哪种,其效果是一样的,只是在程序中的处理方法有所区别。下面以行扫描法为例来介绍扫描法识别按键的方法。先向键盘4根行线输出其中某一行为低电平,其它行为高电平,然后读取列值,若某一列值为低电平,则表明同时为低电平的行和列的交叉处按键被按下,如果没有某列为低电平,则继续扫描下一行。因为输入低电平的行是从第一行开始逐行遍历的,故称为行扫描法。行与列是相对的,可以将行按列对待,同时将列按行对待,所实现的扫描法效果是一样的。

单片机原理及应用第三版(张毅刚)1-6章全

第1章思考题及习题1参考答案 一、填空 1. 除了单片机这一名称之外,单片机还可称为或。答:微控制器,嵌入式 控制器. 2.单片机与普通微型计算机的不同之处在于其将、、和三部分,通 过内部连接在一起,集成于一块芯片上。答:CPU、存储器、I/O口、总线 3. AT89S52单片机工作频率上限为 MHz。答:33 MHz。 4. 专用单片机已使系统结构最简化、软硬件资源利用最优化,从而大大降低和提 高。答:成本,可靠性。 二、单选 1. 单片机内部数据之所以用二进制形式表示,主要是 A.为了编程方便B.受器件的物理性能限制 C.为了通用性D.为了提高运算速度 答:B 2. 在家用电器中使用单片机应属于微计算机的。 A.辅助设计应用B.测量、控制应用 C.数值计算应用D.数据处理应用 答: B 3. 下面的哪一项应用,不属于单片机的应用范围。 A.工业控制 B.家用电器的控制 C.数据库管理 D.汽车电子设备 答:C 三、判断对错 1. STC系列单片机是8051内核的单片机。对 2. AT89S52与AT89S51相比,片内多出了4KB的Flash程序存储器、128B的RAM、1个中断 源、1个定时器(且具有捕捉功能)。对 3. 单片机是一种CPU。错 4. AT89S52单片机是微处理器。错

5. AT89C52片内的Flash程序存储器可在线写入,而AT89S52则不能。错 6. 为AT89C51单片机设计的应用系统板,可将芯片AT89C51直接用芯片AT89S51替换。对 7. 为AT89S51单片机设计的应用系统板,可将芯片AT89S51直接用芯片AT89S52替换。对 8. 单片机的功能侧重于测量和控制,而复杂的数字信号处理运算及高速的测控功能则是DSP 的长处。对 四、简答 1. 微处理器、微计算机、微处理机、CPU、单片机、嵌入式处理器它们之间有何区别? 答:微处理器、微处理机和CPU它们都是中央处理器的不同称谓,微处理器芯片本身不是计算机。而微计算机、单片机它们都是一个完整的计算机系统,单片机是集成在一个芯片上的用于测控目的的单片微计算机。 2. AT89S51单片机相当于MCS-51系列单片机中的哪一型号的产品?“S”的含义是什么? 答:相当于MCS-51系列中的87C51,只不过是AT89S51芯片内的4K字节Flash存储器取代了87C51片内的4K字节的EPROM。 3. 单片机可分为商用、工业用、汽车用以及军用产品,它们的使用温度范围各为多少? 答:商用:温度范围为0~+70℃;工业用:温度范围为-40~+85℃;汽车用:温度范围为-40~+125℃;军用:温度范围为-55~+150℃。 4. 解释什么是单片机的在系统编程(ISP)与在线应用编程(IAP)。 答:单片机的在系统编程ISP(In System Program),也称在线编程,只需一条与PC机USB口或串口相连的ISP下载线,就可把仿真调试通过的程序代码从PC机在线写入单片机的Flash存储器内,省去了编程器。在线应用编程(IAP)就是可将单片机的闪存内的应用程序在线修改升级。 5. 什么是“嵌入式系统”? 系统中嵌入了单片机作为控制器,是否可称其为“嵌入式系统”? 答:广义上讲,凡是系统中嵌入了“嵌入式处理器”,如单片机、DSP、嵌入式微处理器,都称其为“嵌入式系统”。但多数人把“嵌入”嵌入式微处理器的系统,称为“嵌入式系统”。目前“嵌入式系统”还没有一个严格和权威的定义。目前人们所说的“嵌入式系统”,多指后者。 6. 嵌入式处理器家族中的单片机、DSP、嵌入式微处理器各有何特点?它们的应用领域有何 不同? 答:单片机体积小、价格低且易于掌握和普及,很容易嵌入到各种通用目的的系统中,

单片机矩阵式键盘连接方法及工作原理

矩阵式键盘的连接方法和工作原理 什么是矩阵式键盘?当键盘中按键数量较多时,为了减少I/O 口线的占用,通常将按键排列成矩 阵形式。在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。这样做有什么好处呢?大家看下面的电路图,一个并行口可以构成4*4=16 个按键,比之直 接将端口线用于键盘多出了一倍,而且线数越多,区别就越明显。比如再多加一条线就可以构成20 键 的键盘,而直接用端口线则只能多出一个键(9 键)。由此可见,在需要的按键数量比较多时,采用矩 阵法来连接键盘是非常合理的。 矩阵式结构的键盘显然比独立式键盘复杂一些,识别也要复杂一些,在上图中,列线通过电阻接 电源,并将行线所接的单片机4 个I/O 口作为输出端,而列线所接的I/O 口则作为输入端。这样,当按 键没有被按下时,所有的输出端都是高电平,代表无键按下,行线输出是低电平;一旦有键按下,则输 入线就会被拉低,这样,通过读入输入线的状态就可得知是否有键按下了,具体的识别及编程方法如下 所述: 二.矩阵式键盘的按键识别方法 确定矩阵式键盘上任何一个键被按下通常采用“行扫描法”或者“行反转法”。行扫描法又称为 逐行(或列)扫描查询法,它是一种最常用的多按键识别方法。因此我们就以“行扫描法”为例介绍矩 阵式键盘的工作原理: 1.判断键盘中有无键按下 将全部行线X0-X3 置低电平,然后检测列线的状态,只要有一列的电平为低,则表示键盘中有键 被按下,而且闭合的键位于低电平线与4 根行线相交叉的4 个按键之中;若所有列线均为高电平,则表 示键盘中无键按下。 2.判断闭合键所在的位置 在确认有键按下后,即可进入确定具体闭合键的过程。其方法是:依次将行线置为低电平(即在 置某根行线为低电平时,其它线为高电平),当确定某根行线为低电平后,再逐行检测各列线的电平状 态,若某列为低,则该列线与置为低电平的行线交叉处的按键就是闭合的按键。 下面给出一个具体的例子: 单片机的P1 口用作键盘I/O 口,键盘的列线接到P1 口的低4 位,键盘的行线接到P1 口的高4

单片机原理及应用总结

单片机原理及应用 第一章绪论 1.什么叫单片机?其主要特点有哪些? 在一片集成电路芯片上集成微处理器、存储器、I/O接口电路,从而构成了单芯片微型计算机,即单片机。 特点:控制性能和可靠性高、体积小、价格低、易于产品化、具有良好的性价比。 第二章80C51的结构和原理 1.80C51的基本结构 a.CPU系统 ●8位CPU,含布尔处理器; ●时钟电路; ●总线控制逻辑。 b.存储器系统 ●4K字节的程序存储器 (ROM/EPROM/FLASH,可外扩至 64KB); ●128字节的数据存储器(RAM,可 外扩至64KB); ●特殊功能寄存器SFR。 c.I/O口和其他功能单元 ●4个并行I/O口; ●2个16位定时/计数器; ●1个全双工异步串行口; ●中断系统(5个中断源,2个优先 级) 2.80C51的应用模式 a.总线型单片机应用模式 ◆总线型应用的“三总线”模式; ◆非总线型应用的“多I/O”模式 3.80C51单片机的封装和引脚 a.总线型DIP40引脚封装 ●RST/V PO:复位信号输入引脚/备用 电源输入引脚; ●ALE/PROG:地址锁存允许信号输 出引脚/编程脉冲输入引脚; ●EA/V PP:内外存储器选择引脚/片 内EPROM编程电压输入引脚; ●PSEN:外部程序存储器选通信号

输出引脚 b.非总线型DIP20封装的引脚 ●RST:复位信号输入引脚 4.80C51的片内存储器 增强型单片机片内数据存储器为256字节,地址范围是00H~FFH。低128字节的配情况与基本型单片机相同。高128字节一般为RAM,仅能采用寄存器间接寻址方式询问。注意:与该地址范围重叠的特殊功能寄存器SFR 空间采用直接寻址方式询问。 5.80C51的时钟信号 晶振周期为最小的时序单位。一个时钟周期包含2个晶振周期。晶振信号12分频后形成机器周期。即一个机器周期包含12个晶振周期或6个时钟周期。 6.80C51单片机的复位 定义:复位是使单片机或系统中的其他部件处于某种确定的初始状态。a.复位电路 两种形式:一种是上电复位;另一种是上电与按键均有效的复位。 b.单片机复位后的状态 单片机的复位操作使单片机进入初始化状态。初始化后,程序计数器 PC=0000H,所以程序从0000H地址单元开始执行。 特殊功能寄存器复位后的状态是确定的。P0~P3为FFH,SP为07H,SBUF 不定,IP、IE和PCON的有效位为0,其余的特殊功能寄存器的状态为00H.相应的意义为: ●P0~P3=FFH,相当于各口锁存器已 写入1,此时不但可用于输出,也 可以用于输入; ●SP=07H,堆栈指针指向片内RAM 的07单元; ●IP、IE和PCON的有效位为0,各 中断源处于低优先级且均被关断、 串行通讯的波特率不加倍; ●PSW=00H,当前工作寄存器为0 组。 7.80C51的存储器组织

矩阵键盘的工作原理和扫描确认方式

9.3.1 矩阵键盘的工作原理和扫描确认方式 来源:《AVR单片机嵌入式系统原理与应用实践》M16华东师范大学电子系马潮 当键盘中按键数量较多时,为了减少对I/O 口的占用,通常将按键排列成矩阵形式,也称为行列键盘,这是一种常见的连接方式。矩阵式键盘接口见图9-7 所示,它由行线和列线组成,按键位于行、列的交叉点上。当键被按下时,其交点的行线和列线接通,相应的行线或列线上的电平发生变化,MCU 通过检测行或列线上的电平变化可以确定哪个按键被按下。 图9-7 为一个 4 x 3 的行列结构,可以构成12 个键的键盘。如果使用 4 x 4 的行列结构,就能组成一个16 键的键盘。很明显,在按键数量多的场合,矩阵键盘与独立式按键键盘相比可以节省很多的I/O 口线。 矩阵键盘不仅在连接上比单独式按键复杂,它的按键识别方法也比单独式按键复杂。在矩阵键盘的软件接口程序中,常使用的按键识别方法有行扫描法和线反转法。这两种方法的基本思路是采用循环查循的方法,反复查询按键的状态,因此会大量占用MCU 的时间,所以较好的方式也是采用状态机的方法来设计,尽量减少键盘查询过程对MCU 的占用时间。 下面以图9-7 为例,介绍采用行扫描法对矩阵键盘进行判别的思路。图9-7 中,PD0、PD1、PD2 为3 根列线,作为键盘的输入口(工作于输入方式)。PD3、PD4、PD5、PD6 为4根行线,工作于输出方式,由MCU(扫描)控制其输出的电平值。行扫描法也称为逐行扫描查询法,其按键识别的过程如下。 √将全部行线PD3-PD6 置低电平输出,然后读PD0-PD2 三根输入列线中有无低电平出现。只要有低电平出现,则说明有键按下(实际编程时,还要考虑按键的消抖)。如读到的都是高电平,则表示无键按下。 √在确认有键按下后,需要进入确定具体哪一个键闭合的过程。其思路是:依

基于单片机的键盘和LED数码管工作原理

基于单片机的键盘和LED数码管工作原理 摘要:键盘和显示器是微机最常见的输入输出设备。本文介绍键盘和LED显示器的基本工作原理,并给出在8051基础上的电路结构及C语言代码。 关键字:键盘,LED,单片机 键盘是微型计算机系统中最基本、最常见的输入设备。在各种工业过程的计算机控制和监视系统中,广泛应用发光二极管向用户提供提示。由发光二极管可以构成7段/8段LED显示器,用于显示工作状态、参数数值和故障位置。一.键盘的工作原理 键盘实际上是一组按键开关的集合,平时按键开关总是处于断开状态,当按下键时它才闭合。 (一)键盘的基本介绍 1.键盘的功能 键盘接口必须具有4个基本功能: 1.去抖动 2.防串键 3.识别被按键并产生与之对应的键码 4.释放键 而键码产生后如何去实现按键的特定功能,是操作系统和应用程序的任务2.键盘的分类 根据按键开关的排列方式,键盘可分为线性键盘和矩阵键盘。 线性键盘:硬件连接和接口程序都很简单,只适用于按键少的场合,因为线性键盘有多少按键,就需要有多少根连线与微机输入端口相连。 矩阵键盘:将按键排成n行m列,每个按键占据行列的一个交点,需要的外连接线数目是m+n,而容许的最大按键数是m*n,显然可以减少微机接口的连线,是一般微机常采用的键盘结构。 3.键盘与单片机的连接方式 矩阵键盘的连接方法有多种。可直接连接于单片机的I/O口线;可利用扩展的并行I/O口连接;也可利用可编程的键盘、显示接口芯片(如8297)进行连接等等。其中,利用扩展的并行I/O口连接方便灵活,在单片机应用系统中比较常用。下图就是通过8255A芯片扩展的并行I/O口连接的矩阵键盘。

鼠标工作原理以及流程(版权所有)

2.4 GHz无线鼠标键盘接收器的设计 ?随着无线通信技术的不断发展,近距离无线通信领域出现了蓝牙、RFID、WIFI等技术。 这些技术不断应用在嵌入式设备及PC外设中。2.4 GHz无线鼠标键盘使用24~2.483 5 GHz无线频段,该频段在全球大多数国家属于免授权使用,这为无线产品的普及扫清了最大障碍。用户可迅速地进入与世界同步的无线设计领域,最大限度地缩短设计和生产时间,并且具有完美性能,能够替代蓝牙技术。 1 系统硬件结构 ?2.4 GHz无线鼠标键盘接收器主要实现鼠标、键盘等HID类设备在PC机上的枚举识别过程和接收无线鼠标或键盘发送的数据(包括按键值、鼠标的上下左右移动等),并将接收到的数据通过USB接口传送给PC机,实现鼠标键盘的无线控制功能。接收器主要由USB接口部分、MCU和无线接收部分组成。系统硬件框图如图l所示。 1. 1 USB接口部分 系统采用H OLT EK公司生产的8位USB多媒体键盘编码器HT82K95E作为系统核心。鼠标、键盘等HID类设备为低速设备,所以接收器要能同时实现鼠标和键盘数据同PC机的双向传输。MCU首先必须具有低速的USB接口,并且最少支持3个端点(包括端点O)。综合考虑选用了 HT82K95E作为本系统的主控芯片。 本系统的USB接口部分电路图如图2所示,其中电阻R100、R101、R102、R103、R104和电容C102、C114和C115用于EMC。由于鼠标和键盘设备属于从设备,所以应在USB-信号线上加1.5 k?的上拉电阻。

1.2 MCU部分 MCU的复位电路采用由R108和C105组成的RC积分电路实现上电复位功能。上电瞬间,由于电容电压不能突变,所以复位引脚为低电平,然后电容开始缓慢充电,复位引脚电位开始升高,最后变为高电平,完成芯片的上电复位。HT82K95E微控制器内部还包含一个低电压复位电路(LVR),用于监视设备的供电电压。如果设备的供电电压下降到0.9 V~VLVR的范围内并且超过1 ms的时间,那么LVR就会自动复位设备。 应当注意的是对于该设备的复位电路,还应加1个二极管1N4148,接法如图2中的VD100。如果不加此二极管,设备在第一次使用时能够正常复位,但在以后的使用却无法正常复位,原因是电容中的电荷无法释放掉,而该二极管可以通过整个电路快速释放掉电容中的电荷。 由于n RF24L01的数据包处理模式支持与单片机低速通信而无线部分高速通信,并且nRF24L01内部有3个不同的RX FIFO寄存器和3个不同的TX FIFO寄存器,在掉电模式下、待机模式下和数据传输的过程中MCU可以随时访问FIFO寄存器。这就允许SPI接口低速传送数据,并且可以应用于MCU 硬件上没有SPI接口的情况下。因此在设计中使用HT82K95E 的PA口模拟SPI总线与nRF42L01的SPI接口通信。

单片机基本原理测试题

精品资料 注意事项: 1. 把此试题重命名为“第 X 组X 号XXX ” 2. 所有的图要用笔画在纸上用手机拍下,再粘贴到试题上; 3. 试题中凡是提到解释原因的或者是为什么的都要详细解释,不要用一句话了事; 4. 解答时直接在问题下面解答就可以了,字体必须要用蓝色的宋体五号字;否则后果自负! 电路分析、解释 1. 电阻的作用?为什么用这么大阻值?写出 计算公式?如果指示灯换成一个① 10mm 的大 led (电流值20ma,压降2V),这个电阻需要接 多大值?写出计算公式如何算? 答:电阻作用是限流。 因为LED 的有效电流在 3mA-20mA 之间, 压降为1.7V 。计算公式为: R= ( 5V-1.7V ) /(0.003A~0.02A),所以计算出来,限流电阻为 165欧 到1100欧之间。 R= ( 5V-2V ) /0.02A=150 欧。 2. 如果供电电压变成 12v 指示灯换成一个① 10mn t 勺大led (电流值20mA 压降2V ),这个电 阻需 要接多大值?写出计算公式? 答:R= (12V-2V ) /0.02A=500 欧。 3、电阻电容大小的的选取及计算? 答:因为充电时间必须超过经过两个机器周 期,又T=RC 所以,对电阻电容的选取具有 参数要求。 单片机初始状态各10 口电平状态如何? 答:高电平 单片机复位的条件? “复位”指复位什么? 答:RST 引脚输入高电平,而且必须超过来两 个机器周期;“复位”指单片机程序从 0000H 物理地址开始执行 复位电平要维持多长时间单片机才复位? 2 复位电路 (要求附 有电容充 电坐标 图,分别 详细解释 上电复位 和手动复 位的关键 1、 手动复位的复位过程及解释: 答:1、RST 引脚由接近于0V 经过超过两个机 器周期,变成高电平,超过时间大约为200mso 因为按键按下后,5V 电源经过1K 电阻然后经 过10K 电阻到 地,电容慢慢充电,经过两个机 器周期,电压到达 4.5V 左右,单片机实现高 电平复位。 2、 上电复位的复位过程及解释: 答:电源上电后,VCC 对电容充电,RST 引脚 由1点几伏慢慢变成将近 5V ,高电平复位。 原理图 点的电位 变化) 1 供电电路

键盘工作原理

键盘工作原理 一、PS/2键盘 PS/2键盘是遵循IBM PS/2键盘协议,通过PS/2的接口与主机相连。PS/2接口共有4条信号线。如下所示: 5-Pin DIN Connector 6-Pin Mini DIN Connector 如上图所示,PS/2接口四条信号线分别为“电源,地线,数据,时钟”。键盘通电后,所有数据都是通过“时钟/数据”两条信号线与主机进行沟通的。键盘与主机之间的沟通每次传送的数据为11位:1个起始位/8个数据位/1个校验位/1个停止位。键盘上每个按键都会进行编码称之为扫描码(Scan Code),每个键都有按下去的码称为通码(Make Code)与弹起来的码称为断码(Break Code)。扫描码又分为两种Code Set 1(简称为CS1)与Code Set2(简称为CS2)。这两种编码方式不同,CS1中“断码=通码+80(十六进制)”;CS2中“断码=F0 + 通码”。举例来说,如字母“A”,CS1码为通码=1E、断码= 9E;CS2码为通码=1C、断码=F0 1C。键盘是按CS2的方式将码传送至电脑主板的上键盘控制口8042,8042再将码转换成CS1的方式再传给操作系统。操作系统收到码后再转换成其相应的功能。

二、USB键盘 USB键盘是随着USB协议的推出而设计出来的。其通讯方式是遵循USB1.1与HID 1.1规范的。HID中文称之为人机接口设备,HID的规范主要定义了如键盘、鼠标、游戏杆等由人直接控制跟电脑相连的一些输入输出设备。 USB键盘的原理较为复杂,这里只能做简单介绍: 1、信号线:分为四条,按顺序依次为“VCC(红色)、DATA-(白色)、DATA+ (绿色)、GND(黑色)。 2、编码:USB编码跟PS/2不同,相对PS/2来讲要复杂。USB键盘编码是根据 功能不同而分成了不同的“Usage Page”,每个Page里再对各个按键进行编码。普通的按键如A、B、C….等Page为07,电源控制部分为01,多媒体控制部分为0C。 3、工作原理:USB键盘是通过主板上USB控制器上的USB接口进行沟通的。 在通电后,主机会侦测其USB接口上是否连有设备,如果有的话,会送出控制数据包到设备。设备厂收到后,会回应相关的数据包到主机。主机再解析收到的数据包,再判断此设备是哪类设备。如果是键盘的话,主机会再送键盘相应的数据包过来,键盘再回应过去,双方沟通完毕后,键盘就能正常使用了。在尚未进入Windows操作系统之前,是由BIOS控制键盘工作的,只做一些简单的沟通双方就能工作,但一些复杂的功能也不能使用,如电源与多媒体控制等功能是没法在DOS下使用的。在进入Windows操作系统后,操作系统会重新初始化键盘,会对键盘所有的数据进行解析。如用户按下字母“A”,键盘会送出含有字母“A”编码的数据包送给系统。系统收到后会解析此数据包,从中寻找其对应的Usage Page 07,再在07中寻找其对应的编码,然后再翻译成相应的功能再在屏幕上显示字母“A”等。

51单片机IO口工作原理

51单片机I/O口工作原理 一、P0端口的结构及工作原理 P0端口8位中的一位结构图见下图: 由上图可见,P0端口由锁存器、输入缓冲器、切换开关、一个与非门、一个与门及场效应管驱动电路构成。再看图的右边,标号为P0.X引脚的图标,也就是说P0.X引脚可以是P0.0到P0.7的任何一位,即在P0口有8个与上图相同的电路组成。 下面,我们先就组成P0口的每个单元部份跟大家介绍一下: 先看输入缓冲器:在P0口中,有两个三态的缓冲器,在学数字电路时,我们已知道,三态门有三个状态,即在其的输出端可以是高电平、低电平,同时还有一种就是高阻状态(或称为禁止状态),大家看上图,上面一个是读锁存器的缓冲器,也就是说,要读取D锁存器输出端Q的数据,那就得使读锁存器的这个缓冲器的三态控制端(上图中标号为…读锁存器?端)有效。下面一个是读引脚的缓冲器,要读取P0.X引脚上的数据,也要使标号为…读引脚?的这个三态缓冲器的控制端有效,引脚上的数据才会传输到我们单片机的内部数据总线上。 D锁存器:构成一个锁存器,通常要用一个时序电路,时序的单元电路在学数字电路时我们已知道,一个触发器可以保存一位的二进制数(即具有保持功能),在51单片机的32根I/O口线中都是用一个D触发器来构成锁存器的。大家看上图中的D锁存器,D端是数据输入端,CP是控制端(也就是时序控制信号输

入端),Q是输出端,Q非是反向输出端。 对于D触发器来讲,当D输入端有一个输入信号,如果这时控制端CP没有信号(也就是时序脉冲没有到来),这时输入端D的数据是无法传输到输出端Q及反向输出端Q非的。如果时序控制端CP的时序脉冲一旦到了,这时D端输入的数据就会传输到Q及Q非端。数据传送过来后,当CP时序控制端的时序信号消失了,这时,输出端还会保持着上次输入端D的数据(即把上次的数据锁存起来了)。如果下一个时序控制脉冲信号来了,这时D端的数据才再次传送到Q端,从而改变Q端的状态。 多路开关:在51单片机中,当内部的存储器够用(也就是不需要外扩展存储器时,这里讲的存储器包括数据存储器及程序存储器)时,P0口可以作为通用的输入输出端口(即I/O)使用,对于8031(内部没有ROM)的单片机或者编写的程序超过了单片机内部的存储器容量,需要外扩存储器时,P0口就作为…地址/数据?总线使用。那么这个多路选择开关就是用于选择是做为普通I/O口使用还是作为…数据/地址?总线使用的选择开关了。大家看上图,当多路开关与下面接通时,P0口是作为普通的I/O口使用的,当多路开关是与上面接通时,P0口是作为…地址/数据?总线使用的。 输出驱动部份:从上图中我们已看出,P0口的输出是由两个MOS管组成的推拉式结构,也就是说,这两个MOS管一次只能导通一个,当V1导通时,V2就截止,当V2导通时,V1截止。 与门、与非门:这两个单元电路的逻辑原理我们在第四课数字及常用逻辑电路时已做过介绍,不明白的同学请回到第四节去看看。 前面我们已将P0口的各单元部件进行了一个详细的讲解,下面我们就来研究一下P0口做为I/O口及地址/数据总线使用时的具体工作过程。 1、作为I/O端口使用时的工作原理 P0口作为I/O端口使用时,多路开关的控制信号为0(低电平),看上图中的线线部份,多路开关的控制信号同时与与门的一个输入端是相接的,我们知道与门的逻辑特点是“全1出1,有0出0”那么控制信号是0的话,这时与门输出的也是一个0(低电平),与让的输出是0,V1管就截止,在多路控制开关的控制信号是0(低电平)时,多路开关是与锁存器的Q非端相接的(即P0口作为I/O口线使用)。 P0口用作I/O口线,其由数据总线向引脚输出(即输出状态Output)的工作过程:当写锁存器信号CP 有效,数据总线的信号→锁存器的输入端D→锁存器的反向输出Q非端→多路开关→V2管的栅极→V2的漏极到输出端P0.X。前面我们已讲了,当多路开关的控制信号为低电平0时,与门输出为低电平,V1管是截止的,所以作为输出口时,P0是漏极开路输出,类似于OC门,当驱动上接电流负载时,需要外接上拉

ATC单片机的基本结构和工作原理

A T C单片机的基本结构 和工作原理 Document serial number【UU89WT-UU98YT-UU8CB-UUUT-UUT108】

AT89C51单片机的主要工作特性: ·内含4KB的FLASH存储器,擦写次数1000次; ·内含28字节的RAM; ·具有32根可编程I/O线; ·具有2个16位可编程定时器; ·具有6个中断源、5个中断矢量、2级优先权的中断结构; ·具有1个全双工的可编程串行通信接口; ·具有一个数据指针DPTR; ·两种低功耗工作模式,即空闲模式和掉电模式; ·具有可编程的3级程序锁定定位; AT89C51的工作电源电压为5(1±)V且典型值为5V,最高工作频率为24MHz. AT89C51各部分的组成及功能:

1.中央处理器 1.单片机的中央处理器(CPU)是单片机的核心,完成运算和操作控制,主要包括运算器和控制器两部分。 以及位操作中的位置位、位复位等。 暂存器1和暂存器2是ALU的两个输入,用于暂存参与运算的数据。ALU的输出也是两个:一个是累加器,数据经运算后,其结果又通过内部总线返回到累加器;另一个是程序状态字PSW,用于存储运算和操作结果的状态。

累加器是CPU使用最频繁的一个寄存器。ACC既是ALU处理数据的来源,又是ALU运算结果的存放单元。单片机与片外RAM或I/O扩展口进行数据交换必须通过ACC来进行。 B寄存器在乘法和除法指令中作为ALU的输入之一,另一个输入来自ACC。运算结果存于AB寄存器中。 (2)控制器 控制器是识别指令并根据指令性质协调计算机内各组成单元进行工作的部件,主要包括程序计数器PC、PC增量器、指令寄存器、指令译码器、定时及控制逻辑电路等,其功能是控制指令的读入、译码和执行,并对指令执行过程进行定时和逻辑控制。AT89C51单片机中,PC是一个16位的计数器,可对64KB程序存储器进行寻址。复位时PC的内容是0000H. (3)存储器 单片机内部的存储器分为程序存储器和数据存储器。AT89C51单片机的程序存储器采用4KB的快速擦写存储器Flash Memory,编程和擦除完全是电器实现。 (4)外围接口电路 AT89C51单片机的外围接口电路主要包括:4个可编程并行I/O 口,1个可编程串行口,2个16位的可编程定时器以及中断系统等。 AT89C51的工作原理: 1.引脚排列及功能 AT89C51的封装形式有PDIP,TQFP,PLCC等,现以PDIP为例。

基于人因工程学原理的键盘设计

学生课程设计(论文) 题目:基于人因工程学原理的键盘设计 学生姓名:学号: 所在院(系):机械工程学院 专业:工业工程 班级:2010级 指导教师:职称: 2013年6 月25 日 教务处制 摘要 随着科学技术的发展,特别是计算机技术的推广和普及,计算机越来越多的应用在人们的日常生活中的各个领域;无论实在工作方面,还是在娱乐休闲方面,

计算机都扮演着重要的角色,在计算机的配件中当然有个重要的配件,那便是计算机重要的输入设备之一---键盘;键盘是人和计算机交互的一个主要界面,它集成了计算机的操作的功能;然而标准的键盘并不符合人机系统高效、舒适的要求不利于提高信息输入的效率;随着日常生活中使用键盘的时间和频率的增加以及键盘设计的不合理性,一些不健康的隐患也随之而来,比如称为“累积性骨骼肌肉损伤”这种职业病;另一个方面,键盘不合理的设计也会降低工作效率。因此最需要的是设计出符合高效、舒适、安全等要求的键盘。 在科学技术不断提高的背景下,我们所使用的产品就需要不断地改善和创新,从一定程度上来讲,每一次的设计应该都是一次创新的过程,作为科学技术载体的产品创新,是改进人类工作、生活方式进而促进社会进步的重要推动力,产品的创新是理性分析产生的,从设计变量来看,工业产品的材料、形态、尺寸、色彩、机理、技术原理等方面都可以成为创新的突破点。产品在设计过程中需要注意的是要依据“以人为本”的设计思想,充分考虑人的因素,并依据人因工程的理论为依据;注重人机交互,注重人与工具的和谐性。 关键词高效,舒适,人机系统,创新,以人为本,交互 目录 摘要 ..............................................................................................................................

单片机概念及其原理

中断:是指CPU在处理某一事件A时,发生了事件B,请求CPU迅速去处理(中断发生);CPU暂时停止当前的工作(中断响应), 转去处理事件B(中断服务);待CPU将事件B处理完毕后, 再回到原来事件A被中断的地方继续处理事件A(中断返回), 这一过程称为中断。 图单片机中断过程 52单片机一共有6个中断源,它们的符号、名称及产生的条件分别解释如下: INT0—外部中断0,由P3.2端口线引入,低电平或下降沿引起INT1—外部中断1,由P3.3端口线引入,低电平或下降沿引起T0—定时器/计数器0中断,由T0计数器计满回零引起 T1—定时器/计数器1中断,由T1计数器计满回零引起 T2—定时器/计数器2中断,由T2计数器计满回零引起

EA—全局中断允许位 EA=1,打开全局中断控制,在此条件下,由各个中断控制位确定相应中断的打开或关闭。 EA=0,关闭全部中断 —无效位 ET2—定时器/计数器2中断允许位 ES—串行口中断允许位 ET1—定时器/计数器1中断允许位 EX1—外部中断1中断允许位 ET0—定时器/计数器0中断允许位 PS PT1—定时器1/计数器1中断优先级控制位 PX1—外部中断1中断优先级控制位 PT0—定时器0/计数器0中断优先级控制位 PX0—外部中断0中断优先级控制位 为1时,定义为高优先级中断;为0时,定义为低优先级中断 51系列中,高优先级中断能够打断低优先级中断以形成中断嵌套。单片机的定时器中断 单片机定时器/计数器的实质:加1计数器(16位),由高8位和低8位两个寄存器组成。TMOD是定时器/计数器的工作方式寄存器,确定工作方式和功能。TCON是控制寄存器,控制T0、T1的启动和停止及设置溢出标志。 定时器中断原理:加1计数器输入的计数脉冲有两个来源,一个是由系统的时钟振荡器输出脉冲经12分频后送来;另一种是T0或T1引脚输入的外部脉冲源,每来一个脉冲计数器加1,当加到计数器全为1时(即65536),再输入一个脉冲就使计数器回零,且计数器的溢出使TCON控制寄存器中TF0或TF1置1,向CPU 发出中断请求(定时器/计数器中断允许时)。若定时器/计数器工作于定时模式,则表示定时时间到;若工作于计数模式,则表示计数值已满。 装载值:溢出时计数器减去计数器初值就是加1计数器的计数值。 ①设置为计数器模式时,加1计数器是对内部机器周期计数(一个机 器周期等于12个震荡周期,即计数频率(机器周期)为晶振频

51单片机原理期末考试题

广西工学201 2011学年 2学期课程考核试 考核课单片机技卷)考核班通08082 考核类闭学生人 8 打印份 8 一、填空题(每小分,2分 1.若累加器A中的数据为67H,则PSW中的P=_1__。 2. 一个机器周期= _6_个状态周期=12个振荡周期。 3.89C51的堆栈是按照先进后出的原则进行存取的RAM区。 4. 用一条指令实现以下功能: 若A中数据不等于200,则程序转至PROM_ CJNZ A,#200H,PROM__。 5. 为了使10H—17H作工作寄存器使用RS1, RS0的取值为__1,0。 6. 89C51中21个特殊功能寄存器,其地址凡是能被8整除的都有位寻址功能。 7. 89C51单片机有片内ROM容量_4KB , RAM容量128。 8. 某串行通信中有1个起始位,8个数据位和1个停止位,应选择的异步串行通信方式为方式1。 9. 在89C51单片机初始化时,SP存放的是07H。 10. 当89C51引脚ALE信号有效时,表示从P0口稳定地送出了_数据和地信息。 四、判断题(每小题2分,共20分) 1.如果发生除法溢出错误,则PSW标志位P置1。(∨) 5.对于89C51单片机,当CPU对内部程序存储器寻址超过4K时,系统会自动在外部程序存储器中寻址(∨)。 6.外加晶振频率越高,系统运算速度也就越快,系统性能也就越好(∨)。 7. 位TF0是定时器T1的溢出中断标志位。(∨) 8.在定时器T0和外部中断1都设为高优先级时,外部中断1优先级高于定时器T0。(×) 9.子程序的返回指令是RETI ,中断程序的返回指令是RET。(×) 10.波特率是数据传输的速率,指每秒传送的字节数。(∨) 3、51有 5个中断源,有2个中断优先级,优先级由软件填写特殊功能寄存器 IP 加以选择 4、中断请求信号有电平触发和脉冲触发两种触发方式。 6、74LS273通常用来作简单输出接口扩展;而74LS244则常用来作简单输入接口扩展。 7、A/D转换器的三个重要指标是转换速度、分辨率和转换精度。 二、选择题(从备选答案中选择一个正确答案,并将代号写在括号内。每题2分,共10分) 1、MCS-51单片机外扩存储器芯片时,4个I/O口中用作数据总线的是( B )。 (A)P0和P2口(B)P0口(C)P2和P3口(D)P2口 2、访问外部数据存储器时,不起作用的信号是( C )。 WRPSENRD(D)(CA))(B)ALE (3、使用定时器T1时,有几种工作模式( C )。 (A)1种(B)2种(C)3种(D)4种 4、MCS-51响应中断时,下面哪一个条件不是必须的( C )。 A、当前指令执行完毕 B、中断是开放的 C、没有同级或高级中断服务 D、必须有RETI指令 5、当MCS-51进行多机通讯时,串行接口的工作方式应选为( C )。 (A)方式0 (B)方式1 (C)方式2 (D)方式0或方式2 三、简答题(每题15分,共30分) 1、MCS-51单片机内部有几个定时/计数器?它们由哪些寄存器组成? 答:MCS-51单片机内部有两个16位可编程的定时/计数器,简称定时器0(T0)和定时器1(T1)。它们分别由方式寄存器TMOD、控制寄存组成。TL1、TH1,TL0、TH0和数据寄存器TCON器. 一、填空题(每空1分,共20分) 1、计算机的系统总线有地址总线、控制总线和数据总线。 2、通常、单片机上电复位时PC= 0000H ,SP= 07H ;而工作寄存器则缺省采用第 00 组,这组寄存器的地址范围是从000H~007H 。 3、JZ e 的操作码地址为1000H,e=20H,它转移的目标地址为 1022H 。 4、汇编语言中可以使用伪指令,它们不是真正的指令,只是用来对汇编过程进行 某种控制进行某种控制。

51单片机的电子钟以及lcd1602显示器的工作原理

51单片机的电子钟以及lcd1602显示器的工作原理 基于51单片机的电子钟C语言程序 #include #include #define uchar unsigned char #define uint unsigned int /*七段共阴管显示定义*/ uchar code dispcode[ ]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F, 0xBF,0x86,0xCB,0xCF,0xEF,0xED,0xFD,0x87,0xFF, 0xDF}; /*定义并初始化变量*/ uchar seconde=0; uchar minite=0; uchar hour=12; uchar mstcnt=0; sbit P1_0=P1^0; // second 调整定义 sbit P1_1=P1^1; //minite调整定义 sbit P1_2=P1^2; //hour调整定义 /*函数声明*/ void delay(uchar k ); //延时子程序 void time_pro( ); //时间处理子程序 void display( ); //显示子程序 void keyscan( ); //键盘扫描子程序 /*****************************/ /*延时子程序*/ /****************************/ void delay (uchar k) { uchar j; while((k--)!=0) { for(j=0;j<125;j++) {;} } } /**************************/ /*时间处理子程序*/ /**************************/ void time_pro( void) {

相关主题
文本预览
相关文档 最新文档