传送带产品计数器的设计(LCD)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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 //次头文件中定义有_nop_()函数

#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();}

相关文档
最新文档