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

网站开发与推广计划书网站建设 收费明细

网站开发与推广计划书,网站建设 收费明细,展厅设计行业平台,德州宁津建设局网站基于STC12C5A60S2系列1T 8051单片机的液晶显示器LCD1602显示整数、小数应用 STC12C5A60S2系列1T 8051单片机管脚图STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式及配置STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式介绍液晶显示器LCD1602简单介绍IIC通信简单介绍… 基于STC12C5A60S2系列1T 8051单片机的液晶显示器LCD1602显示整数、小数应用 STC12C5A60S2系列1T 8051单片机管脚图STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式及配置STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式介绍液晶显示器LCD1602简单介绍IIC通信简单介绍掉电保存数据芯片24C02简单介绍通过液晶显示器LCD1602显示整数、小数 STC12C5A60S2系列1T 8051单片机管脚图 STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式及配置 STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式介绍 液晶显示器LCD1602简单介绍 DDRAM : 数据显示随机存储器 液晶显示器显示数据是来于数据显示随机存储器 CGRAM字符生成随机存储器 用户自定义字符会存储在字符生成存储器 CGROM字符库只读存储器 只提供字符 用液晶显示器显示这些字符 总结:不管是CGRAM(字符生成随机存储器)自定义的字符 还是CGROM(字符库只读存储器)原有的字符 写进DDRAM(数据显示随机存储器)内存地址上 才能在液晶显示器屏幕显示出来 IIC通信简单介绍 掉电保存数据芯片24C02简单介绍 通过液晶显示器LCD1602显示整数、小数 #include stc12c5a60s2.h #include intrins.h #include stdio.h #define uchar unsigned char//自定义无符号字符型为uchar #define uint unsigned int//自定义无符号整数型为uint #define LCD1602PinMode1 0x38//自定义液晶显示器LCD1602八位数据接口的两行5*8点阵 #define LCD1602PinMode2 0x28//自定义液晶显示器LCD1602四位数据接口的两行5*8点阵 #define LCD1602CleanScreen 0x01//自定义液晶显示器LCD1602清屏变量 #define LCD1602CursorRst 0x02//自定义液晶显示器LCD1602光标复位 #define LCD1602DisplayCursorGlint 0x0f//自定义液晶显示器LCD1602开显示开光标开光标闪烁 #define LCD1602DisplayCursorNoGlint 0x0e//自定义液晶显示器LCD1602开显示开光标不开光标闪烁 #define LCD1602DisplayNoCursorNoGlint 0x0c//自定义液晶显示器LCD1602开显示不开光标不开光标闪烁 #define LCD1602NoDisplayCursorNoGlint 0x08//自定义液晶显示器LCD1602不开显示不开光标不开光标闪烁 #define LCD1602CursorRightMoveDisplayNoMove 0x06//自定义液晶显示器LCD1602光标右移 显示不移动 #define LCD1602CursorLeftMoveDisplayNoMove 0x04//自定义液晶显示器LCD1602光标左移 显示不移动 #define LCD1602PictureLeftMove 0x07//自定义液晶显示器LCD1602画面左移 AC自增 #define LCD1602PictureRightMove 0x05//自定义液晶显示器LCD1602画面右移 AC自减 #define LCD1602CursorRightMove 0x10//自定义液晶显示器LCD1602光标右移 #define LCD1602CursorLeftMove 0x14//自定义液晶显示器LCD1602光标左移 #define LCD1602DisplayRightMove 0x18//自定义液晶显示器LCD1602显示右移 #define LCD1602DisplayLeftMove 0x1c//自定义液晶显示器LCD1602显示左移 #define LCD1602DisplayData P2//自定义液晶显示器LCD1602显示数据为单片机P2组引脚 sbit LCD1602RS P2^5;//位定义液晶显示器LCD1602数据指令变量为单片机P2.5引脚 sbit LCD1602RW P2^6;//位定义液晶显示器LCD1602读写变量为单片机P2.6引脚 sbit LCD1602EN P2^6;//位定义液晶显示器LCD1602使能变量为单片机P2.7引脚 void LCD1602Init()//液晶显示器初始化函数 {LCD1602WriteCommand(LCD1602PinMode1);//液晶显示器LCD1602八位数据接口的两行5*8点阵 LCD1602WriteCommand(LCD1602DisplayNoCursorNoGlint);//液晶显示器LCD1602开显示不开光标不开光标闪烁LCD1602WriteCommand(LCD1602CursorRightMove);//液晶显示器LCD1602光标右移LCD1602WriteCommand(LCD1602CleanScreen);//液晶显示器LCD1602清屏}void LCD1602ReadBusy()//液晶显示器读忙函数 {uchar i;//声明一个计数变量uchar State;//声明状态变量LCD1602DisplayData 0xff;//液晶显示器LCD1602显示数据变量拉高LCD1602RS 0;//液晶显示器LCD1602写入指令LCD1602RW 1;//读取液晶显示器LCD1602do{LCD1602EN 1;//液晶显示器LCD1602使能State LCD1602DisplayData;//液晶显示器LCD1602显示数据赋给状态变量LCD1602EN 0;//关液晶显示器LCD1602使能i;if(i 200)//防止液晶显示器LCD1602因损坏陷入do{}while循环中 导致无法执行其他程序break;}while(State 0x80);//判断状态变量是否为1 为1表示液晶显示器LCD1602在忙 否则不忙}void LCD1602WriteCommand(uchar Command)//液晶显示器LCD1602写命令函数 {LCD1602ReadBusy();//液晶显示器读忙函数LCD1602RS 0;//液晶显示器LCD1602写入指令LCD1602RW 0;//写入液晶显示器LCD1602LCD1602DisplayData Command;//指令变量含有的数据赋给液晶显示器LCD1602显示数据变量LCD1602EN 1;//液晶显示器LCD1602使能LCD1602EN 0;//关液晶显示器LCD1602使能} void LCD1602WriteData(uchar Data)//液晶显示器LCD1602写数据函数 {LCD1602ReadBusy();//液晶显示器LCD1602读忙函数LCD1602RS 1;//液晶显示器LCD1602写入数据LCD1602RW 0;//写入液晶显示器LCD1602LCD1602DisplayData Data;//数据变量含有的数据赋给液晶显示器LCD1602显示数据变量LCD1602EN 1;//液晶显示器LCD1602使能LCD1602EN 0;//关液晶显示器LCD1602使能} void LCD1602SetDisplayPosition(uchar x,uchar y)//液晶显示器LCD1602设置显示位置 {if(0 y)//液晶显示器LCD1602第一行显示{LCD1602WriteCommand(0x80 | x);//液晶显示器LCD1602第一行第一位显示}else{LCD1602WriteCommand(0x80 | (0x40 x));//液晶显示器LCD1602第二行第一位显示}}void LCD1602ShowString(uchar x,uchar y,uchar *String)//液晶显示器LCD1602显示字符串函数 x变量为液晶显示器LCD1602横向显示 相当于列 y变量为液晶显示器LCD1602纵向显示 相当于行 {LCD1602SetDisplayPosition(x,y);//液晶显示器LCD1602设置显示位置while(*String ! \0 )//判断字符串是否全部显示 {LCD1602WriteData(*String );//液晶显示器LCD1602写入字符串}}uchar IntegerTransformedToHexString(uint Data,uchar *String)//整型数转化为十六进制数的字符串据函数 {uchar i;//声明循环变量uchar StringLength;//声明字符串长度变量uchar StringCache[6];//声明字符串缓存数组变量if(Data 0)//判断数据变量是否小于0{Data -Data;//取数据变量的绝对值*String -;//字符串变量前取负号StringLength;//字符串长度变量自加}do{StringCache[i] Data % 10 0;//取数据变量包含的个位数据赋给字符串缓存数组变量 为什么数据分解后0 因为液晶显示器LCD1602要显示整数的字符串 而单片机运算字符串的字符是字符对应的ASCII码的二进制数值或十进制数值或十六进制数值 这里取单片机运算字符串的字符对应的ASCII码十进制数值 如字符0的ASCII码的十进制数是48 字符1的ASCII码的十进制数是49 字符2的ASCII码的十进制数是50 .... 字符9的ASCII码的十进制数是57 而编译器对于0会自动视为是0ASCII码的十进制数48 举例拿Data 251来分解 则有Data/1002 Data/10%105 data%101 要把数据型251转化成字符串为251 可拆开看成2 5 1 它们对应的ASCII码十进制数分别为50 53 49 而Data/1002024850 Data/10%105054853 data%101014849 算出50 53 49这三个十进制数分别对上字符2 5 1的ASCII码十进制数为50 53 49 这就是为什么数据分解后0的原因Data / 10;//取数据变量包含的十位数据}while(Data 0);//判断数据变量是否大于0StringLength i;//字符串长度自加while(i-- 0)//字符串反取循环{*String StringCache[i];//字符串缓存数组变量包含的数据赋给字符串变量}*String \0;//字符串结束return StringLength;//返回字符串长度}void main()//主函数 {//uchar String1[] Hello World;//uchar String2[] Hello LCD1602;uchar String[6];//声明字符串数组变量uchar StringCache[10];//声明字符串数组变量uint Data 123456;//给整型数据变量赋值 也可以取uint Data 123456来显示uint Temp;//声明临时变量float Number1 1.25;//给单个小数点数字变量赋值float Number2 1.2234;//给单个小数点数字变量赋值 也可以取float Number2 1.2234来显示LCD1602Init();//液晶显示器初始化函数//LCD1602ShowString(0,0,String1);//显示字符串//LCD1602ShowString(0,1,String2);//显示字符串LCD1602ShowString(0,0,String);//液晶显示器LCD1602第一行第一个位置显示字符串 IntegerTransformedToHexString(Data,String);//整型数转化为十六进制数的字符串据函数Temp Number1 * 100;//把单个小数点数字变量含有的数值扩大100倍转化成整数变量赋给临时变量LCD1602SetDisplayPosition(0,1);//液晶显示器LCD1602第二行第一个位置显示字符串LCD1602WriteData(Temp/100 0);//液晶显示器LCD1602写数据函数 显示百位数据 为什么数据分解后0 因为液晶显示器LCD1602要显示数据型字符串 而单片机运算字符串的字符是字符对应的ASCII码 如字符0的ASCII码十进制数是48 字符1的ASCII码十进制数是49 字符2的ASCII码十进制数是50 .... 字符9的ASCII码十进制数是57 而编译器对于0会自动视为是0的ASCII码 即ASCII码十进制数48 举例拿Data 251来分解 则有Data/1002 Data/10%105 data%101 要把数据型251转化成字符串为251 可拆开看成2 5 1 它们对应的ASCII码十进制数分别为50 53 49 而Data/1002024850 Data/10%105054853 data%101014849 算出50 53 49这三个ASCII码十进制数分别对上字符2 5 1的ASCII码十进制数为50 53 49 这就是为什么数据分解后0的原因LCD1602WriteData(.);//液晶显示器LCD1602显示小数点LCD1602WriteData(Temp/10%10 0);//液晶显示器LCD1602写数据函数LCD1602WriteData(Temp%10 0);//液晶显示器LCD1602写数据函数sprintf(StringCache,%0.4f,Number2);//把数字变量Number2含有的数据给格式化成字符串保存到字符串数组变量StringCache中LCD1602ShowString(8,1,StringCache);//液晶显示器LCD1602第二行第九个位置显示字符串 while(1);//主循环}
http://www.w-s-a.com/news/296673/

相关文章:

  • asp.netmvc网站开发ps设计网页
  • win2008 挂网站 404官方网站是什么
  • 网站只做内容 不做外链做姓氏图的网站
  • 中国建设银行信用卡黑名单网站wordpress怎么解密密码
  • 建设银行如何网站设置密码广州网站营销推广
  • 企业做网站的步骤与做网站注意事项四川省住房建设厅网站打不开
  • 网页设计网站规划报告百度文库官网登录入口
  • 郑州医疗网站开发wordpress能注册
  • 创建网站的英语石家庄微信网站建设
  • 分享几个x站好用的关键词微信商城小程序开发一般需要多少钱
  • 做韩国外贸网站wordpress手机版中文
  • 建站群赚钱有前途吗蚌埠北京网站建设
  • 北京网站建设求职简历十堰seo优化教程
  • 网站顶部可关闭广告微信小程序多少钱
  • 网站背景怎么弄斜杠青年seo工作室
  • ps个人网站首页怎么制作如何做网站的版块规划
  • 做网站的市场开源建站工具
  • 邹平做网站哪家好自动点击器app
  • 南阳seo网站排名优化wordpress文章对游客不显示
  • 网站301什么意思湛江市seo网站设计报价
  • 免费建造网站化妆品网络营销方案
  • 建公司网站wordpress the content
  • 网站的站点的管理系统建设银行网站注册企业
  • 长春火车站是哪个站做微商哪个网站有客源
  • 亚马逊培训费用一般多少seo专业培训课程
  • 做推文封面图网站南宁高端网站建设
  • 天津网站搜索排名做电影免费ppt模板下载网站
  • 襄樊最好网站建设价格网站建设与设计 毕业设计
  • 网站推广广告词大全集网站建设相对路径
  • 甘肃省铁路投资建设集团有限公司网站域名怎么实名认证