51单片机驱动TM1640
时间: 2023-08-27 14:09:20 浏览: 133
51单片机可以通过控制TM1640的两个IO口来实现对其的驱动。具体的驱动过程可以通过以下代码实现:
void model (uint k) {
if (k) {
TM1640_start ();
send_byte (0x40);//自动加一
TM640_stop ();
} else {
TM1640_start ();
send_byte (0x44);//固定地址
TM1640_stop ();
}
}
void send_byte (uint num) {
uint q;
for (q= 8;q>0;q--) {
CLK = 0;
if (num&0x01) {
DIN = 1;
delay_ms (5);
} else {
DIN = 0;
delay_ms(5);
}
CLK = 1;
num = num>>1;
}
delay_um (5);
}
以上代码中,model函数用于选择TM1640的模式,通过传入参数k来选择自动加一模式还是固定地址模式。send_byte函数用于传输数据给TM1640,具体的传输过程是将一个八位数据拆分为单个数据进行单个传输,共传输8次,完成一个数据的传输。通过控制CLK和DIN两个IO口的电平变化来实现数据的传输。
#### 引用[.reference_title]
- *1* *2* *3* [TM1640的驱动及代码](https://blog.csdn.net/weixin_50708581/article/details/110730368)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文