文档库 最新最全的文档下载
当前位置:文档库 › 完整word版汇编51单片机考试常见试题

完整word版汇编51单片机考试常见试题

完整word版汇编51单片机考试常见试题
完整word版汇编51单片机考试常见试题

一、填空题

1.单片机是把 中央处理器 、存储器、定时器/ 计数器以及 I/O 接口电路等主要计 算机部件集成在一块集成电路芯片上的微型计算机。

2.除了单片机这一名称之外,单片机还可称为 微控制器、嵌入式控制器 。 3.计算机的系统总线有 地址总线 、控制总线 和 数据总线 。

4. 80C51单片机基本型内部 RAM 有 128个字节单元,这些单元可以分为三个用 途不同的区域,一是 工作寄存器区 、二是位寻址区 、三是数据缓冲区 。 8051 单片机有 2 个 1 6位定时/计数器。

单片机存储器的主要功能是存储 程序和数据。80C51含4 KB 掩膜ROM 80C51在物理上有4个独立的存储器空间。

通常、单片机上电复位时 PC= 0000H SP=07H ;而工作寄存器则缺省采用第 组,这组寄存器的地址范围是从 00H~ 07H 。

8051的堆栈是向地址的 高端生成的。入栈时SP 先加1,再压入数据。

10. 使用8031芯片时,需将/EA 引脚接低电平,因为其片内无 程序存储器。 11. MCS-51特殊功能寄存器只能米用直接寻址方式。

12. 汇编语言中可以使用 伪指令,它们不是真正的指令, 只是用来对汇编过程进 行某种控制。 13. 半导体存储器的最重要的两个指标是 存储容量 和 存储速度 。

14. 当PSW4=1,PSW3时,工作寄存器 Rn,工作在第2组。

15. 在 8051 单片机中,由 2 个振荡(晶振)周期组成 1 个状态(时钟)周期, 由 6 个状态周期组成 1 个机器周期。

16. 假定累加器A 的内容30H,执行指令:1000H: MOVC A @A+P 后,把程序 存储器1031H 单元的内容送累加器A 中。

17. MCS-5仲片机访问外部存储器时,利用 ALE 信号锁存来自P0 口的低8位地 址信号。

18. 内部RAM 中,位地址为30H 的位,该位所在字节的字节地址为 26Ho 19 .若A 中的内容为63H,那么,P 标志位的值为0。

20. 在基址加变址寻址方式中,以累加器A 作变址寄存器,以DPTF 或PC 作基址 寄存器。

21. 指令格式是由 操作码和操作数所组成,也可能仅由 操作码组成。

22. 通过堆栈操作实现子程序调用,首先就要把 PC 的内容入栈,以进行断点保 护。调用返回时,再进行出栈保护,把保护的断点送回到 PC 。

23. MC & 51单片机程序存储器的寻址范围是由程序计数器 PC 的位数所决定的, 因为MC & 51的PC 是16位的,因此其寻址的范围为 64KB

24. 在寄存器间接寻址方式中,其“间接”体现在指令中寄存器的内容不是操作 数,而是操作数的 地址 。

25. 假定累加器A 中的内容为30H,执行指令1000H MOVC A,@A+PC 后,把 程序存储器1031H 单元的内容送入累加器A 中。

26. 12 根地址线可寻址 4 KB 存储单元。

27. :假定 A=55H R3=0AAH 在执行指令 ANL A,R3后,A=00H, R3=0AAH 。 28. MCS-51的P0口作为输出端口时,每位能驱动 8个LSTTL 负载。

29. MCS-51有4个并行I/O 口,其中P1~P3是准双向口,所以由输出转输入时 必须先写入“ 1”。

5. 6. 7. 8. 00 9.

30.MCS-51的堆栈是软件填写堆栈指针临时在片内数据存储器内开辟的区域。

31. 若不用MCS-51片内存储器,引脚EA 必须接地。

32. MCS-51在外扩ROM RAM 或 I/O 时,它的地址总线是 P0 P2口。 33. MCS-51中凡字节地址能被8整除的特殊功能寄存器均能位寻址。 34. 执行当前指令后,PC 内容为下一条将要读取的指令码首地址。

35. 当串口接收到一个数据,此时 RI= 1 ,当串口发送完一个数据,此时 TI= 1。 36.

对于80C51无嵌套的单级中断,响应时间至少3个机器周期,最多8个机 器周期。

37. .晶振的频率为6MHz 时,一个机器周期为2卩So

38. 当允许定时器1工作在方式1时,控制字TMO 应为10Ho

39. MCS-51单片机8031中有2个16位的定时/计数器,可以被设定的工作方 式有 四 种。

40. MCS-51单片机有5个中断源,可分为2个中断优先级。上电复位时 外部中 断 0 中断源的优先级最高。

41.用串行口扩展并行口时,串行接口的工作方式应选为方式 42 .若某8位D/A 转换器的输出满刻度电压为+5V,则D/A 转换器的分辨率为

5/255=0.01 96V 。

43. 在串行通讯中,收发双方对波特率的设定应该是 相等的。 44. 单片机复位时P0的值为0FFH PC 为0000H

45. 外部中断 1 所对应的中断入口地址为 0013H ,T0 中断服务程序入口地址为 000BH 。

46MCS-5係统中,当PSEN 言号有效时,表示CPU 要从程序存储器读取信息。

47. MCS-51片内20H~2FH 范围内的数据存储器,即可以字节寻址又可以位寻址。 48. 若用传送指令访问MCS-51的程序存储器,它的操作码助记符应为 MOV C

49. MCS-51串行接口有4种工作方式,这可在初始化程序中用软件填写特殊功 能寄存器SCON 加以选择。

50.当使用慢速外设时,最佳的传输方式是 中断。

51. 当定时器T0工作在方式3时,要占用定时器T1的TR1和TF1两个控制位。 52. MCS-51有5个中断源,有2个中断优先级,优先级由软件填写特殊功能寄 存器 IP 加以选择。

53 .要串口为10位UART 工作方式应选为方式 1o 54.用串口扩并口时,串行接口工作方式应选为方式 55.在串行通信中,有数据传送方向 单工、半双工、

56. MOV PSW#10H 是将MCS-51的工作寄存器置为第 57. 指令DJNZ R7 e 操作码所在地址为3000H e=EFH 则它的转移目的地址应 为 2FF1H 。

58. 累加器(A ) =80H,执行完指令ADD A #83H 后,进位位CW 。 执行ANL A, #0FH 指令后,累加器A 的高4位=0000。

59.SJMP5的指令操作码地址为0050H, e=65H,那么它的转移目的地址为 00B7H 。 60. 设 DPTR=2000H A ) =80H,则 MOVA, @A+DPT 的操作数的实际地址为 2080H 。 61. 十进制数一47用8位二进制补码表示为1101 0001 o — 19D 的二进制补码表 示为 1110 1101 。

判断题 、判断题

0。 0。

全双工 三种工作方式。

1 .8051 单片机必须使用内部 ROM 。 ( x )

2、当EA 脚接高电平时,对ROM 勺读操作只访问片外程序存储器。(x ) 3.51 单片机只能做控制用,不能完成算术运算。 ( x ) 4. 单片机内部RAM ffi 外部RAMI 统一编址的,它们的访问指令相同。(x ) 5. 判断寻址方式 (1).MOV ( 2).MOV ( 3).MOV ( 4).MOV

A ,11H , A, R0,

A,#22H, A,@R0 (5). MOV A,#11H

6. 下面几条指令是否正确: MOV @R1, 80H ( INC DPTR ( V CLR R0 ( x ) MOV @R1,#80H ( ANL R1,#0FH ( ADDC A,C

( XOR P1,#31H ( ( 1) ( 2)

( 3) ( 4) ( 5)

( 6) ( 7)

是直接寻址。(V )。 是寄存器寻址。(V )。 SUBB A,#11H, Cy = 1 ( 是寄存器间接寻址 ( V ) 。 是立即数寻址 (V ) 。 V x x x

) ) ) )

7. 判断下面指令的运行结果

( 1 ) MOV A,#11H ANL A,#FFH (A)= 11H

( V )

( 2) MOV A,#11H

ORL A,#FFH

(A)= 11H ( X )

8.累加器 A 中存放着一个其值小于等于 行

RLC A 指令,则 A 中数变为原来的 9. 必须有中断源发出中断请求,

( V )

10. E2 PROMT 需紫外线能擦除, 11.8155 是一种 8位单片机。 并且 127的8位无符号数, CY 清“0”后执 2 倍。( V ) CPU 打开中断,CPU 才可能响应中断。 如 2816 在写入时就能自动完成擦除。 ( V

) (x ) INT1。 ( x 12. MCS-51的中断源全部编程为同级时,优先级最高的是 13. 指令AJMP 的跳转范围是1KB ( x ) 14. 外部中断0的入口地址是0003H ( V

) 15. MCS-51有中断源5个。( V

) 16. A/D 转换器的作用是将模拟量转换为数字量;D/A 转换器的作用是将数字量转 为模拟量。( Y )

17. MOVX A , 3057H

18. ANL R1 , #0FH 19. MCS -51 单片机的 ( x ) ( x ) CPU 能同时处理8位二进制数据。 ( V

)

20. 当EA 脚接高电平时,对ROM 勺读操作只访问片外程序存储器。 (x )

21. 读内部ROM 寸使用的是“ MOV 指令,读外部RAM 寸使用的是“ MOVX 指令。

( x ) 22.51 单片机只能做控制用,不能完成算术运算。

x )

23. 单片机内部RAMfn 外部RAM 是统一编址的,它们的访问指令相同。(x ) 24. 扩展 I/O 口占用片外数据存储器的地址资源。 ( V ) 25.8051 单片机必须使用内部 ROM 。 ( x ) 26. 指令AJMP 勺跳转范围是1KB ( x )

27. 我们所说的计算机实质上是计算机的硬件系统与软件系统的总称。

(V )

28. MCS-51 上电复位时,SBUF=OOH ( x )。

29. 使用可编程接口必须初始化。 ( V )。 30.8155的复位引脚可与89C51的复位

引脚直接相连。(V

31. MCS-51是微处理器。(x )。

32. MCS-51系统可以没有复位电路。(x )

33. MCS-51系统中,一个机器周期等于1.5卩s 。( 34. 计算机中常用的码制有原码、反码和补码( V 35. 若不使用MCS-51片内存储器,引脚EA 必须接地.

36. 十进制数 -29 的 8 位补码表示为 11100010。 37. MCS-51的相对转移指令最大负跳距是127B 。 38. MCS-51的程序存储器只是用来存放程序的。

39. MCS-51的时钟最高频率是18M Hz. ( x

40. 使用可编程接口必须初始化。 ( V )。

41. 当MCS-51上电复位时,堆栈指针 SP=00H ( 42. MCS-51外扩I/O 口与外RAM^统一编址的。 ( 43. 使用8751且=1时,仍可外扩64KB 的程序存储器。( 44. PC 存放的是当前执行的指令。(x )

45. MCS-51的特殊功能寄存器分布在 60H~80H 地址范围内。(x

46. 调用子程序指令(如:CALL 及返回指令(如:RET 与堆栈有关但与PC 无 关。( x )

47. MCS-51的5个中断源优先级相同。 (x )

48. 要进行多机通信,MCS-51串行接口的工作方式应为方式1。

49. TMOC 中的GATE=M ,表示由两个信号控制定时器的启停。

50. MCS-51有4个并行I\O 口 ,其中P0~P3是准双向口 ,所以由输出转输入时必须 先写入"0" ( x )

51. 片内RAM 与外部设备统一编址时,需要专门的输入/输出指令。(x 52.8031 片内有程序存储器和数据存储器。 ( x )

53.EPROM 勺地址线为11条时,能访问的存储空间有 4K 。( x ) 54.8255A 内部有3个8位并行口 ,即A 口,B 口,C 口。( x ) 55.8155芯片内具有256B 的静态RAM2个8位和1个6位的可编程并行 1 个 14 位定时期等常用部件及地址锁存器。 ( x ) 56. 为了消除按键的抖动,常用的方法有硬件和软件两种方法。 ( V

57.8031 的 CPU 是由 RAM 和 EPRO 所组成。( x )

58. 区分片外程序存储器和片外数据存储器的最可靠的方法是看其位于地址范围 的低端还是高端。 ( x )

59. 在MCS-51中,为使准双向的I/O 口工作在输入方式,必须保证它被事先预置 为1。 ( V )

x ) ) V

) ) (

(

(x ). )。 )( x ) x )。 I/O 口,

60.PC 可以看成是程序存储器的地址指针。(x )

61. DPTR 是可以访冋的,而PC 不能访

冋。 (V ) 62. DPTF 和PC 都是16位的存储器。 ( V ) 63. DPTF 可以分为两个8位的寄存器使用,但PC 不能。(V ) 64. 程序计数器PC 不能为用户编程时直接使用,因为它没有地址。 (V ) 65?内部RAM 的位寻址区,只能供位寻址使用,而不能供字节寻址使用。(x ) 66. 8031 共有 21 个特殊功能寄存器,它们的位都是可以用软件设置的,因此, 是可以进行位寻址的。 ( x ) 67. PC 是1个不可寻址的特殊功能寄存器。( x ) ) x ) ( 68. 单片机的主频越高,其运算速度越快。 ( V 69. 在MC & 51单片机中,1个机器周期等于1us 。( 70. 特殊功能寄存器SP 内装的是栈顶首地址单元的内容。(x ) 71. 立即寻址方式是被操作的数据本身在指令中,而不是它的地址在指令中。

(V)

72. 指令周期是执行一条指令的时间。 ( V

) 73. 指令中直接给出的操作数称为直接寻址。 ( x ) 74. 串行口通信的第 9数据位的功能可由用户定义。 ( V

) 75. 发送数据的第 9数据位的内容在 SCON 寄存器的TB8位预先准备好的。 (V)

76. 串行通讯发送时,指令把 TB8位的状态送入发送SBUF ( x ) 77. 串行通讯接收到的第9位数据送SCONf 存器的RB8中保存。( V 78. 串行口方式 1 的波特率是可变的,通过定时器 (V)

79. 一台计算机的指令系统就是它所能执行的指令集合。

80. 以助记符形式表示的计算机指令就是它的汇编语言。 81. PC 、A 、DPTR 、PSW 都能为程序存储器提供和构成地址。 82. 假定累加器A 的内容为30H ,执行指令:1000H : MOVC 把程序存储器 1030H 单元的内容送累加器 A 中。( x ) / 计数器 。( 。( 三、选择题

1.80C51 基本型单片机内部程序存储器容量为( ( A ) 16K ( B ) 8K ( C ) 4K ( D ) 2K

2. 在80C51单片机应用系统中,可以作为时钟输出的是( C ) ( A ) RXD ( B ) RST ( C ) ALE C )。 D )XTAL1

T1 ) 的溢出设定。 V V (

A ,@A+PC 后, 引脚。 3. 在80C51的4个并行口中,能作为通用I/O 口和高8位地址总线的是(C )。 ( A ) P0

( B ) 4. 所谓CPU 是指(A A 、运算器和控制器 器和存储 5. 在80C51中,要访问

(A )直接寻址 (B ) P1 D ) ( C ) P2 ) B 、运算器和存储器 C P3 、输入输出设备 D 控制 SFR 使用的寻址方式为( 寄存器寻址 (C )变址寻址 D )。 A )。 (D )寄存器间接寻址 6. 以下的 4条指令中,不合法的指令为( ( A ) INC A

( B ) DEC A ( C ) INC DPTR ( D ) SWAP ACC 7. 要用传送指令访问MCS-51片外RAM 它的指令操作码助记符应是(B )

(A ) MOV (B ) MOVX (C ) MOVC ( D )以上都是

23. 计算机中最常用的字符信息编码是( A )

8. 指令AJMP 的跳转范围是(C )

( A ) 256B ( B ) 1KB ( C ) 2KB ( D ) 64KB

9. 在CPU 内部,反映程序运行状态或反映运算结果的一些特征的寄存器是 (B )

( A ) PC ( B ) PSW ( C ) A ( D ) SP 10. 下列四条叙述中,有错误的一条是( A ) ( A ) ( B ) ( C ) ( D )

16 根地址线的寻址空间可达 1MB 内存储器的存储单元是按字节编址的 CPI 中用于存放地址的寄存器称为地址寄存器 地址总线上传送的只能是地址信息 11. P SW=18H 时,则当前工作寄存器是( D ) ( A ) 0 组 (B ) 1 组 (C ) 2 组 12. 8051 与 8751 的区别是:( C ) (A )内部数据存储单元数目的不同 (C )内部程序存储器的类型不同

D )3 组 B ) D ) 内部数据存储器的类型不同 内部的寄存器的数目不同

B ) 13. 在家用电器中使用单片机应属于微计算机的( (A )辅助设计应用(B )测量、控制应用(

C )数值计算应用(

D )数据处理应用 14. 中断查询确认后,在下列各种 8031 单片机运行情况中, 能立即进行响应的是: ( D ) ( A )

( B ) ( C ) ( D ) 当前正在执行高优先级中断处理 当前正在执行 RETI 指令 当前指令是 DIV 指令,且正处于取指令的机器周期 当前指令是 MOV A,R3 15. 下列说法错误的是: ( B ) (A ) 同一级别的中断请求按时间的先后顺序响应。 (B ) 同一时间同一级别的多中断请求,将形成阻塞,系统无法响应。 (C ) 低优先级中断请求不能中断高优先级中断请求,但是高优先级中断请求能 中断低优先级中断请求。 (D ) 同级中断不能嵌套。 16. 定时器 / 计数器工作于模式 (A )8 位 (B )16 位

17. 堆栈数据的进出原则是( (A ) 先进先出 B ) 位 1 时,其计数器为几位?( (C )14 位 (D )13 B ) (C ) 后进后出 (D) B (B)00H-07H (C)10H-1FH (D)08H-0FH (B ) 先进后出 进入不出 ) 18. 开机复位后,CPU 使用的是寄存器第一组,地址范围是(

(A )00H-10H 19. 若某存储器芯片地址线为 12 根, 那么它的存储容量为( C (A )1KB (B )2KB (C )4KB (D )8KB 20. 控制串行接口工作方式的寄存器是( C ) (A )TCON (B )PCON (C )SCON (D )TMOD

21. 要使MCS-51能够响应定时器T1中断,串行接口中断,它的中断允许寄存器 IE 的内容应是( A ) ( A ) 98H ( B ) 84H 22. 51 执行完 MOV A , ( A ) C ( B ) F0 ( C ) (C )42H (D )22H #08H 后,PSW 勺一位被置位(D ) OV ( D )P

(A) ASCII (B) BCD 码 (C)

余 3 码 (D) 循环码

24. 某种存储器芯片是8KB*4/片,那么它的地址线根数是(C )

(A)11 根 ( B ) 12 根 (C ) 13 根

25. 在MCS-51系统中,若晶振频率是

( A ) 1.5 ( B ) 3 ( C ) 1 26. MCS-51的时钟最高频率是

(

( A ) 12MHz ( B ) 6 MHz ( C ) 27. P1 口的每一位能驱动( B (A )2个TTL 低电平负载 (0 8个TTL 低电平负载

28. 对程序存储器的读操作,只能使用(

(A ) MOV 旨令(B ) PUSH 旨令(C ) MOV 指令(D ) MOV 指令

29. 要想测试INT0引脚上的一个正脉冲宽度,那么特殊功能寄存器TMO 的内容应 为

(A)

(A)09H

(B)87 H (C)00H

(D)80H

30. 在中断服务程序中 ,至少应有一条 ( D )

(C )加法指法 (D )中断返回指令 C ) (D)TMOD

(A) 各中断发出的中断请求信号,都会标记在 (B) 各中断发出的中断请求信号,都会标记在 (C) 各中断发出的中断请求信号,都会标记在 (D) 各中断发出的中断请求信号,都会标记在 寄存器中。 33. 下面哪一种传送方式适用于处理外部事件 ( (A)DMA (B) 无条件传送 (C) 中断 A )。 MCS -51 系统的 IE 寄存器中。 MCS- 51系统的TMO 寄存器中。

MCS -51 系统的 IP 寄存器中。 MCS- 51 系统的 TCON 与 SCON C ) (D) 条件传递 34. MOV C , #00H 的寻址方式是( (A )位寻址 (B )直接寻址 35. MCS - 51 系列中断源有( A ( A ) 5 个 ( B ) 2 个 (C )立即寻址 )。 ( C ) 3 个 C ) (D )寄存器寻址 (D ) 6 个 36. 使用定时器 T1 时,有几种工作模式( (A) 1种 B)2 种 C)3 种(D)4种

37. 执行MOVX A @DPT 指令时,MCS-51产生的控制信号是( C )。

( A ) /PSEN (B ) ALE ( C ) /RD ( D ) /WR 38. 当优先级的设置相同时,若以下几个中断同时发生, ( D )中断优先响应。 (A )外部中断 1 (B ) T1 (C )串口 ( D ) T0 39. 当需要扩展一片8K 的RAM 寸,应选用的存储器为(B)。 ( A ) 2764 ( B ) 6264 ( C ) 6116 ( D ) 62128 40. 若想扩展键盘和显示,并希望增加 256字节的RAM 寸,应选择(A )芯片。 ( A ) 8155 ( B ) 8255 ( C ) 8279 ( D ) 74LS164 4180C51单片机要进行10位帧格式的串行通讯时,串行口应工作在(B )。

(A )方式0 (B )方式1 (C )方式2 (D )方式3

42.要使MCS-51能够响应定时器T1中断、串行接口中断,它的中断允许寄存器

D ) 14 根

8MHz 一个机器周期等于(A )卩s (D ) 0.5 A ). 8 MHz (D ) 10 MHz

) B ) D ) 4 个 TTL 低电平负载

10个TTL 低电平负载 D ) (A )传送指令 (B)转移指令

31. 控制串行口工作方式的寄存器是( ( A ) TCON (B)PCON (C)SCON 32. 下列说法正确的是:( D )

IE 的内容应是( A ) (A) 98H (B)

84H 22H 43. C PU 寻址外设端口地址的方法有两种,一种是统一编址,还有一种是( (A )混合编址 (B )动态编址 44. MCS-51 外扩一个 8255时,需占用 ( A ) 1 个 ( B ) 2 个 ( C ) 3 个 45. MCS-51用串行扩展并行I/O 口时, (C) 42 (D)

(C )独立编址 D ) 个端口地址 ( D ) 4 个

串行接口工作方式选择( C )

(D )变址编址 A ) (A )方式0 (B )方式1 (C )方式2 (D )方式3 46. 使用 8255可以扩展出的 I/O 口线是( B ) (A ) 16根 (B ) 24根 (C ) 22根 (D ) 32根 47. 当8031外出扩程序存储器8KB 时,需使用EPROM 271( ( A ) 2 片 ( B ) 3 片 ( C ) 4 片 ( D ) 5 片 48. MCS-51外扩ROM RAM 和I/O 口时,它的数据总线是( ( A ) P0 ( B ) P1 ( C ) P2 ( D ) P3 49. MCS-51在响应中断时,下列哪种操作不会发生(A ). (A) 保护现场 (B) 保护 PC (C) 找到中断入口 (D) 入口 50.

MCS-51响应中断时,

下面哪一个条件不是必须的( D (A )当前指令执行完毕

(B )中断是开放的 (C )没有同级或高级中断服务 (D )必须有RET1指令 51. 计算机在使用中断方式与外界交换信息时 , 保护现场的工作方式应该是 ( C ) (A)由CPU 自动完成 (B) 在中断响应中完成 (C)应由中断服务程序完成 (D)在主程序中完成 52. 6264芯片是( B )

(A) EEPROM ( B )

RAM 53. 8051 与 8751 的区别是:( C ) (A )内部数据存储但也数目的不同 (C )内部程序存储器的类型不同 54. PC 的值是(C ) C ) FLASH ROM B ) D ) C ) 保护PC 转入中断

D ) EPROM 内部数据存储器的类型不同 内部的寄存器的数目不同 (A )当前正在执行指令的前一条指令的地址 地址 (C )当前正在执行指令的下一条指令的地址 的地址 55. 访问片外数据存储器的寻址方式是( D (A )立即寻址 (B )寄存器寻址

直接寻址 56. 当8031外扩程序存储器32KB 时,需使用 ( A ) 2 片 ( B ) 3 片 片 57. 当使用快速外部设备时,最好使用的输入 (A )中断 (B )条件传送 (C ) (B )当前正在执行指令的 (D )控制器中指令寄存器 ) C ) 寄存器间接寻址 EPROM276(4 (C ) 4 片

/ 输出方式是( DMA (D ) 58. MCS-51的中断源全部编程为同级时,优先级最高的是(

C )

C 无条件传送

D )

D ) D ) 5

65. 51系列单片机有五个中断源,外中断INT1的入口地址是(C ),定时器T0 的中断入口地址是 ( B ) 。

A 、 0003H

B 、 000BH

C 、 0013H

D 、 001BH

E 、 0023H

四、程序分析及编程 1.设(A)=04H,(CY)=1,写出下列各

条指令的结果。 RL A; RR A; RLC A; RRC A;

2. 设

(A)=7AH,(R0)=30H,(30H)=A5H,(CY)=1,写出下列各条指令的结果。 MOV A ,R0 (A)=30H (R0)=30H

XCH A, R0 (A)=30H (R0)=30H XCHD A,@R0 (A)=A5H (R0)=30H (30H)=30H ADD A,#30H (A)=D5H (CY)=1 ADDC A,30H (A)=06H (CY)=1 SUBB A,#30H (A)=D5H (CY)=1 3. 下列程序段的功能是什么?

PUSH PUSH POP

POP

答:交换

A 、

B 的内容

4. 已知程序执行前有 A=02H SP=52H ( 51H) =FFH (52H)=FFH=下述程序执行

(A )INT1 (B )TI 59.MCS-51 的并行 I/O (A ) (A )读锁存器 (C )串行接口 (D ) INTO

口信息有两种读取方法:一种是读引脚, 还有一种是

(B )读数据库 (C )读A 累加器 60. MCS-51的并行I/O 口读-改-写操作,是针对该口的(

(A )引脚 (B )片选信号 (C )地址线 ( 61. 在MCS — 51中,需要外加电路实现中断撤除的是:( (A )定时中断 (B )脉冲方式的外部中断 (C )外部串行中断 (D )电平方式的外部中断 62. 串行口工作方式 1 的波特率是:( C ) (A )固定的,为fOSC / 32。 (B )固定的,为 (D )读 CPU )

D

(D )内部锁存器

D )

f

OSC

/16

。 固定的,为

(C )可变的,通过定时器/计数器T1的溢出率设定。(D )

63. 80C51单片机要进行10位帧格式的串行通讯时,串行口应工作在( (A )方式0 (B )方式1 (C )方式2 (D )方式3 64. 80C51复位初始化时未改变SP 的内容,第一个入栈的单元地址为( ( A ) 08H ( B ) 80H ( C ) 00H ( D ) 07H

f

OSC

/64 。

B )。

A )。

= 08H = 02H = 09H = 82H

A ) A ) A ) A ) A B

A B

后:请问: A=( ),SP=( )(51H ) =( )(52H ) =( ),PC=( )。 POP DPH POP DPL

MOVDPTR,#4000H RL A MOVB,A

MOVC A,@A+DPTR PUSH A MOVA,B INC MOVC A,@A+DPTR PUSH RET ORG4000H

DB 10H,80H,30H,50H,30H,50H

答:( A )=50H, (SP )=50H, (51H)=30H , (52H)=50H , (PC )=5030H

5.假定A=83H ( R0 =17H, (17H) =34H,执行以下指令后,A 的内容为()。: ANLA,#17H

ORL17H,A XRLA,@R0 CPLA

答: 0CBH

6.如果 DPTR=507BHSP=32H (30H ) =50H (31H ) =5FH (32H ) =3CH 则执行 下列指令后则:

DPH=( ) DPL=( ) SP=( ):

POP POP POP

答:DPH=3CH , DPL=5FH , SP=4FH

7.假定,SP=60H A=30H B=70H 执行下列指令后,SP 的内容为(),61H 单元 的内容为(),62H 单元的内容为()。

PUSH PUSH

DPH DPL SP

答: 62H , 8. 计算下面子程序中指令的偏移量和程序执行的时间(晶振频率为

个机器周期 个机器周期 个机器周期 个机器周期 个机器周期 个机器周期 30H , 70H

12MHz )。

MOVR3,#15H DL1:MOV DL2:MOV DJNZ

DJNZ RET

R4,#255 P1,R3

R4,DL2 R3,DL1

;1 ;1 ;2 ;2 ;2 ;2

答: 15348us

析:((2+ 2)X 255+ 1+ 2)X 15+1+ 2= 15348us

9.假定A=83H (R0) =17H, (17H) =34H,执行以下指令后,A 的内容为()。

ANLA,#17H ORL17H,A XRLA,@R0 CPL A

答:OCBH

10. 如果(DPTR)=507BH (SP)=32H, (30H)=50H , (31H)=5FH, (32H)=3CH,则执行 下列指令后:DPH 内容为( ),DPL 内容为( ),SP 内容为( )。 POP POP POP

答:

答:1 )、该程序是单字节BCD 码运算,是将(61H) — ( 60H)T 62H 2

)、( 62H ) =38H

13. 试编写1个程序,将内部RAM 中 45H 单元的高4位清0,低4位置1。

答: MOV A, 45H

ANLA, #0FH ORLA, #0FH MOV45H, A

14. 试编写程序,查找在内部 RAM 的30H ?50H 单元中是否有0AAH 这一数据。若 有,

则将51H 单元置为“ 01H ;若未找到,则将51H 单元置为“ 00H 。 答: START:MOVR0,#30H

MOVR2,#20H

DPH; DPL; SP;

(DPH)= 3CH ,( DPL )=5FH ,( SP )=50H

11. 假设外部数据存储器 中的内容为( )。

MOV MOV MOVX

2000H 单元的内容为80H,执行下列指令后,累加器 A

P2, R0答:累加器A 中的内容为( 12. 阅读下列程序段并回答问题

(60H) =23H, (61H)=614 运行程序后 62H 内容(

CLR C

MOV A , #9AH SUBB A ,60H ADD A ,61H DA A

MOV 62H ,A

#20H #00H

A , @R0 80H )

。 (1 ) . 该程序执行何种操作 ? (2 ) . 已知初

值 )

15.编写程序,

空比为10:1的矩形脉冲。

解:根据题意,从P1.0输出的矩形脉冲的高低电平的时间为 10:1,则高低 电平的时间分别为 363.63卩s 和36.37卩s 。如果系统采用 6MHz 晶振的话, T cy-2

",因此

高低电平输出取整,则约为 364卩s 和36卩s 。编写程序如下:

OR(0000H

LJMP MAIN OR(000BH

LJMP IT0 P

MOVrMOD,#02H ;定时器/计数器T0

为定时方式2

MOVrL0,#4AH

16.设在外部RAM 中有三个连续单元 2001H 2002H 2003H 其中2001H 和2002H 单元中分别存放两个8位无符号二进制数,比较这两个数的大小,然后将大数送 到2003H 单

元。

COMP ARE:MOV DP TR, #2001H

MOVX A , @DPTR MOV R0,A INC DPTR

MOVX A,@D PTR

LOOP: NEXT: MOVk,@R0 CJNE A,#0AAH,NEXT

MO>51H,#01H LJMP

INC

DJNZ EXIT R0

R2,LO OP EXIT: MO>51H,#00H

RET

要求使用

TO,采用方式2定时,在P1.0输出周期为400卩s ,占 SETB TR0 ;启动T0,开始计数

SETB ET0 ;允许T0中断 SETB EA ;CPU 开中断

SETB

P 1.0 WAIT: AJMP

WAIT

IT0P: CLR EA

CLR P 1.0

? ? 关中断

MOVR0,#9

DLY: DJNZ R0,DLY ;延时26卩s

MAIN: ;定时364卩s 初值赋值

;定时364卩s 初值赋值 MOVrL0,#4AH

SETB P 1.0 SETB EA RETI

SUBB A ,R0

JNC LOOP

MOV A, R0

INC DPTR

MOVX @DPTR ,A

RET

LOOP:INC DPTR

MOVX @DPTR ,A

RET

17.将内部RAM 40H开始的10个单元,搬移到50H开始的10个单元中。

MOV R0,#40H

MOV R1,#50H

MOV R2, #10

LOOP1:MOV A, @R0

MOV @R1,A

INC R0

INC R1

DJNZ R2 ,LOOP1

RET

18.设单片机晶振频率为6MHz使用定时器0,以工作方式2,在P1.5引脚输出一个周期为200us 连续方波?

解:MOV TMOD,#02H

MOV TH0, #0CEH

MOV TL0 ,#0CEH

SETB TR0

LOOP: JBC TF0,LOOP1

AJMP LOOP

LOOP1: CPL P1.0

19.编写一段程序,功能要求为:当P1.0引脚的电平正跳变时,对P 1.1的输入脉冲进行计数;当P1.2引脚的电平负跳变时,停止计数,并将计数值写入R0 R1(高位存R1,低位存R0)。

答:将P1.1的输入脉冲接入INT0,即使用T0计数器完成对P1.1 口的脉冲计数。编写程序如下:

ORG0000H

LJMP MAIN

ORG000BH

LJMP IT0P

MAIN: JNB P1.0,MAIN

MOVrMOD,#05H ;定时器/计数器T0为计数方式1 SETB TR0 ;启动T0,开始计数

SETB ET0 ;允许T0中断

20. 试编写一个程序(例如将05H 和06H 拼为56H ),设原始数据放在片外数据区 2001H 单元和2002H 单元中,按顺序拼装后的单字节数放入 2002耳

答:编程思路:首先读取2001H 的值,保存在寄存器 A 中,将寄存器A 的高四位和低四位互换,再屏蔽掉低四位然后将寄存器 A 的值保存到30H 中, 然后再读取2002H 的值,保存在寄存器A 中,屏蔽掉高四位,然后将寄存器 A 的值与30H 进行或运算,将运算后的结果保存在 2002H 中。

ORG 0000H

MAIN : MOV DPTR , #2001H MOVX A , @DPTR SWAP A

ANL A , #0F0H MOV 30H , A INC MOVX A , @DPTR

ANL A , #0FH ORL A , 30H MOVX @DPT ,RA END 21. 编写程序,将外部数据存储器中的 解:本题主要考察了对外部数据块的写

操作;编程时只要注意循环次数和 指令的使用就可以了。

ORG 0000H

MAIN : MOVA , #0

MOV R0 , #0FFH

MOV DPTR , #4000H

LOOP : MOVX @DPT ,RA

INC DPTR

DJNZ R0, LOOP END

22. 编写程序,采用8255A 的C 口按位置

位/复位控制字,将PC7置0, PC4置1, (已知8255A 各端口的地址为7FFCH-7FFF ) 解:本题主要考察对8255A 的C 口的操作。其方式控制字的高位为0时,低四位 对C 口进行置位。由题目我们得到了方式控制字的地址为 7FFFH

ORG0000H

MAIN: MOVDPTR,#7FFFH ; 控制字寄存器地址送 DPTR

SETB EA

JB

P1.2,WAIT CLR EA CLR TR0 MOVR1,TH0 MOVR0,TL0 AJMP $ INC R2

RETI

;CPU 开中断

IT0P:

WAIT:

;设置数据指针的初值

;读取2001H 的值 ;屏蔽掉低四位 ;保存 A ;指针指向下一个 ;读取2002H 的值

;屏蔽掉高四位 ;进行拼装 ;保

存到 2002H DPTR 4000H — 40FFH 单元全部清零。

MOVX

;送预置数给 A ;设置循环次数 ;设置数据指针的初值 ;当前单元清零 ;指向下一个单元 ;是否结束

MOVA,#0EH MOVX @DPTR,A MOV A,#09H ;将 PC4置 1

MOVX @DPTR,A END

23. 试编写逻辑运算程序,功能为: F=X(Y+Z); F=XYZ 其中 F X Y Z 解( 1):

LOG2:MOV C,Y ;Y ;YZ —C —C ANL C,Z ANL C,/X ;XYZ —C CPL C ;XYZ —C MOV F,C

;XYZ

—F

RET

25.试编写程序,找出外 解:编程如下:

SECH:MOV DPTR#2000H ;置外 RAM 数据区首址 MOV R2 ,

#OFH ; 置外 RAM 数据区长度(N-1) MOVX A , @DPTR ;

读第一个数据

MOV B,A ;

假设第一个数据为最小值

F BIT 30H X BIT 31H Y BIT 32H Z BIT 33H LOG1:MOV C,Y ;Y ORL C,Z ;(Y+Z)

ANL

C,X ;X(Y+Z) MOV F,C

;X(Y+Z)

RET

( )

—C —C —C —F

;将PC7置0 均为位变量,依次存在以30H 为首址的位寻址区中。 24. 试编写程序,统计内 解:编程如下:

LOKF:MOV 51H,#0 MOV R0,#30H ; LOP: MOV A,@R0 ; CPL A JNZ LP1 INC 51H LP1: INC RO ;FFH

CJNE R0, #51H , RET

RAM30H~50H 单元中FFH 的个数,并将统计结果存 51耳

计数器清零 置数据区首址 读数据 取反 判FFH 非FFH 转 ,计数

指向下一数据

LOP 判循环

RAM 2000H~200F 数据区中的最小值,并放入 R2中。

SLOP:INC DPTR ; MOVX A , @DPTR CJNE A , B , SLP1 SLP1:JNC SLP2

MOV B,A SLP2:DJNZ R2, SLOP MOV R2 , B RET

指向下一个数据 ; 读下一个数据 ; 新数据与最小值比较 ;新数据》最小值,判断循环 ;新数据V 最小值,新数据7 B ;判循环结束否? ;最小值7 R2 26.已知ROM 中存有0-100的平方表,首地址为TABDS 试根据累加器 A ( < 100) 中的数值查找对应的平方值,存入内 RAM31H30双字节)。 解:编程如下: DSQR:MOV DPTR , #TABDS ;

ADD A MOVC A MOV 31H

INC A

MOVC A MOV 30H RET TABDS :DW 0, 平方表(双字节)

, Acc ; , @A+DPTR ; , A ; , @A+DPTR ; , A ; 0,0,1,0,4, 置ROM 平方表首地址 A X 27

A 读平方值高 8 位 平方值高8位7 31H 指向平方值低 8 位 读平方值低 8 位 平方值低8位7 30H

0, 9, 0, 16, 0, 25,…,27H, 10H; 0-100 27.试编程实现 3字节无符号数加法: R 解:编程如下:

ADD3: MOV A,R5

ADD A

R2 ;低位加 MOV @R0

,A ;存低位和

INC R0

;修改存储单元 MOV A R6 ?

? ADDC A

, R3 ;中位加

MOV @R0

,A ;存中位和 INC R0

;修改存储单元 MOV A R7 ? ADDC A , R7 ;高位加 MOV @R0 ,A ;存高位和 RET

)。 28. 试编写程序,将外部 解:编程如下: DMOV:MOV DPT , R#2000H MOV R2 , #00H DLOP:MOVX A , @DPTR MOV DPH , #30H MOVX @DPTR , A MOV DPH , #20H INC DPTR

RAM2OOOH~2OFH 据块,传送到 3000H~30FFHx 域。

;置源数据区首址

;置数据长度( 256个)

;读数据

;置目的数据区高 8 位地址 ;存数据

;置源数据区高 8 位地址 ;修改源数据区地址

DJNZ R2 , DLOP RET 29. 从内RAM20单元开始存有一组带符号数(补码),其个数已存放在1FH 单元。 要求统计其中大于 0,等于 0 和小于 0 的数的个数, 并把统计结果分别存入 ONE , TWO THREE 个单元。 解:编程如下: ONE EQU 30H TWO EQU 31H THREE EQU 32H STOR :MOV R0,#20H SLOP: MOV A,@R0 JZ LP1 JB Acc.7 INC ONE LP0: INC DJNZ RET LP1: INC

SJMP LP2: INC ;判循环结束否? ,LP2 RO 1FH , SLOP TWO LPO THREE ;置数据区首址 ;读数据

;数据 =0,转 ;数据V 0,转

;数据> 0, ONE 单元加1 ;指向下一数据 ;判统计结束否?未结束循环

;统计结束,TWOI 元加1 ;数据=0, TWOI 元加1 ;返回循环体

;数据V 0, THREES 元力卩1 ;返回循环体

SJMP LPO 30. 设在内部数据存储器中存放有20个字节数据,其起始地址为M 试编写程序, 找出数0AH 的存放地址,并送入N 单元。若OAH 不存在,则将N 单元清零。 解:程序如下: M EQU 30H N EQU 2FH SECH:MOV R0,#M MOV R1,#20 LOOP:CJNE @R0,#0AH,LP1 MOV RET LP1: INC DJNZ MOV RET N,R0 R0 R1,LOOP N,#0 31. 试编写程序,求出内RAM201单元中“ 1”的个数,并将结果存入21H 单元。

解:编程如下: LOK1:MOV 21H,#O MOV R2,#08H MOV A,20H LOP: RLC A JNC LP1 JNC 21H

LP1:DJNE R2,LOP

51单片机汇编指令集(附记忆方法)

51单片机汇编指令集 一、数据传送类指令(7种助记符) MOV(英文为Move):对内部数据寄存器RAM和特殊功能寄存器SFR的数据进行传送; MOVC(Move Code)读取程序存储器数据表格的数据传送; MOVX (Move External RAM) 对外部RAM的数据传送; XCH (Exchange) 字节交换; XCHD (Exchange low-order Digit) 低半字节交换; PUSH (Push onto Stack) 入栈; POP (Pop from Stack) 出栈; 二、算术运算类指令(8种助记符) ADD(Addition) 加法; ADDC(Add with Carry) 带进位加法; SUBB(Subtract with Borrow) 带借位减法; DA(Decimal Adjust) 十进制调整; INC(Increment) 加1; DEC(Decrement) 减1; MUL(Multiplication、Multiply) 乘法; DIV(Division、Divide) 除法; 三、逻辑运算类指令(10种助记符) ANL(AND Logic) 逻辑与; ORL(OR Logic) 逻辑或; XRL(Exclusive-OR Logic) 逻辑异或; CLR(Clear) 清零; CPL(Complement) 取反; RL(Rotate left) 循环左移; RLC(Rotate Left throught the Carry flag) 带进位循环左移; RR(Rotate Right) 循环右移; RRC (Rotate Right throught the Carry flag) 带进位循环右移; SWAP (Swap) 低4位与高4位交换; 四、控制转移类指令(17种助记符) ACALL(Absolute subroutine Call)子程序绝对调用; LCALL(Long subroutine Call)子程序长调用; RET(Return from subroutine)子程序返回; RETI(Return from Interruption)中断返回; SJMP(Short Jump)短转移; AJMP(Absolute Jump)绝对转移; LJMP(Long Jump)长转移; CJNE (Compare Jump if Not Equal)比较不相等则转移;

基于51单片机系统设计

基于51单片机的多路温度采集控制系统设计 言: 随着现代信息技术的飞速发展,温度测量控制系统在工业、农业及人们的日常生活中扮演着一个越来越重要的角色,它对人们的生活具有很大的影响,所以温度采集控制系统的设计与研究有十分重要的意义。 本次设计的目的在于学习基于51单片机的多路温度采集控制系统设计的基本流程。本设计采用单片机作为数据处理与控制单元,为了进行数据处理,单片机控制数字温度传感器,把温度信号通过单总线从数字温度传感器传递到单片机上。单片机数据处理之后,发出控制信息改变报警和控制执行模块的状态,同时将当前温度信息发送到LED进行显示。本系统可以实现多路温度信号采集与显示,可以使用按键来设置温度限定值,通过进行温度数据的运算处理,发出控制信号达到控制蜂鸣器和继电器的目的。 我所采用的控制芯片为AT89c51,此芯片功能较为强大,能够满足设计要求。通过对电路的设计,对芯片的外围扩展,来达到对某一车间温度的控制和调节功能。 关键词:温度多路温度采集驱动电路 正文: 1、温度控制器电路设计 本电路由89C51单片机温度传感器、模数转换器ADC0809、窜入并出移位寄存器74LS164、数码管、和LED显示电路等组成。由热敏电阻温度传感器测量环境温度,将其电压值送入ADC0809的IN0通道进行模数转换,转换所得的数字量由数据端D7-D0输出到89C51的P0口,经软件处理后将测量的温度值经单片机的RXD端窜行输出到74LS164,经74LS164 窜并转换后,输出到数码管的7个显示段,用数字形式显示出当前的温度值。89C51的P2.0、P2.1、P2.2分别接入ADC0809通道地址选择端A、B、C,因此ADC0809的IN0通道的地址为F0FFH。输出驱动控制信号由p1.0输出,4个LED为状态指示,其中,LED1为输出驱动指示,LED2为温度正常指示,LED3为高于上限温度指示,LED4为低于下限温度指示。当温度高于上限温度值时,有p1.0输出驱动信号,驱动外设电路工作,同时LED1亮、LED2灭、LED3亮、LED4灭。外设电路工作后,温度下降,当温度降到正常温度后,LED1亮、LED2亮、LED3灭、LED4灭。温度继续下降,当温度降到下限温度值时,p1.0信号停止输出,外设电路停止工作,同时LED1灭、LED2灭、LED3灭、LED4亮。当外设电路停止工作后,温度开始上升,接着进行下一工作周期。 2、温度控制器程序设计 本软件系统有1个主程序,6个子程序组成。6个子程序为定时/计数器0中断服务程序、温度采集及模数转换子程序ADCON、温度计算子程序CALCU、驱动控制子程序DRVCON、十进制转换子程序METRICCON 及数码管显示子程序DISP。 (1)主程序 主程序进行系统初始化操作,主要是进行定时/计数器的初始化。 (2)定时/计数器0中断服务程序 应用定时计数器0中断的目的是进行定时采样,消除数码管温度显示的闪烁现象,用户可以根据实际环境温度变化率进行采样时间调整。每当定时时间到,调用温度采集机模数转换子程序ADCON,得到一个温度样本,并将其转换为数字量,传送给89C51单片机,然后在调用温度计算子程序CALCU,驱动控制子程序DRVCON,十进制转换子程序MERTRICCON,温度数码显示子程序DISP。

51单片机汇编程序范例

16位二进制数转换成BCD码的的快速算法-51单片机2010-02-18 00:43在做而论道上篇博文中,回答了一个16位二进制数转换成BCD码的问题,给出了一个网上广泛流传的经典转换程序。 程序可见: http: 32.html中的HEX2BCD子程序。 .说它经典,不仅是因为它已经流传已久,重要的是它的编程思路十分清晰,十分易于延伸推广。做而论道曾经利用它的思路,很容易的编写出了48位二进制数变换成16位BCD码的程序。 但是这个程序有个明显的缺点,就是执行时间太长,转换16位二进制数,就必须循环16遍,转换48位二进制数,就必须循环48遍。 上述的HEX2BCD子程序,虽然长度仅仅为26字节,执行时间却要用331个机器周期。.单片机系统多半是用于各种类型的控制场合,很多时候都是需要“争分夺秒”的,在低功耗系统设计中,也必须考虑因为运算时间长而增加系统耗电量的问题。 为了提高整机运行的速度,在多年前,做而论道就另外编写了一个转换程序,程序的长度为81字节,执行时间是81个机器周期,(这两个数字怎么这么巧!)执行时间仅仅是经典程序的!.近来,在网上发现了一个链接: ,也对这个经典转换程序进行了改进,话是说了不少,只是没有实质性的东西。这篇文章提到的程序,一直也没有找到,也难辩真假。 这篇文章好像是选自某个著名杂志,但是在术语的使用上,有着明显的漏洞,不像是专业人员的手笔。比如说文中提到的:

“使用51条指令代码,但执行这段程序却要耗费312个指令周期”,就是败笔。51条指令代码,真不知道说的是什么,指令周期是因各种机型和指令而异的,也不能表示确切的时间。 .下面说说做而论道的编程思路。;----------------------------------------------------------------------- ;已知16位二进制整数n以b15~b0表示,取值范围为0~65535。 ;那么可以写成: ; n = [b15 ~ b0] ;把16位数分解成高8位、低8位来写,也是常见的形式: ; n = [b15~b8] * 256 + [b7~b0] ;那么,写成下列形式,也就可以理解了: ; n = [b15~b12] * 4096 + [b11~b0] ;式中高4位[b15~b12]取值范围为0~15,代表了4096的个数; ;上式可以变形为: ; n = [b15~b12] * 4000 + {[b15~b12] * (100 - 4) + [b11~b0]} ;用x代表[b15~b12],有: ; n =x * 4000 + {x * (100 - 4) + [b11~b0]} ;即: ; n =4*x (千位) + x (百位) + [b11~b0] - 4*x ;写到这里,就可以看出一点BCD码变换的意思来了。 ;;上式中后面的位:

(完整word版)基于51单片机的温度控制系统设计

基于51单片机的水温自动控制系统 0 引言 在现代的各种工业生产中 ,很多地方都需要用到温度控制系统。而智能化的控制系统成为一种发展的趋势。本文所阐述的就是一种基于89C51单片机的温度控制系统。本温控系统可应用于温度范围30℃到96℃。 1 设计任务、要求和技术指标 1.1任务 设计并制作一水温自动控制系统,可以在一定范围(30℃到96℃)内自动调节温度,使水温保持在一定的范围(30℃到96℃)内。 1.2要求 (1)利用模拟温度传感器检测温度,要求检测电路尽可能简单。 (2)当液位低于某一值时,停止加热。 (3)用AD转换器把采集到的模拟温度值送入单片机。 (4)无竞争-冒险,无抖动。 1.3技术指标 (1)温度显示误差不超过1℃。 (2)温度显示范围为0℃—99℃。 (3)程序部分用PID算法实现温度自动控制。 (4)检测信号为电压信号。 2 方案分析与论证 2.1主控系统分析与论证 根据设计要求和所学的专业知识,采用AT89C51为本系统的核心控制器件。AT89C51是一种带4K字节闪存可编程可擦除只读存储器的低电压,高性能CMOS 8位微处理器。其引脚图如图1所示。 2.2显示系统分析与论证 显示模块主要用于显示时间,由于显示范围为0~99℃,因此可采用两个共阴的数码管作为显示元件。在显示驱动电路中拟订了两种设计方案: 方案一:采用静态显示的方案 采用三片移位寄存器74LS164作为显示电路,其优点在于占用主控系统的I/O口少,编程简单且静态显示的内容无闪烁,但电路消耗的电流较大。 方案二:采用动态显示的方案 由单片机的I/O口直接带数码管实现动态显示,占用资源少,动态控制节省了驱动芯片的成本,节省了电 ,但编程比较复杂,亮度不如静态的好。 由于对电路的功耗要求不大,因此就在尽量节省I/O口线的前提下选用方案一的静态显示。

51单片机汇编指令速查表

51单片机汇编指令速查表 指令格式功能简述字节数周期 一、数据传送类指令 MOV A, Rn 寄存器送累加器 1 1 MOV Rn,A 累加器送寄存器 1 1 MOV A ,@Ri 内部RAM单元送累加器 1 1 MOV @Ri ,A 累加器送内部RAM单元 1 1 MOV A ,#data 立即数送累加器 2 1 MOV A ,direct 直接寻址单元送累加器 2 1 MOV direct ,A 累加器送直接寻址单元 2 1 MOV Rn,#data 立即数送寄存器 2 1 MOV direct ,#data 立即数送直接寻址单元 3 2 MOV @Ri ,#data 立即数送内部RAM单元 2 1 MOV direct ,Rn 寄存器送直接寻址单元 2 2 MOV Rn ,direct 直接寻址单元送寄存器 2 2 MOV direct ,@Ri 内部RAM单元送直接寻址单元 2 2 MOV @Ri ,direct 直接寻址单元送内部RAM单元 2 2 MOV direct2,direct1 直接寻址单元送直接寻址单元 3 2 MOV DPTR ,#data16 16位立即数送数据指针 3 2 MOVX A ,@Ri 外部RAM单元送累加器(8位地址) 1 2 MOVX @Ri ,A 累加器送外部RAM单元(8位地址) 1 2 MOVX A ,@DPTR 外部RAM单元送累加器(16位地址) 1 2 MOVX @DPTR ,A 累加器送外部RAM单元(16位地址) 1 2 MOVC A ,@A+DPTR 查表数据送累加器(DPTR为基址) 1 2 MOVC A ,@A+PC 查表数据送累加器(PC为基址) 1 2 XCH A ,Rn 累加器与寄存器交换 1 1 XCH A ,@Ri 累加器与内部RAM单元交换 1 1 XCHD A ,direct 累加器与直接寻址单元交换 2 1 XCHD A ,@Ri 累加器与内部RAM单元低4位交换 1 1 SWAP A 累加器高4位与低4位交换 1 1 POP direct 栈顶弹出指令直接寻址单元 2 2 PUSH direct 直接寻址单元压入栈顶 2 2 二、算术运算类指令 ADD A, Rn 累加器加寄存器 1 1

基于51单片机的温度控制系统的设计

基于单片机的温度控制系统设计 1.设计要求 要求设计一个温度测量系统,在超过限制值的时候能进行声光报警。具体设计要求如下: ①数码管或液晶显示屏显示室内当前的温度; ②在不超过最高温度的情况下,能够通过按键设置想要的温度并显示;设有四个按键,分别是设置键、加1键、减1键和启动/复位键; ③DS18B20温度采集; ④超过设置值的±5℃时发出超限报警,采用声光报警,上限报警用红灯指示,下限报警用黄灯指示,正常用绿灯指示。 2.方案论证 根据设计要求,本次设计是基于单片机的课程设计,由于实现功能比较简单,我们学习中接触到的51系列单片机完全可以实现上述功能,因此可以选用AT89C51单片机。温度采集直接可以用设计要求中所要求的DS18B20。报警和指示模块中,可以选用3种不同颜色的LED灯作为指示灯,报警鸣笛采用蜂鸣器。显示模块有两种方案可供选择。 方案一:使用LED数码管显示采集温度和设定温度; 方案二:使用LCD液晶显示屏来显示采集温度和设定温度。 LED数码管结构简单,使用方便,但在使用时,若用动态显示则需要不断更改位选和段选信号,且显示时数码管不断闪动,使人眼容易疲劳;若采用静态显示则又需要更多硬件支持。LCD显示屏可识别性较好,背光亮度可调,而且比LED 数码管显示更多字符,但是编程要求比LED数码管要高。综合考虑之后,我选用了LCD显示屏作为温度显示器件,由于显示字符多,在进行上下限警戒值设定时同样可以采集并显示当前温度,可以直观的看到实际温度与警戒温度的对比。LCD 显示模块可以选用RT1602C。

3.硬件设计 根据设计要求,硬件系统主要包含6个部分,即单片机时钟电路、复位电路、键盘接口模块、温度采集模块、LCD 显示模块、报警与指示模块。其相互联系如下图1所示: 图1 硬件电路设计框图 单片机时钟电路 形成单片机时钟信号的方式有内部时钟方式和外部时钟方式。本次设计采用内部时钟方式,如图2所示。 单片机内部有一个用于构成振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别为此放大器的输入端和输出端,其频率范围为~12MHz ,经由片外晶体振荡器或陶瓷振荡器与两个匹配电容一 起形成了一个自激振荡电路,为单片机提供时钟源。 复位电路 复位是单片机的初始化操作,其作用是使CPU 和系统中的其他部件都处于一个确定的初始状态,并从这个状态开始工作,以防止电源系统不稳定造成CPU 工作不正常。在系统中,有时会出现工作不正常的情况,为了从异常状态中恢复,同时也为了系统调试方便,需要设计一个复位电路。 单片机的复位电路有上电复位和按键复位两种形式,因为本次设计要求需要有启动/复位键,因此本次设计采用按键复位,如图3。复位电路主要完成系统 图2 单片机内部时钟方式电路 图3 单片机按键复位电路

(完整版)51单片机汇编指令(全)

指令中常用符号说明 Rn当前寄存器区的8个工作寄存器R0~R7(n=0~7) Ri当前寄存器区可作为地址寄存器的2个工作寄存器R0和R1(i=0,1) Direct8位内部数据寄存器单元的地址及特殊功能寄存器的地址 #data表示8位常数(立即数) #data16表示16位常数 Add16表示16位地址 Addr11表示11位地址 Rel8位代符号的地址偏移量 Bit表示位地址 @间接寻址寄存器或基址寄存器的前缀 ( )表示括号中单元的内容 (( ))表示间接寻址的内容 指令系统 数据传送指令(8个助记符) 助记符中英文注释 MOV Move 移动 MOV A , Rn;Rn→A,寄存器Rn的内容送到累加器A MOV A , Direct;(direct)→A,直接地址的内容送A MOV A ,@ Ri;(Ri)→A,RI间址的内容送A MOV A , #data;data→A,立即数送A MOV Rn , A;A→Rn,累加器A的内容送寄存器Rn MOV Rn ,direct;(direct)→Rn,直接地址中的内容送Rn MOV Rn , #data;data→Rn,立即数送Rn MOV direct , A;A→(direct),累加器A中的内容送直接地址中 MOV direct , Rn;(Rn)→direct,寄存器的内容送到直接地址 MOV direct , direct;(direct)→direct,直接地址的内容送到直接地址 MOV direct , @Ri;((Ri))→direct,间址的内容送到直接地址 MOV direct , #data;8位立即数送到直接地址中 MOV @Ri , A;(A)→@Ri,累加器的内容送到间址中 MOV @Ri , direct;direct→@Ri,直接地址中的内容送到间址中 MOV @Ri , #data; data→@Ri ,8位立即数送到间址中 MOV DPTR , #data16;data16→DPTR,16位常数送入数据指针寄存器,高8位送入DPH,低8位送入DPL中(单片机中唯一一条16位数据传送指令) (MOV类指令共16条)

基于51单片机最小系统设计

基础强化训练任务书 学生姓名:董勇涛专业班级:电子0902 指导教师:洪建勋工作单位:信息工程学院 题目:基于51单片机最小系统设计 一、训练目的 主要目的就是对学生进行基础课程、基本技能、基本动手能力的强化训练,提高学生的基础理论知识、基本动手能力,提高人才培养的基本素质。 二、训练内容和要求 1、基础课程和基本技能强化训练 (1)设计一个基于51单片机最小系统电路; (2)对所设计电路的基本原理进行分析; 2、文献检索与利用、论文撰写规范强化训练 要求学生掌握基本的文献检索方法,科学查找和利用文献资料,同时要求学生获得正确地撰写论文的基本能力,其中包括基本格式、基本排版技巧和文献参考资料的写法、公式编排、图表规范制作、中英文摘要的写法等训练。 3、基本动手能力和知识应用能力强化训练 (1)学习PROTEL软件; (2)绘制电路的原理图和PCB版图,要求图纸绘制清晰、布线合理、符合绘图规范; 4、查阅至少5篇参考文献,按《武汉理工大学课程设计工作规范》要求撰写基础强化训练报告书,全文用A4纸打印。 三、初始条件 计算机;Microsoft Office Word 软件;PROTEL软件 四、时间安排 1、20011年7 月 11日集中,作基础强化训练具体实施计划与报告格式要求的说明; 学生查阅相关资料,学习电路的工作原理。 2、2011年7 月 12日,电路设计与分析。 3、2011年7 月 13日至2010年7 月 14日,相关电路原理图和PCB版图的绘制。 4、2011年7 月15日上交基础强化训练成果及报告,进行答辩。 指导教师签名:年月日系主任(或责任教师)签名:年月日 目录 摘要.................................................................................................................... 错误!未定义书签。

基于stc89c51单片机温控系统设计与制作学位论文

commonly used circuit, makes the whole design is more complete, more flexible. Keywords: DS18B20; STC89C51; MCU; control; simulation

1.绪论 1.1 温度控制系统设计的背景及意义 随着社会的发展,科技的进步,以及测温仪器在各个领域的应用,智能化已是现代温度控制系统发展的主流方向。特别是近年来,温度控制系统已应用到人们生活的各个方面,但温度控制一直是一个未开发的领域,却又是与人们息息相关的一个实际问题。针对这种实际情况,设计一个温度控制系统,具有广泛的应用前景与实际意义。 温度是科学技术中最基本的物理量之一,物理、化学、生物等学科都离不开温度。在工业生产和实验研究中,像电力、化工、石油、冶金、航空航天、机械制造、粮食存储、酒类生产等领域内,温度常常是表征对象和过程状态的最重要的参数之一。比如,发电厂锅炉的温度必须控制在一定的范围之内;许多化学反应的工艺过程必须在适当的温度下才能正常进行;炼油过程中,原油必须在不同的温度和压力条件下进行分馏才能得到汽油、柴油、煤油等产品。因此,各行各业对温度控制的要求都越来越高。可见,温度的测量和控制是非常重要的。 单片机在电子产品中的应用已经越来越广泛,在很多的电子产品中也用到了温度检测和温度控制。随着温度控制器应用范围的日益广泛和多样,各种适用于不同场合的智能温度控制器应运而生。 1.2 饮水机温度控制系统的目的 饮水机的温度控制系统,能有效的利用水资源和电源。过低的温度或者过高的温度都会使水资源造成浪费,在全球水资源缺乏的今日,我们更应该掌握好水温的控制。本设计为一个单片机的饮水机的温度控制系统,此系统可以实时检测饮水的水温,并且可以通过液晶管显示饮水机的温度,可以通过键盘对饮水机的水进行加热,当低于设定的温度下限时进行加热,本设计是对温度进行实时监测与控制,设计的系统主要实现了以下功能: 1.在液晶显示当前温度的大小,精度为四分之一度,并显示温度控制的上限值和下限值。 2.单位转换,把显示温度的单位从摄氏温标与华氏温标进行互换。 3.温度控制,当温度超出上限值就关闭继电器,当温度低于下限值就启动继电器。 4.温度控制的上限和下限的设置,通过矩阵键盘的输入修改上限值和下限值。 5.蜂鸣器报警,当温度超出上限值蜂鸣器进行报警。 1.3 系统总体设计思想 方案一:使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电

51单片机常用汇编语言助记符英文全称

51单片机常用汇编语言助记符英文全称 (1)数据传送类指令(7种助记符) MOV(英文为Move):对内部数据寄存器RAM和特殊功能寄存器SFR的数据进行传送;MOVC(Move Code)读取程序存储器数据表格的数据传送; MOVX (Move External RAM) 对外部RAM的数据传送; XCH (Exchange) 字节交换; XCHD (Exchange low-order Digit) 低半字节交换; PUSH (Push onto Stack) 入栈; POP (Pop from Stack) 出栈; (2)算术运算类指令(8种助记符) ADD(Addition) 加法; ADDC(Add with Carry) 带进位加法; SUBB(Subtract with Borrow) 带借位减法; DA(Decimal Adjust) 十进制调整; INC(Increment) 加1;DEC(Decrement) 减1; MUL(Multiplication、Multiply) 乘法; DIV(Division、Divide) 除法; (3)逻辑运算类指令(10种助记符) ANL(AND Logic) 逻辑与; XRL(Exclusive-OR Logic) 逻辑异或; CLR(Clear) 清零;CPL(Complement) 取反; RL(Rotate left) 循环左移; RLC(Rotate Left throught the Carry flag) 带进位循环左移; RR(Rotate Right) 循环右移; RRC (Rotate Right throught the Carry flag) 带进位循环右移; SWAP (Swap) 低4位与高4位交换; (4)控制转移类指令(17种助记符) ACALL(Absolute subroutine Call)子程序绝对调用;

常用51单片机汇编指令

常用单片机汇编指令: 1 .MOV A,Rn寄存器内容送入累加器 2 .MOV A,direct 直接地址单元中的数据送入累加器 3 .MOV A,@Ri (i=0,1) 间接RAM中的数据送入累加器 4 .MOV A,#data 立即数送入累加器 5 .MOV Rn,A累加器内容送入寄存器 6 .MOV Rn,direct 直接地址单元中的数据送入寄存器 7 .MOV Rn,#data 立即数送入寄存器 8 .MOV direct,A 累加器内容送入直接地址单元 9 .MOV direct,Rn 寄存器内容送入直接地址单元 10. MOV direct,direct 直接地址单元中的数据送入另一个 直接地址单元 11 .MOV direct,@Ri (i=0,1) 间接RAM中的数据送入直接地址单元 12 MOV direct,#data 立即数送入直接地址单元 13 .MOV @Ri,A (i=0,1) 累加器内容送间接RAM单元 14 .MOV@Ri,direct (i=0,1)直接地址单元数据送入间接RAM 单元 15 .MOV @Ri,#data (i=0,1) 立即数送入间接RAM单元 16 .MOV DPTR,#data16 16 位立即数送入地址寄存器 17 .MOVC A,@A+DPTR以DPTR^基地址变址寻址单元中的数 据送入累加器

18 .MOVC A,@A+PC以PC为基地址变址寻址单元中的数据送入累加器 19 .MOVX A,@Ri (i=0,1) 外部RAM(8位地址)送入累加器 20 .MOVX A,@DPTR外部RAM(16位地址)送入累加器 21 .MOVX @Ri,A (i=0,1) 累计器送外部RAM(8位地址) 22 .MOVX @DPTR,A累计器送外部RAM( 16位地址) 23 .PUSH direct 直接地址单元中的数据压入堆栈 24 .POP direct 弹栈送直接地址单元 25 .XCH A,Rn 寄存器与累加器交换 26 .XCH A,direct 直接地址单元与累加器交换 27 .XCH A,@Ri (i=0,1) 间接RAM与累加器交换 28 .XCHD A,@Ri (i=0,1) 间接RAM的低半字节与累加器交换算术操作类指令: 1. ADD A,Rn 寄存器内容加到累加器 2 .ADD A,direct 直接地址单元的内容加到累加器 3 A.DD A,@Ri (i=0,1) 间接ROM的内容加到累加器 4 .ADD A,#data 立即数加到累加器 5 .ADDC A,Rn寄存器内容带进位加到累加器 6 .ADDC A,direct 直接地址单元的内容带进位加到累加器 7 .ADDC A,@Ri(i=0,1) 间接ROM的内容带进位加到累加器 8 .ADDC A,#data 立即数带进位加到累加器

51单片机汇编指令集(附记忆方法)

51 单片机汇编指令集 一、数据传送类指令( 7 种助记符) MOV(英文为Move :对内部数据寄存器RAM 和特殊功能寄存器SFR 的数据进行 传送; MOV Q Move Code )读取程序存储器数据表格的数据传送; MOVX (Move External RAM) 对外部 RAM 勺数据传送; XCH (Exchange) 字节交换; XCHD (Exchange low-order Digit) 低半字节交换; PUSH (Push onto Stack) 入栈; POP (Pop from Stack) 出栈; 二、算术运算类指令( 8 种助记符) ADD(Addition) 加法; ADDC(Add with Carry) 带进位加法; SUBB(Subtract with Borrow) 带借位减法; DA(Decimal Adjust) 十进制调整; INC(Increment) 加 1; DEC(Decrement) 减 1; MUL(Multiplication 、Multiply) 乘法; DIV(Division 、Divide) 除法; 三、逻辑运算类指令( 10 种助记符) ANL(AND Logic) 逻辑与; ORL(OR Logic) 逻辑或; XRL(Exclusive-OR Logic) 逻辑异或; CLR(Clear) 清零; CPL(Complement) 取反; RL(Rotate left) 循环左移; RLC(Rotate Left throught the Carry flag) RR(Rotate Right) 循环右移; RRC (Rotate Right throught the Carry flag) SWAP (Swap) 低 4 位与高 4 位交换; 四、控制转移类指令( 17 种助记符) ACALL ( Absolute subroutine Call )子程序绝对调用; LCALL ( Long subroutine Call )子程序长调用; RET ( Return from subroutine )子程序返回; RETI ( Return from Interruption )中断返回; SJMP ( Short Jump )短转移; AJMP ( Absolute Jump )绝对转移; LJMP( Long Jump )长转移; CJNE (Compare Jump if Not Equal) 比较不相等则转移; DJNZ (Decreme nt Jump if Not Zero) 减1后不为0则转移; JZ (Jump if Zero) 结果为0则转移; JNZ (Jump if Not Zero) 结果不为0则转移; JC (Jump if the Carry flag is set) 有进位则转移; JNC (Jump if Not Carry) 无进位则转移; JB (Jump if the Bit is set) 位为1则转移; JNB (Jump if the Bit is Not set) 位为0则转移; 带进位循环左移; 带进位循环右移;

51单片机汇编指令及伪指令小结

51单片机汇编指令小结

二、算术运算类指令

四、控制转移类指令类

五、位操作类指令 逻辑操作与字节中的一致

51汇编常用伪指令 https://www.wendangku.net/doc/2a7084647.html, 16位地址:此指令用在原程序或数据块的开始,指明此语句后面目标程序或数据块存放的起始地址; 2.【标号】DB 字节数据项表:奖项表中的字节数据存放到从标号开始的连续字节单元中。例如:SEG:DB 88H,100,``7" , ``C"; 3.【标号】DW 双字节数据项表:定义16位地址表,16地址按低位地址存低位字节,高位地址存高位字节。例如:TAB:DW 1234H, 7BH 名字EQU 表达式或名字=表达式:用于给一个表达式赋值或给字符串起名字。之后名字可用作程序地址,数据地址或立即数地址使用。名字必须是一字母开头的字母数据串。例如:COUNT=10或SPACE EQU 10H 5.名字DATA 直接字节地址:给8位内部或外部RAM单元起个名字,名字必须是一字母开头的字母数据串。同一单元可起多个名字。例如:ERROR DATA 80H 6.XDATA直接字节地址:给8位外部RAM起个名字,名字规定同DATA伪指令。例如:IO_POTR XDATA OCF04H 7.名字Bit 指令:给一位可寻址的位单元起个名字,规定同DATA伪指令。例如:SWT BIT 30H 8.【标号】END:指出源程序到此结束,汇编对其后的程序语句不予理睬。源程序只在主程序最后使用一个END。 注:DATA和EQU的区别在于用DATA定义的字符名称作为标号登记在符号表中,故可先使用后定义;而用EQU定义的字符名称必须先定义后使用,其原因是EQU不定义在符号表中。

基于51单片机的多机通信系统设计

单片机多机通信系统 一、引言 随着单片机技术的不断发展,单片机的应用已经从单机向多机互联化方向发展。单片机在实时数据采集和数据处理方面,有着成本低、能满足一般要求、开发周期短等优点,其在智能家居、计算机的网络通信与数据传输、工业控制自动化等方面有着广泛的应用。 本系统是面向智能家居应用而设计的。在初期,采用红外无线通信方式,其传输距离短,适于一般家庭应用,且成本相对较低;待方案成熟、成本允许,可以改用GSM无线通信方式。 二、系统原理及方案设计 1 、系统框架介绍 本系统为基于51单片机的多机红外无线通信系统,由三个51单片机模块组成。其中一个作为主机(即上位机),负责接收来自从机1(即下位机)采集的数据信息,以及向从机2(即下位机)发送控制信息。从机1是数据采集模块,采集温度、光强等室内数据,并将其发送给主机。主机经分析处理,作出相应判断,并给从机2发送控制信息,使由从机2控制的电机作出相应反应,调节室内环境状况。 系统总体框图如下图1所示,图2为红外收发模块简图:

图1 系统总体框图 图2 红外收发模块简图 2 、多机通信原理介绍 在多机通信系统中,要保证主机与从机间可靠的通信,必须要让通信接口具有识别功能,51单片机串行口控制寄存器SCON中的控制位SM2正是为了满足这一要求而设置的。当串行口以方式2或方式3工作时,发送或接收的每一帧信息都是11位的,其中除了包含SBUF 寄存器传送的8位数据之外,还包含一个可编程的第9位数据TB8或RB8。主机可以通过对TB8赋予1或0,来区别发送的是数据帧还是地址帧。 根据串行口接收有效条件可知,若从机的SCON控制位SM2为1,

基于51单片机的流水灯系统设计

1. 设计思路2 1.1电源模块3 1.2显示模块3 1.3花样灯模块3 2单片机花样灯与数码显示系统总体设计错误!未定义书签。 2.1三个模块的阐述 2.2单片机花样灯与数码显示控制系统的通行方案设计错误!未定义书签。 2.3单片机花样灯与数码显示控制系统的功能要求错误!未定义书签。 2.4单片机花样灯与数码显示控制系统的基本构成及原理错误!未定义书签。 3花样灯与数码显示系统的硬件设计7 3.1AT89C51单片机简介7 3.1.1 AT89C51单片机的主要特性8 3.1.2 主要引脚功能9 3.2系统硬件总电路构成及原理10 3.2.1系统硬件电路构成11 3.2.2系统工作原理11 4系统软件程序的设计11 4.1程序主体设计流程11 4.2理论基础知识12 4.2.1数组及while、switch等语句错误!未定义书签。 4.2.2软件延时原理错误!未定义书签。 4.3程序模块设计错误!未定义书签。 4.3.1花样灯的设计错误!未定义书签。 4.3.2 LED数码管显示错误!未定义书签。 4.4系统软件调试16 4.4.1 proteus仿真16 4.4.2keil仿真17 参考文献 (17) 设计心得体会 (18) 附录 (19)

基于单片机的花样流水灯及其数码显示技术摘要:自计算机问世以来,单片机技术在社会各领域中得到了广泛的应用。在流水灯控制系统中,单片机更是取代了由齿轮调节延迟时间的旧式市发展速度,成为日后此系统中的核心部分。由于单片机具有一些突出的优点:体积小、重量轻、电源单一、功耗低;功能强、价格低;数据大都在单片机内部传送,运行速度快、抗干扰能力强、可靠性高,所以单片机被广泛的应用于测控系统、数据采集、智能仪器仪表、机电一体化产品、智能接口、计算机通信以及单片机的多级系统等领域。本文主要讲的是单片机,课题名称为多按键花样流水灯,它使我们学会了如何使用单片机控制我们日常生活中的多设备设施的应用。通过本课题的设计以后,使我了解到了单片机的许多方面的应用。 关键词:花样灯单片机数码管 1. 设计思路 (1)为了使设计具有更强的针对性和实用性,使用单片机设计的控制方案,基于AT89C51的单片机设计方案。 (2)确定系统控制的总体设计,包括流水灯变化方案设计以及系统应拥有的各项功能,在这里,本设计除了有流水灯状态控制能实现基本的变化功能,还增加了数码管显示提示。 (3)设计分为3个模块,分别为电源模块,数码显示模块,花样灯模块,并对

51单片机汇编指令集

1)数据传送类指令(7种助记符) MOV(英文为Move):对内部数据寄存器RAM和特殊功能寄存器SFR的数据进行传送; MOVC(Move Code)读取程序存储器数据表格的数据传送; MOVX (Move External RAM) 对外部RAM的数据传送; XCH (Exchange) 字节交换; XCHD (Exchange low-order Digit) 低半字节交换; PUSH (Push onto Stack) 入栈; POP (Pop from Stack) 出栈; (2)算术运算类指令(8种助记符) ADD(Addition) 加法; ADDC(Add with Carry) 带进位加法; SUBB(Subtract with Borrow) 带借位减法; DA(Decimal Adjust) 十进制调整; INC(Increment) 加1; DEC(Decrement) 减1; MUL(Multiplication、Multiply) 乘法; DIV(Division、Divide) 除法; (3)逻辑运算类指令(10种助记符) ANL(AND Logic) 逻辑与; ORL(OR Logic) 逻辑或; XRL(Exclusive-OR Logic) 逻辑异或; CLR(Clear) 清零; CPL(Complement) 取反; RL(Rotate left) 循环左移; RLC(Rotate Left throught the Carry flag) 带进位循环左移; RR(Rotate Right) 循环右移; RRC (Rotate Right throught the Carry flag) 带进位循环右移; SWAP (Swap) 低4位与高4位交换; (4)控制转移类指令(17种助记符) ACALL(Absolute subroutine Call)子程序绝对调用; LCALL(Long subroutine Call)子程序长调用; RET(Return from subroutine)子程序返回; RETI(Return from Interruption)中断返回; SJMP(Short Jump)短转移; AJMP(Absolute Jump)绝对转移; LJMP(Long Jump)长转移; CJNE (Compare Jump if Not Equal)比较不相等则转移; DJNZ (Decrement Jump if Not Zero)减1后不为0则转移; JZ (Jump if Zero)结果为0则转移; JNZ (Jump if Not Zero) 结果不为0则转移;

51单片机汇编指令

按功能分为五大类: (1)数据传送类指令(7种助记符) MOV(Move)对内部数据寄存器RAM和特殊功能寄存器SFR的数据进行传送;MOVC(Move Code)读取程序存储器数据表格的数据传送; MOVX (Move External RAM) 对外部RAM的数据传送; XCH (Exchange) 字节交换; XCHD (Exchange low-order Digit) 低半字节交换; PUSH (Push onto Stack) 入栈; POP (Pop from Stack) 出栈; (2)算术运算类指令(8种助记符) ADD(Addition) 加法; ADDC(Add with Carry) 带进位加法; SUBB(Subtract with Borrow) 带借位减法; DA(Decimal Adjust) 十进制调整; INC(Increment) 加1; DEC(Decrement) 减1; MUL(Multiplication、Multiply) 乘法; DIV(Division、Divide) 除法; (3)逻辑运算类指令(10种助记符) ANL(AND Logic) 逻辑与; ORL(OR Logic) 逻辑或; XRL(Exclusive-OR Logic) 逻辑异或; CLR(Clear) 清零; CPL(Complement) 取反; RL(Rotate left) 循环左移; RLC(Rotate Left throught the Carry flag) 带进位循环左移; RR(Rotate Right) 循环右移; RRC (Rotate Right throught the Carry flag) 带进位循环右移; SWAP (Swap) 低4位与高4位交换; (4)控制转移类指令(17种助记符) ACALL(Absolute subroutine Call)子程序绝对调用; LCALL(Long subroutine Call)子程序长调用; RET(Return from subroutine)子程序返回; RETI(Return from Interruption)中断返回; SJMP(Short Jump)短转移; AJMP(Absolute Jump)绝对转移; LJMP(Long Jump)长转移; CJNE (Compare Jump if Not Equal)比较不相等则转移; DJNZ (Decrement Jump if Not Zero)减1后不为0则转移; JZ (Jump if Zero)结果为0则转移; JNZ (Jump if Not Zero) 结果不为0则转移;

PIC16系列单片机汇编指令集-包括部分伪指令-很有帮助(整理的)2011

PIC16系列单片机汇编指令集-包括部分伪指令-很有帮助(整理的)2011.txt大人物的悲哀在于他们需要不停地做出选择;而小人物的悲哀在于他们从来没有选择的机会。男人因沧桑而成熟,女人因成熟而沧桑。男人有了烟,有了酒,也就有了故事;女人有了钱,有了资色,也就有了悲剧。 当D不写时默认是放到F中吗?好像是. 更新:1,PIC16没有同或指令; 面向字节 ADDWF F,D ;寄存器加法指令,F+W→D 影响C,DC,Z 进位C为1表示有进位 INCF F,D ;寄存器加1指令F+1→D SUBWF F,D ;减法指令F-W→D 影响C,DC,Z 进位C为0表示有借位.则F

相关文档
相关文档 最新文档