找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1676|回复: 0
打印 上一主题 下一主题
收起左侧

单片机方波发生器程序

[复制链接]
跳转到指定楼层
楼主
ID:194460 发表于 2017-5-22 16:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include <reg51.h>
unsigned long pinlv=0;
unsigned char anjian;
void huoqu()
{ while(P2==0Xff&&P3==0xff);
  while(P3!=0xfb)
  switch(P2)
   { case 0xfe:anjian=0; while(P2!=0xff); break;
     case 0xfd:anjian=1; while(P2!=0xff); break;
         case 0xfb:anjian=2; while(P2!=0xff); break;
         case 0xf7:anjian=3; while(P2!=0xff); break;
         case 0xef:anjian=4; while(P2!=0xff); break;
         case 0xdf:anjian=5; while(P2!=0xff); break;
         case 0xbf:anjian=6; while(P2!=0xff); break;
         case 0x7f:anjian=7; while(P2!=0xff); break;
         default:break;
        }

     switch(P3)
     {
     case 0xfe:anjian=8; while(P3!=0xff); break;
     case 0xfd:anjian=9; while(P3!=0xff); break;  
         default:break;
     pinlv=pinlv*10+anjian;}
}

void timer()
{
unsigned long time;
unsigned int i;
time=1000000/pinlv/2;
  if(time<1) time=1;
  if(time>1000000)time=1000000;
        TMOD=0X02;
        TH0=0;TL0=0;
        for(i=0;i<time/256;i++)
{  TR0=1;
        while(!TF0);
        TF0=0;
}
   TR0=0;
   TH0=256-time%256;
   TL0=256-time%256;
   TR0=1;
   while(!TF0);
   TF0=0;
   TR0=0;
}

void main()
{

huoqu();
while(1)
{
P0=0X01;timer();
P0=0X0;timer();
}
}


  
         

方波发生器程序.zip

19.14 KB, 下载次数: 6, 下载积分: 黑币 -5

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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