1、单脉冲发生电路,CPU内部定时/计数器实验,初始化编程: 控制字写入TMOD寄存器 计算计数初值并写入THx和TLx寄存器 启动定时器/计数器(SETB TRx) 外部脉冲输入:P3.4(T0)和P3.5(T1) 定时时间= (2N计数初值)*机器周期,CPU内部定时/计数器实验,定时器(c:sy2sy07-1.asm, fosc=6MHz) 连线:P1.0接蜂鸣器的音频输入端 定时器在方式0时的初值装入方法 查询方式:检测溢出标志位TFx(JBC指令) 计数器(c:sy2sy07-2.asm) 连线:P3.5 (T1)连接到单脉冲发生器/OUT; P1.0接LED1 方式2:TLx作8位计数
2、器,不用重装计数初值,计数个数=28 计数初值,外部中断(c:sy2sy08-1.asm) 输入:P3.2(/INT0)和P3.3 (/INT1) 触发方式:下降沿(SETB ITx)和低电平 中断允许控制:设置IESETB EA,SETB EXi 中断服务程序入口地址:INT0为0003HINT1为0013H 连线:P1.0P1.7对应接到LED1LED8 P3.2接单脉冲发生器/OUT,中断控制实验,内部中断(定时/计数器溢出中断)中断允许控制:设置IESETB EA,SETB ETx 中断服务入口地址:T0为000BH,T1为001BH,计数中断(c:sy2sy08-2.asm) P1.0P1.7对应接到LED0LED0P3.2接单脉冲发生器/OUT 定时中断(c:sy2sy8-3.asm,fosc=12MHz) 方式1最大定时时间:若fosc=12MHz,min=65.536ms若fosc=6MHz,min=131ms 软件扩展定时:定时器定时+软件计数(常用Rn寄存器) 修改程序:用DJNZ指令替代CJNE指令 连线:P1.0P1.7对应接到LED1LED8,编程用定时器控制信号灯:P1口接8个LED,完成8个LED同时闪烁,闪烁的间隔时间为1s。设Fosc=6MHz,