- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
无线货架仓储控制系统实验项目报告
无线货架仓储控制系统实验
——项目报告
一:实验名称
无线货架仓储控制系统实验
二:实验目的
掌握嵌入式系统开发的方法, 熟练掌握从总体方案设计、硬件电路的搭建调试、软件的编写测试到最终的软硬件联调、系统性能测试等各环节;掌握无线模块的控制方法.
三:实验内容
利用51单片机开发板,无线模块,液晶显示屏等实现低成本,简单的无线仓储系统的设计。
四:相关知识
五:实验步骤
总体方案设计
总体方案设计图
软件设计
(单片机部分
主程序流程首先是初始化,主要包括通用I/O端口,UART,SPI,以及LCD初始化,并在LCD 上显示开机初始信息。接着单片机开始接收从无线模块发的信息,然后进行485通信,实现仓储管理。
总机
#include reg51.h
#include intrins.h
#include string.h
#include LCD1602.h
#define uchar unsigned char
#define uint unsigned int
#define _ERR_ 0xff
#define _SUCC_ 0xfe
sbit REDE = P3^4;
uchar rec;
uchar num,temp;
void delay(uint t)
{
for(;t0;t--);
}
void ldelay(uint t)
{
uint i = 100;
for(;i0;i--)
for(;t0;t--);
}
void Send_date(uchar *buf)
{
uchar len;
uchar ecc;
uchar i;
len = strlen(buf);
ecc = len;
REDE = 1;
TI = 0;
TB8 = 0;
SBUF = len;
while(!TI);
TI = 0;
for(i=0;ilen;i++)
{
ecc = ecc^(*buf);
TB8 = 0;
SBUF = *buf;
buf++;
while(!TI);
TI = 0;
}
TB8 = 0;
SBUF = ecc;
while(!TI);
TI = 0;
REDE = 0;
}
void Send_addr(uchar addr, uchar *buf)
{
uchar tmp = addr-1;
while(tmp != addr)
{
REDE = 1;
TI = 0;
TB8 = 1;
SBUF = addr;
while(!TI);
TI = 0;
REDE = 0;
RI = 0;
ldelay(1);
while(!RI);
tmp = SBUF;
RI = 0;
}
tmp = _ERR_;
while(tmp != _SUCC_)
{
Send_date(buf);
REDE = 0;
RI = 0;
while(!RI);
tmp = SBUF;
RI = 0;
}
wdec(addr);
// wstr(#OK );
}
void init()
{
delay(10); //延时等待复位
wcmd(0x38); //设置为8总线16*2,5*7点阵
wcmd(0x01); //清屏幕
wcmd(0x06); //光标移动,显示区不移动
wcmd(0x0f); //开显示,光标闪烁
}
void display(uchar aa)
{
// wcmd(0x80);
loc(2,1);
wdate(aa);
}
uchar keyscan()
{
P2=0xef;
temp=P2;
temp=temp0x0f;
while(temp!=0x0f)
{
delay(5);
temp=P2;
temp=temp0x0f;
while(temp!=0x0f)
{
temp=P2;
switch(temp)
{
case 0xee:num=0x30;
break;
case 0xed:num=0x31;
init();
wstr(zongj);
loc(2,1);
SCON=0x90;
原创力文档


文档评论(0)