找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3433|回复: 6
收起左侧

新人求教单片机程序怎么加开关

[复制链接]
ID:257066 发表于 2017-12-5 11:30 | 显示全部楼层 |阅读模式
#include <reg51.h>
sbit k=P1^7;
sbit beep=P1^0;
#define uint unsigned int
#define uchar unsigned char
void delayms(xms)
        {
          uint m,n;
          for(m=xms;m>0;m--)
          for(n=110;n>0;n--);
         }
void T0_int() interrupt 1
{
         uint i;
        TH0=(65536-500)/256;
        TL0=(65536-500)%256;
        i++;
        beep=~beep;
        if(i==200)
        i=0;
        TR0=~TR0;
}
  void T1_int() interrupt 3
          {
                uint a;
                TH1=(65536-1000)/256;
                TL1=(65536-1000)%256;
                a++;
                beep=~beep;
                if(a==200)
                a=0;
                TR1=~TR1;
        }
void main()
               {
                         TH0=(65536-500)/256;
                TL0=(65536-500)%256;
                        TH1=(65536-1000)/256;
                    TL1=(65536-1000)%256;
                        EA=1;
                        ET1=1;
                        ET0=1;
                        while(1);
                }
开关怎么加,新人求大神!!

回复

使用道具 举报

ID:257066 发表于 2017-12-5 11:34 | 显示全部楼层
用P1.0输出1KHz和500Hz的音频信号驱动扬声器,作报警信号,要求1KHz信号响100ms,500Hz信号响200ms,交替进行,P1.7接一开关进行控制,当开关合上响报警信号,当开关断开告警信号停止,编出程序。
回复

使用道具 举报

ID:7485 发表于 2017-12-5 20:17 | 显示全部楼层
不知道你所掌握的知识到了那个程度,不好回答你。

如果你的知识达到了相应的水平,那么你可以在程序里面加检测,判断开关的闭合与否,决定程序的走向。
回复

使用道具 举报

ID:257871 发表于 2017-12-5 20:24 | 显示全部楼层
while(1){};中间加定时或按键触发,关闭中断{EA=0;  ET1=0;   ET0=0;}就可以关了
回复

使用道具 举报

ID:257871 发表于 2017-12-5 20:26 | 显示全部楼层
while(1)中增加触发关闭动作,定时或按键。  

把中断关闭{EA=0; ET1=0; ET0=0;}就停了。
回复

使用道具 举报

ID:257877 发表于 2017-12-5 20:32 | 显示全部楼层
就是检测按键是否能有按下,如果有按下,则此时按键为低电平,就是将按键加入到程序里。
回复

使用道具 举报

ID:257893 发表于 2017-12-5 20:59 | 显示全部楼层
能写出这个程序还是很可以的
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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