收藏 分销(赏)

两个定时器蜂鸣器-一个控制频率-另一个控制时间教学提纲.doc

上传人:人****来 文档编号:3840637 上传时间:2024-07-22 格式:DOC 页数:3 大小:14.04KB 下载积分:5 金币
下载 相关 举报
两个定时器蜂鸣器-一个控制频率-另一个控制时间教学提纲.doc_第1页
第1页 / 共3页
两个定时器蜂鸣器-一个控制频率-另一个控制时间教学提纲.doc_第2页
第2页 / 共3页


点击查看更多>>
资源描述
两个定时器蜂鸣器-一个控制频率-另一个控制时间 精品文档 //同时利用两个定时器控制蜂鸣器发声,定时器0控制频率,定时器1控制同一个频率持续的时间,间隔300ms依次输出1、10、 //50、100、200、400、800HZ的方波 #include<reg52.h> //52单片机头文件 #include <intrins.h> //包含有左右循环移位子函数的库 #define uint unsigned int //宏定义 #define uchar unsigned char sbit Waveout=P1^0; uchar tt; uint fre,flag; uint Freq[]={1,10,50,100,200,400,800,1000} void main() //主函数 { fre=50000; TMOD=0x11;//设置定时器0,定时器1为工作方式1 TH0=(65536-fre)/256; TL0=(65536-fre)%256; TH1=(65536-50000)/256; TL1=(65536-50000)%256; EA=1;//开总中断 ET0=1;//开定时器0中断 ET1=1; TR1=1; TR0=1;//启动定时器0 while(1) //等待中断产生 { if(tt=a) { tt=0; Waveout=~Waveout; } } } void timer0() interrupt 1 //定时器0中断 { TR0=0; //进中断后先把定时器0中断关闭,防止内部程序过多而造成中断丢失 TH0=(65536-fre)/256; TL0=(65536-fre)%256; tt++; } void timer1() interrupt 3 //定时器1中断用来产生300微秒时间定时 { TH1=(65536-50000)/256; TL1=(65536-50000)%256; flag++; if(flag==6) { flag=0; freq=Freq[i]; } } 收集于网络,如有侵权请联系管理员删除
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服