单片微型计算机接口应用技术课后答案_第1页
单片微型计算机接口应用技术课后答案_第2页
单片微型计算机接口应用技术课后答案_第3页
单片微型计算机接口应用技术课后答案_第4页
单片微型计算机接口应用技术课后答案_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

#/29Page11LOOP:LCALLCounterLCALLTimerSJMPLOOPCounter:MOVTH0,#0FDHMOVTL0,#18HSETBTR0CLRTR1JNBTF0,$CLRTF0RETTimer:MOVTH1,#0F9HMOVTL1,#30HSETBTR1CLRTR0JBTF1,$CLRTF1RETEND略参见教材5.3.1节发送ORG0000HORG0000HMOVTMOD,#20HMOVTH1,#0B2HMOVTL1,#0B2HSETBTR1MOVSCON,#40HMOVA,#0接收ORG0000HMOVTMOD,#20HMOVTH1,#0B2HMOVTL1,#0B2HSETBTR1MOVSCON,#50HNEXT:MOVSBUF,ATES: JBCT1,ADD1SJMPTESADD1:INCACJNEA,#20H,NEXTSJMP$ENDMOVR0,#20HTEC:JBCRI,RECSJMPTECREC:MOV@R0,SBUFINCR0CJNER0,#40H,TEC11 Page12 SJMP$END略利用串行通信方式2(波特率固定),采用奇校验方式,将校验位放在TB8中,乙机检验校验位,如正确,则存于片外4400H开始的RAM中,如错误,通知对方重发,R6存放数据块长度汇编语言程序如下:发方ORG0000HMOVDPTR,#3400HMOVR6,#0A1HMOVSCON,#90HMOVSBUF,R6L2:JBCT1,L3AJMP1.2L3:MOV1,@DPTRJBP,L4SETBTB8L4:MOVSBUF,A收方ORG0000HMOVDPTR,#4400HMOVSCON,#90HL1:JBCRI,L2AJMPL1L2:MOVA,SBUFMOVR6,AL5:JBCT1,L6AJMPL5L6:JBCRI,L7AJMPL6L7:MOVA,SBUFCJNEA,#0FF0H,L8AJMPL3L8:INCDPLDJNZR6,L4SJMP$L5:JBJB8,L8L6:MOVX@DPTR,AINCDPLINCDPHDJNZR6,L3SJMP$L8:MOVA,#0FFHMOVSBUF,AMOVSBUF,AL3:JBCRI,L4AJMPL3L4:MOVA,SBUFJBP,L5JNBRB8,L8SJMP$电路图见教材中图5.18,程序如下:ORG0000HMOVR5,#03HCLRAMOVSCON,ALOOP:SETBP3.3CLRAMOVR7,A次DEF:MOVA,R5 ;循环4次MOVDPTR,#tabMOVCA,@A+DPTR;查表A=tab[R5]MOVSBUF,ADECR5 Page13 MOVTMOD,#01HL9:JBCTI,L3AJMPL9SJMP$ENDJNBT1,$CLRT1CJNER5,#0FFH,ABC;若R5==255,则R5=7MOVR5,#07HABC:INCR7CJNER7,#04H,DEF ;循环4CLRP3.3LCALLtimerSJMPLOOPtimer:MOVA,#64HFOR:JZENDD12DECASJMPFORENDD:RETMOVTH0,#0D9HSJMPFORENDD:RETMOVTL0,#0F0HSETBTR0 tab:DB0c0H,0f9H,0a4H……;略JNBTF0,$ ENDCLRTF06666第章、单片机总线与存储器的扩展参见6.1节6.26116为2KBX8位RAM,共11根地址线A~A,接线见图6.2。010图6.22732为4KBX8位EPROM,6264为8KBX8位RAM,因各只有一片,所以各片选CE接地,电路见图6.3。图6.36116为2KBX8位RAM、2716为2KBX8位EPROM,地址线均为11位,地址线接线参见图6.3。电路见图6.5。13 Page14 图6.54片2764的CE分别接138译码器为y0、y1、y2、y3端,各片地址为:

2764(4)0000H~1FFFH2764(3)2000H~3FFFH2764(2)4000H~5FFFH2764(1)6000H~7FFFH设计电路见图6.6。图6.614 Page15 77第77章、单片机系统功能扩展将图6.6中的2764去掉,并改“P2.5”为“P2.4”,改“P2.6”为“P2.7”;程序可参考教材中例7.1。请参考上题和题4.16。将244的输入端最低位经过一个上拉电阻接至+5V,经过一个按钮接到地。电路图见图7.3MOVDPTR,#0CFFBHMOVA,#0A2HMOVX@DPTR,A电路与上题类似,程序较简单,略。、8255A口、B口、C口、控制口地址分别为7CFFH、7DFFH、7EFFH、7FFFH,A口方式0输出,C口输出,控制字80H。电路见图7.5程序:;指向控制口;指向控制口;A口B口均采用基本输出方式;写控制字MOVDPTR,#7FFHMOVA,#80HMOVX@DPTR,AMOVDPTR,#7CFFHMOVA,#0

MOVX@DPTR,AAGAIN:MOVR0,#0MOVR1,#01NEXT:MOVDPTR,#7EFFHMOVA,R1MOVX@DPTR,AMOVA,R0MOVDPTR,#TABMOVCA,@A+DPTRMOVDPTR,#7CFFHMOVX@DPTR,AACALLDAY;清显示;清显示;R0存字形表偏移量;R1置数码表位选代码

茄向C口;从C口输出位选码;置字形表头地址;查字形码表;指向B口;从B口输出字形码;延时 Page16 INCR0MOVA,R1RLAMOVR1,ACJNER1,#10H,NEXTSJMPAGAINDAY:MOVR6,#50DL2:MOVR7,#7DHDL1:NOPNOP;指向下一位字形;指向下一位字形;指向下一位;六个数码管显示完?;延时子程序DJNZR6,DL2RETTAB1:DB6FH,3FH,3FH,5EH;“g00d”(9ood)的字形码提示:EPROM27128O16KBX8,地址线为14根,6264为8KBX8位,地址线为13根,电路可参考教材中图7.3。根据电路连线I/O口:A口:FDF8H,B口:FDF9H,C口:FDFAH,命令/状态口:FDFBH.定时器TIMEL:FDFCHTIMEH:FDFDH存贮器RAM:FC00H〜FCFFH第8章、单片机典型外围接口技术电路参照教材中图8.7,不同的是将P改为P,先计算各模拟量对应的数字量:27 233c对应的数字量:5V/3V=255/XC=153=99H同样可算得1V、2V、4V对应的数字量分别为33H、66H、CCH1三角波MOVDPTR,#OF7FFHNEXT1:MOVA,#0NEXT:MOVX@DPTR,ANOPNOPINCACJNEA,#9AH,NEXTNEXTA:DECAMOVX@DPTR,ANOPNOPCJNEA,#0,NEXTASJMPNEXT1END2方波4V对应的数字量为CCHMOVDPTR,#0F7FFHMOVA,#0NEXT:MOVX@DPTR,AACALLD2MSXRLA,#0CCHSJMPNEXT3阶梯波MOVDPTR,#0F7FFHNEC:MOVA,#016 Page17 NEXT:MOVX@DPTR,AACALLD1MSADDA,#33HCJNEA,#0FFH,NEXTANEXTA:MOVX@DPTR,AACALLD5MSSJMPNEC电路参考教材中图8.8,增加一个地址,使用两条输出指令才能输出一个数据,其他同上。电路参考教材中图8.7,地址为7FFFH。ORG0000HMOVDPTR,#7FFFHMOVR0,#20HMOVA,@R0NEXT:MOVX@DPTR,AACALLDIMSINCR0CJNER0,#30H,NEXTSJMP$END电路参阅教材中图8.11,不同的是将P~P改为P~P,各地址分别为FEFFH、FDFFH、FBFFH。2527 2022程序参照教材节,注意修改RAM地址,循环执行该程序。电路参阅教材中图8.2,不同的是延时方式:EOC悬空;查询方式:EOC经非门接单片机P1.0端口线;中断方式同原图。下面仅编查询程序。IN2的地址为7FFAH,由于EOC经非门接单片机P1.0端口线,查询到P1.0为零,即转换结束。ORG0000HMOVR7,#0AHMOVR0,#50HMOVDPTR,#7FFAHNEXT:MOVX@DPTR,A;启动转换JBP1.0,$ ;查询等待MOVXA,@DPTR;读入数据MOV@R0,AINCR0DJNZNEXTSJMP$ADC0809采集入中模拟信号,顺序采集一次,将采集结果存放于数组ad中。ADC0809模拟通道0~7的地址为7FF8H~7FFFH,ADC0809的转换结束端EOC经逻辑非后接至外部中断1,电路参考教材中图8.2。程序参考教材第167页的例子,只需修改数据存储区地址。电路参考教材中图8.26,增加键盘的行线和数码管个数至8个,减少键盘列线到2根,程序略。第9章、串行接口技术9.1-9.3请参考教材电路参照教材中图9.12,另外一片24C04的A1接到VCC其它引脚与第一片完全一样。略可以,在操作IIC总线时,将SPI总线上的所有器件的从机选择线置高,这样便不会对SPI总线有影响;在操作SPI总线时,让IIC总线的SDA保持高电平,这样IIC总线得不到起始信号,便不会对IIC总线有影响。TLC5615经SPI总线接至单片机(参照教材中图9.26),REFIN作为衰减器的输入,OUT作为衰减提示:用较快的速度对被测电压进行采样(采样时间间隔恒定为t),将一定时间段(T)内的获得的采样值(v)的平方对时间积分(实为求和)后除以该时间段的长度,最后开平方,便是被测电压在该时间段内近似的有效值。第10章、单片机的C语言编程—一C51第6行,缺少“;”第8行“;”多余;main函数最后缺少“}”。xdata的地址范围为0x0000到0xFFFF(共64K),它需要两个字节记录(log65536=16)。2charbdataa;floatxdatab;intxdata*c(注意不要定义为“xdataint*c”或“int*xdatac”,这样c为自身在xdata区,指向默认区域的int型数据的指针,与题意不符);main(){intxdatac;c=DBYTE[0x20]*DBYTE[0x35];}10.5#include<reg51.h>#include<absacc.h>sbitP1_0=P1A0;sbitP1_2=P1A2;sbitP1_3=P1A3;unsignedchar*pData=&DBYTE[0x30];TLC(){unsignedchark,i;unsignedchard=0;for(k=10;k>0;k--){P1_3=0;for(i=8;i>0;i--){d<<=1;dl=P1_2;P1_0=1;P1_0=0;}*pData=d;pData++;18 Page19 }}main(){P1=0x04;P1_0=0;P1_3=1;TLC();while(1);}略略#include<absacc.h>main(){chari;for(i=0x10;i<0x16;i++)DBYTE[i]=XBYTE[i];}#include<absacc.h>main()unsignedint*x,*y,*z;x=(unsignedint*)0x20;y=(unsignedint*)0x22;z=(unsignedint*)0x24;if(*x>*y)*z=*x;elsez=*y;while(1);}#include<absacc.h>main(){unsignedchar*pBCD=(unsignedchar*)0x21;unsignedlong*pBinary=(unsignedlong*)0x30;unsignedchar*pLen=(unsignedchar*)0x20;*pBinary=0;while(*pLen){(*pLen)--;*pBinary*=10;*pBinary+=*(pBCD+*pLen);}〃程序认

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论