当前位置: 首页 > news >正文

基于AVR128单片机智能传送装置

一、系统方案
1、板载可变电阻(电位器)R29的电压作为处理器ATmega128的模数转换模块中单端ADC0的模拟信号输入(跳线JP13短接)。
2、调节电位器,将改变AD转换接口ADC0的模拟信号输入,由处理器完成ADC0的A/D转换。
3、将处理器通过A/D转换后得到的电压信号来模拟“货物”的重量。假定转换得到的电压信号与“货物”重量具有线性关系,例:电压2.5V时,货物重量为500kg,电压为0V时,传送装置空载。
4、将转换得到的电压及对应的“货物”重量通过7段数码管LED或液晶显示屏或PC串口显示。
5、使用板载4*4矩阵键盘中的四个按键号分别为A-D的4个按键和8个发光二极管D1-D8。
A键为传送装置启动按键,按下后,板载发光二极管D1亮,表示传送装置启动。
B键键为正向传送控制键,在A启动后B才有效,B按下后,发光二极管D2-D8从左到右依次循环点亮,表示“传送装置”开始正向传送货物。
C键为反向传送控制键,同样在A启动后才有效,C按下后,发光二极管D2-D8从右到左依次循环点亮,表示“传送装置”开始反向传送货物。
D键为停止键,D按下后, “传送装置”停止工作,所有发光二极管全部熄灭。
在这里插入图片描述
二、硬件设计
原理图如下:
在这里插入图片描述
三、单片机软件设计
1、首先是系统初始化
void LCD12864_Init() //初始化液晶12864
{
ResetLcd();
SetScreenOnOff(0);
delay_nus(2);
SetPage(0);
delay_nus(2);
SetColum(0);
delay_nus(2);
SetRow(0);
delay_nus(2);
SetScreenOnOff(1);
}
2、液晶显示程序
void SendCommand(unsigned char command)//给液晶写入命令控制字
{
CheckState();
LGM12864_CLR_RS;
LGM12864_CLR_RW;
LCDa_DO = command;
delay_nus(2);
LGM12864_SET_EN;
delay_nus(2);
LGM12864_CLR_EN;
}

unsigned char LCD12864_RecData()//液晶接收数据
{
unsigned char temp;
CheckState();
LGM12864_SET_RS;
LGM12864_SET_RW;
LGM12864_SET_EN;
temp=LCDa_DI;
LGM12864_CLR_EN;

return (temp);

}
3、按键程序
void key(void)//按键检测
{
if((k1)==0)//开始按键
{
delay_nms(10);
if((k1)==0)
{
led_start=1;led_0;
}
while((k1)==0);
}

if((k2)==0)//正转
{
delay_nms(10);
if((k2)==0)
{
if(led_start) fx=1;
count=0;
}
while((k2)==0);
}

if((k3)==0)// 反转
{
delay_nms(10);
if((k3)==0)
{
if(led_start) fx=2;
count=0;
}
while((k3)==0);
}
if((k4)==0)//停止
{
delay_nms(10);
if((k4)==0)
{
led_start=0;led_1;
}
while((k4)==0);
}
}

4、核心算法程序
#pragma interrupt_handler timer1_ovf_isr:iv_TIM1_OVF
void timer1_ovf_isr(void)
{
//TIMER1 has overflowed
TCNT1H = 0xFC; //reload counter high value
TCNT1L = 0x18; //reload counter low value
num++;

if(led_start)
{
if(fx==1) PORTB=table0[count];

if(fx==2) PORTB=table1[count];
if(num>300)
{
num=0;
count++;
count%=8;
}

}
else
{

PORTB=0xff;

}

}

四、proteus仿真设计
Proteus软件是一款应用比较广泛的工具,它可以在没有硬件平台的基础上通过自身的软件仿真出硬件平台的运行情况,这样就可以通过软件仿真来验证我们设计的方案有没有问题,如果有问题,可以重新选择器件,连接器件,直到达到我们设定的目的,避免我们搭建实物的时候,如果当初选择的方案有问题,我们器件都已经焊接好了,再去卸载下去,再去焊接新的方案的器件,测试,这样会浪费人力和物力,也给开发者带来一定困惑,Proteus仿真软件就很好的解决这个问题,我们在设计之初,就使用该软件进行模拟仿真,测试,选择满足我们设计的最优方案。最后根据测试没问题的仿真图纸,焊接实物,调试,最终完成本设计的作品。
在这里插入图片描述

http://www.lryc.cn/news/143125.html

相关文章:

  • Nexus私有仓库+IDEA配置远程推送
  • idea2023项目上传到gitee
  • 【golang】派生数据类型---指针 标识符、关键字等
  • 深度学习技术
  • TCP/IP网络江湖——物理层护江山:网络安全的铁壁防线(物理层下篇:物理层与网络安全)
  • python-数据可视化-使用API
  • 窗口看门狗
  • 开发新能源的好处
  • error: can‘t find Rust compiler
  • 全面解析MES系统中的车间退料管理
  • 探究finally代码块是否执行
  • leetcode刷题(字符串相加、包含每个查询的最小区间、模拟行走机器人、环形子数组的最大和、满足不等式的最大值、四数之和、树中距离之和)
  • Grafana reporter定时报表踩坑记录
  • Flutter 状态管理引子
  • CFC编程入门_【10分钟学会】
  • golang无需创建新切片
  • Django基础5——ORM中间程序
  • SpringAOP详解(上)
  • C++ 存储类
  • 【教程分享】Docker搭建Zipkin,实现数据持久化到MySQL、ES
  • 数据库——MySQL高性能优化规范
  • openapi中job提交
  • Spring Boot 整合 分布式搜索引擎 Elastic Search 实现 数据聚合
  • 深入探讨代理技术:保障网络安全与爬虫效率
  • 【云原生】Docker私有仓库 RegistryHabor
  • 二叉树先序遍历的两种思路
  • 小研究 - JVM 逃逸技术与 JRE 漏洞挖掘研究(一)
  • 好用的可视化大屏适配方案
  • 言有三新书出版,《深度学习之图像识别(全彩版)》上市发行,配套超详细的原理讲解与丰富的实战案例!...
  • 英特尔开始加码封装领域 | 百能云芯