在线时间613 小时
UID252169
注册时间2010-12-5
NXP金币0
TA的每日心情 | 开心 2019-2-14 16:49 |
---|
签到天数: 296 天 连续签到: 1 天 [LV.8]以坛为家I
金牌会员
 
- 积分
- 4473
- 最后登录
- 2020-4-14
|
实验七 驱显8位并口的彩色LCD
这是一个独立的实验,为了完成LPC824并口处理能力而设计的实验。
在看了手册和MBED工程相关的文档后感觉可以走并行输出的并口LCD应用,先打开BusOut.h,其中的一段开始让人头疼了一下,后来经过实验已经体会了,就是这句:
BusOut(PinName p0, PinName p1 = NC, PinName p2 = NC, PinName p3 = NC,
PinName p4 = NC, PinName p5 = NC, PinName p6 = NC, PinName p7 = NC,
PinName p8 = NC, PinName p9 = NC, PinName p10 = NC, PinName p11 = NC,
PinName p12 = NC, PinName p13 = NC, PinName p14 = NC, PinName p15 = NC);
BusOut(PinName pins[16]);
现在理解是这样的,如果你需要定义一条8位的BUS,那么对象是这样定义的:
BusOut myBus(P0_0,P0_1,P0_2,P0_3,P0_4,P0_5,P0_6,P0_7);
此后,myBus就是你的8位并口数据了,直接赋值即可。
定义16位的[最大就是16位的,如果超出将会报错!],就像如下定义:
BusOut myBus(P0_0,...,P0_28);//里面最多16个P0_xx!!!
需要注意的是有些IO口是不能定义为BUS的,这点需要注意,我在定义过程中就发现P0_10,P0_11就不能作为BUS定义。本实验仅仅是为了学习如何定义并口输出。
下边将8位并口+5根控制线的1.5寸彩色LCD照片放上,仅供证实。
可以感觉的到,LPC824的IO口速度不是够快,在黑白刷屏中就能看到清除痕迹,在128X128的彩色中刷屏可以说是0.x秒,大约0.5秒吧——当然是全彩清屏。手册上有Fast BUS,说可以达到访问15MHz的速率,至少目前的状况是远远达不到的128X128X65536色,满屏大约需要4M+/秒,因此虚拟并口的速度不尽人意,但是给了一种并口解决方案。
本实验程序很简单,将串口改成并口原来的并改串语句改成直接向myBus并口赋值即可,程序简单多了,这里就不给源代码了,实际驱动128X128点阵,65536色彩,8位并口1.5寸LCD的效果见图71。
|
-
71-并口彩色LCD驱显
|