欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    单片机原理及应用_第二版(林立张俊亮)课后习题答案.pdf

    • 资源ID:91534595       资源大小:6.01MB        全文页数:60页
    • 资源格式: PDF        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    单片机原理及应用_第二版(林立张俊亮)课后习题答案.pdf

    单片机原理及应用第二版第一章习题1.什么是单片机?单片机和通用微机相比有何特点?答:单片机又称为单片微计算机,它的结构特点是将微型计算机的基本功能部件(如中央处理器(C P U)、存储器、输入接口、输出接口、定时/计数器及终端系统等)全部集成在一个半导体芯片上。虽然单片机只是一个芯片,但无论从组成还是从逻辑功能上来看,都具有微机系统的定义。与通用的微型计算机相比,单片机体积小巧,可以嵌入到应用系统中作为指挥决策中心,是应用系统实现智能化。2.单片机的发展有哪几个阶段?8位单片机会不会过时,为什么?答:单片机诞生于1 9 7 1 年,经历了 S C M、M C U、S O C 三大阶段,早期的 S C M 单片机都是8 位 或 4位的。其中最成功的是I N T E L 的 8 0 3 1,此后在8 0 3 1 上发展出了 M C S 5 1 系列M C U 系统。基于这一系统的单片机系统直到现在还在广泛使用。随着工业控制领域要求的提高,开始出现了 1 6 位单片机,但因为性价比不理想并未得到很广泛的应用。90年代后随着消费电子产品大发展,单片机技术得到了巨大提高。随 着 I N T E L i 9 6 0 系列特别是后来的A R M 系列的广泛应用,3 2 位单片机迅速取代1 6 位单片机的高端地位,并且进入主流市场。然而,由于各应用领域大量需要的仍是8 位单片机,因此各大公司纷纷推出高性能、大容量、多功能的新型8 位单片机。目前,单片机正朝着高性能和多品种发展,但由于MCS-51系 列8位单片机仍能满足绝大多数应用领域的需要,可以肯定,以MCS-51系列为主的8位单片机,在当前及以后的相当一段时间内仍将占据单片机应用的主导地位。3.举例说明单片机的主要应用领域。答:单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴:智能仪器单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、电流、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大。例如精密的测量设备(电压表、功率计,示波器,各种分析仪)。工业控制单片机具有体积小、控制功能强、功耗低、环境适应能力强、扩展灵活和使用方便等优点,用单片机可以构成形式多样的控制系统、数据采集系统、通信系统、信号检测系统、无线感知系统、测控系统、机器人等应用控制系统。例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等。家用电器现在的家用电器广泛采用了单片机控制,从电饭煲、洗衣机、电冰箱、空调机、彩电、其他音响视频器材、再到电子秤量设备和白色家电等。网络和通信现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件,现在的通信设备基本上都实现了单片机智能控制,从手机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。医用设备领域单片机在医用设备中的用途亦相当广泛,例如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等等。模块化系统某些专用单片机设计用于实现特定功能,从而在各种电路中进行模块化应用,而不要求使用人员了解其内部结构。如音乐集成单片机,看似简单的功能,微缩在纯电子芯片中(有别于磁带机的原理),就需要复杂的类似于计算机的原理。如:音乐信号以数字的形式存于存储器中(类似于ROM),由微控制器读出,转化为模拟音乐电信号(类似于声卡)。在大型电路中,这种模块化应用极大地缩小了体积,简化了电路,降低了损坏、错误率,也方便于更换。汽车电子单片机在汽车电子中的应用非常广泛,例如汽车中的发动机控制器,基 于 CAN总线的汽车发动机智能电子控制器、GPS导航系统、abs防抱死系统、制动系统、胎压检测等。此外,单片机在工商、金融、科研、教育、电力、通信、物流和国防航空航天等领域都有着十分广泛的用途。4.将十进制数37转换为二进制,BCD码和十六进制数,并对转换结果进行对比分析。答:37=(100101)B=(25)H;BCD 码为 0011 0111;可见,同一个数用不同进制表示,其结果也不同。5.写出下列十进制数在8 位微机中的原码,反码和补码形式。(1)+36原码 0010 0100B反码 0010 0100B补码 0010 0100B(2)-3 6原码 1010 0100B反码 1101 1011B补码 1101 1100B(3)+127原码 0111 1111B反码 o iii HUB补码 0111 HUB(4)-128原码 1 000 0000B反码 o iii HUB补码 1000 0000B(5)-121原码 1111 1001B反码 1000 0110B补码 1000 0111B6.对于二进制数1000 1O O 1B,若理解为无符号数,则该数对应十进制数为多少?若理解为有符号数,则该数对应十进制为多少?若理解为BCD数,则该数对应十进制数为多少?答:1 000 1001B无符号数:137;有符号数:-9;BCD 数:89;7.对下列各组数进行“与”,“或”和“异或”运算。(1)1010 1010 和0 0 0 0 0 0 0 0与 0 0 0 0 0 0 0 0或 1 0 1 0 1 0 1 0异或 1 0 1 0 1 0 1 0(2)0 1 1 1 0 1 1 1和1 0 0 0 1 0 0 0与 0 0 0 0 0 0 0 0或 1 1 1 1 1 1 1 1异或 1 1 1 1 1 1 1 1(3)1 1 1 0 1 1 1 0 和0 1 1 1 0 1 1 1与 0 1 1 0 0 1 1 0或 1 1 1 1 1 1 1 1异或 1 0 0 1 1 0 0 1(4)0 0 1 1 1 1 0 0和1 1 1 1 0 0 0 0与 0 0 1 1 0 0 0 0或 1 1 1 1 1 1 0 0异或 1 1 0 0 1 1 0 08 .P r o t eu s I SI S的工作界面中包含哪几个窗口?菜单栏中包含哪几个选项?答:Proteus IS IS的工作界面主要包括标题栏、菜单栏、工具栏、状态栏、方位控制按钮、仿真进程控制按钮、对象选择窗口,原理图编辑窗口和预览窗口等。主菜单栏包含文件、查看、编辑、工具、设计、图形、源文件、调试、库、模板、系统、帮助选项。isis UNTITLED-ISIS Prof essionalQiF ile Vi ew Edi t Library Tools Desi皿 会 aph Source Debug Template System Help 闫 圆 副 曲 昌 国 固庚 口 出 妗 去 的 四 今心团团晅oI*昌:|)-|回|osI/口QAC OA白4-挑选元件按钮-库管理按钮:元件列表原理图编辑窗口模型选择工具栏仿真按钮方向工具栏9 .利 用I SI S模块开发单片机系统需要经过哪几个主要步骤?答(1)启 动I S I S;(2)绘制电路原理图;(3)输入单片机程序;(4)进行源代码调试;(5)仿真运行。10.何谓PC B?利用ARES模块进行PCB设计需要经过哪几个主要步骤?答:P C B (P r i n t e d C i r c u i t B o a r d),中文名称为印制电路板,又称印刷电路板、印刷线路板,是重要的电子部件,是电子元器件的支撑体,是电子元器件电气连接的提供者。由于它是采用电子印刷术制作的,故 被 称 为“印刷”电路板。利 用A R E S模块进行PC B设计的主要步骤:(1)启动 A R E S;(2)元器件布局;(3)元器件布线;(4 )铺铜;(5)三维效果图;(6)C A D C A M 输出。第2章MCS-51单片机结构及原理习题1.M SC 5 1 单片机内部由哪些功能部件组成,各有什么功能?答:以 80 c 5 1 单片机为例,其内部功能部件有:控制器:是对取自程序存储器中的指令进行译码,在规定的时刻发出各种操作所需的控制信号,完成指令所规定的功能;运算器:根据控制器发来的信号,执行算术逻辑运算操作;存储器:包括程序存储和数据存储器;定时器计数器:2 个 1 6 位定时器/计数器,可对机器周期计数,也可对外部输入脉冲计数;中断系统:可响应三个内部中断源和两个外部中断源的中断请求;输入输出接口:4个 8 位并行口和一个全双工串行口;2.M SC 5 1 单片机外部引脚的名称是什么?各有什么功能?答:(1)电源及晶振引脚V C C(4 0 脚):+5 V电源引脚V SS(20 脚):接地引脚X TA L M 1 9脚);外 接 晶 振 引 脚(内置放大器输入端)X TA L 2(1 8脚):外接晶振引脚(内置放大器输出端)(2)控制引脚RST/VP D(9)为复位/备用电源引脚一 A L E/PR 0 G(3 0)为地址锁存使能输出/编程脉冲输入1一PSE N(29):输出访问片外程序存储器读选通信号一 E A/V PP(3 1):外部R O M 允许访问/编程电源输入 并 行 I/O 口引脚PO.0 PO.7(3932 脚)PO 口;P1.0-P1.7(1 8 脚)P1 口;P2.0P2.7(21 28 脚)P2 口;P3.0 P3.7(1017 脚)P3 口。3.51系列单片机的封装有哪些类型?请说明每一种封装引脚之间的距离。答:51系列单片机的封装有:4 0 引脚双列直插封装(DIP-dual in-line package),引脚之间的距离是100mil(2.54mm);4 4 引脚方形扁平封装(QFP-quad flat package)方式,引脚之间的距离是2.54mm;4 4 引脚带引线的塑料芯片载体PLCC(Plastic Leaded ChipCarrier)。4.什么是复位?单片机复位电路有哪几种,工作原理分别是什么?答:复位使单片机恢复原始默认状态的操作。单片机复位电路有:上电复位电路,由电阻和电容构成,通过上电时,电容相当于短路而使复位引脚在晶振有效的情况下保持2 个机器周期的高电平;按钮开关复位电路,由两个电阻的分压构成,通过手工按下按钮,使复位引脚在晶振有效的情况下保持2个机器周期的高电平。5 .通常的微机系统存储器结构有哪几种?M C S-5 1单片机存储器属于哪一类?C S-5 1可寻址多大空间?答:通常的微机系统存储器结构有两种结构,即哈佛结构和冯诺依曼结构(也叫普林斯顿结构),M C S-5 1单片机存储器属于,M C S-5 1可寻址空间是两个6 4 KB,即6 4 KB的程序存储空间和6 4 KB的数据存储空间。6.片 内R A M中 低1 2 8个单元划分为哪三个主要部分?各部分的主要功能是什么?答:片内R A M中低1 2 8个单元划分为三个部分:工作寄存器区(O O HT F H),四组,每 组8个,可作用工作寄存器切换使用;可位寻址区(2 0 H-2 F H),1 6 B,位地址为O O H-7 F H,用作为按位寻址的空间;用户R A M区(3 0 H-7 F H),8 0 B,用作普通R A M单元或堆栈。7 .程序状态字寄存器P S W各位的定义是什么?答:程序状态字寄存器P S W各位的定义如下:PSf.7 PS*.6 PSV.5 PSV.4 PSV.3 PS*.2 PS.1 PSV.OCYACF0RS1RSO0VFlPP S W.7:进/借位标志C Y,加法有进位时置1,减法有借位时置1;P S W.6:辅助进位标志A C,加法运算低四位向高上四位有进位时置1;P S W.5、P S W.1:用户标志位F 0 和用户标志位F 1,保存用户的位数据;P S W.4、P S W.3:工作寄存器选择控制位R S 1 和 R S O,0 0 至 H 分别选择四组工作之一作为当前工作寄存器P S W.2 :溢出标志位0 V,有符号数加、减运算结果有溢出或乘除上结果异常(乘法运算结果大于2 5 5 即乘积在B A 中,或除法运算除数为0)时置1P S W.0:奇偶标志位P,累加器A中 1 的个数为奇数时置l o8 .什么是时钟周期?什么是机器周期?什么是指令周期?当振荡频率为1 2 M Hz时,一个机器周期为多少微秒?答:时钟周期又叫振荡周期或拍,用 P表示,是M C S-5 1 单片机中最小的时间单位,在一个时钟周期内,C P U 完成一个最基本的动作。机器周期:由 1 2 个时钟周期构成,完成一个基本操作指令周期:是执行一条指令所需的时间,根据指令的复杂性,可由14个机器周期构成。当振荡频率为1 2 M Hz时、一个机器周期为1 微秒。9 .P 0、P l、P 2 和 P 3 口的结构和功能分别是什么?答:P 0 口的每一位由1 个锁存器、2 个三态缓冲器、1 个输出控制电 路(非 门 X、与门、电子开关M U X、输出驱动电路构成,其功能既可以作为通用I/O 口实现输入/输出功能,也可作为单片机地址线的低 8 位和数据线实现外部扩展功能。在用作输入输出口时,需外接上拉电阻。P 1 口的每一位由1 个锁存器、1 个场效应管驱动器V 和 2 个三态门缓冲器构成,其作用是用作输入输出口P 2 口的每一位由1 个锁存器、2个三态缓冲器、1 个输出控制单元、1 个输出驱动单元构成,其功能是用作输入输出口,或地址总线的高8 位。P 3 口的每一位由1 个锁存器、2个三态缓冲器、1 个第二功能控制 单 元、1个输出驱动单元构成,其作用是用作输入输出口或第二功能。1 0.8 0 C 5 1 单片机引脚A LE的作用是什么?当8 0 C 5 1 不外接存储器时,A LE上的输出的脉冲频率是多少?答:8 0 C 5 1 单片机引脚A LE的作用是对外部存储寻址时锁存P 0 口输出的低8 位地址,当8 0 c 5 1 不外接存储器时,A LE上的输出的脉冲频率是 f osc/6o第 3 章单片机的汇编语言与程序设计习题1.M C S-5 1单片机有哪几种寻址方式?适用于什么地址空间?答:M C S-5 1单片机有7种寻址方式:直接寻址、寄存器寻址、寄存器间接寻址、立即寻址、变址寻址、位寻址、相对寻址。直接寻址方式:操作数的地址由指令直接给出,适用于片内R A M的所有地址空间;如 M OV A,6 8HM OV A,P S W寄存器寻址方式:指令给出的是寄存器的编码,操作数在编码指定的寄存器中,适用于片内0 0 H至1 F H的32个字节,用R 0,,R 7表示,通过P S W的R S 1和R S O选择组号确定对应32个字节中的其中8个,还有累加器A,以及乘除法指令中的A和B寄存器,位寻址方式中的布尔累加器C;M OVA,R IM U LA BIN CD P T R寄存器间接寻址方式:指令给出的是寄存器的编码,操作数地址在编码指定的寄存器中,适用于片内R A M的全部空间,其中5 2系列中的80 H至F F H只能用寄存器间接寻址;如M OV A,R 0M OV A,R 1M OV X A,D P T R立即寻址方式:操作数本身在指令中直接,给出适用于用8位立即数对片内R A M所有地址单元赋值,也可用1 6位立即数对D P T R赋值;如M OV A,#0 E 2 HM OV D P T R,#2 0 0 0 H变址寻址方式:以D P T R或P C作为基地址寄存器,以累加器A作为变址寄存器,将基址寄存器与变址寄存器的内容相加形成操作数的实际地址的一种寻址方式,变址寻址方式适用于程序存储器R O M,仅有三条指令如下:M OV C A,A+D P T RM OV C A,A+P CJM P A+D P T R位寻址方式:指令中直接给出操作数所在单元的位地址,适用于片内R A M中地址2 0 H至2 F H中 的1 6个字节中的1 2 8个位地址空间和80 H至F F H中地址中可以被8整除的所有S F R中的每个位地址空间;如M OV C,7 F HM OV F O,CM OV C,A C C.7相对寻址方式:为相对转移指令而设,指令中直接给出转移的相对偏移量,其转移目标在当前指令-1 2 8至+1 2 7字节范围内的地址空间。如S JM P S T A R TH E R E:S JM P H E R E;等效于:S JM P$2 .M C S-5 1 单片机的P S W 程序状态字中无Z E R O(零)标志位,怎样判断某内部数据单元的内容是否为零?答:M C S-5 1 单片机的P S W 程序状态字中无Z E R O(零)标志位,判断某内部数据单元的内容是否为零是能通过取数到A累加器,再判断A中的每一位是否为零来确定其值是否为零。3.编程将内部R A M 的 2 0 H 30 H 单元内容清零。解:设一个片内R A M 指针R 0,先指向首地址2 0 H,通过累加器A清零,然后采用间接寻址方式依次将A中的零值传送到指针所指的片内R A M单元,每传送一个字节,地址指针加1,直到达到地址为30 H 或达到计数器规定的1 7 个字节为止。程序1:M OVR O,#2 0 H;设地址指针初值C L RA;累加器清0C ON T:M OVR 0,A;置 0 指针所指单元IN CR O;地址指针加1C JN E R O,#31 H,C ON T ;指针未超过终点则继续S JM P$;暂停程序2:M OV R O,#2 0 H ;设地址指针初值C L R A ;累加器清0M OVR 7,#1 7;计数器赋初值,从 2 0 H 到 30 H 共 1 7个字节C ON T:M OVR 0,A ;置 0 指针所指单元IN C R 0;地址指针加1D JN Z R 7,C ON T ;计数器减1,非0,则继续S JM P$;暂停4.编程查找内部R A M 的 32 H41 H 单元中是否有OA A H 这个数据,若有这一数据,则将 5 0 H 单元置为OF F H,否则将5 0 H 单元清零。解:设一个片内R A M 指针R 0,先指向首地址32 H,比较R 0 与#0 A A H,若相等,则退出循环,给 5 0 H 单元赋OF F H,若不相等,则 R 0 加 1 为继续比较下一个字节做准备,直到达到地址为41 H 或达到计数器规定的 1 6 个字节为止还没找到,则给5 0 H 单元赋0 0 H程序1:M OV R O,#32 H ;设地址指针初值C ON T:C JN E R O,#OA A H,N E X T;比较查找值与指针所指单元的值,不相等转移M OV A,#OF F H ;相等,则准备好要赋的标志值OF F HS JM P D OW N ;转存到保存结果处N E X T:IN C R O;修改地址指针C JN E R O,#42 H,C ON T ;若指针未越过终点,则继续M OVA,#0 0 H;查找失败,则将OOH 存入结果标志单元D OW N:M OV5 0 H,A;将比较结果标志存入5 0 H 单元S JM P$;暂停E N D程序2:M OVR 7,#1 6;计数器赋初值,从 2 0 H 到 30 H 共1 6 个字节M OVR O,#32 H;设地址指针初值C ON T:C JN E R 0,#OA A H,N E X T ;比较查找值与指针所指单元的值,不相等转移M OV A,#OF F H;相等,则准备好要赋的标志值OF F HS JM P D OW N;转存到保存结果处N E X T:IN CR O;修改地址指针D JN Z R 7,C ON T;计数器减1,非 0,则继续M OVA,#0 0 H;查找失败,则将0 0 H 存入结果标志单兀D OW N:M OV5 0 H,A;将比较结果标志存入5 0 H 单元S JM P$;暂停E N D5.查找2 0 H4F H 单元中出现OOH 的次数,并将查找结果存入5 0 H 单H o解:从2 0 H到4F H共48个字节M OVR 7,#48;字节计数器赋初值M OVR O,#2 0 H;设地址指针初值C ON T:C JN E R 0,#0 0 H,N E X T;比较查找值与指针所指单元的值,不相等转移IN CR 6;相 等,0的 个 数 计 数 器 加1N E X T:IN CR 0;修改地址指针D JN Z R 7,C ON T;计 数 器 减1,非0,则继续M OV5 0 H,R 6;保 存0的个数计数值到5 0 H单元S JM P$;暂停E N DE N D6.已知 A=83H,R 0=1 7 H,(1 7 H)=34H,写出下列程序段执行之后的A中的内容。A N L A,#1 7 HO R L 1 7 H,AX R L A,R 0C P L AEN D答:A N L A,#1 7 H ;A=0 3 HO R L 1 7 H,A ;(1 7 H)=0 0 1 1 0 1 0 0 V 0 0 0 00 0 1 1=0 0 1 1 0 1 1 1X R LA,R 0;A=0 0 0 0 0 0 1 1 V 0 0 1 1 0 1 1 1 =0 0 1 10 1 0 0C P L A ;A=1 1 0 0 1 0 1 17.已知单片机的晶振频率为1 2 M H z,分别设计延时为0.I s、I s 的子程序。答:已知单片机的晶振频率为1 2 M H z,则机器周期为lus,延时子程序是通过执行指令序列中机器周期数来达到,如果要0.1 s,即 1 0 0 ms,也就是lO O O O O us,所以需要机器周期数达到1 0 0 0 0 0。要延时达到1 S,可通过对延时为0.1 秒的子程序调用1 0 次来实现。D EL A Y 1 0 0 M S:M O V R 6,#2 0 0 ;1 个机器周期D I:M O V R 7,#2 50 ;1 个机器周期D 2:N O P ;1 个机器周期D J N Z R 7,D 2 ;2 个机器周期,3*2 51=7 53D J N Z R 6,D 1 ;2 个机器周期,(1+7 53+2)*1 3 2=9 9 7 9 2R ET ;2 个机器周期,1+9 9 7 9 2+2=9 9 7 9 5,约 1 0 0 msD EL A Y I S:M O V R 7,#1 0 ;计数 1 0 次 1L O O P:A C A L L D EL A Y 1 O O M S ;延时 1 0 0 ms 子程序 9 9 7 9 5+2D J N Z R 7,L O O P ;未 达 到 1 0 次 则 继 续1 0*(2+9 9 7 9 5+2)R ET;返回 2+1 0*(2+9 9 7 9 5+2)=9 9 7 9 9 28 .内部R A M从2 0 H单元开始处有一数据块,以0 D H为结束标志,试统计该数据块的长度,将该数据块送到外部数据存储器7 E0 1 H开始的单元,并将长度存入7 E0 0 H单元。解:从2 0 H的指针用R0,从外部R A M 7 E0 1开始的指针用D P T R,计数器用R 7M O VR 7,#0;字节计数器赋初值M O VR O,#2 0 H;设片内R A M地址指针初值M O VD P T R,#7 E0 1 H ;设片外R A M地址指针初值C O N T:M O VA,R 0;取片内R A M中的一个字节M O V X D P T R,A;存入片外R A M指针所指单元I N CR 7;长度计数器加1I N CR O;片内R A M地址指针加1I N CD P T R;片外R A M地址指针加1C J N EA,#O D H,C O N T;未达到结束标志M O VA,R 7;取块计数长度值M O V X D P T R,A;保存S J M P$;暂停EN D9 .内部R A M从D A T A开始的区域中存放着1 0个单字节十进制数,求其累加和,并将结果存入S UM和S UM+1单元。解:R 7计数,R 6保存累加和高8位,R 0用作地址指针0 R G0 0 0 0 HL J M P M A I NO R G1 0 0 HS UMEQ U3 0 HD A T A A EQ U40 HM A I N:M O VR 7,#1 0;字节计数器赋初值M O VR O,#D A T A A;设片内R A M地址指针初值C L RA;累加器清0M O VR 6,A;累加结果的高8位C O N T:A D DA,R 0;加R A M中的一个字节到A C CD AAJ N CN EX T;若无进位则不用管高8位I N CR 6;有进位,高8位 加1N EX T:I N CR O;片内R A M地址指针加1D J N Z R 7,C O N T;未完继续M O VS UM,A;保存低8位M O VS UM+1,R 6;保存高8位S J M P$;暂停EN D1 0.曲R R A M从D A T A 1和D A T A 2单元开始处存放着两个等长的数据块,数据块的长度在L EN单元中。请编程检查这两个数据块是否相等,若相等,将0 FFH写入R ES UL T单元,否则将0写 入R ES UL T单元。解:从D A T A 1开始的指针用R O,从D A T A 2开始的指针用R 1,计数器用R 7EN DL EN EQ U 1 0D A T A 1 EQ U3 0 HD A T A 2 EQ U40 HR ES UL T EQ U 50 HM O VR 7,#L EN;字节计数器赋初值M O VR O,#D A T A 1;设片内R A M地址指针初值M O VR I,#D A T A 2;设片外R A M地址指针初值C O N T:M O VA,R 0;取片内R A M R 0所指的的一个字节M O V7 FH,R 1;将R 1所指单元内容取到片内R A M地址7 F H中C J N EA,7 FH,N O EQ;比较,不相等则结束I N CR O;D A T A 1 R A M地址指针加1I N CR I;D A T A 2 R A M地址指针加1D J N Z R 7,C O N T;未完,继续M O VA,#O FFH;相等,准备写入FFHS J M P D O W N;转写入结果处N O EQ:M O VA,#0;不相等,准备写入0 0 HD O W N:M O VR ES UL T,A;保存比较结果标志S J M P$;暂停1 1.编制程序,将 内 部R A M 中 M l、M 2、M 3 和 M 4 单元中的无符号数x l、x 2、x 3 和 x 4相加,并把和存入R O 和 R I (R O 中为高8位)中。解:M lEQ U3 0 HM 2EQ U40 HM 3EQ U45HM 4EQ U4FHM O VA,M l;取第一个数A D DA,M 2;与第二个数相加J N CN EX T 1;如果无进位,则转移至第三个相加M O VR O,#1;有进位,高 8位 置 1N EX T 1:A D DA,M 3;与第三个数相加J N CN EX T 2;没有进位,则转至第四个数相加I N CR O;有进位,高 8位 加 1N EX T 2:A D DA,M 4;与第四个数相加J N CN EX T 3;没有进位,则转至结束I N CR O;有进位,高 8位 再 加 1N EX T 3:M O VR I,A;低8位保存到R 1S J M P$;暂停EN D第 4 章 单 片 机 的 C51 语 言 习 题1.C语言的优点是什么?C程序的主要结构特点是什么?答:C语言是一种高级语言,学习比低级容易,不需要具体组织、分配存储器资源和处理端口数据,可以直接驱动单片机的所有资源。C程序以函数为单位,由一个主函数和若干个其他函数构成,主函数是程序的入口,其他函数由主函数直接或间接调用。程序可以由一个文件或多个文件组成。文件类型包括头文件和c语言源文件,也可以是汇编语言文件,C程序可与汇编语言混合编程。2.C 5 1语言的变量定义包含哪些关键因素?为何这样考虑?答:C语言的变量定义格式如下:存储种类数据类型 存储类型变量名其中:存储种类与标准C语言相同,包括:自动型(a ut o)、外部型(ext ern)静态型(s t a t ic)、寄存器型(reg is t er)。数据类型除了包含标准C语言类型的字符型(cha r),整型(in t),长整型(lo n g),浮点型(f lo a t),双精度型(do uble)外,还有二进制位型(bit),特殊功能寄存器型(s f r),S F R可位寻址的位类型(s bit)。存储类型包括:片 内R A M区(da t a)、片内可位寻址区(bda t a),片内R A M间接寻址区(ida t a),片外R A M页寻址区(p da t a),片外R A M区(xda t a)R O M 区(co de)0只所以比标准C语言多了存储类型,就是因为M C S-5 1单片机的存储结构中有四个物理存储空间(片内R A M、片内R O M,片外R A M,片外 R O M),三个逻辑地址空间(片 内 R A M,片 外 R A M,R O M),而且有多种寻址方式(直接寻址、间接寻址、页面寻址、位寻址)所致,所以在定义变量时,要根据其所在位置和寻址方式明确指定存储类型。3 .C 5 1与汇编语言的特点各有哪些?怎样实现两者的优势互补?答:C 5 1是结构化语言,代码紧凑;接近自然语言,程序可读性强,易于调试、维护;库函数丰富,编程工作量小,可使产品开发周期短;具有机器级控制能力,功能很强,适合于嵌入式系统开发;汇编指令无关,易于掌握,上手快。汇编语言优点是编写的程序代码精炼、执行速度快,在相同功能下,汇编语言程序可能比C语言程序效率高。缺点是对程序员要求高,必须对单片机的硬件结构非常熟悉才能编程,不便于编写比较复杂的程序。可根据需要对要求时间性很强的代码用汇编语言编写,其它部分用C 语言编写,两者混合编程就可以实现优势互补。4 .指出下面程序的语法错误:#i n cl u dem ai n 0 a=C;i n t a=7,Cdel ay (1 0)v o i d del ay ();cg ar i;fo r(i=0;i =2 5 5;+”);答:#i n cl u dem ai n()a=C;/a和C必须先定义才可使用i n t a=7,C 缺分号,应该提在使用前说明del ay(1 0)延时子程序必须先定义,或先有函数原型说明v o i d del ay ();作为函数定义,有函数定义不能嵌套的问题,/即不能在一个函数内定义另一个函数,而 且“”前不应有分号作为函数原型说明,应该放在函数调用之前,且其后不应该接函数体cg ar i ;字符型应该是 u n s i g n ed charfo r(i=0;i =2 5 5;”+”);/”+”应改成 i+)主函数没有结束,缺 “5 .定义变量a,b,c,其中a 为内部RAM的可位寻址区的字符变量,b 为外部数据存储区浮点型变量,c 为指向i n t 型 x dat a区的指针。答:char bdat a a;fl o at x dat a b;i n t x dat a*c;6.编程将80 5 1 的内部数据存储器2 0 H单元和3 5 H单元的数据相乘,结果存到外部数据存储器中(任意位置)。解:方法一:用嵌入式汇编语言实现#includevoid main()#pragma asmMOV A,20HMOV B,35HMUL ABMOV DPTR,#1234HMOVX DPTR,AINC DPTRMOV A,BMOVX DPTR,A#pragma endasm方法二:单用C 语言编程实现#i n cl u de#i n cl u dei n t m o v dat a(char);v o i d m ai n()(u n s i g n ed i n t x dat a x;u n s i g n ed char *p t r,a,b;p t r=0 x 2 5;a=*p t r;p t r=0 x 3 0;b=*p t r;x=a*b;)7.80 5 1 的片内数据存储器2 5 H单元中存放有一个。1 0 的整数,编程求其平方根(精确到5位有效数字),将平方根放到3 0 H单元为首址的内存中。解:方法一:用 C 语言与汇编语言混合编程实现 用 C 语言编写的主函数MAIN.C#i n cl u de#i n cl u dechar g et dat a(char);v o i d m ai n()char a=0 x 2 5,c;fl o at f;c=g et dat a(a);f=s q r t (c););用汇编语言编写的取数据子函数,只有一个地址参数在R 7中,返回值为指定地址单元中的内容,用R7返回主函数。PU BLIC _GETDATADE SEGMENT CODERSEG DE_GETDATA:MOVA.R7;取地址参数MOV RO,AMOV A,R0MOV R7,A;返回地址单元中的内容EXIT:RETEND方法二:单用C语言编程实现/MAIN.C#i n cl u de#i n cl u dei n t m o v dat a(char);v o i d m ai n()(char n;char *p t r;fl o at *p t r 2;fl o at f;p t r=0 x 2 5;n=*p t r;f=s q r t (n);p t r 2=0 x 3 0;*p t r 2=f;)8.将外部RAM 1 0 H1 5 H单元的内容传送到内部RAM 1 0 H1 5 H单元。解:方法一:采用C语言与汇编语言混合编程用C语言编写的主函数MAIN.C#i n cl u dechar m o v dat a(char,char);v o i d m ai n()char a=0 x l 0,b=0 x 0 6;m o v dat a(a,b););用汇编语言编写的移动数据子函数MOVDATA,其中第一个参数在R7中为首地址,第二个参数在R 5中为字节数PU BLIC 一MOVDATADE SEGMENT CODERSEG DEJIOVDATA:MOV A,R7;取参数MOV RO,ALOOP:MOVX A,R0MOV R0,ADJNZ R5,LOOPEXIT:RETEND方法二:单用C语言编程实现/MAIN.C#i n cl u dei n t m o v dat a(char);v o i d m ai n()char n=6;char *p t r l=0 x l 0;char xdata*ptr2;ptr2=0 x20;while(n一)*ptr2+=*ptrl+;)9.内部RAM20H、21H和22H、23H单元分别存放着两个无符号的16位数,将其中的大数置于24H和25H单元。解:方法一:#includevoid main()unsigned int*ptr;设置一个内部RAM指针unsigned int x,y,z;ptr=0 x20;指向 0 x20 单元x=*ptr;取第一个数ptr=0 x22;指向 0 x22 单元y=*ptr;取第二个数z=(xy)?x:y;将两数中的较大者赋给zptr=0 x24;指向地址为0 x24的目标单元*ptr=z;将大数存入目标单元方法二:#include#includevoid main()(unsigned int x,y,z;x=DBYTE0X20*256+DBYTE0X21;y=DBYTE0X22*256+DBYTE0X23;z=(xy)?x:y;将两数中的较大者赋给zDBYTE0X24=z/256;DBYTE0X25=z%256;)方法三:#inclu

    注意事项

    本文(单片机原理及应用_第二版(林立张俊亮)课后习题答案.pdf)为本站会员(文***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开