上个月,我回顾了amicus18开发板,它是具有pic微控制器的arduino风格的平台。 amicus18板与arduino屏蔽板物理兼容。但是,板上的默认pic处理器为3.3 v类型,在连接一些严格在+ 5v电压下运行的屏蔽时可能会出现问题。作为对amicus18开发板用户的支持,来自荷兰的gevo electronics设计了一种特殊的防护罩,名为 amipic18 lcd 。虽然名称说它是lcd屏蔽,但实际上它提供了许多功能,我们将在本文中进行探讨。
gevo的amipic18 lcd屏蔽电子产品
下图显示了amipic18 lcd防护罩。除lcd显示屏外,该防护罩还提供了四个轻触开关,一个温度开关。传感器(tc74),串行eeprom(24lc256)和带有备用电池(cr1220)支架的实时时钟ic(ds1307z),使其成为在amicus18板上进行实验的理想选择。利用板上提供的所有这些功能,您可以轻松地将此屏蔽层变成温度数据记录器项目。
amipic18 lcd屏蔽pcb
屏蔽层共有24个母头插针,用于接收lcd显示屏。您可能想知道为什么它有这么多用于lcd连接的引脚。这是因为用于此屏蔽的lcd显示器是electronic assembly dog系列lcd模块中的一种,该模块使用st7036控制器/驱动器芯片。这是我对此盾牌最喜欢的功能之一。 st7036的指令集与hd44780兼容。此外,它还提供了基于hd44780的lcd所没有的许多其他功能。例如,可以将其配置为通过与微控制器的串行(spi)接口驱动点矩阵lcd。同样,st7036驱动程序提供lcd命令以调整显示对比度。这不是很酷的功能吗?有关st7036显示驱动器的更多详细信息,请参见数据表。
带有16x2字符lcd的amipic18 lcd防护板
板上的连接
下图显示了堆叠在amicus18板上的amipic18 lcd屏蔽层。屏蔽层上的lcd引脚经过硬接线,以4位模式工作。数据引脚(d4-d7)连接到rb4-rb7端口引脚,而控制信号rs(寄存器选择)和e(使能)分别由pic18f25k20微控制器的rb2和rb3引脚驱动。屏蔽板上的tc74、24lc256和ds1307z器件均兼容i2c,并连接到i2c端口引脚rc3(scl)和rc4(sda)。四个轻触开关转到porta引脚(ra0-ra3)。 rb1引脚用于控制lcd背光。 rb1的逻辑高电平打开背光,逻辑低电平将其关闭。可以通过在rb1端口引脚上生成pwm(脉冲宽度调制)信号来改变背光强度。
lcd屏蔽已插入进入amicus18开发板
如果您在amicus18板上使用5.0 v器件(pic18f25k22),则仍可以使用此lcd屏蔽,因为它还提供了板上跳线(jp1 ),以选择3.3 v和5.0 v之间的电源。
软件
在这里,我已经在 proton basic中编写了一些演示程序 strong》测试st7036显示驱动器的lcd对比度设置命令。程序从tc74传感器读取环境温度并将其显示在lcd上。连接到ra0和ra1引脚的两个轻触开关将允许您增加或减小lcd显示屏的对比度。
‘ program for testing lcd contrast adjustment through firmware
’ using amipic18 lcd shield
contrast var byte
contrastset var byte
symbol backlight = portb.1 ‘ backlight on/off switch
symbol sw_1 = porta.0 ’ down contrast
symbol sw_2 = porta.1 ‘ up contrast
symbol sda = portc.4 ’ i2c data line
symbol scl = portc.3 ‘ i2c clk line
symbol tc74_address = %10011000 ’ address for tc74a4
dim temperature as byte
lcd_dtpin = portb.4 ‘ lcd’s data lines (d4 to d7)
lcd_enpin = portb.3 ‘ lcd’s en line
lcd_rspin = portb.2 ‘ lcd’s rs line
lcd_interface = 4 ‘ 4-bit interface to lcd
lcd_lines = 2 ’ lcd contains 2 lines
lcd_type = alphanumeric ‘ lcd type is alphanumeric
delayms 500
’ st7036 controller has slightly different initialization
print $fe, $29 ‘ 4-bit mode,
print $fe, $14 ’ bias set
print $fe, $55 ‘ power/icon/control
print $fe, $6d ’ follower control
print $fe, $78 ‘ contrast set : c3,c2,c1,c0 bits of contrast
contrast = 5
contrastset = $70 + contrast
print $fe, contrastset
high backlight
cls ’ clear the lcd‘s screen
print at 1, 1, “ami18 lcd shield”
start:
i2cin sda, scl, tc74_address, [temperature]
print at 2, 1, “t = ”, dec temperature,“ ”, %11011111, “c”
if sw_1 = 0 then
if contrast 》 0 then contrast = contrast - 1;
contrastset = $70 + contrast
print $fe, contrastset
endif
if sw_2 = 0 then
if contrast 《 10 then contrast = contrast + 1;
contrastset = $70 + contrast
print $fe, contrastset
endif
delayms 300
goto start
编译以上程序,并使用amicus18将其加载到amicus18 mcu中ide。重置后,您将在屏幕上看到温度读数,如下所示。按s1减小,按s2增强显示对比度。显示质量真的很棒。
从tc74传感器读取的温度(全对比度)
通过固件进行lcd对比度调整
哪五大方面将会影响到FPC软板阻抗控制线路的阻值
自动化测试技术发展趋势展望[图]
智能型的铅酸蓄电池管理系统
英特尔CEO科再奇:业内第一个神经网络处理器发布 以创新技术推进人工智能发展
中国蓄电池电池企业
AmiPIC18 LCD防护罩的介绍
吉利的新电动车平台迎来SmartCore集成座舱域控制器
电缆是软的吗 电缆和电线怎样区分
【聚焦全国人大】电力体制改革将全面升级
商飞被制裁,我们的航空制造业还有哪些课要补?
打破世界纪录 效率接近50%的太阳能电池
微雪电子10.1寸树莓派显示屏 介绍
百度 AR:六大行业解决方案,助力产业智能化升级
摄像头的安全隐患如何去解决
TN-S供电系统的特点
FP7195芯片双色转模拟无频闪调光应用:智能家居无主灯照明磁吸轨道灯驱动方案
康奈尔大学蜂群无人机在编队飞行时动态可避开障碍物
广播域和VLAN之间到底有着什么关系呢?
2021华为开发者大会受益公司
飞利浦3D高清电视采用XpanD主动式3D眼镜