0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

bbxyliyang 来源:bbxyliyang 作者:bbxyliyang 2023-08-28 15:46 次阅读


一、系统方案
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按下后, “传送装置”停止工作,所有发光二极管全部熄灭。

wKgZomTsUK-AN2vyAAAUuAFPSuA871.png

二、硬件设计
原理图如下:

wKgaomTsULaASE92AAD2CWQE3CU095.png

三、单片机软件设计
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仿真软件就很好的解决这个问题,我们在设计之初,就使用该软件进行模拟仿真,测试,选择满足我们设计的最优方案。最后根据测试没问题的仿真图纸,焊接实物,调试,最终完成本设计的作品。

wKgZomTsUL-AeKPCAAERKOJyi3g379.png

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 处理器
    +关注

    关注

    68

    文章

    18288

    浏览量

    222176
  • 电位器
    +关注

    关注

    14

    文章

    963

    浏览量

    66043
  • AVR128
    +关注

    关注

    0

    文章

    6

    浏览量

    5278
  • 单片机
    +关注

    关注

    0

    文章

    168

    浏览量

    16658
收藏 人收藏

    评论

    相关推荐

    之前51单片机实验板安装的drivrer,可以用作AVR单片机drivrer吗

    之前51单片机实验板安装的drivrer,可以用作AVR单片机drivrer吗?PS:刚刚买了一块二手的AVR128单片机实验板,插上去发现
    发表于 06-16 10:19

    AVR128实验板下载不了程序的原因

    AVR128实验板下载不了程序的原因。PS:51单片机实验板插在我电脑的USB就下载得了程序。不知道什么原因。
    发表于 06-16 10:46

    avr128

    我现在遇到关于avr128系列的困难,能帮解答一下如何控制一路pwm波吗
    发表于 01-12 12:13

    avr128

    avr128如何控制一个舵机
    发表于 01-12 13:27

    AVR128的数码相框的设计!!!!急!!!

    基于AVR128的数码相框的设计!用GCCAVR的,bmp图像显示,JTAG,TFT液晶显示!!!哪位大神帮帮忙。。感激不尽啊!
    发表于 05-14 15:23

    怎么用AVR128单片机(C语言)控制可编程数字电位器AD5122,求...

    怎么用AVR128单片机(C语言)控制可编程数字电位器AD5122,求程序!求大神!
    发表于 05-10 14:39

    ucosii在AVR128芯片移植中出现了什么问题?怎样去解决?

    怎样把ucosii移植到一块AVR128芯片上去?ucosii在AVR128芯片移植中出现了什么问题?怎样去解决?
    发表于 07-07 07:09

    如何把ucosii移植到一块AVR128芯片上?

    如何把ucosii移植到一块AVR128芯片上?
    发表于 10-29 06:01

    51单片机AVR单片机的区别在哪

    51单片机AVR单片机区别于不同区别于不同51单片机本身种类繁多,各种国产变种,增强型51等等。他们都是INTEL的80C51内核,经典但是老51
    发表于 11-18 06:08

    USB/RS232_AVR_JTAG仿真器

    关于AVR128单片机的JTAG接口的使用方法
    发表于 02-25 10:49 33次下载

    AVR单片机-mega128-例程大全

    AVR单片机-mega128-例程大全
    发表于 12-29 20:37 24次下载

    基于AVR单片机的直流无刷电机智能控制系统设计讲解

    基于AVR单片机的直流无刷电机智能控制系统设计讲解(西工大现代电源技术)-该文档为基于AVR单片机的直流无刷电
    发表于 09-24 16:00 2次下载
    基于<b class='flag-5'>AVR</b><b class='flag-5'>单片机</b>的直流无刷电<b class='flag-5'>机智能</b>控制系统设计讲解

    基于AVR单片机的直流无刷电机智能控制系统设计

    基于AVR单片机的直流无刷电机智能控制系统设计(开关电源技术与设计潘永雄.pdf)-该文档为基于AVR单片机的直流无刷电
    发表于 09-24 16:44 6次下载
    基于<b class='flag-5'>AVR</b><b class='flag-5'>单片机</b>的直流无刷电<b class='flag-5'>机智能</b>控制系统设计

    51单片机AVR单片机

    51单片机AVR单片机区别于不同区别于不同51单片机本身种类繁多,各种国产变种,增强型51等等。他们都是INTEL的80C51内核,经典但是老51
    发表于 11-11 17:36 18次下载
    51<b class='flag-5'>单片机</b>与<b class='flag-5'>AVR</b><b class='flag-5'>单片机</b>

    基于AVR128单片机抢答器仿真设计

    基于AVR128单片机抢答器仿真设计
    的头像 发表于 08-29 15:58 409次阅读
    基于<b class='flag-5'>AVR128</b><b class='flag-5'>单片机</b>抢答器仿真设计