/****************************************************************** “天祥电子” 倾情奉献 www.txmcu.cn www.txmcu.com 按键功能简介 ******************************************************************** 程序功能: 本例程为简易分频器。 实验前,请用排线(杜邦线)将TX-1C学习板的P1^0管脚与P3^2(INT0) 管脚相连。因为P1^0用来模拟外界波形输入,它提供周期为100ms的方波, 与T1管脚相连后,T1可对其进行周期计数。 程序中的变量pp决定着分频系数,其值乘以2即为分频系数。 改变其值可以得到相应的分频输出波形(方波)。 P1^1为输出管脚,将其连接示波器可以看到分频后的波形。 ********************************************************************/ #include #define uchar unsigned char uchar pp; sbit shuru=P1^0; sbit shuchu=P1^1; void main() { TMOD=0x01; //定时计数器0用于定时 TR0=1; TH0=0x4c;// 计时器每隔50000微秒发起一次中断。 TL0=0x00; ET0=1; EA=1; EX0=1; //打开外部中断0 IT0=1; while(1) { if(pp==1) //对从T1端口采得的波形二分频。 { //改变其值即可得到不同分频后的波形。 shuchu=~shuchu;//每隔一个输入方波的周期,输出的电变换一次,故输出波形的周期是输入的二倍。 pp=0; } } } void time0() interrupt 1 { TH0=0x4c; TL0=0x00; shuru=~shuru; //定时器每隔50ms发起一次中断,shuru电平变换一次,故模拟输入方波的周期为100ms } void inrpt() interrupt 0 { pp++; }