第一范文网 - 专业文章范例文档资料分享平台

MCS51单片机课后作业解答

来源:用户分享 时间:2025/7/23 15:03:43 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

MOV TH0, #3CH CPL P2.0 RETI 2.采用c51语言

定时为50ms,采用方式1,X=216 -50000*(12/12) #include sbit P2_0 = P2^0; void main(void) {

TMOD = 0x01; P2_0 = 0;

TH0 = (65536 – 500000)/256 ; TL0 = (65536 – 500000)%6 ; EA=1 ; ET0 =1; TR0 =1;

Do{} while (1); }

Void timer0(void) interrupt 1 {

TL0 = (65536 – 500000)%6 ; TH0 = (65536 – 500000)/256 ; P2_0 = !P2_0; }

解: 1.采用汇编语言

定时为100ms,采用方式1,X=216 -100000*(6/12)=3CB0H,当 中断3次时清0,满10次重新置1。 ORG 000BH

LJMP T0_INT MAIN: MOV TMOD, #01H MOV TH0, #3CH MOV TL0, #0B0H MOV R2,#0 SETB ET0 SETB IE SETB TR0 SETB P1.0 SJMP $

T0_INT: MOV TL0, #0B0H MOV TH0, #3CH INC R2

CJNE R2,#3,T0_INT1 CLR P1.0 RETI

T0_INT1:CJNE R2,#10, T0_INT2 SETB P1.0 MOV R2,#0 T0_INT2: RETI

2.采用c51语言

定时为100ms,采用方式1,X=216 -100000*(6/12) #include sbit P1_0 = P1^0; uchar NUM =0; void main(void) {

TMOD = 0x01; P1_0 = 1;

TH0 = (65536 – 500000)/256 ; TL0 = (65536 – 500000)%6 ; EA=1 ; ET0 =1; TR0 =1;

Do{} while (1); }

Void timer0(void) interrupt 1 {

TL0 = (65536 – 500000)%6 ; TH0 = (65536 – 500000)/256 ; NUM++;

If (NUM ==3) P1_0 = 0; Else if (NUM ==10) {

NUM =0; P1_0 =1; } }

解: 1.采用汇编语言

定时为100ms,采用方式1,X=216 -100000*(6/12)=3CB0H,当 中断10次时清0,满20次重新置1。 ORG 000BH

LJMP T0_INT MAIN: MOV TMOD, #01H MOV TH0, #3CH MOV TL0, #0B0H MOV R2,#0 SETB ET0 SETB IE SETB TR0 SETB P1.7 SJMP $

T0_INT: MOV TL0, #0B0H MOV TH0, #3CH INC R2

CJNE R2,#10,T0_INT1 CLR P1.7 RETI

T0_INT1:CJNE R2,#20, T0_INT2 SETB P1.7 MOV R2,#0 T0_INT2: RETI

2.采用c51语言

定时为100ms,采用方式1,X=216 -100000*(6/12) #include sbit P1_7 = P1^7; uchar NUM =0; void main(void) {

TMOD = 0x01; P1_7 = 1;

TH0 = (65536 – 500000)/256 ; TL0 = (65536 – 500000)%6 ; EA=1 ; ET0 =1; TR0 =1;

Do{} while (1); }

Void timer0(void) interrupt 1

{

TL0 = (65536 – 500000)%6 ; TH0 = (65536 – 500000)/256 ; NUM++;

If (NUM ==10) P1_7 = 0; Else if (NUM ==20) {

NUM =0; P1_7 =1; } }

解: 1.采用汇编语言

定时为100ms,采用方式1,X=216 -100000*(6/12)=3CB0H,当中断10次时p1.0=0,外部INT0中断时 p1.0=1,启动定时器。 ORG 0000H

LJMP MAIN ORG 0003H

LJMP INT0_INT ORG 000BH

LJMP T0_INT

MAIN: MOV TMOD, #01H MOV TH0, #3CH MOV TL0, #0B0H MOV R2,#0 SETB ET0 SETB IE

SETB EX0 SETB IT0 SETB P1.0 CLR P1.1 SJMP $

T0_INT: MOV TL0, #0B0H MOV TH0, #3CH INC R2

CJNE R2,#10, T0_INT2

SETB P1.0 CLR P1.1 CLR TR0 T0_INT2: RETI

INT0_INT: SETB TR0 MOV R2,#0 CLR P1.0 SETB P1.1 RETI

2.采用c51语言

定时为100ms,采用方式1,X=216 -100000*(6/12) #include sbit P1_0 = P1^0; sbit P1_1 = P1^1; uchar NUM =0; void main(void) {

TMOD = 0x01; P1_0 = 1; P1_1 = 0;

TH0 = (65536 – 500000)/256 ; TL0 = (65536 – 500000)%6 ; EA=1 ; ET0 =1; EX0 =1; IT0 =1;

Do{} while (1); }

Void timer0(void) interrupt 1 {

TL0 = (65536 – 500000)%6 ;

搜索更多关于: MCS51单片机课后作业解答 的文档
MCS51单片机课后作业解答.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c3j0j00qxtx5gf8x599ez10e609m87w01bbh_3.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top