找回密码
 立即注册

QQ登录

只需一步,快速开始

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

单片机方波发生器程序+仿真

[复制链接]
跳转到指定楼层
楼主
源程序设计
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit D1=P1^0;
uchar aa;
void main()
{
  TMOD=0x01;
  TH0=(65536-50000)/256;
  TL0=(65536-50000)%256;      //定时50ms中断一次
EA=1;                //开总中断
ET0=1;               //允许定时器T0中断
TR0=1;                  //起动定时器开始工作
  D1=1;             //让LED灯初始时处在熄灭状态
     while(1);    //等待中断产生
}
void my_timer0() interrupt 1    //中断服务程序
{
  TH0=(65536-50000)/256;      
TL0=(65536-50000)%256;        //重新赋初值
aa++;                   //中断一次变量aa加1
if(aa==20)          //当aa=20时中断了20次,定时时间为20*50ms=1s,更改一次P1.0口的输出状态,这样得到的方波周期为2s
  {
    aa=0;            //将变量aa清零,以便于下次重新定时
     D1=~D1;          //改变引脚P1.0的输出状态
  }
}

11.jpg (51.37 KB, 下载次数: 61)

11.jpg

方波发生器.zip

32.53 KB, 下载次数: 22, 下载积分: 黑币 -5

仿真图和keil

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

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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