网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
05月18日漏签0天
单片机吧 关注:211,635贴子:1,046,052
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 5回复贴,共1页
<<返回单片机吧
>0< 加载中...

新人求助。。。。。。。

  • 取消只看楼主
  • 收藏

  • 回复
  • 日月星辰fl
  • 新兵
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼



  • 日月星辰fl
  • 新兵
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
为什么会出现这种情况


重庆蒙以教育科技有限公司
网课录制软件-蒙以录课,多路视频信号同时录制,录完后可以任意编辑专业的录制软件,可录制网络课程,会议,个人展示等多种视频。
2025-05-18 04:20广告
立即查看
2025-05-18 04:20:54
广告
  • 日月星辰fl
  • 新兵
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
/************
主函数
************/
void main(void)
{
delay(500); //系统延时500ms启动
//ad_data=0; //采样值存储单元初始化为0
lcd_init(); //显示初始化
disp_init(); //开始进入欢迎界面
delay(1000); //延时进入称量画面
clear_lcd(0,4,40);
clear_lcd(16,0,80);
clear_lcd(28,0,40);
clear_lcd(44,0,80);
clear_lcd(56,0,40);
clear_lcd(72,0,80);
clear_lcd(84,0,40);
clear_lcd(100,0,80);
clear_lcd(112,0,40);
write_lcd(0,8,"实用电子秤");
while(1)
{
ad_data =Adc0832(0); //采样值存储单元初始化为0
alarm();
data_pro(); //读取重量
keyscan(); //查询商品种类
write_lcd(40,0,"------------------------------");
write_lcd(56,0,"单 价:");
write_lcd(56,11,price_danjia);
write_lcd(56,20,"元/千克");
write_lcd(72,0,"总重量:");
write_lcd(72,11,abc);
write_lcd(72,20,"千克");
write_lcd(88,0,"总 价:");
price_jisuan(); //计算出价格
write_lcd(88,10,price_all);
write_lcd(88,20,"元");
write_lcd(112,0,"设计学生: 0612201*16 朱珍奇");
}
}
/************
读ADC0832函数
************/
//采集并返回
ucharAdc0832(unsigned char channel) //AD转换,返回结果
{
uchar i=0;
uchar j;
uint dat=0;
uchar ndat=0;
if(channel==0)channel=2;
if(channel==1)channel=3;
ADDI=1;
_nop_();
_nop_();
ADCS=0;//拉低CS端
_nop_();
_nop_();
ADCLK=1;//拉高CLK端
_nop_();
_nop_();
ADCLK=0;//拉低CLK端,形成下降沿1
_nop_();
_nop_();
ADCLK=1;//拉高CLK端
ADDI=channel&0x1;
_nop_();
_nop_();
ADCLK=0;//拉低CLK端,形成下降沿2
_nop_();
_nop_();
ADCLK=1;//拉高CLK端
ADDI=(channel>>1)&0x1;
_nop_();
_nop_();
ADCLK=0;//拉低CLK端,形成下降沿3
ADDI=1;//控制命令结束
_nop_();
_nop_();
dat=0;
for(i=0;i<8;i++)
{
dat|=ADDO;//收数据
ADCLK=1;
_nop_();
_nop_();
ADCLK=0;//形成一次时钟脉冲
_nop_();
_nop_();
dat<<=1;
if(i==7)dat|=ADDO;
}
for(i=0;i<8;i++)
{
j=0;
j=j|ADDO;//收数据
ADCLK=1;
_nop_();
_nop_();
ADCLK=0;//形成一次时钟脉冲
_nop_();
_nop_();
j=j<<7;
ndat=ndat|j;
if(i<7)ndat>>=1;
}
ADCS=1;//拉搞CS端
ADCLK=0;//拉低CLK端
ADDO=1;//拉高数据端,回到初始状态
dat<<=8;
dat|=ndat;
return(dat); //return ad k
}
void data_pro(void)
{
unsigned int;
if(0<ad_data<256)
{
int vary=ad_data;
press=(0.019531*vary);
temp1=(int)(press*1000); //放大1000倍,便于后面的计算
abc[0]=temp1/1000+48; //取压力值百位
abc[1]=46;
abc[2]=(temp1%1000)/100+48; //取压力值十位
abc[3]=((temp1%1000)%100)/10+48; //取压力值个位
abc[4]=((temp1%1000)%100)%10+48; //取压力值十分位
}
}
/*****************报警子函数*******************/
void alarm(void)
{
if(ad_data>=256)
beep=0; //则启动报警
else
beep=1;
}
void delay(uint k)
{
uint i,j;
for(i=0;i<k;i++)
for(j=0;j<100;j++);
}
//开机欢迎界面
void disp_init()
{
write_lcd(0,8,"欢迎使用电子秤");
write_lcd(16,0,"------------------------------");
write_lcd(28,0,"设计学生:朱珍奇");
write_lcd(44,0,"------------------------------");
write_lcd(56,0,"班级学号:0612201*16");
write_lcd(72,0,"------------------------------");
write_lcd(84,0,"指导老师:龚伦峰");
write_lcd(100,0,"------------------------------");
write_lcd(112,0,"设计日期:2009年6月16日");
}
//键盘服务程序


  • 日月星辰fl
  • 新兵
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
void keyscan()
{
P1=0xfe;
temp=P1;
temp=temp&0xf0;
while(temp!=0xf0)
{
delay(5);
temp=P1;
temp=temp&0xf0;
while(temp!=0xf0)
{
temp=P1;
switch(temp)
{
case0xee:num=1,price=price_unit[0], write_lcd(24,0,"名 称: 杏 仁");
break;
case0xde:num=2,price=price_unit[1],write_lcd(24,0,"名 称: 李 子");
break;
case0xbe:num=3,price=price_unit[2],write_lcd(24,0,"名 称: 草 莓");
break;
case0x7e:num=4,price=price_unit[3],write_lcd(24,0,"名 称: 葡 萄");
break;
}
while(temp!=0xf0)
{
temp=P1;
temp=temp&0xf0;
}
}
}
P1=0xfd;
temp=P1;
temp=temp&0xf0;
while(temp!=0xf0)
{
delay(5);
temp=P1;
temp=temp&0xf0;
while(temp!=0xf0)
{
temp=P1;
switch(temp)
{
case0xed:num=5,price=price_unit[4],write_lcd(24,0,"名 称: 西 瓜");
break;
case0xdd:num=6,price=price_unit[5],write_lcd(24,0,"名 称: 苹 果");
break;
case0xbd:num=7,price=price_unit[6],write_lcd(24,0,"名 称: 雪 梨");
break;
case 0x7d:num=8,price=price_unit[7],write_lcd(24,0,"名 称: 核 桃");
break;
}
while(temp!=0xf0)
{
temp=P1;
temp=temp&0xf0;
}
}
}
P1=0xfb;
temp=P1;
temp=temp&0xf0;
while(temp!=0xf0)
{
delay(5);
temp=P1;
temp=temp&0xf0;
while(temp!=0xf0)
{
temp=P1;
switch(temp)
{
case0xeb:num=9,price=price_unit[8],write_lcd(24,0,"名 称: 香 蕉");
break;
case0xdb:num=10,price=price_unit[9],write_lcd(24,0,"名 称: 商品代码");
break;
case0xbb:num=11,price=price_unit[1];
break;
case0x7b:num=12,price=price_unit[2];
break;
}
while(temp!=0xf0)
{
temp=P1;
temp=temp&0xf0;
}
}
}
P1=0xf7;
temp=P1;
temp=temp&0xf0;
while(temp!=0xf0)
{
delay(5);
temp=P1;
temp=temp&0xf0;
while(temp!=0xf0)
{
temp=P1;
switch(temp)
{
case0xe7:num=13,price=price_unit[3];
break;
case0xd7:num=14,price=price_unit[4];
break;
case0xb7:num=15,price=price_unit[5];
break;
case0x77:num=16,price=price_unit[6];
break;
}
while(temp!=0xf0)
{
temp=P1;
temp=temp&0xf0;
}
}
}
price_temp1=(int)(price*1000);
price_danjia[0]=price_temp1/1000+48; //取单价个位
price_danjia[1]=46;
price_danjia[2]=(price_temp1%1000)/100+48; //取单价十分位
price_danjia[3]=((price_temp1%1000)%100)/10+48; //取单价百分位
price_danjia[4]=((price_temp1%1000)%100)%10+48; //取单价千分位
}
void price_jisuan()
{
price_temp2=(int)(price*press*1000);
price_all[0]=price_temp2/10000+48;
price_all[1]=(price_temp2/1000)%10+48;
price_all[2]=46;
price_all[3]=(price_temp2%1000)/100+48;
price_all[4]=((price_temp2%1000)%100)/10+48;
price_all[5]=((price_temp2%1000)%100)%10+48;
}


  • 日月星辰fl
  • 新兵
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
程序都在这里,请大神指点


  • 日月星辰fl
  • 新兵
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
怎么没有人过来,坐等大神指点


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 5回复贴,共1页
<<返回单片机吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示