单片机第五章答案
【篇一:单片机第五章答案】
5-8 要在单片机片外扩展16kb数据存储器,选择其地址为0000~3fffh。如选用6264为存储器芯片,74ls138为译码器,试画出硬件的连接图。(图中右边的6116应该改为6264)
74ls138
5-9 要在单片机片外扩展32kb数据存储器,选择其地址为8000h~ffffh。如选用线选法,试设计其硬件的连接图。
5-10写出图5-43中#1~#7存储器的寻址范围,片选信号低电平有效,其中#1~#3为2kb的rom;#4~#7为1kb的ram.
1#:8000h----87ffh 2#:8800h----8fffh 3#:9000h----97ffh 4#:0a000h—0a3ffh 5#:0a400h---0a7ffh 6#:0a800h---0abffh 7#:0ac00h---0afffh
5-11 决定8155端口地址的引脚有哪些?io/m的作用是什么?t/in和t/out的作用是什么?
1. ad0~ad7(8条) 三态地址/数据线
控制总线(8条) i/o总线(22条) 电源线(2条)
2. io/m为i/o口及存储器选择信号,若io/m=0,则选择存储器;否则选择i/o口;
t/out3. t/in为定时器输入,定时器工作所需的时钟信号由此端输入。
为定时器输出;
5-13 led数码管显示器在单片机系统中有哪几种显示方式?
led显示器的显示方式可分为静态显示和动态显示两种。
静态显示是指每个数码管的段选线控制是独立的,其特点是各led管能稳定地同时显示各自的字形。
动态显示又称扫描显示方式,它是将每个数码管的段选线同名相连,在某一时刻只让一根位选线有效,同时在段选线上输出该位要显示的字形码,在下
一时刻改变要显示的字位并在段选线上输出相应的字形码,如此各led轮流地一遍一遍地显示各自的字符,由于视觉器官具有视觉暂留效应,从而看到的是各led似乎在同时显示不同的字形。
5-14以共阴极数码管为例说明其字形码是如何形成的?
共阴极是把八个二极管的阴极接在一起作为位选线,低电平有效。下图为八段led数码显示管的结构和原理图。管脚信号a~h用来控制显示的字形,称为段选线,一般将段选线的高低电平按h、g、f、e、d、c、b、a顺序排列,形成十六进制编码,称为字形码
单片机编程100例详解h
g
f
e
d
c
b
a
h
g
f
e
d
c
b
a
5-16 已知30h单元中有一带符号数,若它是正数,则在图5-41所示接口电路中
自左至右不断地依次显示0;若它是负数,则自右至左不断地依次显示1。试编写相应的程序。 org
start: movmovmovmovmovmovmovmovmovjb sjmp neg: movmovmovx nxn: movmovmovxrr movacall nextn: djnzsjmp pos: movmovmovx
0000h
r1,#06hr2,#20hr3,#01hr7,#02hr6,#0ffh a,#0ehdptr,#2100h @dptr,a a,30hacc.7 neg pos a,#06hdptr,#2102h @dptr,a a,r2dptr,#2103h @dptr,a a r2,adl r1,nxnjs a,#3fhdptr,#2102h @dptr,a
;数码管个数
;负数时数码管自右向左显示时初始位控制字 ;正数时数码管自左向右显示时初始位控制字 ;延时1ms,内部循环 ;延时1ms,外部循环
;
命令控制字,b口输出,c口输出 ;命令寄存器地址 ;写命令
;取出30h单元的数,判断正负 ;如果为负则跳转至neg ;如果为正则跳转至pos ;“1”的字形码 ;b寄存器 ;
;负数的位控制字 ;c寄存器
;输出位控制字,控制数码管的显示
;位控制字右移一位,实现数码管自右向左点亮 ;把位控制字放回r2寄存器 ;调用延时程序,延时1ms
;判断数码管是否已经循环完毕 ;如果显示完毕则跳转至js ; “0”的字形码 ; b寄存器 ;
共阳极
共阴极
nxp:
mov
mov movx
rl movacall nextp: djnz js: sjmp dl: mov dl6: djnzdjnzretend
a,r3
dptr,#2103h @dptr,a a r3,adl r1,nxpstartr6,#0ffh r6,dl6r7,dl; 正数的位控制字
; c寄存器 ;
; 位控制字左移一位,实现数码管自左向右点亮 ; 把位控制字放回r3寄存器 ; 调用延时程序,延时1ms
; 判断数码管是否已经循环完毕 ; 如果显示完毕则跳转至js ;延时1ms子程序 ; ;
5-18 设计具有三个按键的电路并编写相应的程序:当第一个按键按下时,将40h
单元置1;当第二个按键按下时,40h单元置2;当第三个按键按下时,40h单元置0。
+5v
org
scan: mov mov mov mov movx anl cjne keyscan: acall mov keysm1: mov mov movx mov
0000h
dptr,#0101h a,#00h @dptr,a dptr,#0103h a,@dptra,#07h a,#07h,keyscan dyrms r2,#0feh a,r2 dptr,#0101h @dptr,a dptr,#0103h
; ; ; ; ; ; ; ; ;
jsadd: jsadd1: jsadd2: done: dyrms: dyrms1: dyrms2: movx a,@dptr
anl a,#07h ;
cjne a,#07h,jsadd sjmp $
jb acc.0,jsadd1 mov 40h,#01h ajmp done jb acc.1,jsadd2 mov 40h,#02h ajmp done jb acc.2,done mov 40h,#00h sjmp $
mov r7,#18h mov r6,#0ffh djnz r6,dyrms2 djnz r7,dyrms1 ret end
【篇二:第5章 答案 单片机】
>一、 基础题
1.b 2.a 3.b 4.c 5.b 6.c 7.b 8.a 9.a 10.c 二、 思考题与编程题
1. 简述mcs-51单片机的定时器/计数器的结构和工作原理。
答:mcs-51单片机的定时器/计数器的结构:mcs-51单片机有2个定时器/计数器,被称为定时器/计数器t0和定时器/计数器t1。定时器/计数器t0的计数器由2个8位的特殊功能寄存器tl0和th0构成;定时器/计数器t1的计数器由特殊功能寄存器tl1和th1构成,t0和t1有多种工作方式,由定时器/计数器方式寄存器tmod设置。t0和t1的启动和停止由定时器/计数器控制寄存器tcon控制。
工作原理:
定时器/计数器工作在计数模式时,计数器对外部脉冲进行计数,脉冲信号发生1到0负跳变,计数器自动加1;
定时器/计数器工作在定时模式时,计数脉冲信号来自单片机的内部,每个机器周期产生一个计数脉冲,计数器自动加1,也就是每个机器周期计数器加1。
计数器计满后,再计一次,计数器溢出,溢出标志被置1。 2. mcs-51单片机的定时器/计数器t0中有哪几种工作方式?作为计数器和定时器使用时,它们的计数信号有什么不同?其最大计数和定时时间分别是多少?
答:t0有4种工作方式,方式0:13位定时器/计数器,方式1:16位定时器/计数器,方式2:8位常数自动装入的定时器/计数器,方式3:2个8位的定时器/计数器
作为计数器,计数信号由外部脉冲提供,作为定时器,计数信号由单片机内部提供; 计数模式时,方式0的最大计数次数为8192,方式1的最大计数次数为65536,方式2和方式3的最大计数次数为256。
设单片机的机器周期为最大定时为,定时模式时,方式0的最大定时为8192tm,方式1的最大定时为65536tm,方式2和方式3的最大定时为256tm。
3. 设置工作方式寄存器tmod时,gate位对定时器/计数器的工作有什么影响?定时器/计数器工作在方式2时,与其他几种方式有什么区别?当设置为方式3时,定时器/计数器t1将如何工作?
答:当gate=0时,只要tr0被置1时,定时器/计数器t0启动开始计数。 当gate=1时,定时器/计数器t0启动受int0引脚的外部信号控制。只有当tr0被置1,且int0引脚输入信号为高电平时,定时器/计数器t0才开始计数。
定时器/计数器工作在方式2时,与其他几种方式的区别在于当计数器tl0溢出时,tf0被置1,同时把th0的内容装载到tl0,计数器便以该值为初始值重新开始计数,而其他几种方式计数器将清零。
当设置为方式3时,定时器/计数器t1将停止工作。
因为系统的晶振频率为12mhz,则机器周期。设计数初始值为x:
x?213?
td50?213??8142tm1
x的低5位赋给tl0,转换为二进制数得x?1111000001100b。取x的高8位赋给th0,
则(th0)=11110000b=0f0h,(tl0)=00001100b=0ch,tl0的高3位默认为0。 (2)设置工作方式
方式0:m1m0=00,定时器模式:c/t?0,计数器启动不受外部控制:gate=0,因此,tmod的内容为00h。
(3)采用查询方式的程序设计如下:
mov tmod,#00h
mov th0,#0f0h mov tl0,#0chsetb loop:
ajmp
jbc tf0,ovflow
loop
;重新设置计数初值
;重复循环
;设置计数器初始值 ;查询计数溢出
tr0 ;启动定时器/计数器
ovflow: mov th0,#0f0hmov tl0,#0ch cpl p1.0 ajmp org 0000h ljmp main org 000bh ljmp p_t0 org 0030h main:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论