找回密码
 立即注册

QQ登录

只需一步,快速开始

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

[求助]开发板上蜂鸣器报警程序的疑问?

[复制链接]
跳转到指定楼层
楼主
ID:33880 发表于 2012-1-22 11:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

#include <reg51.h>
#include <intrins.h>

sbit SPK = P2^2;

unsigned char frq;

void delayms(unsigned char ms);

main()
{
 TMOD = 0x01;
 frq = 0x00;
 TH0 = 0x00;
 TL0 = 0xff; 
 TR0 = 1;
 IE = 0x82;
 
 while(1)
 {
  frq++;
  delayms(1);
 }
}

void timer0() interrupt 1 using 1
{
 TH0 = 0xfe;
 TL0 = frq;
 SPK = ~SPK; 
}

void delayms(unsigned char ms) 
// 延时子程序
{      
 unsigned char i;
 while(ms--)
 {
  for(i = 0; i < 120; i++);
 }
}

请问frq++是什么作用啊?它一直加下去不久是无限了吗?还有让TLO=frq是什么意思呢?

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

使用道具 举报

沙发
ID:27916 发表于 2012-1-29 12:13 | 只看该作者

FRQ++,改变FRQ的内容,当定时0到,再把FRQ的值送给TL0,这样,定时器0的中断频率就回改

回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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