单片机2
单片机2
图2-1 MCS-51的外部引脚
8
单片机原理与应用
EA /VPP:片外ROM访问允许信号输 出引脚/片内 EPROM编程电压输入引脚。 它的功能是: (1)当 EA =0时,允许单片机访问片外 ROM(不允许使用片内ROM)。所以, 对于无片内ROM的单片机(如8031)此 引脚应接地。 (2)当 EA =1时,允许单片机使用片内 ROM。对于具有片内ROM的单片机, 若该引脚为高电平,则CPU在访问片内 ROM时,当访问地址超过所配置容量的 最大值时,会自动转向访问片外ROM。 (3)在对片内EPROM进行编程时,用 于输入编程电压。
23
单片机原理与应用
7.其他主要部件
暂存寄存器TMP1、TMP2:用于暂时存放从 数据总线或ACC送来的操作数。 程序地址寄存器:用于存放当前指令的地址, 具体数据由程序计数器送入。 指令寄存器:用于存放当前正在执行的指令操 作码(指令的构成在下一章中介绍)。 指令译码器:用于对指令寄存器中的指令操作 码进行分析,并把译码结果送给定时与控制部件, 作为产生微操作控制信号的依据。 内部总线:包括地址总线、数据总线和控制总 线,分别用于传递与它们的名称相对应的信号, 内部总线是各部件间进行信息传递的公共通道, 信号传递过程由CPU全盘控制,分时操作,不会 发生冲突。
1.电源引脚
VCC:+5V电源。 Vss:地线。
图2-1 MCS-51的外部引脚
4
单片机原理与应用
2.外接晶振引脚
XTAL1、2: 用于连接晶体振荡器 和微调电容,以便与 单片机内部的振荡器 构成内部时钟电路, 当采用外部时钟时, 作为外部振荡信号的 输入端。
图2-1 MCS-51的外部引脚
20
单片机2修改
8、已知程序执行前有A=01H,SP=42H,(41H)=FFH,(42H)=FFH。
下述程序执行后:POP DPHPOP DPLMOV DPTR,#3000HRL AMOV B,AMOVC A,@A+DPTRPUSH AMOV A,BINC AMOVC A,@A+DPTRPUSH ARETORG 3000HDB 10H,80H,30H,80H,50 H,80H请问:A= 80H ,SP= 42H,(41H)= 30H ,(42H)= 80H 。
9、在存储器扩展中,无论是线选法还是译码法,最终都是为了扩展芯片的片选端提供信号。
10、在MCS-51中,PC和DPTR都用于提供地址,但PC是为了访问程序存储器提供地址,而DPTR是为访问数据存储器提供地址。
11、16KB RAM存储器的首地址若为3000H,则末地址为 6FFF H。
二.选择题(每题2分,共16分)1、8051与8751的区别是:A、内部数据存储但也数目的不同B、内部程序存储器的类型不同C、内部数据存储器的类型不同D、内部的寄存器的数目不同2、判断以下有关PC和DPTR的结论是否正确?A、DPTR是可以访问的,而PC不能访问。
对B、它们都是8位的存储器错C、它们都有加1的功能。
错D、DPTR可以分为两个8位的寄存器使用,但PC不能。
对3、PC的值是A、当前正在执行指令的前一条指令的地址B、当前正在执行指令的下一条指令的地址C、当前正在执行指令的地址D、控制器中指令寄存器的地址4、判断下列说法是否正确A、 8031共有21个特殊功能寄存器,它们的位都是可以用软件设置的,因此,是可以进行位寻址的。
错B、内部RAM的位寻址区,只能供位寻址使用,而不能供字节寻址使用。
错C、程序计数器PC不能为用户编程时直接使用,因为它没有地址。
对5、下列说法错误的是:A、各中断发出的中断请求信号,都会标记在MCS -51系统的IE寄存器中。
B、各中断发出的中断请求信号,都会标记在MCS -51系统的TCON与SCON寄存器中。
单片机 第五章2 单片机的定时器计数器
若晶振频率为6MHz,1个机器周期为1/6 x 10-6 x12=2μs 则最小定时时间为:[213 –(213 -1)]x2μs=2μs 最大定时时间为:[213 –0] x2μs=16384μs =16.384ms
2、 方式1 (T1,T0) 当M1M0两位为 01时,定时 /计数器被选为工作方式 1,16位计数器,其逻辑结构 如图 所示。
8FH TCON TF1 8EH TR1 8DH TF0 8CH TR0 8BH IE1 8AH IT1 89H IE0 88H IT0
TF1(TCON.7, 8FH位)----定时器T1中断请求溢出标志位。 TF0(TCON.5, 8DH位)----定时器T0中断请求溢出标志位。 TR1(TCON.6, 8EH位)----T1运行控制位。 0:关闭T1;1:启动T1运行。只由软件置位或清零。 TR0(TCON.4, 8CH位)----T0运行控制位。 0:关闭T0;1:启动T0运行。只由软件置位或清零。
1、 方式0 (T1,T0)
当 M1M0两位为 00时,定时 /计数器被选为工作方式 0, 13位计数器,其逻辑结 构如图所示。
振荡器 ÷12 C/ T = 0 TL0 低5位 C/ T = 1 控制 T0 端 TR0 GATE INT0 端 TH0 高8 位 TF0 中断
+
在方式0下,计数工作方式时,计数值的范围是: 1~8192(213 ) 定时工作方式时,定时时间的计算公式为: (213一计数初值)×晶振周期×12 或(213一计数初值)×机器周期
例4:用定时器l 以工作方式2计数,每计100次进行累计器加1操作.
(1)计算计数初值. 28—100=156D=9CH TH1=9CH,TL1=9CH TMOD寄存器初始化:MlM0=10,C/T=1,GATE=0 因此 TMOD=60H (2)程序设计序设计
单片机指令大全(二)2024
单片机指令大全(二)引言概述:本文是关于单片机指令大全的第二部分。
在上一部分中,我们介绍了一些常用的单片机指令和其功能。
本文将继续介绍更多的单片机指令,包括数据传输、逻辑运算、算术运算、位操作以及状态寄存器等方面的指令。
这些指令将帮助您更好地理解和使用单片机。
1. 数据传输指令1.1. MOV指令:将一个数据从源操作数传送到目的操作数。
1.2. LDI指令:将一个立即数传送到一个寄存器。
1.3. LDS和STS指令:将数据从SRAM传送到寄存器或将寄存器的数据传送到SRAM。
1.4. IN和OUT指令:将数据从端口传送到寄存器或从寄存器传送到端口。
2. 逻辑运算指令2.1. AND、OR和XOR指令:进行逻辑与、逻辑或和逻辑异或运算。
2.2. NOT指令:对一个寄存器的数据进行逻辑非运算。
2.3. CLR指令:将一个寄存器的数据清零。
3. 算术运算指令3.1. ADD和SUB指令:对两个操作数进行加法或减法运算。
3.2. INC和DEC指令:对一个寄存器的数据进行加1或减1操作。
3.3. MUL和DIV指令:进行乘法和除法运算。
4. 位操作指令4.1. ANDI、ORI和XORI指令:对一个寄存器的数据进行与、或和异或运算。
4.2. SBI和CBI指令:设置或清除一个I/O端口的某个位。
4.3. SBIC和SBIS指令:跳转指令,根据指定的I/O端口位是否被设置或清除执行跳转操作。
5. 状态寄存器相关指令5.1. SEI和CLI指令:设置或清除全局中断。
5.2. SREG指令:用于保存和恢复状态寄存器的值。
5.3. IJMP和EIJMP指令:用于从程序中直接跳转到任意存储器位置。
总结:本文介绍了单片机指令大全的第二部分内容,包括数据传输、逻辑运算、算术运算、位操作以及状态寄存器等方面的指令。
这些指令的功能与用法将有助于您更好地理解和应用单片机。
通过熟练掌握这些指令,您将能够更加灵活地进行单片机程序的设计与开发。
单片机 (2)
单片机1. (一)选择题50道1.51单片机芯片是双列直插式封装的,有(C)个引脚 [单选题] *A、24B、30C、40(正确答案)D、502. 一个机器周期等于()个振荡周期。
[单选题] *A、2B、4C、8D、12(正确答案)3. 单片机中,程序状态字CY、OV、P分别为()。
[单选题] *A、进位、溢出、奇偶标志位B、溢出、进位、奇偶标志位C、进位、溢出、A累加器1的奇偶标志位(正确答案)D、奇偶标志位、进位、溢出位4. 在单片机应用系统中,LED数码管显示电路通常有()显示方式。
[单选题] *A、静态B、动态C、静态和动态(正确答案)D、查询5. 启动定时器0开始计数的指令是使TCON的() [单选题] *A、TF0位置1B、TR0位置1(正确答案)C、TR0位置0D、TR1位置06. 单片机中断允许寄存器中的定时器T1允许或禁止控制位是()。
[单选题] *A、ET0B、ET1(正确答案)C、EX0D、EX17. 在串行通信中,数据传输沿两个方向,但需要分时进行传输的是()传输模式。
[单选题] *A、单工B、半双工(正确答案)C、全双工8. 提高单片机的晶振频率,则机器周期() [单选题] *A、不变B、变长C、变短(正确答案)D、不定9. C51编译器中不支持的存储模式是() [单选题] *A、Xdata(正确答案)B、SmallC、CompactD、Large10. 以下不是构成单片机的部件() [单选题] *A、微处理器B、存储器C、I/O接口D、打印机(正确答案)11. 单片机中断允许寄存器中的串行中断允许或禁止控制位是()。
[单选题] *A、ET0B、ET1C、ES(正确答案)D、EA12. D/A转换器所使用的数字量位数越多,则它的转换精度() [单选题] *A、越高(正确答案)B、越低C、不变D、不定13. 共阴极数码管是将所有发光二极管的( )连接在一起,数码管的动态显示是利用发光二极管的(),让人感觉数码管是同时点亮。
2004单片机(PIC) 2 单片机工作方式
第二章 单片机结构和流水线指令工作方式
2.1 2.2 2.3 2.4 2.5 PIC单片机的哈佛结构及引脚说明 PIC单片机的哈佛结构及引脚说明 流水线指令结构 程序储存器 寄存器结构和寻址方式 CPU内部寄存器 CPU内部寄存器
2.1 PIC单片机的哈佛结构及引脚说明 PIC单片机的哈佛结构及引脚说明
程 序 存 储 器
14 13 8
CPU
8
2.2 流水线指令结构
周期 从地址N 从地址N中读 取第n 取第n条指令 周期 执行第n 执行第n条 指令
从地址N+1读取 从地址N+1读取 第n+1条指令
周期
周期
执行第N+1条 执行第N+1条 指令
从地址N+2 从地址N+2 读取第n 读取第n条指令
执行第n 执行第n+2条 指令
从地址N 从地址N+3读 பைடு நூலகம்第n 取第n+3条指令
2.3 程序存储器
• PIC16f87x 有1个13位宽的程序计数器PC, 13位宽的程序计数器PC,
其最大寻址范围为:2 其最大寻址范围为:213=8K;(8k×14) (8k× • 系统复位时,PC自动指向0x0000; 系统复位时,PC自动指向0x0000; ORG 0H • 程序结构:
MOVF 0,0
FSR间接寻址
STATUS
位助记符
位
Bit0 Bit1 Bit2 Bit3 Bit4 Bit5 Bit6
说明
进位/ 进位/借位标志 辅助进位/ 辅助进位/借位标志 零标志位 降耗标志位 超时标志位 RAM数据存储器体选位,用于直接寻址 RAM数据存储器体选位,用于直接寻址
RP0 0 0 1 1 RP1 0 1 0 1 说明 选中体0 选中体0 选中体1 选中体1 选中体2 选中体2 选中体3 选中体3
单片机课件2
5.2 定时/计数器51机内置了二个16位的定时/计数器,分别称为T0、T1(T2只在52机以上才有)。
5.2.2 定时/计数功能概述其中,T2只有52以上机才有。
每个定时/计数器均由两个独立的8位寄存器构成,分为高8位(H )和低8位(L )。
他们可以通过CPU 对工作方式寄存器TMOD 设置为16位寄存器使用,最大计数值为FFFFH ;也可独立作为8位寄存器使用,最大计数值为FFH 。
2.工作方式寄存器TMOD (89H ,不可位寻址)TMOD 上、下半字节对称,分别对应T0、T1的工作状态。
以T0为例,各位的意义如下: C/T :此位为0,为定时模式,此位为1,为计数模式。
M1、M0:工作方式选择。
该2位可组成00、01、10、11四种数字组合,对应为工作方式0、1、2、3。
注意:T1没有工作方式3。
GA TE ——定时/计数器启动方式控制位。
3.控制字寄存器TCON (88H ,可位寻址)TF1:定时器1的溢出标志;TF0:定时器0的溢出标志。
CPU 响应定时/计数器中断,标志自动清零;若CPU 不响应此中断,则此标志需用软件清除。
TR0:定时器0运行控制位,靠软件置位或清除。
置位时,定时/计数器0接通工作,TR0=0,定时器0停止工作。
TR1:是关于定时器1的,含义与TR0类似。
TCON 的低四位与外部中断相关,待讨论。
4.定时/计数器T0、T1工作方式及内部结构(1)工作方式0(13位定时/计数器,M1M0=00H)(少用)当 C/T =0时,计数脉冲来自CPU 内部分频器,为定时,标准51计数脉冲频率是时钟信号的12分频(而STC 系列有“6时钟/机器周期”和“12时钟/机器周期”两种模式,计数脉冲是系统时钟信号的6或12分频),当 C/T =1时,计数脉冲来自T0或T1引脚,即处于计数方式。
D0D1D2D3D4D5D6D7M0M0M1M1C/T C/T GATE GATE T1方式字段T0方式字段图5-8 定时/计数器工作方式寄存器TMOD D0D1D2D3D4D5D6D7IT0TR0IE0TF0TF1IE1图5-9定时/计数器控制寄存器TCON TR1IT1(2)工作方式1 (16位定时/计数器,M1M0=01H) (常用)(3)方式2 (M1M0=10) (常用) 此方式下,TLx 作为可自动重装8位计数器,TLx 的溢出不仅置位TFx ,而且将THx 的内容装入TLx 。
单片机 实验2-外部中断程序设计-中断按键按下次数计数数码管显示-硬件和程序设计参考
硬件电路参考如下:程序参考如下:#pragma sfr#pragma interrupt INTP0 LED_INTP0 /* 定义使用INTP0中断,中断函数名LED_INTP0*/ #pragma di /*禁止使用中断功能声明*/#pragma ei /*允许使用中断功能声明*//*数码管编码数组*/unsigned char LED_light[10]={0x30,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x3F}; unsigned char j=0; /*按键次数变量*/void hdinit() /*硬件初始化*/{PM1=0; /*P1口输出数码管字型码,所以设置为输出*/PU1=0XFF; /*由于P1口直接驱动数码管显示,为增大驱动,设置为内部上拉*/PM12.0=0; /*P12.0口线要作为中断多功能,设置为输出和内部上拉 */PU12.0=1;PIF0=0; /*中断请求标志,没有中断请求*/PMK0=0; /*中断屏蔽标志,允许中断*/PPR0=1; /*中断优先级,低优先级*/EGP.0=1; /*与EGN组合,上升沿有效*/EGN.0=0;}void main (void){DI(); /*首先做准备,禁止中断*/IMS=0XCC;IXS=0X00;hdinit();EI(); /*准备完成,允许中断*/while(1){ /*啥也不干,就等待中断,仅是在这个实验中使用中断,实际不是这样/*}}__interrupt void LED_INTP0() /*中断函数*/{ P1= LED_light[j]; /*P1赋值,数码管显示相应数值*/j++; /*按键次数加一*/if(j==10) /*如果按键次数达到十次,按键计数归0*/{j=0;} }思考: 如果用两位数码管,从0—99循环计数又该怎样设计硬件和软件呢?。
单片机 第二章 习题参考答案
一、填空题:1、当MCS-51引脚ALE有效时,表示从P0口稳定地送出了低8位地址。
2、MCS-51的堆栈是软件填写堆栈指针临时在片内数据存储器内开辟的区域。
3、当使用8751且EA=1,程序存储器地址小于 1000H 时,访问的是片内ROM。
4、MCS-51系统中,当PSEN信号有效时,表示CPU要从外部程序存储器读取信息。
5、MCS-51有4组工作寄存器,它们的地址范围是 00H~1FH 。
6、MCS-51片内20H~2FH范围内的数据存储器,既可以字节寻址又可以位寻址。
7、PSW中RS1 RS0=10时,R2的地址为 12H 。
8、PSW中RS1 RS0=11时,R2的地址为 1AH 。
9、单片机系统复位后,(PSW)=00H,因此片内RAM寄存区的当前寄存器是第 0 组,8个寄存器的单元地址为 00H ~ 07H 。
10、PC复位后为 0000H 。
11、一个机器周期= 12 个振荡周期= 6 个时钟周期。
12、PC的内容为将要执行的的指令地址。
13、在MCS-51单片机中,如果采用6MHz晶振,1个机器周期为 2us 。
14、内部RAM中,位地址为30H的位,该位所在字节的字节地址为 26H 。
15、若A中的内容为63H,那么,P标志位的值为 0 。
16、8051单片机复位后,R4所对应的存储单元的地址为 04H ,因上电时PSW=00H 。
这时当前的工作寄存器区是第 0 工作寄存器区。
17、使用8031芯片时,需将/EA引脚接低电平,因为其片内无程序存储器。
18、片内RAM低128个单元划分为哪3个主要部分:工作寄存器区、位寻址区和用户RAM区。
19、通过堆栈操作实现子程序调用,首先就要把 PC 的内容入栈,以进行断点保护。
调用返回时,再进行出栈保护,把保护的断点送回到 PC 。
20、MCS-51单片机程序存储器的寻址范围是由程序计数器PC的位数所决定的,因为MCS-51的PC是16位的,因此其寻址的范围为 64 KB。
单片机定时器方式2的工作原理
单片机定时器方式2的工作原理
单片机定时器方式2的工作原理如下:
在定时器方式2中,定时器/计数器被配置为一个16位的定时器模式。
当定时器/计数器的计数达到最大值(对于8051单片机,最大值为65535)时,计数器会自动回滚到0,并产生一个溢出事件。
当定时器/计数器溢出时,定时器/计数器的输出比较寄存器将被立即加载到输出比较寄存器中。
这意味着在溢出发生后,输出比较寄存器的值将立即被复制到输出比较寄存器中,并产生一个中断请求。
在定时器方式2中,输出比较寄存器的值可以通过编程来设置。
当输出比较寄存器的值被设置后,定时器/计数器的当前计数值将与输出比较寄存器的
值进行比较。
如果定时器/计数器的计数值小于输出比较寄存器的值,则定
时器/计数器的计数值将递增,直到定时器/计数器的计数值等于输出比较寄存器的值。
当定时器/计数器的计数值等于输出比较寄存器的值时,输出比较寄存器的
值将被复制到输出比较寄存器中,并产生一个中断请求。
此时,定时器/计
数器的计数值将被清零,并重新开始计数。
因此,通过设置输出比较寄存器的值,可以控制定时器/计数器的计数值何时达到溢出值,从而控制定时器的定时时间。
单片机第2章习题答案
第2章习题答案一.选择题1.8051单片机用于选择内外程序存储器的控制信号是( B )(A)RST(B)EA(C)PSEN(D)ALE2.PC的值是( B )(A)当前正在执行指令的前一条指令的地址(B)当前正在执行指令的地址(如果当前指令执行完毕,则PC值为下一条指令的首地址)(C)当前正在执行指令的下一条指令的地址(D)控制器中指令寄存器的地址3.ALE信号有效的时候,表示( B )。
(A)从ROM中读取数据(B)从P0口可靠地送出地址低8位(C)从P0口送出数据(D)从RAM中读取数据4.8051复位时,下述说法正确的是( D )。
(A)(20H)=00H (B)SP=00H (C)SUBF=00H (D)TH0=00H5.外部中断1固定对应的中断入口地址为( C )。
(A)0003H (B)000BH (C)0013H (D)001BH6.P1口的每一位都能驱动( B )。
(A)2个TTL低电平负载(B)4个TTL低电平负载(C)8个TTL低电平负载(D)10个TTL低电平负载7.使用8751且EA=1时,则可以扩展ROM( B )。
(内外总和64KB)(A)64KB (B)60KB (C)56KB (D)58KB8.在扩展系统中,能够提供地址信号的高8位的端口是( C )。
(A)P0口(B)P1口(C)P2口(D)P3口9.内部RAM中具有位地址的区域是( B )。
(A)00H~1FH (B)20H~2FH (C)20H~3FH (D)30H~7FH二.填空题1.MCS—51单片机的P0~P3口均是双向 I/O口,其中的P0口和P2口除了可以进行数据的输入、输出外,通常还用来构建扩展系统的数据总线和地址总线,在P0~P3口中,真正的双向口为P0口,P1口、P2口、P3 为准双向口。
2.P2口在扩展系统当中通常用作地址总线的高8位,也可以作通用的I/O口使用。
3.8051的堆栈只可设置在片内RAM30H-7FH,堆栈寄存器SP是 8 位寄存器。
单片机第2章单片机基本原理(第2次课)
00H 7FH 80H FFH
片内 RAM SFR
0000H
00H 7FH 80H 片外 RAM FFH 片内RAM 80H SFR FFH
0000H
SRF
片外 R
(b)
图2.6 数据存储器编址图
(a) 51子系列
(b) 52子系列
2.内部数据存储器 128个,字节地址为00H~7FH。 00H-1FH: 32个单元,是4组 通用工作寄存器区 20H-2FH: 16个单元,可进行 128位的位寻址 30H-7FH: 用户RAM区,只能 字节寻址,用作数据缓 冲区以及堆栈区。
图2-2 MCS-51系列单片机内部结构框图
2.2.3 MCS-51系列单片机的中央处理器
中央处理器(CPU)是单片机内部的核心部件, 它决定了单片机的主要功能特性。 它由运算部件 和控制部件两大部分组成。
运算部件
对操作数进行算术、逻辑运算和位操作 运算部件以算术逻辑单元(ALU)为核心,包括 累加器(ACC)、寄存器(B)、暂存器1、暂存器2、 程序状态字(PSW)、布尔处理器等。它的功能 是完成算术和逻辑运算、位变量处理和数据传送 等操作。
图2.5 程序存储器编址图 (a) 51子系列;(b) 52子系列
2.程序的7个特殊入口地址
操 作 入口地址
复位
外部中断0 定时器/计数器0溢出
0000H
0003H 000BH
外部中断1
定时器/计数器1溢出 串行口中断 定时器/计数器0溢出或T2EX端负跳变(52子系 列)
0013H
001BH 0023H 002BH
其字节地址的末位是0H或8H可位寻址。
表2-2
SFR的名称及其分布
1.堆栈指针SP
单片机第二章习题参考答案
单片机第二章习题参考答案一、填空题:1、当MCS-51引脚ALE有效时,表示从P0口稳定地送出了低8位地址。
2、MCS-51的堆栈是软件填写堆栈指针临时在片内数据存储器内开辟的区域。
3、当使用8751且EA=1,程序存储器地址小于 1000H 时,访问的是片内ROM。
4、MCS-51系统中,当PSEN信号有效时,表示CPU要从外部程序存储器读取信息。
5、MCS-51有4组工作寄存器,它们的地址范围是 00H~1FH 。
6、MCS-51片内20H~2FH范围内的数据存储器,既可以字节寻址又可以位寻址。
7、PSW中RS1 RS0=10时,R2的地址为 12H 。
8、PSW中RS1 RS0=11时,R2的地址为 1AH 。
9、单片机系统复位后,(PSW)=00H,因此片内RAM寄存区的当前寄存器是第 0 组,8个寄存器的单元地址为 00H ~ 07H 。
10、PC复位后为 0000H 。
11、一个机器周期= 12 个振荡周期= 6 个时钟周期。
12、PC的内容为将要执行的的指令地址。
13、在MCS-51单片机中,如果采用6MHz晶振,1个机器周期为 2us 。
14、内部RAM中,位地址为30H的位,该位所在字节的字节地址为 26H 。
15、若A中的内容为63H,那么,P标志位的值为 0 。
16、8051单片机复位后,R4所对应的存储单元的地址为 04H ,因上电时PSW=00H 。
这时当前的工作寄存器区是第 0 工作寄存器区。
17、使用8031芯片时,需将/EA引脚接低电平,因为其片内无程序存储器。
18、片内RAM低128个单元划分为哪3个主要部分:工作寄存器区、位寻址区和用户RAM区。
19、通过堆栈操作实现子程序调用,首先就要把PC 的内容入栈,以进行断点保护。
调用返回时,再进行出栈保护,把保护的断点送回到 PC 。
20、MCS-51单片机程序存储器的寻址范围是由程序计数器PC 的位数所决定的,因为MCS-51的PC是16位的,因此其寻址的范围为 64 KB。
(完整版)STC89C52单片机定时器2的使用
52单片机有3个定时器,T2是一个16位自动重载的,像T0和T1的方式2一样,只不过它是16位重载,如果作为计数器或定时用,中断用的是5,就是interrupt 5,T2的引脚是P1.0口。
P1.0作为I/O 口用了以后T2计数是不行了,不过定时或是作为串口时钟还是可以的。
T2CON(T2的控制寄存器),字节地址0C8H:0CFH 0CEH 0CDH 0CCH 0CBH 0CAH 0C9H 0C8HTF2 EXF2 RCLK TCLK EXEN2 TR2 C/T2 CP/RT2 各位的定义如下:TF2:定时/计数器2溢出标志,T2溢出时置位,并申请中断。
只能用软件清除,但T2作为波特率发生器使用的时候,(即RCLK=1或TCLK=1),T2溢出时不对TF2置位。
EXF2:当EXEN2=1时,且T2EX引脚(P1.0)出现负跳变而造成T2的捕获或重装的时候,EXF2置位并申请中断。
EXF2也是只能通过软件来清除的。
RCLK:串行接收时钟标志,只能通过软件的置位或清除;用来选择T1(RCLK=0)还是T2(RCLK=1)来作为串行接收的波特率产生器TCLK:串行发送时钟标志,只能通过软件的置位或清除;用来选择T1(TCLK=0)还是T2(TCLK=1)来作为串行发送的波特率产生器EXEN2:T2的外部允许标志,只能通过软件的置位或清除;EXEN2=0:禁止外部时钟触发T2;EXEN2=1:当T2未用作串行波特率发生器时,允许外部时钟触发T2,当T2EX引脚输入一个负跳变的时候,将引起T2的捕获或重装,并置位EXF2,申请中断。
TR2:T2的启动控制标志;TR2=0:停止T2;TR2=1:启动T2C/T2:T2的定时方式或计数方式选择位。
只能通过软件的置位或清除;C/T2=0:选择T2为定时器方式;C/T2=1:选择T2为计数器方式,下降沿触发。
CP/RT2:捕获/重装载标志,只能通过软件的置位或清除。
单片机实验报告二 单片机IO口实验
南昌大学实验报告学生姓名:学号:专业班级:实验类型:⃞验证⃞综合⃞设计⃞创新实验日期:2019.4.16 实验成绩:实验二单片机I/O口实验(一)实验目的1.掌握单片机最小系统的构成,学习如何控制I/O口来驱动发光二极管,掌握移位和软件延时程序的编写。
2.熟练掌握STC型开发板的使用方法和注意事项。
3.掌握应用STC_ISP烧录过程;(二)设计要求利用51单片机及4个LED发光二极管,设计一个单片机流水灯程序,P4.7 /P4.6/ P1.6/ P1.7 来演示跑马灯。
其中流水灯的变化形式多样。
(三)实验原理STC实验箱单片机型号为IAP15W4K32S4-Student,其在线编程与在线仿真可由Keil uVision4集成开发环境和STC系列单片机在线可编程(ISP)电路实现:1.设置STC仿真器:运行STC-ISP在线编程软件,选择“keil 仿真设置”选项,如图1所示,单击“添加型号和头文件到keil中/ 添加STC仿真器驱动到keil中”,弹出“浏览文件夹”对话框,在浏览文件夹中选择keil的安装目录,单击“确定”按钮即完成添加。
根据所用芯片,单击“将IAP15W4K32S4-Student设置为仿真芯片”。
图12.Keil uVision4环境设置:选择菜单命令Project →Options for Target →Debug,选中“STC Monitor-51 Driver”,勾选“Load Application at Startup”选项和“Run to main()”选项,如图2所示。
单击图2右上角的“settings”按钮,弹出硬件参数设置对话框,如图2所示,根据仿真电路所使用的串口号(本机所用为串口5)选择串口端口,如图3所示:图2图33.STC15单击串口TTL电平通信模块结构如图4所示,P1.6、P1.7、P4.6、P4.7所连接的LED灯为共阳极LED,控制对应I/O口为低电平即可点亮LED。
单片机2-2
80C51的引脚封装 2.3.2 80C51的引脚封装
总线型 非总线型
单片机的引脚
51单片机一般采用40脚DIP封装或PLCC 封装,其引脚包括四大部分: 电源引脚 时钟电路引脚 控制信号引脚 I/O(输入/输出)引脚
电源引脚( 电源引脚(共2个) 个
Ucc:供电电源+5伏,40脚 Uss:接地,20脚
(3)在功能上,该系列单片机有基本型 )在功能上, 和增强型两大类: 和增强型两大类: 基本型: 基本型: 8051/8751/8031 80C51/87C51/80C31 增强型: 增强型: 8052/8752/8032 80C52/87C52/80C32
增强型与基本型的比较: 增强型与基本型的比较:
51单片机 口的第二功能 51单片机P3口的第二功能 单片机
引脚 P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 第二功能 RXD(串行口输入) RXD(串行口输入) 串行口输入 TXD(串行口输出) TXD(串行口输出) 串行口输出 INT0(外部中断0输入) INT0(外部中断0输入) 外部中断 INT1(外部中断1输入) INT1(外部中断1输入) 外部中断 T0(定时器0的外部输入) T0(定时器0的外部输入) 定时器 T1(定时器1的外部输入) T1(定时器1的外部输入) 定时器 WR(片外数据存储器写选通控制输出) WR(片外数据存储器写选通控制输出) 片外数据存储器写选通控制输出 RD(片外数据存储器读选通控制输出) RD(片外数据存储器读选通控制输出) 片外数据存储器读选通控制输出
片内ROM的配置形式举ຫໍສະໝຸດ : 的配置形式举例: 片内 的配置形式举例
﹡无ROM(即ROMLess)型,应用时要在片外 ( ) 扩展程序存储器; 扩展程序存储器; 掩膜ROM(即MaskROM)型,用户程序由 ﹡掩膜 ( ) 芯片生产厂写入; 芯片生产厂写入; 型 用户程序通过写入装置写入, ﹡ EPROM型,用户程序通过写入装置写入,通 过紫外线照射擦除; 过紫外线照射擦除; ﹡ FlashROM型,用户程序可以电写入或擦除 型 当前常用方式)。 (当前常用方式)。 还有OTPROM型(一次性编程写入 还有 型 一次性编程写入ROM) 产 ) 具有较高的环境适应性和可靠性。 品,具有较高的环境适应性和可靠性。
单片机实验2实验报告
MOV R1, 07H
LJMP W2
CA4: MOV R4, #0FEH
W3: MOV A, R1
XRL A, #04H
JZ K3
MOV A, R1
JNZ TZ
K3: MOV P3, R4
CLR FM
LCALL delay500ms
SETB FM
LCALL delay500ms
v=keyscan();//调键扫描程序
}
break;
case 2:
temp=0x7f;
while(v==2||v==0)/*流水灯逆时针测试*/
{
P3=temp;
delay1s();
a=temp<<7;
temp=temp>>1;
temp=a|temp; /*或者用temp=_cror_(temp,1);*/
v=keyscan();//调键扫描程序
}
break;
case 4: temp=0xfe;
while(v==4||v==0)/*数码管显示数字0-7测试*/
{
P3=temp;
FM=0;
delay500ms();
FM=1;
delay500ms();
a=temp>>7;
temp=temp<<1;
temp=a|temp; /*或者用temp=_crol_(temp,1);*/
{
while(1)
{
switch(v)
{
case 1:
temp=0xfe;/*流水灯顺时针流水测试*/
while(v==1||v==0)
{
P3=temp;
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机原理及应用三、问答题1、写出MCS-51的5种寻址方式,并简单说明含义是什么?●立即寻址:操作数直接在指令中。
●直接寻址:操作数所在的存储单元地址在指令中。
●寄存器寻址:寄存器中的内容就是操作数。
●寄存器间接寻址:指定寄存器中的内容是操作数的地址。
●寄存器变址寻址:以PC或DPTR为基址,以ACC为变址,以两者相加的地址寻找程序区的数据。
2、MCS-51不能及时响应中断的条件是什么?●CPU正在处理同级或更高一级的中断;●当前周期不是执行当前指令的最后一个周期;●当前正在执行RET、RETI、IP、IE后需要再执行一条指令后才能响应中断。
4、MCS-51单片机内256B的数据存储器可分为几个区?地址范围是多少?分别作用是什么?答:划分为4个区:(1)通用寄存器区,00h-1Fh,用作4组工作寄存器,辅助ACC运算。
(2)可位寻址区,20h-2Fh,可用位指令直接操作,便于逻辑控制。
(3)字节寻址RAM区,30h-7Fh,一般的数据缓冲区。
(4)专用寄存器区(SFR),80h-FFh,用于单片机的指定功能。
5、用MOVX指令访问外部数据存储器时有那几种指令?各指令的寻址范围多少?答案:MCS-51对外部数据存储器的访问指令有以下4条:1)MOVX A, @Ri 寻址范围:256B P2辅助2)MOVX @Ri, A 256B P2辅助3)MOVX A, @DPTR 64KB4)MOVX @DPTR, A 64KB6、简述行列键盘扫描的主要思路。
行列键盘扫描的主要思路:首先确定是否有键按下,消除抖动,若有键按下,输出逐行或列的扫描字,读取列或行的状态,确定按键键值,然后再判断按键是否释放,若释放,即可返回。
7、什么叫7段LED数码管的动态显示和静态显示,各自的优势是什么?静态显示形式,即七段LED数码管在显示某一个字符时,相应的段(发光二极管)恒定的导通或截至,直至换显其他字符为止。
显示稳定。
动态显示是将所有数码管的段码线对应并联在一起,由一个8位的输出口控制,每位数码管的公共端(称位选线)分别由一位I/O口线控制,以实现各位的分时选通。
节省硬件开销。
8.要访问SFR寄存器和片外数据寄存器,应采用什么寻址方式?答:访问SFR寄存器必须采用直接寻址方式。
访问片外数据寄存器必须采用间接寻址。
9.什么是堆栈?其主要作用是什么?堆栈是后进先出的数据存储区一般用于中断处理过程中,若需要保护现场数据(如内部RAM单元的内容),可使用入栈指令,将数据压入堆栈,中断处理过程执行完后,再使用出栈指令恢复现场数据。
10.中断服子程序与普通子程序有什么异同之处?答:两者都是子程序,中断服务子程序,由中断调用,有固定的地址人口,返回指令为“reti”普通子程序由“LCALL”指令调用,反回指令“RET”。
12.MCS-51系列单片机的外部中断有哪两种触发方式?如何设置?答:MCS-51系列单片机的外部中断有电平触发和边沿触发两种方式。
是由特殊功能寄存器TCON中IT0,IT1的状态确定的,如:IT0为1时外部中断0为边沿触发方式,否则为电平触发方式。
13 MCS-51系列单片机的外部中断有哪两种触发方式?如何设置?四、程序分析题1.设SP=60H,片内RAM的(30H)=24H,(31H)=10H,在下列程序注释中填写执行结果。
PUSH 30H ;SP= 61H ,(SP)= 24HPUSH 31H ;SP= 62H ,(SP)= 10HPOP DPL ;SP= 61H ,DPL= 10HPOP DPH ;SP= 60H ,DPH= 24HMOV A,#00HMOVX @DPTR, A最后的执行结果是(2410H)=00H 。
2.编程将内部数据存储器20H~30H单元内容清零,写出每条指令的功能,并画出程序流程图。
MOV R0,#20H ;MOV A,#0 ;MOV R3,#17 ;LOOP :MOV @R0,A ;INC R0 ;DJNZ R3,LOOP;3. 如果已知(R0)=4BH,(A)=84H, 片内RAM(4BH)=7FH,(40H)=20H,写出下面每条指令的数据传送情况和结果数据。
MOV A,@R0 ;数据7FH→(A)=7FhMOV @R0,#40H ;数据40h→(4BH)=40hMOV 40H,A ;数据7FH→(40H)=7FhMOV R0, #35H ;数据35h→(R0)=35h问执行程序后,R0、A和4BH单元内容的是什么?答:(R0)=35h,(A)=7Fh,(4Bh)=40h4. 分析程序的主要功能是什么?假定(SP)=50H,(ACC)=30H,(B)=70H,(51H)=73H,(52H)=19H,执行下列命令:PUSH ACCPUSH BPOP ACCPOP B执行指令后:(SP)=50H,(ACC)=70H,(B)= ,(51H)=30H,(52H)=程序的主要功能是:ACC和B交换数据五、编程题1.编写汇编循环程序将ROM区的2000H-200Fh单元的数据复制到内部RAM的20H-2Fh单元中。
解:MOV R0,#20HMOV R7,#10HMOV DPTR,#2000hMOV A,#0LOOP: MOVC A,@A+DPTRMOVX @R0, AINC R0INC DPTRMOV A,#0DJNZ R7 , LOOPEND2.已知单片机的f osc=12MHz,设计延时0.1s的子程序。
设晶振频率为12MHz,一个机器周期为1µs,延时1ms的子程序:执行时间(机器周期)DELAY: MOV R7, #0FFH 1LOOP: NOP 1NOP 1DJNZ R7, LOOP 2RET 2该程序段的总的执行时间为:(1+4×255+2) s=1023µs≈1ms5、设有甲、乙两台8051单片机,甲机要将内部RAM单元50H~5FH中的16个数发往乙机。
已知甲机晶振频率为11.0592MHz,串口波特率为4800bps,完成下面的问题:(1)如果甲机发数时要加奇偶校验位,则甲机应工作于何种方式?(2)设串行口波特率由定时器T1产生,请写出定时器T1的初始化程序。
(3)用查询方式发送数据,请编写甲机发送子程序。
答:(1)方式3(2)MOV TMOD, #20HMOV TH1, #0FAHMOV TL1, #0FAHSETB TR1(3)SEND: MOV R0, #50HMOV R2, #0FHCLR TIAGAIN: MOV A, @R0MOV C,PMOV TB8, CMOV SBUF, AWAIT: JBC TI, NEXTSJMP WAITNEXT: INC R0DJNZ R2 , AGAINRET六、综合计算题1.试用6264为8051单片机扩展24K数据存储器,画出系统电路图,并分别写出各芯片的地址。
答:电路图如下:各芯片的地址如下:6264(1):C000H~DFFFH;6264(2):A000H~BFFFH;6264(3):6000H~7FFFH。
2.分析下图所示电路,回答下列问题(注不用的地址线取“0”)(1)写出8155并行I/O扩展芯片的PA和PB口的地址及6116(1)的地址范围;(2)补充单片机的/E A、XTAL1和XTAL2引脚的外部连接(直接画在图中);(3)写出2716的地址范围,编写程序将2716 0400H单元的内容读到单片机内部RAM的30H单元中;(4)编写程序将6116(1) 最低地址单元开始的16个数据读到单片机内部RAM的40H开始的单元中;答:(1)PA口地址0001H;PB口地址0002H;6116(1)的地址范围为:0800H~0FFFH(2)见图;(3)2716的地址范围为:0000H~07FFH;(4) MOV DPTR, #0400HMOV A, #00HMOVC A, @A+DPTRMOV 30H, A(5)MOV R2, #16MOV R0, #40HMOV DPTR, #0800HLP: MOVX A, @DPTRMOV @R0, AINC DPTRINC R0DJNZ R2, LP4、设有甲、乙两台8051单片机,甲机要将数据发往乙机。
已知甲乙机晶振均为11.0592MHz,串口波特率为9600bps,采用奇校验。
完成下面的问题:(1)如果甲机发数时要加奇偶校验位,则甲机串口应工作于何种方式;(2)设串行口波特率由定时器T1产生,请写出定时器T1的初始化程序;(3)请编写乙机查询接收子程序。
答:(1)方式3(2)MOV TMOD, #20HMOV TH1, #0FDHMOV TL1, #0FDHSETB TR1(3)IN1:CLR RIMOV A, SBUFMOV C,PCPL CJNC LP0 ; C不为1,转LP0JNB RB8, ERR ; RB8=0, 即RB8不为P转ERRSJMP LP1LP0: JB RB8, ERRLP1: RET。