1
完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
想给ADC0809提供时钟信号,ALE分频貌似有点麻烦,不够简洁.所以想请教STC89C52RC可不可以用定时器写一个输出500khz的方波?
向各位前辈求解答! |
|
相关推荐
11个回答
|
|
T=1/F=1/(500khz)=2us,定时器要1us中断一次,你认为51单片机能实现吗?就算是STM32实现起来也很麻烦!
|
|
|
|
看来只能求助于分频器了 |
|
|
|
我也要用AD0809,请问你是怎么解决的
|
|
|
|
可以用定时器直接实现 还可以写三角波 其他的一些规则波
|
|
|
|
/* 同时用两个定时器控制蜂鸣器发声, 定时器0控制频率,定时器1控制同个 频率持续的时间,间隔2s依次输出 1,10,50,100,200,400,800, 1k(hz)的方波? 设晶振频率为12MHz。 */ #include #include #define uint unsigned int #define uchar unsigned char ***it beep=P2^3; uchar tt; uint fre,flag; void main() { fre=50000; beep=0; TMOD=0x11; //设置定时器0,定时器1为工作方式1 TH0=(65536-fre)/256; TL0=(65536-fre)%256; TH1=(65536-50000)/256; TL1=(65536-50000)%256; EA=1; ET0=1; ET1=1; TR1=1; TR0=1; while(1); } void timer0() interrupt 1 { TR0=0; //进中断后先把定时器0中断关闭,防止内部程序过多而造成中断丢失,每打开再关闭只执行一段if,再进来再执行下一个if TH0=(65536-fre)/256; TL0=(65536-fre)%256; tt++; if(flag<40) if(tt==10) { tt=0; //10个脉冲 一个脉冲50ms×2=100ms fre=50000; beep=~beep; } if(flag>=40&&flag<80) //单独扩起来就不用关TR0再开开了 { tt=0; fre=50000; beep=~beep; } if(flag>=80&&flag<120) { tt=0; fre=10000; beep=~beep; } if(flag>=120&&flag<160) { tt=0; fre=5000; beep=~beep; } if(flag>=160&&flag<200) { tt=0; fre=2500; beep=~beep; } if(flag>=200&&flag<240) { tt=0; fre=1250; beep=~beep; } if(flag>=240&&flag<280) { tt=0; fre=625; beep=~beep; } if(flag>=280&&flag<320) { tt=0; fre=312; beep=~beep; } if(flag>=320&&flag<360) { tt=0; fre=156; beep=~beep; } TR0=1; } void timer1() interrupt 3 //定时器1中断用来产生2秒时间定时 { TH1=(65536-50000)/256; TL1=(65536-50000)%256; flag++; if(flag==360) { flag=0; fre=50000; } } |
|
|
|
|
|
|
|
我现在是用单片机定时器做的方波,达不到500Khz,但是ADC0809可以正常工作的。现在又有个新问题,就是GP2Y1010auf的使用 |
|
|
|
|
|
|
|
|
|
|
|
我的是51单片机,用两个d触发器,4分频ALE输出频率
|
|
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
求助一下关于51系列单片机的Timer0的计时问题,TH0、TL0+1的时间是怎么算的?
852 浏览 1 评论
【RA-Eco-RA4E2-64PIN-V1.0开发板试用】开箱+Keil环境搭建+点灯+点亮OLED
592 浏览 0 评论
【敏矽微ME32G070开发板免费体验】使用coremark测试敏矽微ME32G070 跑分
705 浏览 0 评论
【敏矽微ME32G070开发板免费体验】开箱+点灯+点亮OLED
926 浏览 2 评论
657 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
12009 浏览 31 评论
小黑屋| 手机版| Archiver| 德赢Vwin官网 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 01:16 , Processed in 1.115832 second(s), Total 91, Slave 74 queries .
Powered by 德赢Vwin官网 网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
德赢Vwin官网 观察
版权所有 © 湖南华秋数字科技有限公司
德赢Vwin官网 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号