基于单片机信号发生器设计重点研究问题是什么

全部回答3
默认 最新
  •   利用单片机做信号发生器,其重点就是单片机的主频啦  因为主频代表着程序运行的时间,这个时间是完成一次程序的从头到尾单片机内部所需的时间,而运行一次只能输出一种端口状态,那么需要方波输出,则需要单片机运行两次才能真正输出一个方波信号,所以主频才是重中之重。  另外还有程序的整体步数,就是程序的长度或多少,程序语句越多,运行速度也越慢,输出的信号频率也越低  例如想做一个1MHz的方波发生器,那么51单片机的最高主频是12MHz,然而真正输出的最高只能达到12分之一,那就是1MHz,勉勉强强算是可以  如果超过1MHz的波形,51类单片机是达不到效果了,只能选择其它单片机下面是本人曾经利用单片机做的PMW信号发生器程序,仅供参考/***************************************************************************/#include//频率约为 2.37 KHz//根据按键来控制输出波形sbit D=P2^0 ; //端口定义int h,m,s,f;/***************************************************************************/void main(void){ TMOD=0x22; EA=1; ET0=1; ET1=1; TR0=1;//定时器初始化 while(1) { switch(P0) { case 0xfe : h=1; break; case 0xfd : h=2; break; case 0xfb : h=3; break; case 0xf7 : h=4; break; case 0xef : h=5; break; case 0xdf : h=6; break; case 0xbf : h=7; break; case 0x7f : h=8; break; default : h=9; break; } m=10-h; }}/***************************************************************************/void int0() interrupt 1 //定时器 0 中断{ TH0=0xff; s++; if(s>=h){ TR0=0; TR1=1; D=0; s=0; }//开始时间}/***************************************************************************/void int1() interrupt 3 //定时器 1 中断{ TH1=0xff; s++; if(s>=m){ TR1=0; TR0=1; D=1; s=0; }//休止时间}/***************************************************************************/
    0 点赞
  • 基于单片机信号发生器设计让我来帮你 .
    0 点赞
  • 发了,不过只是类似的
    0 点赞

没有更多内容了

返回顶部
产品求购 求购