找回密码
 立即注册

QQ登录

只需一步,快速开始

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

求大神帮忙看一下,我的这个单片机程序为什么显示总是“.1"那个地方出错呢?

[复制链接]
ID:709988 发表于 2020-3-17 11:29 | 显示全部楼层 |阅读模式
#include  <reg51.h>
void delay1();
sbit jian1=P3.1;
sbit jian2=P3.2;
sbit jian3=P3.3;
sbit jian4=P3.4;
void main(){
while (1){
if (jian1==0){
       delay1();
           if(jian1==0)
           P1=0x01;}

        


}}

  void delay(){
  int i;
  for(i=0;i<=10;i++);}
回复

使用道具 举报

ID:267719 发表于 2020-3-17 13:24 | 显示全部楼层
#include  <reg51.h>
void delay1();
sbit jian1=P3^1;
sbit jian2=P3^2;
sbit jian3=P3^3;
sbit jian4=P3^4;
void main(){
while (1){
if (jian1==0){
       delay1();
           if(jian1==0)
           P1=0x01;}

        


}}

  void delay(){
  int i;
  for(i=0;i<=10;i++);}
回复

使用道具 举报

ID:234355 发表于 2020-3-17 13:26 | 显示全部楼层
sbit jian1=P3^1; sbit jian2=P3^2; sbit jian3=P3^3; sbit jian4=P3^4;
回复

使用道具 举报

ID:452950 发表于 2020-3-17 13:27 | 显示全部楼层
P0.2编译器是识别不了的,要像这样写:
sbit MQ2=P0^2;//烟雾传感器
回复

使用道具 举报

ID:234355 发表于 2020-3-17 13:30 | 显示全部楼层
改为 sbit jian1=P3^1; sbit jian2=P3^2; sbit jian3=P3^3; sbit jian4=P3^4;就好了
回复

使用道具 举报

ID:675145 发表于 2020-3-17 13:33 | 显示全部楼层
如果检测到jian1按下,P1就一直等于0x01,如果想要松手后改变P1的数值就写个松手检测。还有你的延时函数delay1和delay名字不一样
回复

使用道具 举报

ID:709787 发表于 2020-3-17 23:01 来自手机 | 显示全部楼层
别人已经回答你了,你的程序大概是按键按下,点亮Led。按键弹起,led灭。是不是?你没加led灭的程序。第一个if要加else{P1=0x00}
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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