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

专做网站的公司163注册企业邮箱

专做网站的公司,163注册企业邮箱,上海哪个区最好,兰州网站建设招聘信息31. LCD1602 31.1. LCD1602介绍 •LCD1602#xff08;Liquid Crystal Display#xff09;液晶显示屏是一种字符型液晶显示模块#xff0c;可以显示ASCII码的标准字符和其它的一些内置特殊字符#xff0c;还可以有8个自定义字符 •显示容量#xff1a;162个字符#xff0c…31. LCD1602 31.1. LCD1602介绍 •LCD1602Liquid Crystal Display液晶显示屏是一种字符型液晶显示模块可以显示ASCII码的标准字符和其它的一些内置特殊字符还可以有8个自定义字符 •显示容量16×2个字符每个字符为5*7点阵 31.2. 引脚及应用电路 接线D0~D7与单片机P口高低位对齐 31.3. 内部结构框图 CGRAM CGROM类似段码表RAM可写ROM不可写 DDRAM用户可写DDRAM40x2比屏幕大但是前16映射屏幕多出来的可以移屏显示 AC光标位置地址计数器指令确定AC的位置 31.4. 存储器结构 举例A的索引码0100 0001 B 0x41,上方的索引码填入到左侧的xxxx中 索引码同ASIC码 31.5. 时序结构写的时序结构 RS1数据;RS0(指令) RW0; DB0~DB7放好数据 E1写入数据 E0完成写入 31.6. LCD1602指令集 下表是指令的格式指令集 原LCD1602程序中显示行列xxx就是在设置DDRAM地址光标位置 31.7. LCD1602操作流程 •初始化 发送指令0x38 //八位数据接口两行显示5*7点阵 发送指令0x0C //显示开光标关闪烁关 发送指令0x06 //数据读写操作后光标自动加一画面不动 发送指令0x01 //清屏 •显示字符 发送指令0x80|AC //设置光标位置//实际地址最高为必须置1代表是地址设置的指令 发送数据 //发送要显示的字符数据 发送数据 //发送要显示的字符数据 …… 31.8. 字符、字符串 •字符根据一定规则建立的数字到字符的映射ASCII码表 例如0x21’!’0x41’A’0x00’\0’ 定义方法char x‘A’;等效于char x0x41; •字符数组存储字符变量的一个数组 定义方法char y[]{’A’, ’B’, ’C’}; 等效于char y[]{0x41,0x42,0x43}; •字符串在字符数组后加一个字符串结束标志本质上是字符数组 定义方法char z[]”ABC”;等效于char z[]{’A’, ’B’, ’C’, ’\0’}; 32. LCD1602显示模块编程 32.1. 编程思路 需要编写LCD写数据模块和写命令模块编写LCD初始化模块编写LCD光标位设置模块编写LCD_ShowChar显示单字节模块 32.2. LCD1602.c和LCD1602.h程序如下 #include REGX52.Hsbit LCD_RSP2^6; sbit LCD_RWP2^5; sbit LCD_EP2^7; #define LCD_DataPort P0/*定义一个1ms延时函数*/ void LCD_Delay(void) //12.000MHz, 1ms延时 {unsigned char data i, j;i 2;j 239;do{while (--j);} while (--i); } /*LCD写命令函数*/ void LCD_WriteCommand(unsigned char Command) {LCD_RS0;LCD_RW0;LCD_DataPortCommand;LCD_E1;LCD_Delay(); //如果不延时会出错LCD_E0;LCD_Delay(); //如果不延时会出错 } /*LCD写数据函数*/ void LCD_WriteData(unsigned char Data) {LCD_RS1;LCD_RW0;LCD_DataPortData;LCD_E1;LCD_Delay(); //如果不延时会出错LCD_E0;LCD_Delay(); //如果不延时会出错 } /*LCD初始化函数*/ void LCD_Init(void) {LCD_WriteCommand(0x38);LCD_WriteCommand(0x0c);LCD_WriteCommand(0x06);LCD_WriteCommand(0x01); } /*LCD光标位置设置函数*/ void LCD_SetCursor(unsigned char Line,unsigned char Column) {if(Line1){LCD_WriteCommand(0x80|(Column-1));}if(Line2){LCD_WriteCommand(0x80|(Column-1)0x40); //0x40是根据表格进行的移位} } /*LCD显示一个字符函数*/ void LCD_ShowChar(unsigned char Line,unsigned char Column,unsigned char Char) {LCD_SetCursor(Line,Column); //光标位置LCD_WriteData(Char); //写入数据 } /*LCD显示字符串函数*/ void LCD_ShowString(unsigned char Line,unsigned char Column,unsigned char String[]) //String[]传递的是首地址和指针一致 {unsigned char i;LCD_SetCursor(Line,Column);for(i0;String[i]!\0;i){LCD_WriteData(String[i]);} }/*定义一个次方函数*/ int LCD_Power(int X, int Y) {unsigned char i;int Result1;for(i0;iY;i){Result*X;}return Result; } /*LCD显示无符号数函数*/ void LCD_ShowNum(unsigned char Line,unsigned char Column,unsigned int Number,unsigned char Length) {unsigned char i;LCD_SetCursor(Line,Column);for(iLength;i0;i--){LCD_WriteData(0Number/LCD_Power(10,i-1)%10); //加0等于加0x30对应码表否则显示空} } /*LCD显示有符号数函数*/ void LCD_ShowSignedNum(unsigned char Line,unsigned char Column,int Number,unsigned char Length) {unsigned char i;unsigned int Number1; //借用Number1防止-32768无法显示LCD_SetCursor(Line,Column);if(Number0) //判断数字大于0加号{LCD_WriteData();Number1Number;}else //判断数字小于0加-号{LCD_WriteData(-);Number1-Number; //如果没有Numberchar -32768会超出}for(iLength;i0;i--){LCD_WriteData(0Number1/LCD_Power(10,i-1)%10); //加0等于加0x30对应码表否则显示空} } /*LCD显示有16进制数函数*/ void LCD_ShowHexNum(unsigned char Line,unsigned char Column,unsigned int Number,unsigned char Length) {unsigned char i;unsigned char SingleNumber;LCD_SetCursor(Line,Column);for(iLength;i0;i--){SingleNumberNumber/LCD_Power(16,i-1)%16;if(SingleNumber10){LCD_WriteData(0SingleNumber); }else{LCD_WriteData(ASingleNumber-10); //A的偏移对应10~16 A~F-10对齐表格}} } /*LCD显示有2进制数函数*/ void LCD_ShowBinNum(unsigned char Line,unsigned char Column,unsigned int Number,unsigned char Length) {unsigned char i;LCD_SetCursor(Line,Column);for(iLength;i0;i--){LCD_WriteData(0Number/LCD_Power(2,i-1)%2); } }#ifndef _LCD1602_H_ #define _LCD1602_H_ void LCD_Init(void); void LCD_ShowChar(unsigned char Line,unsigned char Column,unsigned char Char); void LCD_ShowString(unsigned char Line,unsigned char Column,unsigned char String[]); void LCD_ShowNum(unsigned char Line,unsigned char Column,unsigned int Number,unsigned char Length); void LCD_ShowSignedNum(unsigned char Line,unsigned char Column,int Number,unsigned char Length); void LCD_ShowHexNum(unsigned char Line,unsigned char Column,unsigned int Number,unsigned char Length); void LCD_ShowBinNum(unsigned char Line,unsigned char Column,unsigned int Number,unsigned char Length); void LCD_WriteCommand(unsigned char Command);#endifmain主程序为 #include REGX52.h #include LCD1602.h #include delay_xms.hvoid main() {LCD_Init();LCD_ShowChar(1,1,A); //索引码A0x41; \反斜杠用于转义如\;\\标准ASIC是反斜杠中文是钱币符号LCD_ShowString(1,3,Hello);LCD_ShowNum(1,9,66,2);LCD_ShowSignedNum(1,12,-88,2);LCD_ShowHexNum(2,1,0xA5,2);LCD_ShowBinNum(2,4,0xA5,8);LCD_ShowChar(2,13,0xdf); //直接输入码表地址0xdf0xe0LCD_ShowChar(2,14,C); //直接输入码表地址0xdf0xe0LCD_ShowString(1,16,Welcome to China!);while(1){LCD_WriteCommand(0x18); //流动字幕效果的移屏命令地址delay_xms(500);}}Proteus测试无误
http://www.zqtcl.cn/news/563666/

相关文章:

  • 云南省建设厅网站职称评审房地产推广方案和推广思路
  • 湘潭建设路街道网站app的设计与开发
  • 《网站开发实践》 实训报告广告策划书案例完整版
  • 一级 爰做片免费网站做中学学中做网站
  • 网站排名如何提升网络营销的有哪些特点
  • 巨腾外贸网站建设个人主页网站模板免费
  • 有哪些网站免费做推广淄博网站电子商城平台建设
  • 网站建设的技术支持论文做网站买什么品牌笔记本好
  • 凡科网站后台在哪里.工程与建设
  • 静态网站源文件下载建设手机网站价格
  • 苏州做网站优化的网站开发邮件
  • 做网站怎么搭建环境阿里云大学 网站建设
  • 网站改版业务嵌入式培训推荐
  • 腾讯云 怎样建设网站网站开发 报价
  • 网络科技公司门户网站免费人脉推广官方软件
  • 建和做网站网络营销推广可以理解为
  • 太原市网站建设网站人防工程做资料的网站
  • 怎么做免费推广网站做网站第一部
  • 橙色网站后台模板WordPress的SEO插件安装失败
  • 做网站好还是做微信小程序好外包加工网外放加工活
  • 中国建设银行网站查征信电子商务网站建设及推广
  • 扫描网站漏洞的软件php网站后台验证码不显示
  • 诸城哪里有做网站的做网站的尺寸
  • 网站开发参考书目做网站推广赚钱吗
  • 九度网站建设网站做ppt模板
  • 浙江做公司网站多少钱评论回复网站怎么做
  • 江门网络建站模板虚拟主机价格一般多少钱
  • 网站建设公司云南深圳手机商城网站设计费用
  • 汇泽网站建设网页版快手
  • 手机销售培训网站wordpress案例插件