单片机 思考题与作业答案(4)

2019-04-14 23:51

实际参数:在函数调用时,主调用函数名后面括号中的表达式称为“实际参数”,简称实参。

在C语言的函数的函数调用中,实际参数与形式参数之间的数居传递是单向进行的,只能由实际参数传递给形式参数,而不能有形式参数传递给实际参数。

11-3.如何定义一个Cx51的中断函数? 答:定义一个Cx51的中断函数方法如下: 函数类型 函数名 (形式参数) interrupt n [using m]

Cx51关键字 interrupt后面是中断号 n,n的取值范围0-31,编译器从8n+3处产生中断向量。Cx51关键字using 后面的 m 是0-3的常整数,编译器据此选择4个工作寄存器组中的一个,作为中断函数的寄存器工作区。

11-6.Cx51语言编写第7章思考与习题第7、8题,第6章思考题与习题第8、9题,第5章思考与习题第5题。

解:题7-7是8051晶振频率为12MHz,以方式3(教科书有错)进行串行通信,设波特率为2400bit/s,第9位为奇校验位,以中断方式发送。编写相关程序 初始化部分: #include #define SCONW 0xC0 #define TMODW 0x20 ? main() {

SCON=SCONW; TMOD=TMODW; PCON=PCON & 0x7F; TH1=-13; TL1=-13; ES=1; ET1=0; TR1=1; EA=1;

? }

中断函数部分:

void serial_ISR () interrupt 4 [using 1] { TI=0;

/* ACC=待发数据*/ TB8=P; SBUF=ACC; ? }

题7-8是8051晶振频率为12MHz,以方式3进行串行通信,设波特率为2400bit/s,第9位为偶校验位,以查询方式接收,请编写程序 初始化部分: #include #define SCONW 0xD0 #define TMODW 0x20 ? main() {

SCON=SCONW; TMOD=TMODW; PCON=PCON & 0x7F; TH1=-13; TL1=-13; ES=0; ET1=0; TR1=1;

? }

串行口查询函数部分: void serial_ISR () { if(TI= =0); {

CY=RB8; ACC=SBUF; ? } }

题6-8已知8051单片机的fsoc=12MHz,试用P1.7输出矩形波。矩形波高电平100μs,低电平200μs。

∵12000000÷12=1000000 ∴每个机器周期1μs。 T1方式2计数100后溢出为1×100=100μs。 可再设定K为完成3分频变量参数; K=0(3)时高电平、K=1、2时低电平。 初始化程序: #include #define TMODW 0x20 unsigned k; sbit P17=P1^7; ? main() {k=3;

TMOD=TMODW; TH1=-100; TL1=-100; ET1=1; TR1=1;

EA=1; ? }

中断函数部分:

void T1_ISR () interrupt 3 [using 1] { k--; if(k= =0); {k=3; P17=1; }else {P17=0; } }

题6-9设fosc=6MHz,试编写一段程序,功能为:对定时器T0初始化,使之工作在模式2,产生400μs定时,用中断控制方式,控制P1.7输出周期为200ms的方波。 初始化程序: #include #define TMODW 0x02 unsigned k; sbit P17=P1^7; ? main() {k=250; P17=1; TMOD=TMODW; TH0=56; TL0=56; ET0=1; TR0=1;

EA=1; ? }

中断函数部分:

void T0_ISR () interrupt 1 [using 1] { k--; if(k= =0); { k=250; P17=~P17; } }


单片机 思考题与作业答案(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:上海体育学院《运动生理学》重点资料

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: