Discuz! Board

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 3771|回复: 19

20电信本三张佳怡组:商品清点机

[复制链接]

1

主题

11

帖子

47

积分

新手上路

Rank: 1

积分
47
发表于 2022-11-3 22:44:12 来自手机 | 显示全部楼层 |阅读模式
以下为仿真光电开关检测到物品后计数加一并显示到LCD1602上,以及相应程序代码。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

399

主题

1251

帖子

4020

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
4020
发表于 2022-11-4 09:23:14 | 显示全部楼层
代码不要用图片,也附上lcd显示的代码,图片清晰度怎么看着很差呢?
回复

使用道具 举报

1

主题

11

帖子

47

积分

新手上路

Rank: 1

积分
47
 楼主| 发表于 2022-11-6 10:41:19 | 显示全部楼层

代码:
#include<reg52.h>
#include"LCD1602.H"
unsigned int wupin;
sbit PWM1=P1^6;  sbit PWM2=P1^7;
sbit IND=P1^0; sbit INC=P1^1;
sbit INB=P1^2; sbit INA=P1^3;
sbit sw=P3^2;
unsigned char hl1,hl2;
unsigned int num;
unsigned int i;
void main()
{
    wupin=0;
TMOD=0X25;  //0010 0101
TH0=0;
TL0=0;
TR0=1;
EA=1;
EX0=1;
IE0=1;
PX0=1;
IT0=1;
   
num=0;
hl1=400;
hl2=400;
PWM1=1;
PWM2=1;
INA=1;INB=0;
INC=1;IND=0;
TR1=1;
TH1=236;
TL1=236;
ET1=1;

LCD_Init();   
while(1)
   {
  
   
        
    LCD_ShowNum(1,1,wupin,5);
   }
}
void Timer0_() interrupt 0   
{
    wupin++;
   
  
}
void Timer1() interrupt 4 //20us
{TF1=0;
num++;
if(num<=hl1)
{PWM1=1;
}
if(hl1<num<500)
{PWM1=0;
}
if(num<=hl2)
{PWM2=1;
}
if(hl2<num<500)
{PWM2=0;
}
if(num==45)
{PWM1=1;
  PWM2=1;
  num=0;
}
}
void LCD_Init()
{
        LCD_WriteCommand(0x38);
        LCD_WriteCommand(0x0c);
        LCD_WriteCommand(0x06);
        LCD_WriteCommand(0x01);
}
#ifndef __LCD1602_H__
#define __LCD1602_H__

void LCD_Init();
void LCD_ShowChar(unsigned char Line,unsigned char Column,char Char);
void LCD_ShowString(unsigned char Line,unsigned char Column,char *String);
void LCD_ShowNum(unsigned char Line,unsigned char Column,unsigned int Number,unsigned char Length);
void LCD_ShowSignedNum(unsigned char Line,unsigned char Column,int Number,unsigned char Length);
void LCD_ShowHexNum(unsigned char Line,unsigned char Column,unsigned int Number,unsigned char Length);
void LCD_ShowBinNum(unsigned char Line,unsigned char Column,unsigned int Number,unsigned char Length);
void lcd1602_clear(void);
#endif
void LCD_ShowNum(unsigned char Line,unsigned char Column,unsigned int Number,unsigned char Length)
{
unsigned char i;
LCD_SetCursor(Line,Column);
for(i=Length;i>0;i--)
{
  LCD_WriteData(Number/LCD_Pow(10,i-1)%10+'0');
}
}



老师,这是修改后的二次仿真。
进度:新增加驱动和转机,更新完成驱动程序,仿真已添加驱动和转机,以上为仿真图和程序代码。
问题:L298N驱动提供给电机的电压过低,无法带动传送带滚动,应该如何改进?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

399

主题

1251

帖子

4020

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
4020
发表于 2022-11-7 21:46:48 | 显示全部楼层
Cassie 发表于 2022-11-6 10:41
代码:
#include
#include"LCD1602.H"

如何判断的电压过低,电机转不转,是不是阻力过大?
回复

使用道具 举报

1

主题

11

帖子

47

积分

新手上路

Rank: 1

积分
47
 楼主| 发表于 2022-11-10 20:34:54 | 显示全部楼层
单片机课程设计报告

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

399

主题

1251

帖子

4020

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
4020
发表于 2022-11-24 11:07:58 | 显示全部楼层
再改,作品还可以,论文太敷衍

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

1

主题

11

帖子

47

积分

新手上路

Rank: 1

积分
47
 楼主| 发表于 2022-11-24 23:10:55 | 显示全部楼层
本帖最后由 Cassie 于 2022-11-24 23:14 编辑

老师已修改
回复

使用道具 举报

0

主题

3

帖子

8

积分

新手上路

Rank: 1

积分
8
发表于 2022-11-24 23:14:21 | 显示全部楼层
本帖最后由 王亚璇 于 2022-11-24 23:16 编辑

已修改
回复

使用道具 举报

399

主题

1251

帖子

4020

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
4020
发表于 2022-11-24 23:15:29 | 显示全部楼层
附件丢失了?再传一下
回复

使用道具 举报

0

主题

3

帖子

8

积分

新手上路

Rank: 1

积分
8
发表于 2022-11-24 23:19:12 | 显示全部楼层
本帖最后由 王亚璇 于 2022-11-24 23:27 编辑
gaohaikuo1 发表于 2022-11-24 23:15
附件丢失了?再传一下

老师,我们传上去之后不显示附件是什么原因呀,压缩后也不显示。
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|DiscuzX

GMT+8, 2025-6-8 16:09 , Processed in 0.041563 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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