完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
u8 LCD_buff[8];
u8 scan_index; /****************** LCD段码扫描函数 ***************************/ u8 code T_COM[4]={0x08,0x04,0x02,0x01}; void LCD_scan(void) //5us @22.1184MHZ { u8 j; j = scan_index >> 1; P2n_pure_input(0x0f); //全部COM输出高阻, COM为中点电压 if(scan_index & 1) //反相扫描 { P1 = ~LCD_buff[j]; // P2 = ~(LCD_buff[j|4] & 0xf0); } else //正相扫描 { P1 = LCD_buff[j]; P2 = LCD_buff[j|4] & 0xf0; } P2n_push_pull(T_COM[j]); //某个COM设置为推挽输出 if(++scan_index >= 8) scan_index = 0; } /* MCU PIN P17 P16 P15 P14 P13 P12 P11 P10 P27 P26 P25 P24 P23 P22 P21 P20 LCD PIN 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 -- 1D 2: 2D 2. 3D 4: 4D 4. 5D 5. 6D COM3 1E 1C 2E 2C 3E 3C 4E 4C 5E 5C 6E 6C COM2 1G 1B 2G 2B 3G 3B 4G 4B 5G 5B 6G 6B COM1 1F 1A 2F 2A 3F 3A 4F 4A 5F 5A 6F 6A COM0 B7 B6 B5 B4 B3 B2 B1 B0 buff[0]: -- 1D 2: 2D 2. 3D 4: 4D buff[1]: 1E 1C 2E 2C 3E 3C 4E 4C buff[2]: 1G 1B 2G 2B 3G 3B 4G 4B buff[3]: 1F 1A 2F 2A 3F 3A 4F 4A buff[4]: 4. 5D 5. 6D -- -- -- -- buff[5]: 5E 5C 6E 6C -- -- -- -- buff[6]: 5G 5B 6G 6B -- -- -- -- buff[7]: 5F 5A 6F 6A -- -- -- -- */ 以上是段码液晶的段码扫描函数部分,我想问的是LCD_buff这个数组如何在扫描后变成buff[0~7]这几个数组并能分别控制各个段码的,有点想不明白 |
|
相关推荐
2个回答
|
|
LCD_buff应该是有初始化的,每次从LCD_buff[j]取值赋予P1口,LCD_buff[j|4]取值赋予P2口(低四位清0)
最佳答案
|
|
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
2024年上海海思MCU开发者体验官招募,手机/MatePad大奖等你拿!
341 浏览 0 评论
【xG24 Matter开发套件试用体验】蓝牙控制板载LED
405 浏览 0 评论
506 浏览 0 评论
电赛:mspm0l1306的开发板可以烧录程序,但是程序运行不了,怎么解决这个问题?
857 浏览 1 评论
【xG24 Matter开发套件试用体验】Silicon Labs 基于 EFR32MG24 Explorer Kit 开发板 开箱试用体验
726 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
10488 浏览 31 评论
浏览过的版块 |
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-3 22:17 , Processed in 0.598227 second(s), Total 73, Slave 56 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191