用K60中的什么ldc1000 程序 k60让OLED显示数字

增值税发票
无理由退货
我浏览过的
您现在的位置:&
单片机的OLED显示系统设计与实现 - 光电显示
单片机的OLED显示系统设计与实现 - 光电显示
  为了提高图形信息的显示速度,并得到更多的显示效果,文章基于FG_V1.2单片机开发板,依据OLED12864显示屏的操作时序要求,用51单片机实现了基于0.96英寸OLED屏的显示系统设计。经实际测试表明,其具有比12864LCD模块更快的刷新速度和更好的显示效果。
  OLED(Organic Light Emitting Display)显示技术是比液晶显示技术更为先进的新一代平板显示技术,其被业界公认为是继LCD、PDP之后最理想和最具发展前景的第三代显示技术。相比于液晶显示技术,其具有超轻薄、高亮度、广视角、自发光、响应快、抗震强、功耗低、适应温度范围宽,可实现柔性显示等优越性能,有梦幻显示器 的美誉,可广泛应用于通信、计算机、消费电子、工业应用、商业、交通等领域。在显示输出方面,目前主要采用3种方式,即:图形、数字或专用符号,在嵌入式领域,显示常采用LED、数码管及液晶显示器。前两种实现简单,但显示内容不够丰富。LCD显示器虽能显示较为丰富的内容,但其响应慢(出现残像),且亮度相对较低。OLED则响应较快,其响应速度可达液晶的1000倍以上,且OLED无需背光,亮度高,在功耗、视角等方面也均优于LCD显示器,鉴于此,OLED显示屏越来越广泛地应用在日常生活当中。
  该文以宏晶公司的STC89C52单片机为控制核心,信意电子科技提供的0.96寸OLED模块为显示输出设备,在Keil环境下编写OLED显示模块驱动程序,并下载Hex文件至单片机,从而实现OLED显示系统设计。
  1 实现原理
  文中所采用的OLD模块具有和12864LCD相同的分辨率,但其在单位面积上具有更多的像素点。该模块的驱动芯片是SSD1306Z,它是一款专门用于驱动OLED点阵屏的COMS芯片,其包含128个段和64个公共端。为了能够通过外部控制器向其写入用于显示的数字信息,其对外提供了8个数据引脚和 5个控制脚,并向用户提供了4种总线接口。文中所采用的OLED模块可实现SPI和IIC两种总线接口模式,默认为SPI模式。在SPI模式下,仅有数据引脚的低2位和控制引脚的CS#,D/C#和RES#与单片机进行接口。为了能让OLED具有丰富的显示效果和灵活简便的操作方式,SSD1306Z向用户提供了丰富的操作指令集,另外还向用户提供了128x64位的GDDRAM(Graphic Display Data RAM)。由于所采用的OLED不带字库,因此无论是显示图形还是显示汉字,均需通过取模软件进行编码,然后按SPI协议,将对应的编码按照所确定的地址模式写入对应的CDDRAM中。编码原理如图1所示。图1给出了16*8编码格式的字符A,由于8行为一页,因此其占据2页的高度,而宽度则占据8 列。图1中的每一个方格代表一位,若要显示则置1,反之置0。向GDDRAM当中送数据时,先通过指令确定操作所需的地址模式及存储器的地址,然后先写A的第2页的编码,再写其第3页的编码,即可完成编码的写入操作。图1所对应的编码为0x00,0x00,0xe0,0x 9c,0xf0,0x80,0x00,0x00,0x08,0x0f,0x08,0x00,0x00,0x0b,0xoe,0x08,编码时高位在下,低位在上。同理,可得对任意汉字的编码。
更多猛料!欢迎扫描下方二维码关注土猫网官方微信( tumaowang )
&#165&35.3元
节省15.7元
&#165&127元
节省25.4元
&#165&299元
节省59.8元
&#165&6.9元
&#165&28.2元
&#165&318元
节省63.6元
&#165&159元
节省31.8元
&#165&449元
节省89.8元
&#165&239元
节省47.8元
&#165&38元
&#165&10.9元
&#165&19元后使用快捷导航没有帐号?
只需一步,快速开始
扫一扫,访问微社区
查看: 2020|回复: 4
K60 oled显示赛道程序求共享!!!
主题帖子精华
金牌会员, 积分 1055, 距离下一级还需 1945 积分
金牌会员, 积分 1055, 距离下一级还需 1945 积分
在线时间128 小时
毕业学校桂电
调了一天都是花屏= =void Eighty_Sixty_Display(uint8 *img)
{
&&//uint8 *tempimg = (uint8 *)
& &uint8 tempimg[80][60];
& &img_extract((uint8 *)img,(uint8 *) tempimg, 80*60/8);& && &&&//解压为灰度图像,方便发送到上位机显
& &uint8 i=0, j=0;
& &for(i=0; i&=6; i++)//7次循环完成56*80的图像区
& &{
& & & & LCD_Set_Pos(0,i);
& & & & for(j=0; j&80; j++)//一次循环完成一个8*60的图像去
& & & & {
& && && && &uint8 x = tempimg[i*8][j]
& && && && && && &&&+tempimg[i*8+1][j]*2
& && && && && && && && && & +tempimg[i*8+2][j]*4
& && && && && && && && && && && && &+tempimg[i*8+3][j]*8
& && && && && && && && && && && && && && &&&+tempimg[i*8+4][j]*16
& && && && && && && && && && && && && && && && && & +tempimg[i*8+5][j]*32
& && && && && && && && && && && && && && && && && && && && &+tempimg[i*8+6][j]*64
& && && && && && && && && && && && && && && && && && && && && && &&&+tempimg[i*8+7][j]*128;//将竖着的8个像素合并成一个字节
& && && && &LCD_WrDat(x);
& & & & }
& & }
//上面的一段程序完成了56行像素的显示,同理,下面显示剩下4行
& & LCD_Set_Pos(0,7);
& & for(j=0; j&80; j++)
& & {
& & & & uint8 x = tempimg[56][j]
& & & & & & & &&&+tempimg[57][j]*2
& & & & & & & & & & & & +tempimg[58][j]*4
& & & & & & & & & & & & & & & & +tempimg[59][j]*8;
& & & & LCD_WrDat(x);
& & }
}
复制代码
主题帖子精华
常驻嘉宾, 积分 4239, 距离下一级还需 1761 积分
常驻嘉宾, 积分 4239, 距离下一级还需 1761 积分
兑换币1288
在线时间460 小时
void LED_PrintImage(uchar *puc, uchar RowNum, uchar ColumnNum)
& & uchar D
& & uchar i,j,k,m,n;
& & uchar RowT
& & m = RowNum && 3;& &//计算图片行数以8位为一组完整的组数
& & n = RowNum % 8;& & //计算分完组后剩下的行数
& & for(i = 0; i & i++) //完整组行扫描
& &&&LED_zuobiao(12,(uchar)i);
& && &&&RowTmp = i && 3;& & //计算当前所在行的下标& && && && && && &
& && &&&for(j = 0; j & ColumnN j++) //列扫描& && &&&
& && && && &Data = 0;
& && && && &for(k = 0; k & 8; k++) //在i组中对这8行扫描
& && && && &{
& && && && && & Data = Data && 1;
& && && && && & if((puc + (RowTmp + k) * ColumnNum)[j] == LED_IMAGE_WHITE)
& && && && && & {
& && && && && && &&&Data = Data | 0x80;
& && && && && & }
& && && && && &
& && && && &}
& && && && &LED_WrDat(Data);
& &LED_zuobiao(12,(uchar)i); //设置剩下的行显示的起始坐标
& & RowTmp = i && 3;& && & //计算当前所在行的下标& && && && && && &
& & for(j = 0; j & ColumnN j++) //列扫描& && &&&
& && &&&Data = 0;
& && &&&for(k = 0; k & k++) //对剩下的行扫描
& && && && &Data = Data && 1;
& && && && &if((puc + (RowTmp + k) * ColumnNum)[j] == LED_IMAGE_WHITE)
& && && && &{
& && && && && & Data = Data | 0x80;
& && && && &}
& && && && &
& && &&&Data = Data && (8 - n);
& && &&&LED_WrDat(Data);
然后调用的时候:
for(i = 0 ;.......)//自己写完整吧
& && &&&file:///D:\Users\Tianmang\AppData\Roaming\Tencent\Users\\QQ\WinTemp\RichOle\CX}MH2N)P9O@SCMJM)@S`]L.pngLED_PrintImage((uchar *)Image,60,100);
这不是我写的,随便找了一个贴的,自己再看看。
主题帖子精华
中级会员, 积分 320, 距离下一级还需 180 积分
中级会员, 积分 320, 距离下一级还需 180 积分
在线时间30 小时
毕业学校内科大
楼上的弄出来了吗???
主题帖子精华
高级会员, 积分 743, 距离下一级还需 257 积分
高级会员, 积分 743, 距离下一级还需 257 积分
在线时间55 小时
毕业学校陇东学院
楼上的弄出来了吗???
搞定没啊&&我的也是花屏
主题帖子精华
高级会员, 积分 743, 距离下一级还需 257 积分
高级会员, 积分 743, 距离下一级还需 257 积分
在线时间55 小时
毕业学校陇东学院
搞定没啊& &我的也是花屏
Powered by原创:在K60上移植的OLED代码以及GPIO输入检测
首先,感谢下jicheng开源ta的K60学习成果!
(1)OLED的实际效果图如下:
(2)OLED代码
&&&&&&&&&&&软件:IAR for ARM 6.3
(3)单个GPIO的input检测代码,不传完整的了,就贴个函数了
/**********************************************************************************
**Routine:GPIO_Read
**Description: read the specified pin's state
***********************************************************************************/
uint8 GPIO_Read(GPIO_MemMapPtr port,uint8 index)
& b=(GPIO_PDIR_REG(port)&(1&&index))&&
关注微信公众号5月14日的监控显示,广深高速中堂水道大桥桥梁被船只撞击 通讯员 摄
  中新网东莞5月24日电 (蔡敏婕 欧阳征朝)由于受到汛期和违规船只超高超载通行等因素影响,广(州)深(圳)高速撞桥事故频发,近3年严重碰撞达到8次,威胁高速公路安全。广深高速公路常务副总经理刘增贤24日称,将投入5000万元对该高速6座通航桥增设“三道铁闸”维护安全。
  广深高速公路是连接广州、东莞、深圳及香港特别行政区的交通大动脉,日均通行车流量大,主线有通航孔桥13座。2013年以来,广深高速公路桥梁被船舶碰撞事件经常发生。从2014年12月开始,截至目前,船只经过通航桥时因碰撞触发报警的事件就有30次。
  造成船舶撞击桥梁事故发生的原因有很多,其中入汛和“无牌无证”改装船只的强行通过是主要原因。广深高速总工程师黄尚林介绍,根据近年监控录像,经常有超高船舶有意或无意拆除船顶设施后试探或强行通过桥孔的现象。“这就相当于大脚穿进了小鞋,鞋子当然容易受伤。”
  “今年进入5月份以来,曾在5天内发生两起较为严重的船只撞桥事件。就在今年4月,广深高速正在组织对被船撞击受损的相关桥梁路段进行临时封闭、检测、维修加固的过程中,广深高速的川槎大桥和中堂水道大桥又相继被船撞上。”黄尚林称。
  频频发生的船只撞击刮蹭广深高速通航孔桥事故,引起广东省交通集团、海事和航道部门的重视。刘增贤透露,预计在2016年底前,将投入约5000万人民币对船只航行比较多,发生碰撞桥梁次数较多的川槎大桥、中堂大桥等6座通航桥增设“三道铁闸”维护安全。
  刘增贤介绍,将在川槎大桥、中堂大桥等安装激光限高防撞预警系统,利用激光检测,在离桥梁300米以外对超高船只提前进行文字和灯光警示;在上下游距离桥梁边缘约50至100米处设置防撞限高水上龙门架,防止超高船只通过;最后一道“铁闸”是实时监控通航桥梁通行状况,当超高船只刮碰桥梁时及时告警。
  由于广深高速受先天条件限制,通航桥梁被撞已成常态,严重危及桥梁结构物安全。刘增贤建议政府更改航道等级,只允许小吨位船只通行或将船舶调整到其他航道通行。同时,建议政府相关部门对过往船只加强监管,对超高超载、不按规定航道标准行驶等行为进行处罚。(完)
责任编辑:磊大大澎湃新闻报料:9 & 澎湃新闻,未经授权不得转载
关键词 >> 东辽县哪里有卖春药【求教】使用OLED出现的问题_arduino吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:42,134贴子:
【求教】使用OLED出现的问题收藏
用i2c连接了一块GY-30数字光强传感器和12864oled模块,),想用oled实时显示光强,编译出了问题,编程还在学,各位大神帮忙看下编译时:什么意思?用的U8glib的库。好像是数据类型出了问题。val用串口输出是正常的数字,怎么破?
arduino「京东」精选新书,热书,种类齐全,天天低价,货到付款,任你选&购&!时间有限,知识无限,京选好书-arduino,做一个读书,爱书,藏书的人!
坐等回复。。。。
看来没人。。。自顶
转自极客工坊:很多人在玩12864的时候,都会发现不能直接显示字符,因为大多数12864类库没有显示数值的函数,那么我们就需要把int型变量转换成字符串,方法很简单,只要在代码末尾加上一个功能函数即可~把上述代码放入程序末尾,在程序头定义一个char(ep.char a[25]),在读取完数值之后就可以轻松的用一行itostr(a,b);来转换,其中a是之前定义的char,b是数值变量,是不是很方便呢?
用u8g.print(val)在此之前先设定好位置坐标
来自垃圾堆里的Lumia928
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或

我要回帖

更多关于 k60超声波测距程序 的文章

 

随机推荐