单片机作业

发布 2021-05-05 15:43:28 阅读 9764

《单片机原理及应用》作业。

1、叫原码、反码和补码?

答:正数的反码和补码都是和原码相同。

负数。在计算机中,负数以其正值的补码形式表达。

什么叫补码呢?这得从原码,反码说起。

原码:一个整数,按照绝对值大小转换成的二进制数,称为原码。

比如***是5的原码。

反码:将二进制数按位取反,所得的新二进制数称为原二进制数的反码。

取反操作指:原为1,得0;原为0,得1。(1变0;0变1)

2、何认识80c51单片机存储空间在物理结构上可划分为4个空间,而在逻辑上有划分为3个空间?

答:所谓的四个空间是:片内程序存储区、片外程序存储区、片内数据存储区、片外数据存储区。

片内程序存储区和片外程序存储区是统一编址的,所以在逻辑上只有三个:

片内数据存储区、片外数据存储区和片内外统一编址的程序存储区。

3、是堆栈?堆栈有何作用?程序设计时,为什么要对堆栈指针sp重新设计?

答:堆栈是一个特殊的存储区,主要功能是暂时存放数据和地址,通常用来保护断点和现场。堆栈指针sp复位后指向07h单元,00h~1fh为工作寄存器区,20h~2fh为位寻址区,这些单元有其他功能,因此在程序设计时,需要对sp重新赋值。

如果cpu在操作中要使用两组工作寄存器,sp应该至少设置为0fh。

4、址7ch与字节地址7ch有何区别?位地址7ch具体在内存中什么位置?

答:字节地址7ch是片内数据存储器中的一个地址单元,该地址单元中可以存放8位二进制数,位地址7ch是内部数据存储器中位寻址区中的一位,该地址单元中可以存放1位二进制数。位地址7ch具体在片内数据存储器字节地址为2fh中的第4位(2fh.

4)。5、特殊功能寄存器和片外数据存储器采用哪些寻址方式?

答:特殊功能寄存器只能直接寻址。

片外数据存储器只能间接寻址,只能通过dptr或r0和r1向a传送。

movx a @dptr

movx a @r0/@r1

movx @dptr a

movx @r0/@r1 a

这是由指令规定的,所以只要记住是这么回事就行了,不要问为什么。

访问特殊功能寄存器可以采用直接寻址、立即寻址、寄存器寻址和位寻址(针对可以进行位寻址的特殊功能寄存器)方式。访问片外数据存储器可采用寄存器间接寻址方式。

6、当前pc值为210h,请用两种方法将程序存储器2f0h中的常数送入累加器a中。

答:(1)以程序计数器pc作为基址寄存器。

mov a,#0e0h

movc a,@a+pc

2)以数据指针dptr作为基址寄存器。

mov dptr, #02f0h

mov a, #00h

movc a, @a+dptr

7、编程将片外ram 40h单元的内容与r1的内容交换。

答: mov r0, #40h

movx a, @r0

xch a, r1

movx @r0, a

8、程将外部数据存储器2100h单元中的高四位置“1”,其余位清“0”。

答: mov dptr, #2100h

movx a, @dptr

orl a, #0f0h

anl a, #0f0h

movx @dptr,a

9、将片内ram 40h—60h单元中的内容送到以3000h为首的存储区中。

答: mov r1, #40h

mov r2, #21h

mov dptr, #3000h

l1: mov a, @r1

movx @dptr, a

inc r1

inc dptr

djnz r2, l1

10、计算片内ram 50h—57h八个单元中数的算术平均值,结果存放在5ah中。(假设八个单元中数的和小于255)

答: mov r0, #

mov r1, #50h

mov a, #00h

l1: add a, @r1

inc r1

djnz r0, l1

mov b, #

div ab

mov 5ah, a

11、延时1s的子程序。(设单片机晶振采用6mhz)

试编写延时1s、1min和1h的子程序。

解: ;单片机晶振采用6mhz,计算为近似值。

;延时1hdelay_1h: mov r0,#60h

delay_1: lcall delay_1m

djnz r0,delay_1

ret;延时1min

delay_1m: mov r1,#60h

delay_2: lcall delay_1s

djnz r1, delay_2

ret延时1s

delay_1s: mov r2,#

delay_3: mov r3,#

delay_4: mov r4,#125;1s延时的设定值。

delay: nop

nopdjnz r4, delay

djnz r3, delay_4

djnz r2, delay_3

ret12、试编写延时1s、1min、1h子程序。

答: ;单片机时钟fosc=12mhz,计算为近似值。

1s延时子程序。

dly_1s: mov r0, #

l3: mov r1, #

l2: mov r2, #

l1: djnz r2, l1

djnz r1, l2

djnz r0, l3

ret 延时1min

dly_1m:mov r3, #

l4: lcall

dly_1s djnz r3, l4

ret 延时1h

dly_1h: mov r4, #

l5: lcall

dly_1m djnz r4, l5ret

单片机作业

单片机测试一。第一部分选择题。一 单项选择题在每小题列出的四个备选项中只有一个是符合题目要求的,请将其 填写在题前的括号内。错选 多选或未选均无分。1.下列关于单片机说法错误的是。单片机的cpu能处理8位二进制数据或 以及布尔运算。b.8051总共有256个ram单元,内部数据存储器为前128单元。...

单片机作业

3 2访问外部数据存储器和程序存储器可以用哪些指令来实现?举例说明。答 访问外部数据存储器可以用ramx指令来实现。例如 movx a,ri 寄存器ri指向的片外ram单元中的内容送到累加器a中。访问程序存储器可以用ramc指令来实现。例如 movc a,a dptr rom中 地址单元中的内容送到...

单片机作业

作业21 eeprom e2prom 存储器与数据存储器 ram 相比较,有哪些相同点和不同点?eeprom e2prom 存储器与flash存储器 flash rom 相比较,又有哪些相同点和不同点?2 简述程序状态字 psw 程序计数器 pc 堆栈指针 sp 和数据指针寄存器 dptr 的主要功...