单片机技术习题课3、4章.ppt

上传人:sh****n 文档编号:11648785 上传时间:2020-04-30 格式:PPT 页数:20 大小:362.50KB
返回 下载 相关 举报
单片机技术习题课3、4章.ppt_第1页
第1页 / 共20页
单片机技术习题课3、4章.ppt_第2页
第2页 / 共20页
单片机技术习题课3、4章.ppt_第3页
第3页 / 共20页
点击查看更多>>
资源描述
单片机技术习题课,(第三、四章),第三章MCS-51指令系统及汇编程序设计,9已知(A)=23H,(R1)=65H,(DPTR)=1FECH,片内RAM(65H)=70H,ROM(205CH)=64H。试分析下列各条指令执行后目标操作数的内容。,MOVA,R1;MOVXDPTR,A;MOVCA,A+DPTR;XCHDA,R1;,(A)=70H(1FECH)=70H(A)=64H(A)=60H,12阅读下面程序段,说明该段程序的功能。,MOVR0,#40HMOVR7,#10CLRALOOP:MOVR0,AINCAINCR0DJNZR7,LOOPSJMP$,答:把0,1,2,3,9数列送到40H开始的10个单元中。,15编写程序,用位处理指令实现“P1.4=P1.0(P1.1P1.2)P1.3”的逻辑功能。,解:MOVC,P1.1ANLC,P1.2ORLC,P1.0ORLC,P1.3MOVP1.4,C,18编写程序,查找片内RAM的30H50H单元中出现0的次数,并将查找的结果存入51H单元。,解:MOVR0,#30HMOV51H,#0NEXT:CJNER0,#00H,NEXT2INC51HNEXT2:INCR0CJNER0,#51H,NEXTSJMP$,22编写程序,把片外RAM从2000H开始存放的16字节数据,传送到片内从30H开始的单元中。,解:MOVDPTR,#2000HMOVR0,#30HMOVR7,#16NEXT:MOVXA,DPTRMOVR0,AINCDPTRINCR0DJNZR7,NEXTSJMP$,第四章单片机C语言及程序设计,18在某程序中需要定义如下变量:(1)定义数码管的显示09的共阴极显示代码(0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f)数组dis_code,将其定义在CODE区。,答:unsignedcharcodedis_code10=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f;,18在某程序中需要定义如下变量:(2)定义定时器/计数器0的赋计数值的高、低字节变量TL0_L和TH0_H,将其定义在DATA区的0 x30、0 x31处。,答:unsignedchardataTL0_L_at_0 x30,TH0_H_at_0 x31;,18在某程序中需要定义如下变量:(3)定义长度为20的无符号字符型数组data_buf于IDATA区中。,答:unsignedcharidatadata_buf20;,18在某程序中需要定义如下变量:(4)定义长度为100的无符号字符型数组data_array于XDATA区中。,答:unsignedcharxdatadata_array100;,18在某程序中需要定义如下变量:(5)先定义一个无符号字符型变量status于BDATA区中,再定义8个与status的8个位对应的位变量flag_lamp1、flag_lamp2、flag_machine1、flag_machine2、flag_port1、flag_port2、flag_calcu1和calcu2(从低位到高位)。,答:unsignedcharbdatastatus;sbitflag_lamp1=status0;sbitflag_lamp2=status1;sbitflag_machine1=status2;sbitflag_machine2=status3;sbitflag_port1=status4;sbitflag_port2=status5;sbitflag_calcu1=status6;sbitflag_calcu2=status7;,21编写一C51函数,把一整型数按十进制数将其各位分离,分离后放在一无符号数组中,便于显示。要求把高位数作为低下标元素。,解:unsignedchardatashu5;voidINTTOBCD(unsignedinttemp)unsignedchari;for(i=4;i0;i-)shui=temp%10;temp=temp/10;shu0=temp;,22编写一C51函数,使用专用指针,把片外数据存储器中从0 x100开始的30个字节数据,传送到片内从0 x40开始的区域中。,解:voidmain()unsignedchardatai,*dpt;unsignedcharxdata*xdpt;dpt=0 x40;xdpt=0 x100;for(i=0;i0,j-)/外层循环15次for(i=0;i*(xptr+i+1)temp=*(xptr+i+1);*(xptr+i+1)=*(xptr+i);*(xptr+i)=temp;/大数放最后面,temp=0;for(i=0;i16-2;i+)temp=temp+*(xptr+i+1);*dptr=temp/(16-2);/求14个数的平均值,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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