仿真原理图:http://www.51hei.com/bbs/dpj-101350-1.html
单片机源程序如下:
- /*****************************************************************
- 程序功能: 本例程为简易分频器。
- 实验前,请用排线(杜邦线)将QX-MCS51学习板的P1^0管脚与P3^2(INT0)
- 管脚相连。因为P1^0用来模拟外界波形输入,它提供周期为100ms的方波,
- 与T1管脚相连后,T1可对其进行周期计数。
- 程序中的变量pp决定着分频系数,其值乘以2即为分频系数。
- 改变其值可以得到相应的分频输出波形(方波)。
- P1^1为输出管脚,将其连接示波器可以看到分频后的波形。
- ********************************************************************/
- #include<reg52.h>
- #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;
- ……………………
- …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
所有资料51hei提供下载:
分频器(外部中断实现).rar
(15.83 KB, 下载次数: 55)
|