利用定时器T0定时中断控制P1.7驱动LED发光二极管亮1s灭1s的闪烁,设时钟频率为12MHz。#include#define uchar unsigned char#define uint unsigned intsbit led=P1^7;uchar aa;void main(){TMOD=0x01;EA=1;ET0=1;TH0=(65536-50000)/256;TL0=(65536-50000)%256;TR0=1;...
用定时/计数器T1定时50ms,晶振频率取12MHz,定时器初值为3CB0H,采用中断方式,用变量计数中断次数。P1口控制8个发光二极管LED灯,每50ms中断,控制一个灯亮/灭一次,中断两次为100ms,闪一次,一秒钟闪10次,闪烁频率为10。仿真图如下图所示。
1秒钟定时器无法靠一次中断达到要求,6M晶振,可以设100毫秒中断一次,10次中断为1秒,所以初值为65536-50000 includeunsigned char times;sbit p10=P1^0;void t0isr() interrupt 1 { TH0=(65536-50000)/256 P0 = 0x00; //P0.0~P0.7分别接八个发光二极管,刚开始全灭 while(1){ delay(1000);P0 = 0xc0;/...