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

网站建设的软件是哪个好贵州省铜仁市住房和城乡建设局网站

网站建设的软件是哪个好,贵州省铜仁市住房和城乡建设局网站,asp网站表格代码,如何建设正规彩票网站文章目录前言一、LCD1602简单介绍二、LCD1602中各个引脚的作用四、LCD1602命令解析1.写命令2.写数据3.清屏指令4.光标归位指令5.进入模式设置指令6.显示开关控制指令7.设定显示屏或光标移动方向指令三、LCD1602代码编写四、代码测试总结前言 本篇文章将为大家讲解LCD1602的使用… 文章目录前言一、LCD1602简单介绍二、LCD1602中各个引脚的作用四、LCD1602命令解析1.写命令2.写数据3.清屏指令4.光标归位指令5.进入模式设置指令6.显示开关控制指令7.设定显示屏或光标移动方向指令三、LCD1602代码编写四、代码测试总结前言 本篇文章将为大家讲解LCD1602的使用方法。 一、LCD1602简单介绍 LCD1602是一种常用的液晶显示器它的原理是通过液晶分子的振荡来控制显示内容的。液晶分子在电场的作用下会发生振荡从而改变液晶分子的极性从而控制显示内容。液晶显示器的控制电路会根据输入的信号控制电场的强度从而控制液晶分子的振荡从而控制显示内容。 二、LCD1602中各个引脚的作用 LCD1602的引脚有VSS、VDD、VO、RS、RW、E、D0-D7等。VSS和VDD分别为电源正负极VO为显示屏的背光控制引脚RS、RW、E分别为控制字符显示和数据读写的控制引脚D0-D7为数据传输的引脚。 四、LCD1602命令解析 对于如何写命令我们直接看到数据手册就可以了。无论是写命令还是写数据我们只需要关注RSR/WE这几个引脚的电平即可。 1.写命令 当RS0时代表输入指令。 R/W0时代表向LCD写入指令或数据。 E是使能信号当E从1变为0时也就是下降沿会执行指令。 这里直接将要执行的命令写入LCD1602对应的数据端口即可。 写入后让E发生一个下降沿执行写入的指令。 void lcd1602_write_cmd(u8 cmd) {LCD1602_RS0;//选择命令LCD1602_RW0;//选择写LCD1602_E0;LCD1602_DATAPORTcmd;//准备命令delay_ms(1);LCD1602_E1;//使能脚E先上升沿写入delay_ms(1);LCD1602_E0;//使能脚E后负跳变完成写入 }2.写数据 当RS1时代表输入指令。 R/W0时代表向LCD写入指令或数据。 E是使能信号当E从1变为0时也就是下降沿会执行指令。 其实写数据和写命令的函数只是需要注意RS的电平即可其他代码原理都是一样的。 void lcd1602_write_data(u8 dat) {LCD1602_RS1;//选择数据LCD1602_RW0;//选择写LCD1602_E0;LCD1602_DATAPORTdat;//准备数据delay_ms(1);LCD1602_E1;//使能脚E先上升沿写入delay_ms(1);LCD1602_E0;//使能脚E后负跳变完成写入 }3.清屏指令 根据手册可以知道只需要往数据端口写入0x01即可达到清屏效果。 void lcd1602_clear(void) {lcd1602_write_cmd(0x01); }4.光标归位指令 光标归位指令写入0x02即可。 void lcd1602_CursorReset(void) {lcd1602_write_cmd(0x02); }5.进入模式设置指令 将DB1设置为1每次写入一个字符后光标右移。 S0写入数据后显示屏不移动。 void lcd1602_CursorReset(void) {lcd1602_write_cmd(0x06); //写入新数据后光标右移显示屏不移动 }6.显示开关控制指令 这里看自己的需求设置对应的指令。 7.设定显示屏或光标移动方向指令 字体左移 void lcd1602_LeftMove(void) {lcd1602_write_cmd(0x18); }字体右移 void lcd1602_RightMove(void) {lcd1602_write_cmd(0x1c); }三、LCD1602代码编写 lcd1602.c 这里使用普中的代码进行讲解。 这里使用的lcd1602是8位的在lcd1602.h定义了一个宏来决定。 #include lcd1602.h/******************************************************************************* * 函 数 名 : lcd1602_write_cmd * 函数功能 : LCD1602写命令 * 输 入 : cmd指令 * 输 出 : 无 *******************************************************************************/ #if (LCD1602_4OR8_DATA_INTERFACE0)//8位LCD void lcd1602_write_cmd(u8 cmd) {LCD1602_RS0;//选择命令LCD1602_RW0;//选择写LCD1602_E0;LCD1602_DATAPORTcmd;//准备命令delay_ms(1);LCD1602_E1;//使能脚E先上升沿写入delay_ms(1);LCD1602_E0;//使能脚E后负跳变完成写入 } #else //4位LCD void lcd1602_write_cmd(u8 cmd) {LCD1602_RS0;//选择命令LCD1602_RW0;//选择写LCD1602_E0;LCD1602_DATAPORTcmd;//准备命令delay_ms(1);LCD1602_E1;//使能脚E先上升沿写入delay_ms(1);LCD1602_E0;//使能脚E后负跳变完成写入LCD1602_DATAPORTcmd4;//准备命令delay_ms(1);LCD1602_E1;//使能脚E先上升沿写入delay_ms(1);LCD1602_E0;//使能脚E后负跳变完成写入 } #endif/******************************************************************************* * 函 数 名 : lcd1602_write_data * 函数功能 : LCD1602写数据 * 输 入 : dat数据 * 输 出 : 无 *******************************************************************************/ #if (LCD1602_4OR8_DATA_INTERFACE0)//8位LCD void lcd1602_write_data(u8 dat) {LCD1602_RS1;//选择数据LCD1602_RW0;//选择写LCD1602_E0;LCD1602_DATAPORTdat;//准备数据delay_ms(1);LCD1602_E1;//使能脚E先上升沿写入delay_ms(1);LCD1602_E0;//使能脚E后负跳变完成写入 } #else void lcd1602_write_data(u8 dat) {LCD1602_RS1;//选择数据LCD1602_RW0;//选择写LCD1602_E0;LCD1602_DATAPORTdat;//准备数据delay_ms(1);LCD1602_E1;//使能脚E先上升沿写入delay_ms(1);LCD1602_E0;//使能脚E后负跳变完成写入LCD1602_DATAPORTdat4;//准备数据delay_ms(1);LCD1602_E1;//使能脚E先上升沿写入delay_ms(1);LCD1602_E0;//使能脚E后负跳变完成写入 } #endif/******************************************************************************* * 函 数 名 : lcd1602_init * 函数功能 : LCD1602初始化 * 输 入 : 无 * 输 出 : 无 *******************************************************************************/ #if (LCD1602_4OR8_DATA_INTERFACE0)//8位LCD void lcd1602_init(void) {lcd1602_write_cmd(0x38);//数据总线8位显示2行5*7点阵/字符lcd1602_write_cmd(0x0c);//显示功能开无光标光标闪烁lcd1602_write_cmd(0x06);//写入新数据后光标右移显示屏不移动lcd1602_write_cmd(0x01);//清屏 } #else void lcd1602_init(void) {lcd1602_write_cmd(0x28);//数据总线4位显示2行5*7点阵/字符lcd1602_write_cmd(0x0c);//显示功能开无光标光标闪烁lcd1602_write_cmd(0x06);//写入新数据后光标右移显示屏不移动lcd1602_write_cmd(0x01);//清屏 } #endif/******************************************************************************* * 函 数 名 : lcd1602_clear * 函数功能 : LCD1602清屏 * 输 入 : 无 * 输 出 : 无 *******************************************************************************/ void lcd1602_clear(void) {lcd1602_write_cmd(0x01); }/******************************************************************************* * 函 数 名 : lcd1602_show_string * 函数功能 : LCD1602显示字符 * 输 入 : x,y显示坐标x0~15y0~1;str显示字符串 * 输 出 : 无 *******************************************************************************/ void lcd1602_show_string(u8 x,u8 y,u8 *str) {u8 i0;if(y1||x15)return;//行列参数不对则强制退出if(y1) //第1行显示{ while(*str!\0)//字符串是以\0结尾只要前面有内容就显示{if(i16-x)//如果字符长度超过第一行显示范围则在第二行继续显示{lcd1602_write_cmd(0x80ix);//第一行显示地址设置 }else{lcd1602_write_cmd(0x400x80ix-16);//第二行显示地址设置 }lcd1602_write_data(*str);//显示内容str;//指针递增i; } }else //第2行显示{while(*str!\0){if(i16-x) //如果字符长度超过第二行显示范围则在第一行继续显示{lcd1602_write_cmd(0x800x40ix); }else{lcd1602_write_cmd(0x80ix-16); }lcd1602_write_data(*str);str;i; } } } lcd1602.h #ifndef _lcd1602_H #define _lcd1602_H#include public.h//LCD1602数据口4位和8位定义若为1则为LCD1602四位数据口驱动反之为8位 #define LCD1602_4OR8_DATA_INTERFACE 0 //默认使用8位数据口LCD1602//管脚定义 sbit LCD1602_RSP2^6;//数据命令选择 sbit LCD1602_RWP2^5;//读写选择 sbit LCD1602_EP2^7; //使能信号 #define LCD1602_DATAPORT P0 //宏定义LCD1602数据端口//函数声明 void lcd1602_init(void); void lcd1602_clear(void); void lcd1602_show_string(u8 x,u8 y,u8 *str);#endif四、代码测试 这里我们实现了LCD1602左移显示。 void main() { lcd1602_init();//LCD1602初始化while(1){lcd1602_show_string(0,0,Hello World!);//第一行显示lcd1602_show_string(0,1,0123456789);//第二行显示lcd1602_write_cmd(0x18);delay_ms(1000);} }总结 LCD1602是一种液晶显示器可以用于显示文本和图形信息。它具有低功耗高分辨率和易于使用的特点可以用于多种应用如计算机控制、液晶显示器、汽车仪表板等。它可以用于显示汉字、英文字符、图形和数字可以实现更高的效率和速度。 使用LCD1602可以帮助我们实现非常多的功能使用他我们可以制作电子时钟密码锁等小项目希望大家好好理解这个模块。
http://www.tj-hxxt.cn/news/141023.html

相关文章:

  • 网站空间和云主机商城展示网站
  • 云南建设人才网站首页找南昌网站开发公司电话
  • No物流网站建设网站建设的经费估算
  • 网站3d展示怎么做网站建设总体费用
  • 寿光市住房和建设局网站135网站模板
  • 就诊网站建设协议政务信息网站建设方案
  • 哪些网站是discuz做广东一站式网站建设推荐
  • 网站建设类型php网站开发目录
  • 嘉兴 做网站 推广vpswindows俄罗斯
  • 东莞网站优化关键词推广wordpress 加速
  • 本网站维护升级效果图网站推荐大全
  • 网络培训平台谷歌seo推广公司宁波
  • 漯河装修公司网站建设如何搭建公司内部网站
  • 建设网站相关法律条文用vs2010做网站应用程序脱机
  • 廊坊网站搭建毕业室内设计代做网站
  • 查找网站注册时间php网站开发工程师招聘网
  • 汽车网站有哪些化妆品网站建设平台的分析
  • 个人怎么创建网站在线图片编辑器图片编辑
  • vs2012 网站开发安安网站建设
  • 企业网站首页排版分析厦门中小企业网站制作
  • 兴义做网站厦门专业做网站公司
  • 公司网站备案网站检测报告哪里做
  • 公司网站icp备案汽车门户网站源码
  • 河南专业网站建设创新中心国外短视频软件
  • 偷dede网站模板商务网站建设的步骤
  • 微信怎么做网站推广自动化东莞网站建设
  • 效果图参考网站app公司开发价格
  • 情侣手表网站wordpress文章引入代码
  • 红河州seo怎么做整站排名05网补充答案全部
  • 长春网站推广优化公司哪家好成都地铁建设分公司网站