tm1650 - tm1650 数码管和按键扫描芯片#
适配状态未知
备注
本页文档由这个文件自动生成。如有错误,请提交issue或帮忙修改后pr,谢谢!
示例
--注意:
--1、tm1650驱动的数码管应该选用共阴数码管
--2、tm1650也可以驱动LED,如果是LED,则应该将LED连接成共阴数码管内部相同的电路
--3、支持按键扫描,此模式下tm1650的DP/KP引脚为中断输出引脚
--=========按键扫描例子==========
local function tm1650_kcb(key_code)
log.info('tm1650 user cb,key code=',string.format("%02X",key_code))
end
sys.taskInit(function()
tm1650.init(pin.PB06,pin.PB07,tm1650.MODE_KEY_INPUT,pin.PB08,tm1650_kcb)
while 1 do
sys.wait(2000)
end
end)
--==========数码管显示例子===========
sys.taskInit(function()
--共阴段码表,0~9的数字
local NUM_TABLE_AX = {
[0]=0x3f,[1]=0x06,[2]=0x5b,[3]=0x4f,[4]=0x66,
[5]=0x6d,[6]=0x7d,[7]=0x07,[8]=0x7f,[9]=0x6f
};
tm1650.init(pin.PB06,pin.PB07,tm1650.MODE_LED_OUTPUT)
while 1 do
for i = tm1650.DIG1, tm1650.DIG4, 1 do
tm1650.print(i,NUM_TABLE_AX[6])
sys.wait(500)
end
sys.wait(1000)
for i = tm1650.BRIGHT1, tm1650.BRIGHT8, 1 do
tm1650.setBright(i)
sys.wait(500)
end
for i = 1, 8, 1 do
sys.wait(500)
tm1650.close()
sys.wait(500)
tm1650.open()
end
sys.wait(2000)
tm1650.clear()
end
end)
tm1650.init(scl_pin,sda_pin,mode,irq_pin,key_cb)#
TM1650初始化,根据mode参数可以设置为数码管显示或者按键扫描模式
参数
传入值类型 |
解释 |
---|---|
number |
scl_pin,定义了时钟线驱动引脚 |
number |
sda_pin,定义了数据线驱动引脚 |
number |
mode,定义了工作模式,tm1650.MODE_LED_OUTPUT,数码管LED驱动模式;tm1650.MODE_KEY_INPUT,按键检测模式 |
number |
irq_pin,定义按键中断引脚 |
function |
key_cb,按键用户回调函数,此函数有一个number类型参数,为按下的按键的按键代码 |
返回值
无
例子
tm1650.init(pin.PB06,pin.PB07,tm1650.MODE_LED_OUTPUT) --数码管显示模式
tm1650.init(pin.PB06,pin.PB07,tm1650.MODE_KEY_INPUT,pin.PB08,tm1650_kcb) --按键扫描模式
tm1650.setBright(bri)#
设置TM1650的显示亮度,此操作不影响显存中的数据
参数
传入值类型 |
解释 |
---|---|
number |
亮度参数,取值为tm1650.BRIGHT1~tm1650.BRIGHT8 |
返回值
无
例子
tm1650.setBright(tm1650.BRIGHT8)
tm1650.open()#
打开TM1650的显示,此操作不影响显存中的数据
参数
无
返回值
无
例子
tm1650.open()
tm1650.close()#
关闭TM1650的显示,此操作不影响显存中的数据
参数
无
返回值
无
例子
tm1650.close()
tm1650.print(dig,seg_data)#
向TM1650的一个指定的位对应的显存发送指定的段数据进行显示
参数
传入值类型 |
解释 |
---|---|
number |
dig,定义位选参数,取值为tm1650.DIG1~tm1650.DIG4 |
number |
seg_data,定义段数据参数 |
返回值
无
例子
tm1650.print(tm1650.DIG1,0x3f)
tm1650.clear()#
清除TM1650的所有位对应的显存数据,即全部刷写为0
参数
无
返回值
无
例子
tm1650.clear()