标题:
单片机程序怎么修改?如图错误
[打印本页]
作者:
ovov
时间:
2020-4-17 00:10
标题:
单片机程序怎么修改?如图错误
#include <reg52.h> //调用单片机头文件
#define uchar unsigned char //无符号字符型 宏定义 变量范围 0~255
#define uint unsigned int //无符号整型 宏定义 变量范围 0~65535
#include <intrins.h>
sbit SCL=P1^4; //SCL 定义为 P1 口的第 3 位脚,连接 ADC0832SCL 脚
sbit DO=P1^5; //DO 定义为 P1 口的第 4 位脚,连接 ADC0832DO 脚
sbit CS=P1^3; //CS 定义为 P1 口的第 4 位脚,连接 ADC0832CS 脚
sbit beep = P3^3; //蜂鸣器 IO 口定义
uint temperature,s_temp ; //温度的变量
uchar shidu; //湿度等级
uchar s_high = 70,s_low = 25;//湿度报警参数
sbit dianji = P1^6; //电机 IO 定义
bit flag_300ms ;
uchar key_can; //按键值的变量
uchar menu_1; //菜单设计的变量
sbit rs=P1^0; //1602 数据/命令选择引脚 H:数据 L:命令
sbit rw=P1^1; //1602 读写引脚 H:数据寄存器 L:指令寄存器
sbit e =P1^2; //1602 使能引脚 下降沿触发
uchar code table_num[]="0123456789abcdefg";
51hei图片20200417000753.jpg
(993.32 KB, 下载次数: 20)
下载附件
2020-4-17 00:09 上传
void write_com(uchar com)
{
e=0;
rs=0;
rw=0;
P0=com;
delay_uint(3);
e=1;
delay_uint(25);
e=0;
}
void write_data(uchar dat)
{
e=0;
rs=1;
rw=0;
P0=dat;
delay_uint(3);
e=1;
delay_uint(25);
e=0;
}
void key_with()
{
if(key_can==1)
{
menu_1++;
if(menu_1>=3)
{
menu_1=0;
int_1602();
}
}
if(menu_1==1)
{
if(key_can==2)
{
s_high++;
if(s_high>99)
s_high=99;
}
}
if(key_can==3)
{
s_high--;
if(s_high<=s_iow)
s_high=s_low+1;
}
write_sfm2(2,4,s_high);
write_sfm2(2,12,s_low);
write_com(0x80+0x40+4);
write_com(0x0f);
}
if(menu_1==2)
{
if(key_can==2)
{
s_low++;
if(s_low>=s-high)
s_low==s_high-1;
}
if(key_can==3)
{
s_low--;
if(s_low<=1)
s_low=1;
}
write_sfm2(2,4,s_high);
write_sfm2(2,12,s_low);
write_com(0x80+0x40+4);
write_com(0x0f);
}
void clok_h_1()
{
static uchar value,value1;
if(shidu<=s_low)
{
value++;
if(value>=2)
{
value=10;
beep=-beep;
dianji=0;
}
}else
beep=1;
if(shidu>=s-high)
{
value1++;
if(value>=2)
{
value1=10;
beep=1;
dianji=1;
}
}else
value1=0;
}
void main()
{
int_1602();
time_int();
while(1)
{
key();
if (key_can<10)
{
key_with();
}
if(flag_300ms==1)
{
flag_300ms==0;
clock_h_1();
if(beep==1)
{
shidu=ad0823read(1,0);
shid=99-shidu*99/255;
}
if(menu_1==0)
{
write_sfm2(1,9,shidu);
}
}
delay_1ms(1);
}
}
作者:
gh001
时间:
2020-4-17 08:14
应该是延时函数缺少原型说明,
在程序开始部分加上函数的原型说明
作者:
wulin
时间:
2020-4-17 08:14
delay_uint( );函数没有定义
作者:
热爱科技生活
时间:
2020-4-17 08:24
C32指的是左边的行数
作者:
热爱科技生活
时间:
2020-4-17 08:25
看你程序左边有一长串的c1,c2,c3……
作者:
热爱科技生活
时间:
2020-4-17 08:25
看错了是001,002,003……
作者:
热爱科技生活
时间:
2020-4-17 08:26
032行有错
作者:
黄youhui
时间:
2020-4-17 08:28
delay_uint(25);这个原函数贴出来
作者:
xmfjfhcel
时间:
2020-4-17 09:06
delay_uint(25); 这个函数没有看到在哪儿啊。大哥
delay_1ms(1);还有这个函数也没看到。
作者:
火神浪客行
时间:
2020-4-17 09:58
延时函数没有申明
作者:
我未曾来过
时间:
2020-4-17 13:16
延时函数的定义没看到。函数需要先定义再使用,特殊功能寄存器需要先初始化再使用,这是单片机编程的基本规则,你要牢记啊
作者:
szxcool
时间:
2020-4-17 21:50
延时函数没有声明
作者:
火卫三
时间:
2020-4-18 08:59
需要先声明延时函数啊
作者:
xianming
时间:
2020-4-18 11:43
delay_uint();原形在哪里
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1