首页 单片机课后习题

单片机课后习题

举报
开通vip

单片机课后习题P148作业 5-5请分别定义下列变量: (1) 片内RAM中无符号字符型变量x; unsigned char data x; (2) 片内RAM中位寻址区无符号字符型变量y,将y.0-y.2再分别定义为位变量key_in、key_up、key_down; unsigned char bdata y; sbit key_in=y^0; sbit key_up=y^1; sbit key_down=y^2; (3) 片外RAM中整型变量x,并指定变量x的绝对地址为4000H; xdata int x _at_ 0x...

单片机课后习题
P148作业 5-5请分别定义下列变量: (1) 片内RAM中无符号字符型变量x; unsigned char data x; (2) 片内RAM中位寻址区无符号字符型变量y,将y.0-y.2再分别定义为位变量key_in、key_up、key_down; unsigned char bdata y; sbit key_in=y^0; sbit key_up=y^1; sbit key_down=y^2; (3) 片外RAM中整型变量x,并指定变量x的绝对地址为4000H; xdata int x _at_ 0x4000; 或 #define x XWORD[[0x2000] (4)特殊功能寄存器变量PCON; sfr PCON=0x87; 5-7用C51语言编程实现,片内扩展RAM的000EH单元和000FH单元的内容交换。 #include void main() { unsigned char *pp1,*pp2,temp; AUXR&=0xfd; pp1=0x000e; pp2=0x000f; temp=*pp1; *pp1=*pp2; *pp2=temp; } 5-9 试用C51语言编写程序实现将片内RAM 21H单元存放的两位BCD码数转换为十六进制数存入30H单元。 data unsigned char y1 _at_ 0x21; data unsigned char y2 _at_ 0x30; void main() {        unsigned char temp; temp=y1; y1=(y1&0xf0)>>4; y2=y1*10+(temp&0x0f); } P208作业 7-7在STC12C5A60S2单片机中,假设系统的时钟频率为12MHz,利用定时/计数器T0,分别用汇编语言和C51编程实现在P1.0引脚输出周期为2s的方波。 分析:仿例 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 7-3,要产生周期2s的方波,需定时1s,一个定时器完成不了,可定时50ms,T0工作在方式1,然后利用R7对50ms定时中断计数20次来实现。选择12T模式,T0x12=0,f=12MHz,则需计数50000,初值为65536-50000=15536=3CB0H (1)汇编程序: ORG 0000H LJMP MAIN ORG 000BH  ;T0的中断向量入口地址 LJMP T0_INT ORG 0100H MAIN:MOV SP,#0BFH ;初始化堆栈指针 MOV TMOD,# 01H ;T0工作在方式1 MOV TL0,#0B0H    ;给T0写入初值 MOV TH0,#03CH        MOV R7,#20  ;利用寄存器R7计数20次 SETB EA    ;开放总中断 SETB ET0    ;T1溢出中断允许 SETB TR0    ;启动T1开始工作 SJMP $ T0_INT:MOV TL0,#0B0H ;重新赋初值 MOV TH0,#03CH DJNZ R7,NEXT  CPL P1.0    MOV R7,#20  ;重新赋给R7值50 NEXT:RETI END (1) C51程序: #include/ sbit P1_0=P1^0; unsigned char i=0; void main( ) { TMOD=0x01;//T0工作在方式1 TL0=0xB0;//给T0装入初值 TH0=0x3C;  EA=1;//开放总中断 ET0=1;//T0溢出中断允许 TR0=1;//启动T0开始工作 while(1); } void T0_INT( ) interrupt 1//T0中断服务程序 { TH0=0x3C; TL0=0xB0;//重新置入初值 i++; if(i= =20) { P1_0=!P1_0; i=0; } } 7-8由P1口驱动8个指示灯,利用定时/计数器T1的定时功能分别用汇编语言和C51编程实现8个指示灯依次循环点亮(输出高电平),点亮间隔为1s,反复循环。 分析:仿照上题,T1需定时50ms,R7计数20次,达到定时1s的目的,每隔1s,循环一次,实现轮流点亮。 (1)汇编程序 ORG 0000H LJMP MAIN ORG 001BH  ;T1的中断向量入口地址 LJMP T1_INT ORG 0100H MAIN:MOV SP,#0BFH ;初始化堆栈指针 MOV TMOD,# 10H ;T1工作在方式1 MOV TL1,#0B0H    ;给T1写入初值 MOV TH1,#03CH        MOV R7,#20  ;利用寄存器R7计数20次 MOV A,#01H SETB EA    ;开放总中断 SETB ET1    ;T1溢出中断允许 SETB TR1    ;启动T1开始工作 SJMP $ T1_INT:MOV TL1,#0B0H ;重新赋初值 MOV TH1,#03CH DJNZ R7,NEXT  ; R7减1不为0, 说明 关于失联党员情况说明岗位说明总经理岗位说明书会计岗位说明书行政主管岗位说明书 中断次数未 ;到20次,跳转到NEXT处返回  MOV  P1,A; RL  A  ;为下一次做准备 MOV  R7,#20  ;重新赋给R7值50 NEXT:RETI END (2) C51程序: #include unsigned char i=0; unsigned char j; void main( ) { TMOD=0x10;//T1工作在方式1 TL1=0xB0;//给T1装入初值 TH1=0x3C;  j=0x01; EA=1;//开放总中断 ET1=1;//T1溢出中断允许 TR1=1;//启动T1开始工作 while(1); } void T1_INT( ) interrupt 3//T1中断服务程序 { TH1=0x3C; TL1=0xB0;//重新置入初值 i++; if(i= =20) { P1=j;//已定时中断20次 i=0; j=_crol_(j,1); } } 7-12  假设系统时钟频率为12MHz,利用PCA模块的功能,分别用汇编语言和C51编程实现在P1.3引脚上间断重复输出频率为450Hz的方波,持续和停止时间均为4s。 分析:将PCA模块的工作方式寄存器CCAPM0寄存器写为4DH,即PCA0设为时钟输出方式,从而可以在P1.3引脚自动翻转,输出方波,并允许PCA中断。要求方波频率为450hz,即周期为1/450,定时时间应设定为1/900s,选择计数器时钟来源为系统时钟频率的12分频,即工作方式寄存器CMOD设为00H,需要计数(1/900)/(12/12000000)=10000/9≈1111=0457H个时钟脉冲,可将CL、CH初始值设为零,CCAP0H设为04H,CCAP0L设为57H,在每次PCA中断里:将计数值加到比较匹配寄存器里CCAP0H+=4,CCAP0L+=57H 4秒启动一次PCA计数(CR=1),4秒停止(CR=0); 4秒定时器由T1产生,工作在方式1定时50毫秒,计数时钟fosc/12 初值N,则(65536-N)*1=50000N=15536=3cb0H (1)    汇编程序: CCON  EQU  0D8H;PCA控制寄存器 CMOD  EQU  0D9H;PCA模式寄存器 CL  EQU  0E9H;PCA定时器的低8位 CH  EQU  0F9H;PCA定时器的高8位 CCAPM0 EQU  0DAH; PCA模块0的模式寄存器 CCAP0L  EQU  0EAH;PCA模块0的捕获寄存器的低8位 CCAP0H  EQU  0FAH;PCA模块0的捕获寄存器的高8位 AUXR  EQU  8EH CR  BIT  CCON.6;PCA定时控制位 CF  BIT  CCON.7;PCA溢出标志位 ORG 0000H LJMP MAIN ORG 001BH LJMP T1_INT ORG 003BH LJMP PCA_INT ORG 0100H MAIN: CLR  A MOV  CCON,A;//(P197) MOV  CL,A; MOV  CH,A; MOV  SP,#0BFH;初始化堆栈指针 MOV  TMOD,#10H;T1工作在方式1 MOV  TL1,#B0H;给T1写入初值 MOV  TH1,#3CH; ANL AUXR,#101111111H;//T1X12=0 MOV CCAPM0,#4DH;// 允许中断,输出方波 MOV CCAP0L,#57H; MOV CCAP0H,#04H; MOV  CMOD,#0H;//FOSC/12时钟计数 MOV  R7,#80;利用寄存器R7计数80次 SETB  EA; SETB  ET1; SETB  TR1; SETB CR SJMP $ T1_INT: MOV  TL1,#B0H;给T1写入初值 MOV  TH1,#3CH; DJNZ  R7,NEXT;
本文档为【单片机课后习题】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_348501
暂无简介~
格式:doc
大小:26KB
软件:Word
页数:12
分类:工学
上传时间:2019-04-26
浏览量:94