找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2899|回复: 0
收起左侧

给大家分享30个基于51单片机的开发实例

[复制链接]
ID:785718 发表于 2020-8-4 10:50 | 显示全部楼层 |阅读模式
include "main.h"
#include "uart.h"

unsigned char KEY_NUM = 0;


//**********************************************************
//主函数
//**********************************************************
void main()
{   
    Uart_Init();                                             //初始化串口,设置为9600波特率
    Delay_ms(100);
         while(1)
        {
        Scan_Key();
        if(KEY_NUM == 1)
        {
            UartPrintf("AT+COLP=1\r\n");                    //AT+COLP=1,开启被叫号码显示,当成功拨通的时候(被叫接听电话),模块会返回被叫号码。        
            Delay_ms(1000);
            UartPrintf("ATD18067933376\r\n");                                //可从此条语句修改需要更换的手机号,将18067933376修改为您需要拨打的手机号
            Delay_ms(1000);
        }
        else if(KEY_NUM == 2)
        {
            UartPrintf("ATH\r\n");                                //挂机指令
            Delay_ms(1000);
        }
        }
}

//**********************************************************
//延时函数,延时1s
//**********************************************************
void Delay_ms( unsigned int m)
{
        unsigned int j;
        unsigned int i;
        for(i = 0 ; i < m ; i++)
        {
                for(j = 0 ; j < 123 ; j++);
        }
}

//扫描按键
void Scan_Key()
{
    KEY_NUM = 0;
        if(KEY1 == 0)
        {
                Delay_ms(20);
                if(KEY1 == 0)
                {
                        KEY_NUM = 1;
                        while(KEY1 == 0);
                }        
        }

        if(KEY2 == 0)
        {
                Delay_ms(20);
                if(KEY2 == 0)
                {
                        KEY_NUM = 2;
                        while(KEY2 == 0);
                }        
        }

        if(KEY3 == 0)
        {
                Delay_ms(20);
                if(KEY3 == 0)
                {
                        KEY_NUM = 3;
                        while(KEY3 == 0);
                }        
        }

        if(KEY4 == 0)
        {
                Delay_ms(20);
                if(KEY4 == 0)
                {
                        KEY_NUM = 4;
                        while(KEY4 == 0);
                }        
        }
}

1.例程.7z

4.74 MB, 下载次数: 6, 下载积分: 黑币 -5

回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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