单片机试卷A-答案.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机试卷A-答案

2010—2011学年第一学期通信09专升本 “单片机原理及应用”试题A参考答案与评分标准 一、填空题(每空1分,共25分) 1、工作寄存器组区、位寻址区、通用数据区 2、0x0003、0 , 0x0023、4 3、用MOVX指令、间接方式, 用MOV指令、间接方式 4、中断请求、 中断响应、 中断返回 5、 8、 可以自动重装、 TH0和TH1 6、设置计数、定时, 捕获、重装 7、随机存储器, 8KB 8、0x4f, 0xcf 9、模数转换,8位、8通道、输出锁存缓冲、中速等; 数模转换,串行。 二、简答题(每题5分,共25分) 1、单片机主要有哪些部分组成?有哪些主要特点? (1)主要有CPU、随机存储器、只读存储器、中断系统、定时器/计数器、I/O接口及时钟电路等。 (2)体积小、价格低、控制能力强、抗干扰能力强等 2、MCS-51的P0~P3口作通用I/O口输入数据时,应注意什么? 在进行输入之前,各位必须先输出1。 3、简述MCS-51单片机的中断过程和中断优先级规则。 1)同优先级中断优先规则 同时中断请求响应次序(即优先次序): 外中断0T0、外中断1T1、串行口T2 不同时中断请求:不能够嵌套中断 2)不同优先级中断优先规则 同时中断请求:先响应高级中断请求 不同时中断请求:高级中断请求能够打断低级中断服务,实现嵌套中断。 (R1 MOV R7,#50H ; #50H(R7 LP:MOV @R1,A ;A((R1) INC R1 ;R1增加1 DJNZ R7,LP ;R7减1不为0转 SJMP $ ;停留于此 该程序段的功能为:对30H---7FH区域清0。 2、按下面要求,写出各个变量的定义式: unsigned char data a,b,c; signed int idata x,y,z; float xdata array[100]; unsigned char code *point=0x100; 3、已知下面程序段的功能是把片外RAM数据区域中,地址从0x0020开始的30个字节数据,传送到片内RAM地址从0x36开始的区域中。阅读该程序段,找出错误的地方,在其下面画线,并且把正确语句写在右边。 unsigned char data *p1, i=30; unsigned char code *p2; unsigned char xdata *p2; p1=0x36; *p2=0x0020; p2=0x0020; while(i - ) while(i --) *(p1++)=p2++; *(p1++)=*(p2++); 4、下面是某单片机应用系统定时器T0的中断服务程序,T0定时时间为2.5ms,该服务程序有两个功能:一是每次中断都调用系统显示函数display();二是中断若干次、达到1000ms使8个发光二极管循环左移一位显示(控制8个发光二极管的数据在dis_buf[6]中)。阅读下面程序,根据上面所述功能完善程序。 void int_t0(void) interrupt 1 // 系统晶振频率为11.0592MHz,定时时间为2.5ms { static unsigned int data num=400; TH0= 0x7f ; //提示:需要计算定时2.5ms的初值 display(); num--; if(num==0) { num= 400 ; if(dis_buf[6]/128) { dis_buf[6]=1; dis_buf[6] + = 1 ; } else dis_buf[6]=1; } } 五、编程题 (用C语言。7分+10分+10分) 1、编写一函数,查找片外RAM区域中从0x0100开始的200个单元中出现0x61的次数,并将查找的结果从函数中返回。 解:unsigned char find(void) { unsigned char data i=200, dd=0; //1分 unsigned char xdata *p=0x0100; //1分 while(

文档评论(0)

qwd513620855 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档