ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:171.53KB ,
资源ID:10762647      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10762647.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(单片机课后部分答案.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

单片机课后部分答案.docx

1、单片机课后部分答案1.12写出下列各十进制数在八位微型计算机中的原码、反码和补码形式。 X=+38 X=+76 X=-54 X=-115 X=-42解: X原=X反=X补=00100110 B; X原=X反=X补=01001100 B X原=10110110B,X反=11001001B,X补=11001010B X原=11110011B,X反=10001100B,X补=10001101B X原=10101010B,X反=11010101B,X补=11010110B1.13已知原码如下,写出其反码和补码。 X原=01011001B X原=11011001B X原=00101110B X原=111

2、1100B解: X原=X反=X补=01011001 B; X原=11011001B, X反=10100110B,X补=10100111B1.14先把下列各数转换成二进制数,然后按补码运算规则求出X+Y补及其真值。 X=+46,Y=+55 X=+78, Y=+15 X=-51,Y=+97 X=+112, Y=-83解: X 补=00101110B,Y补=00110111B;X+Y补=01100101B=+101D X 补=01001110B,Y补=00001111B;X+Y补=01011101B=+93D X 补=11001101B,Y补=01100001B;X+Y补=00101110B=+46

3、D X 补=01110000B,Y补=10101101B;X+Y补=00011101B=+29D1.15已知X和Y的补码,计算X+Y补和X-Y补,并判断运算结果是否有溢出。 X补=10011011B X补=00100110B X补=10110001B Y补=11100011B Y补=00010111B Y补=10001110B解: X+Y补=1 01111110B,C7C6=10=1,结果溢出; -Y补= 00011101B,X-Y补=0 10111000B,C7C6=00=0,结果无溢出; X+Y补=0 00111101B,C7C6=00=0,结果无溢出; -Y补=11101001B,X-Y

4、补=1 00001111B,C7C6=11=0,结果无溢出; X+Y补=1 00111111B,C7C6=10=1,结果溢出; -Y补= 01110010B,X-Y补=1 00100011B,C7C6=11=0,结果无溢出;第2章 2.1, 8051单片机内部结构主要有哪些部件组成?它们的主要功能各是什么? 答:8051单片机内部结构主要有:(1)中央处理器CPU,是单片机的核心,完成运算和控制功能;(2)内部数据存储器(256字节),前面128个单元00H7FH存储内部数据,后面128个单元80HFFH被专用寄存器占用,用来实现对片内各部件进行管理、控制、监视;(3)程序计数器PC,是一个1

5、6位专用寄存器,其内容为下一条执行指令的地址;(4)内部程序存储器ROM(4K),用于存储程序、原始数据、表格等;(5)4个并行I/O口(8位),实现数据的并行输入输出;(6)串行通信口,实现单片机和其他数据设备之间的串行数据传送;(7)2个定时器/计数器(16位),实现定时或计数功能;(8)中断控制系统,共5个中断源,分高低两个优先级;(9)一个片内振荡器和时钟电路,为单片机产生时钟脉冲序列;(10)总线,用于连接各个部件和单片机系统的扩展。3. 8051单片机的引脚/VPP、RST/VPD、ALE/和的功能分别是什么? 答:片内外ROM选择端,ROM的寻址范围为64KB,而AT89C51内

6、部只有4KB ROM,当不够用时可在外扩展ROM。当/EA信号为低电平时,指访问外部ROM;当/EA为高电平时,则先访问内部ROM,当PC值超过4KB时自动转向外部ROM中执行。RST:复位信号,当此引脚上的信号出现至少两个机器周期的高电平将使单片机复位。ALE:地址锁存控制信号,当系统扩展时,ALE用于控制把P0口输出的低8位地址送入锁存器存起来,以实现低位地址和数据的分时传送。:外部ROM的读选通信号,在访问外部ROM时,每个机器周期两次PSEN有效(低电平),但在此期间内,每当访问外部数据存储器时,这两次有效的PSEN将不出现。第5章5.9 已知单片机晶振频率为6MHz,要求使用T1定时

7、50ms,工作在方式1,允许中断,试计算初值并编写初始化程序。答: 计算定时器T1的初值已知晶振频率为6MHz,则机器周期为12/fosc2s使用T1定时功能,工作在方式1,定时时间为50ms,则T1的初值为: 所以T1的初值为:TH1=9EH,TL1=58H。 定时/计数器方式寄存器TMOD的设置 要求用T1定时、工作在方式1、软启动,所以TMOD寄存器应按如下设置:T1T0GATE M1 M0 GATE M1 M0 0001所以TMOD=10H。 允许T1中断,中断允许寄存器IE设置如下: T1的初始化程序如下: MOV TMOD, #10H ;置定时器1工作方式1 MOV TH1, #9

8、EH ;送初值 MOV TL1, #58H MOV IE, #88H ;开中断 SETB TR1 ;启动定时器5.12 设MCS-51单片机时钟为12MHz,请利用内部定时器T1编写从P1.1引脚输出3ms矩形波的程序,要求占空比为2:1(高电平2ms,低电平1ms)。答:要求矩形波周期3ms,占空比2:1,就是在一个周期中,高电平2ms,低电平1ms 定时器T1工作在方式1,其方式寄存器TMOD为: 计算初值: 机器周期12/fosc1s对1ms定时,初值X1为: X1655361000/164536FC18H对2ms定时,初值X2为: X2655362000/163536F830H 中断允

9、许寄存器IE为: 程序如下: ORG 0000H LJMP START ORG 001BH LJMP BRT1 ORG 0030H START: MOV TMOD, #10H MOV TH1, #0F8H MOV TL1, #30H MOV IE, #88H SETB TR1 SETB P1.1 LOOP: SJMP LOOP ORG 0100H BRT0: MOV C, P1.1 JC NEXT MOV TH1, #0F8H MOV TL1, #30H SJMP COM NEXT: MOV TH1, #0FCH MOV TL1, #18H COM: CPL P1.1 RETI END5.13

10、 已知晶振频率为6MHz,设计程序使P1.4和P1.5外接灯自动轮流点亮,间隔时间为0.5s。答:要求间隔0.5s轮流点亮两个灯,则定时器需要定时0.5s,这个值已经超过了定时器的最大定时时间。为此,可采用定时器定时与软件计数相结合的方法来解决问题。本题用定时器T0,每隔0.1s中断1次,向CPU申请中断,用R0计中断的次数。当R0计到5次中断时,则0.5秒时间到,轮流点亮两个只发光二极管。 定时/计数器方式寄存器TMOD的设置 要求用T0定时、工作在方式1、软启动,所以TMOD寄存器应按如下设置:T1T0GATE M1 M0 GATE M1 M0 0001所以TMOD=01H。 计算定时器T

11、0的初值已知晶振频率为6MHz,则机器周期为12/fosc2s采用定时功能工作方式1,定时时间为100ms,则T0的初值为: 所以T0的初值为:TH0=3CH,TL0=B0H。 当T0定时到向CPU申请中断,所以T0应开中断,中断允许寄存器IE设置如下: 程序如下: ORG 0000H LJMP START ORG 000BH ;T0中断入口 LJMP BKT0 ORG 0100H START: SETB P1.4 ;点亮1个LED灯 CLR P1.5 MOV R0, #05H ;设置中断次数5次 MOV TMOD, #01H ;置定时器0工作方式1 MOV TH0, #3CH ;送初值 MO

12、V TL0, #0B0H MOV IE, #82H ;开中断 SETB TR0 ;启动定时器LOOP: CJNE R0, #00H, NEXT ;R00则转NEXT MOV R0, #05H ;否则1s延时到,重置R0 CPL P1.4 CPL P1.5NEXT: SJMP LOOP ORG 0300H BKT0: DEC R0 MOV TH0, #3CH ;重置初值 MOV TL0, #0B0H RETI END 第6章6.5 试用线选法画出8031对二片2764的连线图,并详细列出基本地址范围和重叠地址范围。答:8031通过P2.7和P2.6两根口线分别选通二片2764的接线图如图所示:上

13、图程序存储器扩展系统中各片2764的地址范围见下表,其中P2.5脚悬空,取不同值时可得重叠地址范围如表所列。2764编号A15A14A13A12 A11A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0重叠地址范围1#2764(P2.7=0)0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 14000H5FFFH6000H7FFFH2#2764(P2.6=0)1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 18000H9FFFHA000HBFFF

14、H 当悬空脚P2.5取0时的地址范围即为基本地址范围,即1#2764的基本地址范围为4000H5FFFH,2#2764的基本地址范围为8000H9FFFH。6.9 MCS-51单片机P1口的P1.0P1.7分别通过反相器接8个发光二极管。要求编写程序,每当外中断1有中断请求信号输入时,点亮的发光二极管向右移一位,试编写程序。答:依题意,51单片机I/O接口电路如下图所示:程序如下: ORG 0000H LJMP MAIN ORG 0013H ;INT1中断入口 LJMP BREAK1 ORG 0030H MAIN: SETB IT1 ;置下降沿触发方式 SETB EA SETB EX1 MOV

15、 P1, #80H ;先点亮VL7 WAIT: NOP SJMP WAIT ORG 0100H ;中断服务程序 BREAK1: RR A ;每中断1次,灯右移1位 MOV P1, A RETI END6.12 用8255A扩展MCS-51单片机的I/O接口,若8255A的A口用作输入,每一位外接一个开关;C口用作输出,每一位通过反相器接一个发光二极管。要求当A口开关闭合(低电平)时C口对应位发光二极管点亮,画出接口电路,列出8255A各I/O口地址并编写程序。答: 51单片机与8255A接口电路如下图所示: 依题意,8255A的A口和C口都工作于方式0,且A口用作输入,C口用作输出,则方式控制

16、字设置如下: 根据硬件连接,8255A各I/O口地址如下表所列,其中A15(P2.7)必须取0,才能选中8255A,而A14A8可任意取,此处均取“1”。8255A端口A15A14A13A12 A11A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0十六进制地址A口0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 07F00HB口0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 17F01HC口0 1 1 1 1 1 1 1 0 0 0 0 0 0 1 07F02H控制口0 1 1 1 1 1 1 1 0 0 0 0 0 0 1 17F03H 由于某开关闭合

17、时对应的引脚是逻辑“0”,而要点亮发光管应该输出逻辑“1”,因此从A口输入的开关状态需要取反后再从C口输出,才能对应点亮外接发光二极管,程序如下: ORG 0500HMAIN: MOV DPTR, #7F03H ;DPTR控制口地址MOV A, #90H ;方式控制字MOVX DPTR, A ;8255A控制字INPA: MOV DPTR, #7F00H ;指向8255的A口MOVX A, DPTR ; A 8255的A口CPL A ;取反MOV DPTR, #7F02H ;指向8255的C口MOVX DPTR, A ;8255的C口 A MOV R7, #20 ;延时DEL0: MOV R6

18、, #0FFHDEL1: DJNZ R6, DEL1 DJNZ R7, DEL0 SJMP INPA END7.4 说明静态显示和动态显示的特点?答:静态显示是指LED显示器显示某一字符时,相应的发光二极管恒定导通或恒定截止。这种显示方式要求各位显示块的公共端恒定接地(共阴极)或接正电源(共阳极)。每个显示块的8个段选线分别与一个8位并行I/O口的8位口线相接,I/O口只要有段码输出,相应字符就被显示出来,并保持不变。直到I/O口输出新的段码。动态显示是一位一位地轮流点亮各位显示器,这种逐位点亮显示器的方式称为位扫描。这种显示方式要求各位显示器的段选线应并联在一起,由一个8位的IO口控制;各位

19、的位选线(公共阴极或阳极)由另外的口线控制。该方式显示时,各位显示器轮流选通,要使其稳定显示必须采用扫描方式,即在某一时刻只选通一位显示器,并送出相应的段码,进行适当延时(延时时间约为15ms),接着选通另一位显示器,并送出相应的段码,如此循环往复,即可使各位显示器显示相应的字符。只要循环时间足够短,利用人眼的视觉暂留效应,就可以给人同时显示的感觉。 7.11 请用AT89C51单片机的P1口设计一个33的键盘电路,并编写相应的键盘程序。答:ORG 0030HKEYSCAN: ACALL KSCAN ;查有没有键按下 JZ GORET ;A=0表示没有键按下,返回 LCALL DELAY10m

20、s ;有键按下,延时10ms(DELAY10ms略)。 ACALL KSCAN ;再查有没有键按下 JZ GORET ;A=0表示没有键按下,返回 ACALL KEYSUM ;有键按下,扫描确定键值 RL A RL A ;键值4;主要考虑FTAB 以下指令LCALL(3字节)和RET(1字节)的总字节数为4 MOV DPTR, #FTAB JMP A+DPTR ;散转,执行所按键相应功能子程序GORET: RETFTAB: LCALL FUNC0 ;调用0号键功能子程序 RET LCALL FUNC1 ;调用1键功能子程序 RET LCALL FUNC8 ;调用8键功能子程序 RET LCAL

21、L ERRSUB ;键值为9,异常处理 RET;KSCAN为判断有无键按下子程序,表示有键按下KSCAN: MOV P1, #0F8H ;行线置低电平,列线置输入态 MOV A, P1 ;读列线数据 CPL A ;A取反 ANL A, #0F8H ;屏蔽行线 RET ;返回,表示有键按下;KEYSUM为求键值子程序,键值在A中KEYSUM: MOV R6, #00H ;R6存放每行最左键的键值,初始清零 MOV R7, #0FEH ;准备扫描第0行LOOP: MOV P1,R7 ;逐行输出0扫描 MOV A, P1 ;读列线数据 JB ACC.3, L1 ;第0列无键按下,转查第1列 MOV

22、A, #0 ;第0列有键按下, SJMP KSOLVE ;转求键值L1: JB ACC.4, L2 ;第1列无键按下,转查第2列 MOV A, #1 ;第1列有键按下, SJMP KSOLVE ;转求键值L2: JB ACC.5, NEXT ;4列均无键按下,本行扫描结束 MOV A, #2 ;第3列有键按下, SJMP KSOLVE ;转求键值NEXT: MOV A, R7 ;准备扫描下一行 JNB ACC.2,ERR ;扫描完未读到键值,异常处理 RL A ;R7循环左移一位 MOV R7,A ;得到下一行行扫描字 ADD R6, #3 ;得到下一行首键键值 SJMP LOOP ;转LOO

23、P,扫描下一行ERR: MOV A, #9 ;键值赋9,表示出错! RETKSOLVE: ADD A,R6 ;得键值 PUSH ACC ;键值进栈暂存WAIT: ACALL KSCAN ;查按键释放否?防止重复执行键功能 JNZ WAIT ;没有释放,等待 POP ACC ;键值出栈 RET 8.3 什么是D/A转换器,它有哪些主要指标?简述其含义?答:1) D/A转换器的基本原理实际上是把输入数字量中的每位都按其权值分别转换成模拟量,并通过运算放大器求和相加,即“按权展开,然后相加”,实现数模转换。 2) 它有以下主要指标:分辨率,其含义是D/A转换器能分辨的最小输出电压增量,常为满量程的倍

24、。转换精度,其含义是D/A转换器实际输出值和理论值的接近程度。偏移误差,其含义是输入数字量为0时,输出模拟量对0的偏移值。线性度,其含义是D/A转换器实际转换特性和理想直线间的最大偏差。8.4 什么是A/D转换器,它有哪些主要指标?简述其含义?答:1)A/D转换器是一种能把输入模拟电压或电流变成与它成正比的数字量,即能把被控对象的各种模拟信息变成计算机可以识别的数字信息。 2) 它有以下主要指标:分辨率,其含义是使输出数字量变化一个相邻数码所需输入模拟电压的变化量。量化误差,其含义是ADC的有限位数对模拟量进行量化而引起的误差。 偏移误差,其含义是当输入信号为0时,输出信号不为0的值。 满刻度

25、误差,其含义是满刻度输出数码所对应的实际输入电压与理想输入电压之差。线性度,其含义是转换器实际的转换特性与理想直线的最大偏差。绝对精度,其含义是在一个转换器中,任何数码所对应的实际模拟量输入与理论模拟输入之差的最大值。转换速率,其含义是能够重复进行数据转换的速度,即每秒转换的次数。8.5 DAC0832芯片内部逻辑上由哪几部分组成?有哪几种工作方式? 答:DAC0832芯片内部逻辑由一个8位输入寄存器、一个8位DAC寄存器和一个8位D/A转换电路组成。DAC0832芯片共有三种工作方式,分别是直通方式、单缓冲器方式和双缓冲器方式。 8.15 请画出实现从A/D转换芯片ADC0809的IN0路采

26、集模拟信号,并从D/A转换芯片DAC0832输出的AT89C51单片机的接口电路,并编写相应的程序。答:ORG 0000H LJMP START ORG 0003H ;外部中断0入口地址 LJMP ADINT0 ORG 0030HSTART: SETB IT0 ;置INT0边缘触发 SETB EX0 SETB EA ;开中断 MOV DPTR,#7FF8H ;指向ADC0809 IN0的通道地址 MOVX DPTR,A ;启动A/D转换 SJMP $ADINT0: MOV DPTR,#7FF8H ;指向IN0的通道地址MOVX A,DPTR ;读取转换结果MOV DPTR,#0BFFFH ;片选DAC0832MOVX DPTR,A ;完成D/A输出MOV DPTR,#7FF8H ;指向ADC0809 IN0的通道地址 MOVX DPTR,A ;再次启动A/D转换 RETI END

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1