随笔分类 -  LCD/LED/SEG7/Touch/VGA

摘要:我以前在艾米电子写的驱动。贴在博客之目的:一、时常记记,以防忘记;二、分享给大家。也许是工作比较忙之缘故吧,新近的博文啰嗦的话语少了许多,直接贴上代码,大家有什么不明白的,留言即可。版本1 顶层例化文件module seg7x8( input CLOCK_50, // 板载50MHz时钟 input Q_KEY, // 板载按键RST output [7:0] SEG7_SEG, // 七段数码管 段脚 output [2:0] SEG7_SEL // 七段数码管 待译位脚 );// 显示效果:// -------------------------// |1 |2.|3 |4 | |B |C 阅读全文
posted @ 2011-04-24 17:36 _安德鲁 阅读(9838) 评论(4) 推荐(1)
摘要:注:使用excel绘制的线图 阅读全文
posted @ 2011-04-16 01:25 _安德鲁 阅读(696) 评论(0) 推荐(1)
摘要:通过调节电位器R4来调整屏幕的对比度。 通过切换PNP BJT的基级电压来开关LED+,即开关背光。 阅读全文
posted @ 2011-04-16 01:16 _安德鲁 阅读(12821) 评论(0) 推荐(1)
摘要:已发帖至:http://bbs.21ic.com/viewthread.php?tid=229192 关于菜农M0助学板(NUC120):http://bbs.21ic.com/iclist-78.html 使用串口0的接收中断,来控制闪灯类型。上电缺省不开灯。 发1,1Hz亮灭灯,占空比为50%; 发2,1.25Hz呼吸灯,占空比自己算; 发q,关灯 main.h#ifndef __MAIN_H__#define __MAIN_H__#include <stdio.h>/******************************************************* 阅读全文
posted @ 2011-04-10 17:44 _安德鲁 阅读(3547) 评论(1) 推荐(1)
摘要:准备资料1 触摸屏控制芯片ADS7843中文资料[1]_百度文库2 触摸屏原理与分类_百度文库3 [原创].触摸屏滤波的一点心得4 [笔记].如何使用Nios II的中断:PIO中断与定时器中断操作步骤步骤1 将ADS7843的驱动文件夹加入APP路径中 步骤2 编写ADS7843的驱动我们先看下触摸屏芯片采样的坐标与TFT-LCD显示的坐标的区别和联系。图中的TFT-LCD方向为所定义方向,亦即#define ID_AM 110其XY坐标与ADS7843采样之坐标翻了。故ADS7843采样及滤波之后,需要把XY坐标翻回来。此外我们可以看到TFT-LCD显示区域是触摸屏采样芯片采样区域的子集, 阅读全文
posted @ 2010-12-29 11:35 _安德鲁 阅读(4717) 评论(11) 推荐(6)
摘要:实在很抱歉,时间紧张,我只讲怎样从SD卡内读取bin文件(二进制文件),然后现在TFT-LCD上。准备工具1. Image2Lcd.zip操作步骤 步骤1 寻找或制作240x320的图片简单起见,我在谷歌图片里搜索240x320手机壁纸。随便选2张作为样本。 步骤2 使用Image2Lcd将图片转换为bin文件我们先算一下,每个像素需要高8位+低8位,即16位数据,也就是2Byte;那么一张图片的话,就是240*320*2=15, 3600 Byte = 150 KB。使用Image2Lcd依次打开图片,勾上如下所示的选项,保存为bin文件。 将生成的2个bin文件,拷贝到SD内的任意目录,比 阅读全文
posted @ 2010-12-27 22:59 _安德鲁 阅读(5126) 评论(1) 推荐(3)
摘要:准备资料[整理].ILI9325 TFT驱动中文资料编写驱动程序步骤1 将ili9325的文件夹加入APP路径 步骤2 编写驱动文件时间比较紧张,我就贴出来代码,挑重点的讲几句。代码2.1 ili932x.h注意第19~20行,定义两个宏来操纵8位DB双向总线的方向。代码2.2 ili_932x.c注意几个地方:1. 初始化函数内的void ili_Initial(void)的硬件复位,nRST一定要拉低足够长时间再拉高,此处取1ms,否则会出现白屏现象。2. 为了减少DB双向总线的方向切换次数及打开关闭nCS片选的此处,每次操作中只设定一次DB方向,且只打开关闭片选一次。比方在初始化函数内 阅读全文
posted @ 2010-12-27 21:23 _安德鲁 阅读(4184) 评论(2) 推荐(5)
摘要:整理自 weif40423p的帖子:TFT 9325驱动学习(版权系ourdev和weif40423p共同所有) TFT 9325驱动学习 1、寄存器 03H AM : 控制GRAM更新方向的控制位 AM = 0: 在水平方向更新地址 AM = 1: 在垂直方向更新地址 这个地方对AM的选择将直接影响img2lcd软件的扫描方式控制项,这一位就是控制扫描方式的。I/D[1:0] : 当更新显示区域... 阅读全文
posted @ 2010-12-06 15:36 _安德鲁 阅读(16027) 评论(0) 推荐(2)
摘要:引子最近在编写Nios II的触摸屏驱动,TFT的驱动器为ILI9325,触摸AD为ADS9325。无论是轮询的方式抑或中断的方式,都会出现令人讨厌的散点。经过在SOPC技术联盟群的讨论,达克斯特兄给我一点启示,让我成功消除了散点。第1种尝试 中位值平均滤波法首先移植的是liujun6037的代码,他的代码思路为:对X、Y的坐标连续采样十次;不足十次则认为数据无效,不做任何操作;然后对十次数据进行排序;最后取中间三次的数据进行平均,得到最终的X、Y坐标。不同的是,我把冒泡排序换成我常用的选择排序,其实还是O(n^2)。其效果如图1所示。可以清楚地看到,本次尝试很失败,有很多莫名其妙的散点。代码 阅读全文
posted @ 2010-11-28 15:27 _安德鲁 阅读(3283) 评论(3) 推荐(6)
摘要:VGA Signal Timinghttp://www.tinyvga.com/vga-timing 阅读全文
posted @ 2010-07-02 01:09 _安德鲁 阅读(787) 评论(0) 推荐(2)
摘要:转AIHHLI 咚冬兄的帖子:http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=3936904转者注:AIHHLI 咚冬兄写得比较生动,值得一读;对其他的点阵屏的研究有很大的参考价值。基于ST7920控制的12864液晶用于字符显示很方便的,但网友说用它显示图形并不合适,原因就是它绘图时先要关闭显示,绘完后又要打开,速度会较慢。我没有用过别的液晶,手中只有这一款,摆弄了几天,掌握了一点东西,写出来共享。 首先,我们知道,图形都是由像素点组成的,绘图的基础其实就是画点。只要我们能点亮液晶的任意一个像素点,那么绘图就不是什么难事了。万丈高楼平地起嘛,先 阅读全文
posted @ 2010-06-17 21:10 _安德鲁 阅读(4819) 评论(1) 推荐(2)
摘要:引子在Nios II上调了好几天的I2C,PCF8563都没有被正常驱动,很是伤感。干脆先用51驱动试试。首先要解决的便是显示问题,用Max7129来驱动七段数码管。仿真环境硬件部分:Proteus 7.5 SP3软件部分:Keil uVision4Proteus仿真图 图1 Proteus仿真图Keil工程图2 Keil工程源代码main.c#include "max7219.h"int main(void){ Max7219_Init(); while(1) { Max7219_WriteData(1, 2); Max7219_WriteData(2, 0); Max7 阅读全文
posted @ 2009-12-11 10:24 _安德鲁 阅读(3984) 评论(0) 推荐(1)