久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
TM1637驅動程序
[打印本頁]
作者:
a18075128066
時間:
2021-8-14 03:40
標題:
TM1637驅動程序
#include //包含52單片機頭文件
#include "Delay.h"
////////////////////////////////////////////////////////////////////////////
sbit I2C_SCL = P2^1; //定義模擬IIC總線的時鐘線
sbit I2C_SDA = P2^0; //定義模擬IIC總線的數(shù)據(jù)線
#define TM1637_BRIGHTNESS 7 // 0 - 7
////////////////////////////////////////////////////////////////////////////
void I2C_delay()
{
nop_();
}
void I2C_start()
{
I2C_SCL = 1;
I2C_SDA = 1;
I2C_delay();
I2C_SDA = 0; // 時鐘線設置為常態(tài),低電平。
}
/*
I2C 總線寫1個字節(jié)
不包含應答位的檢測
*/
void I2C_write_byte(char byte_to_write)
{
unsigned char i;
for(i=0; i>= 1;
}
return;
}
void I2C_check_ack()
{
// I2C 檢查應答位,實際未檢查,只發(fā)送了應答位時鐘,認為TM1637工作正常
I2C_SCL = 0;
I2C_delay();//在第八個時鐘下降沿之后延時5us,開始判斷ACK 信號
while(I2C_SDA)
{
;
}
I2C_SCL = 1;
I2C_delay();
I2C_SCL=0;
}
void I2C_send_ack()
{
I2C_SDA = 0;
I2C_delay();
I2C_SCL = 1;
I2C_delay();
I2C_SCL = 0;
I2C_delay();
I2C_SDA = 1;
I2C_delay();
}
void I2C_stop()
{
I2C_SCL = 0;
I2C_delay();
I2C_SDA = 0;
I2C_delay();
I2C_SCL = 1;
I2C_delay();
I2C_SDA = 1;
}
///////////////////////////////////////////////////////////////////////////
//
// TM1637模塊操作函數(shù)
//
//////////////////////////////////////////////////////////////////////////
void TM1637_write_command_byte(unsigned char command)
{
I2C_start();
I2C_write_byte(command);
I2C_check_ack();
I2C_stop();
}
// bright : 0 - 7
void TM1637_display_switch_and_bright(bit enable_display, unsigned char bright)
{
TM1637_write_command_byte(0x80 + (enable_display ? 0x08 : 0x00) + bright);
}
void TM1637_write_display_bytes(unsigned char first_addr,
unsigned char bytes_to_write[],
unsigned char num_of_bytes)
{
unsigned char i;
I2C_start();
I2C_write_byte(0x40);
I2C_check_ack();
I2C_stop();
I2C_start();
I2C_write_byte(0xC0 + first_addr);
I2C_check_ack();
for(i=0; i<num_of_bytes; i++)
{
I2C_write_byte(bytes_to_write[i]);
I2C_check_ack();
}
I2C_stop();
}
// addr: 0 - 5
void TM1637_write_display_byte(unsigned char addr, unsigned char segments)
{
I2C_start();
I2C_write_byte(0x40 + addr);
I2C_check_ack();
I2C_stop();
I2C_start();
I2C_write_byte(0xC0 + addr);
I2C_check_ack();
I2C_write_byte(segments);
I2C_check_ack();
I2C_stop();
}
code unsigned char TM1637_SEG_TAB[] =
{
0x3F // 00111111 0
,0x06 // 00000110 1
,0x5B // 01011011 2
,0x4F // 01001111 3
,0x66 // 01100110 4
,0x6d // 01101101 5
,0x7d // 01111101 6
,0x07 // 00000111 7
,0x7F // 01111111 8
,0x6F // 01101111 9
,0x77 // 01110111 A
,0x7C // 01111100 b
,0x39 // 00111001 C
,0x5E // 01011110 d
,0x79 // 01111001 E
,0x71 // 01110001 F
};
void TM1637_show_digit(unsigned char pos, unsigned char digit, bit with_dot)
{
TM1637_write_display_byte(pos, TM1637_SEG_TAB[digit] | (with_dot ? 0x20 : 0x00));
}
void TM1637_init()
{
unsigned char i;
TM1637_display_switch_and_bright(1, TM1637_BRIGHTNESS);
for(i=0; i<6; i++)
{
TM1637_write_display_byte(i, 0xFF);
}
Delay200ms();
for(i=0; i<6; i++)
{
TM1637_write_display_byte(i, 0x00);
}
Delay200ms();
for(i=0; i<6; i++)
{
TM1637_write_display_byte(i, 0xFF);
}
Delay200ms();
for(i=0; i<6; i++)
{
TM1637_write_display_byte(i, 0x00);
}
Delay200ms();
}
void TM1637()
{
unsigned char seg;
unsigned char i, j;
TM1637_init();
while(1)
{
for(i=0; i<16; i++)
{
for(j=0; j<6; j++)
{
TM1637_show_digit(j, i, 0);
}
Delay1s();
}
}
歡迎光臨 (http://m.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
黄视频网站在线观看
|
成人在线免费视频观看
|
青青草视频污
|
狠狠干免费视频
|
99热99
|
亚洲精品久久久久久久久久久
|
国产三级午夜理伦三级
|
国产精品一级二级三级
|
欧美一级黄色大片
|
日本黄色免费
|
69精品视频
|
亚洲精品xxx
|
在线观看国产小视频
|
国产精品入口66mio男同
|
日韩视频在线免费观看
|
亚洲精品三区
|
亚洲精品一区二区三区蜜桃久
|
狠狠操综合网
|
可以免费看的毛片
|
亚洲免费专区
|
久久精品欧美一区二区三区不卡
|
午夜视频在线播放
|
国产精品第二页
|
黄色片国产
|
国产伊人久久
|
99久久久国产精品
|
国产精品久久久久久无人区
|
综合激情网站
|
欧美顶级黄色大片免费
|
伊人综合影院
|
国产精品久久久久久久久久久久久
|
亚洲综合成人网
|
日韩精品二区
|
日韩一区二区三免费高清在线观看
|
国产精品二区在线观看
|
国产三级在线播放
|
22精品一区二区三区
|
国产精品福利视频
|
亚洲天堂久久久
|
91免费福利
|
蜜桃91丨九色丨蝌蚪91桃色
|