找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4172|回复: 7
收起左侧

单片机产生方波问题

[复制链接]
ID:74245 发表于 2015-4-18 20:28 来自手机 | 显示全部楼层 |阅读模式
stc89c5系列单片机,想产生38k方波,理论上就是大概13us翻转一次电平状态。
可是实际却做不到,用示波器观察波形,只有翻转时间大于20us时才观察到波形(即最大能产生约25k方波),小于这个时间,就完全没有波形产生了。
是硬件速度问题还是其他问题?有没有人试过用这类型的单片机产生过38k的方波?或者有没有其他软件方法可以实现?在线等~
回复

使用道具 举报

ID:76800 发表于 2015-4-19 17:21 | 显示全部楼层
你是在哪里处理I/O状态的?
回复

使用道具 举报

ID:74245 发表于 2015-4-19 18:06 来自手机 | 显示全部楼层
8055 发表于 2015-4-19 17:21
你是在哪里处理I/O状态的?

主函数里面,中断里面没试过,但感觉不会太大差距。
回复

使用道具 举报

ID:76800 发表于 2015-4-19 19:49 | 显示全部楼层
好像都告诉你了,如果是做调制,最好不要用这种方式产生38K的方波,不好使的~随便复制一个给你试一试,我也验证了一下,我现在只有110592的晶体,实际用示波器看了下,差不多吧,低点儿就是36K+,高点就是40K+
  1. #include <reg51.h>

  2. sbit out_38k_IO=P0^0;

  3. void InitTimer0(void)
  4. {
  5.     TMOD|= 0x02;                    
  6.     TH0 = 0xF4;                     
  7.     TL0 = 0xF4;
  8.     TR0 = 1;                        
  9.     ET0 = 1;                        
  10.     EA = 1;
  11. }

  12. void main(void)
  13. {
  14.     InitTimer0();
  15. }

  16. void Timer0Interrupt(void) interrupt 1
  17. {
  18.     out_38k_IO = !out_38k_IO;
  19. }
复制代码



回复

使用道具 举报

ID:76800 发表于 2015-4-19 21:16 | 显示全部楼层
用用这个方法吧,较为实用和准确
http://www.51hei.com/bbs/dpj-33672-1.html

评分

参与人数 1黑币 +35 收起 理由
admin + 35 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:77408 发表于 2015-4-20 08:41 | 显示全部楼层
8055 发表于 2015-4-19 21:16
用用这个方法吧,较为实用和准确
http://www.51hei.com/bbs/dpj-33672-1.html

这个好,学习了

评分

参与人数 1黑币 +35 收起 理由
admin + 35 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表