如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
GATEC/TM1M0GATEC/TM1M0定时中断编程: 1)入口地址设置;2)确定TMOD、IE、IP; 3)写计数初值;4)中断服务程序=0001111000001100B,LJMPMAIN ORG000BH LJMPINSE1 ORG1000H MAIN:MOVSP,#60H MOVTMOD,#00H MOVTL0,#0CH MOVTH0,#0F0H例2: 设fosc=6MHz,利用单片机内定时/计数器及P1.0口线输出1000个脉冲,脉冲周期为2ms,试编程。设T0采用中断方式产生周期为2ms方波,T1对该方波计数,当输出至第1000个脉冲时,使TF1置1。在主程序中用查询方法,检测到TF1变1时,关掉T0,停止输出方波。程序: ORG0000H LJMPMAIN ORG000BH LJMPTOS ORG1000HSETBTR1 SETBTR0 SETBET0 SETBEA WAIT:JNBTF1,WAIT;查询1000个脉冲计数够没? CLREA CLRET0 ANLTCON,#0FH;停T0、T1, SJMP$ TOS:MOVTL0,#0CH MOVTH0,#0F0H CPLP1.0 RETI END中断程序:ORG0000H LJMPMAIN ORG000BH LJMPTOS ORG001BH LJMPTUP ORG1000HSETBTR1; SETBTR0 SETBET0 SETBET1 SETBEA SJMP$ TOS:MOVTL0,#0CH MOVTH0,#0F0H CPLP1.0 RETI例3、通过外部中断控制八盏灯循环点亮。 解:通过P1口扩展八盏灯,在引脚接一个按钮开关到地,每按一下按钮就申请一次中断,点亮一盏灯,中断服务则是:依次点亮八盏灯中的一盏。采用下降沿触发。硬件电路如下图所示。ORG0000H LJMPMAIN ORG0013H;中断服务程序入口地址 LJMPIN11 ORG0100H MAIN:SETBEA;开总中断允许“开关” SETBEX1;开分中断允许“开关” SETBIT1;下降沿触发 MOVA,#0FEH;给累加器A赋初值 SJMP$;原地等待中断申请 IN11:MOVP1,A;输出到P1口 RLA;左环移一次 RETI;中断返回 END解:采用电平触发方式,应避免一次按键引起多次中断响应。 运用程序控制,等待按键释放。
as****16
实名认证
内容提供者
最近下载