传送带产品计数器的设计(LCD)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录
1题目 (1)
2 电路原理图的设计 (1)
2.1 传送带产品计数器设计的电路原理图 (1)
2.2 LCD显示模块 (3)
2.3 计数模块 (3)
2.4 键盘模块 (3)
3 软件系统设计 (3)
3.1 软件系统的流程结构 (3)
3.2 LCD显示程序模块.................................. 错误!未定义书签。
3.3 计数程序模块..................................... 错误!未定义书签。
4 仿真及调试 (7)
5 总论 (8)
参考文献 (9)
致谢 (9)
1题目
2 电路原理图的设计
2.1 传送带产品计数器设计的电路原理图
图2.1 电路原理图2.2 LCD显示模块[11]
2.4 键盘模块
3软件系统设计
3.1 软件系统的流程结构
3.2 LCD显示程序模块
/*-----------------------------------------------------------文件名:lcd1602.h头文件
功能:LCD1602驱动函数的声明
-----------------------------------------------------------*/ #ifndef _LCD1602_H_
#define _LCD1602_H_
#include
#define uint unsigned int
#define uchar unsigned char
//接口定义
sbit LcdRs = P2^0;
sbit LcdRw = P2^1;
sbit LcdEn = P2^2;
sfr DBPort = 0x80; //P0口为LCD数据总线
/*-----------------------------------------------------------功能:LCD初始化函数
-----------------------------------------------------------*/
void LCD_Initial();
/*-----------------------------------------------------------
功能:LCD显示字符(ASIIC码)函数
参数:x-列0~15;y-行0~1;str-要显示的字符串指针
-----------------------------------------------------------*/
void LCD_Prints(uchar x, uchar y,uchar *str);#endif
/*-----------------------------------------------------------
文件名:lcd1602.c
函数功能:LCD1602的驱动函数
原理:采用普通IO口方式模拟LCD1602时序,未采用总线方式
-----------------------------------------------------------*/
#include
#include
#include "lcd1602.h"
/*-----------------------------------------------------------
功能:内部等待函数
返回参数:P0数据
-----------------------------------------------------------*/
uchar LCD_Wait(void)
{LcdRs=0;
LcdRw=1; _nop_();
LcdEn=1; _nop_();
//while(DBPort&0x80);
/* 在用Proteus仿真时,屏蔽此语句,否则会进入死循环,
实际硬件操作时打开此语句.*/
LcdEn=0;
return DBPort;}
/*-----------------------------------------------------------
功能:写LCD命令/数据函数
参数:style为写命令/数据,0-命令,1-数据;input为写入的8位命令/数据-----------------------------------------------------------*/
#define LCD_COMMAND 0 // 命令
#define LCD_DATA 1 // 数据
#define LCD_CLEAR_SCREEN 0x01 // 清屏
#define LCD_HOMING 0x02 // 光标返回原点
void LCD_Write(bit style, uchar input)
{LcdEn=0;
LcdRs=style;
LcdRw=0; _nop_();
DBPort=input; _nop_();
LcdEn=1; _nop_();
LcdEn=0; _nop_();
LCD_Wait();}