首页 > 编程知识 正文

怎么产生一个10M的频率,电脑显示器超出频率限制怎么办

时间:2023-05-06 11:00:47 阅读:106377 作者:3006

要测量CD107D这块板上NE555产生的频率,需要将板右侧的SIGNAL脚短接在P34上。

通过调节Rb3改变ne555的频率。

计时器模式计时器0计数计时器1的定时

将计时器0设置为计数器,将计时器1设置为计时器

void Timer0_Init () {TMOD |=0X05; //设置为计数器,16位全用模式TH0=0; TL0=0; EA=1; ET0=1; TR0=1; TF0=0; } void Timer1_Init () {TMOD |=0X10; TL1=(65535-1000 ) 6; th1=(65535-1000 )/256; EA=1; ET1=1; TR1=1; }voidtime1(interrupt3) staticuintTMR1s=0; TL1=(65535-1000 ) 6; th1=(65535-1000 )/256; LedScan (; tmr1s; if(TMR1s==200 ) count=) th0*256TL0 ) 5; tmr1s=0; TH0=0; TL0=0; }} 频率=

从0开始计数计数器,到0.2s的累计次数*5是频率,所以将计数器的TH1*256 TL1代入count。

码管显示函数

void display () {uchar i; dis[0]=0x8e; 显示Fdis[1]=0xff; //0 dis [2]=led char [ count/100000 ]; dis[3]=LedChar[count/10000]; dis[4]=LedChar[count/1000]; dis[5]=LedChar[count/100]; dis[6]=LedChar[count/10]; dis[7]=LedChar[count]; for(I=2; dis[i]==LedChar[0]; I//如果计算结果为0,则不显示dis[i]=0xff; for(I=0; i8; I ) ) {P2=0x1f; P0=1i; P2|=0xc0; P2=0x1f; P0=dis[i]; P2|=0xe0; Delay100us (; P0=0xff; (}P2=0x1f; }主函数

voidmain(void ) {Timer0_Init; Timer1_Init (; cls_buzz (; P2=0x80; P0=0xff; wile(1) {display ); }voidcls_buzz(void ) {P2=0xa0; P0=0x00; }

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。