找回密码
 立即注册

QQ登录

只需一步,快速开始

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

我买了一个二维码模块用来连接单片机,但是与单片机连接后没什么反应。

[复制链接]
跳转到指定楼层
楼主
ID:300493 发表于 2018-7-11 10:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
单片机是stc89c52
二维码测试程序   
#include <reg52.h> //51头文件
#include <..\document\QXA51.h>//QX-A51智能小车配置文件
#include<..\document\STC89C51RC_EEPROM.h>
void delay(unsigned int z)//毫秒级延时
        {
                unsigned int x,y;
                for(x = z; x > 0; x--)
                        for(y = 114; y > 0 ; y--);
        }
//STC89C52芯片初始化
void UART_init()
   {
            TMOD = 0x20;          //T1工作模式2  8位自动重装
            TH1 = 0xfd;
            TL1 = 0xfd;         //比特率9600
            TR1 = 1;                //启动T1定时器
            SM0 = 0;
            SM1 = 1;                 //串口工作方式1 10位异步
            REN = 1;                //串口允许接收
            EA  = 1;                //开总中断
            ES  = 1;                //串口中断打开
    }
void main()
{
        int        a = 0;
        int b,c;
        c=2;
        b=0xfe;
        UART_init();
        while(1)
        {
                if(RI != 0)           //RI不等于0表示有信号传入单片机
                {
                        beep = 0;
                        delay(1000);
                        P1=0xfc;
                        a=SBUF;                                   //SBUF为通过P30接口传入单片机的数据的值(当单片机需要传出数据时也是通过SBUF的)
                        RI=0;                                   //需要再次接收信号时需要将RI置0
                        beep = 1;
                for(;a>=0;a--)
                        {
                                beep=0;                          //蜂鸣器响起
                                delay(1000);
                                beep=1;                          //蜂鸣器停响
                                delay(5000);
                        }                  
                        P1 = 0xfd;
                        delay(3000);
                        RI = 0;                //需要再次接收信号时需要将RI置0
                }
                else
                {
                        for(;c>0;c--)
                        {
                                P1=b;                   //P1 = 0xfe 表示LED1(红色)指示灯亮
                                delay(1000);   //延迟1s,表示使LED1灯亮1s
                                b--;                   //P1 = 0xfd 表示LED2(黄色)指示灯亮
                        }
                        b=0xfe;
                        c=2;
                }               
        }
}




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

使用道具 举报

沙发
ID:292673 发表于 2018-7-11 14:01 | 只看该作者
你用下示波器看看模块有没有问题先?
回复

使用道具 举报

板凳
ID:292673 发表于 2018-7-12 08:47 | 只看该作者
版主,昨天你的问题你解决了吗?
回复

使用道具 举报

地板
ID:403334 发表于 2018-9-27 20:35 | 只看该作者
蜂鸣器没有定义?
回复

使用道具 举报

5#
ID:472235 发表于 2019-12-17 21:32 | 只看该作者
楼主是怎么连到c52上面的??
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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