linux 模拟i2c驱动配置,51CTO博客-专业IT技术博客创作平台-技术成就梦想

****/

252 void hd1650_init(void)

253 {

254 hd1650_sendcmd(CMD_8SEGON);

255

256 / clear 4 segment /

257 hd1650_sendcmd(CMD_DIG0(0x00));

258 hd1650_sendcmd(CMD_DIG1(0x00));

259 hd1650_sendcmd(CMD_DIG2(0x00));

260 hd1650_sendcmd(CMD_DIG3(0x00));

261 }

262

263 unsigned char asc2code(unsigned char src)

264 {

265

266 if(src <= 9)

267 return TM_NUM[src];

268 else if(src >= '0' && src <= '9')

269 return TM_NUM[src - '0'];

270 else if(src >= 'a' && src <= 'z')

271 return TM_CHAR[src - 'a'];

272 else if(src >= 'A' && src <= 'Z')

273 return TM_CHAR[src - 'A'];

274 else

275 return 0;

276

277 }

278

279 /data : 0-6

280 pos: 2

281 dot_flag:数码管的点的亮灭/

282 void hd1650_show_each(unsigned char data, unsigned char pos,unsigned char dot_flag)

283 {

284 unsigned char tmpData;

285 //tmpData = asc2code(data);

286 switch(pos)

287 {

288 case 1:

289 hd1650_sendcmd(CMD_DIG0(tmpData));

290 break;

291 case 2:

292 if(dot_flag)

293 hd1650_sendcmd(CMD_DIG1(tmpData|0x80));

294 else

295 //hd1650_sendcmd(CMD_DIG1(tmpData&0x7f));

296 hd1650_sendcmd(CMD_DIG1(data));

297 break;

298 case 3:

299 hd1650_sendcmd(CMD_DIG2(tmpData));

300 break;

301 case 4:

302 hd1650_sendcmd(CMD_DIG3(tmpData));

303 break;

304 }

305 }

306

307

308

309 unsigned char hd1650_getkey(unsigned charkey)

310 {

311 unsigned char tmp = 0;

312

313

314 tmp = hd1650_sendcmd( CMD_GETKEY );

315

316 if((tmp & 0x40)== 0)

317 tmp = 0x2e;

318

319 if( key )

320 key = tmp;

321

322 return tmp;

323 }

324

325

326

327 /

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值