89c52能产生25khz频率方波吗

2020-01-30 14:16发布

本帖最后由 mey 于 2013-2-8 16:18 编辑
  1. #include"reg52.h"
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. sbit out=P3^0;
  5. void main()
  6. {
  7.         TMOD=0x20;
  8.         TH1=236;
  9.         TL1=236;
  10.         EA=1;
  11.         ET1=1;
  12.         TR1=1;
  13.         while(1);
  14. }
  15. void timer()interrupt 3
  16. {
  17.         out=~out;
  18. }
复制代码用这段代码产生了25KHZ的方波 请教一下怎么调节占空比 20%~99%
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
14条回答
devcang
1楼-- · 2020-01-30 14:45
这个频率,可以的
最简单用时钟。

mey
2楼-- · 2020-01-30 15:24
devcang 发表于 2013-2-8 10:03
这个频率,可以的
最简单用时钟。

请问怎么用软件产生呢..
NJ8888
3楼-- · 2020-01-30 17:54
25K=40us周期,你用定时器20us翻一次,12M晶体,定时器8位重装模式
BXAK
4楼-- · 2020-01-30 21:14
直接用T2的可编程时钟输出
NJ8888
5楼-- · 2020-01-31 01:06
 精彩回答 2  元偷偷看……
mon51
6楼-- · 2020-01-31 01:32
NJ8888 发表于 2013-2-8 10:43
25K=40us周期,你用定时器20us翻一次,12M晶体,定时器8位重装模式

必须考虑中断响应的时间。要把它们补偿进去。20us的延时是大了,要减少!

一周热门 更多>