久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
MSP430實現定時器的源程序
[打印本頁]
作者:
達達君
時間:
2018-11-30 22:00
標題:
MSP430實現定時器的源程序
該程序使用到了TM1638,附件中有。
(上一篇文章中的程序包含了此程序的公共代碼部分,但是我忘了把 tm1638.h 放到附件里面了,這次補上)
定時器初值設為00:02:15,結束后重置為23:59:59
源の代碼:
#include
"TM1638.h"
#include
"msp430f6638.h"
#include
"stdint.h"
uint8_t
num[
8
];
//各個數碼管顯示的值
uint8_t
led_flag[
8
];
const
uint8_t
tab[]
=
{
0x3F
,
0x06
,
0x5B
,
0x4F
,
0x66
,
0x6D
,
0x7D
,
0x07
,
0x7F
,
0x6F
,
0x77
,
0x7C
,
0x39
,
0x5E
,
0x79
,
0x00
};
void
init_port
(
void
)
{
P3DIR
|=
BIT5;
P3DIR
|=
BIT4
+
BIT2;
P1DIR
|=
BIT0;
// ACLK set out to pins
P1SEL
|=
BIT0;
}
const
uint8_t
tab2[]
=
{
0x3F
,
0x06
,
0x5B
,
0x4F
,
0x66
,
0x6D
,
0x7D
,
0x07
,
0x7F
,
0x6F
,
0x77
,
0x7C
,
0x39
,
0x5E
,
0x79
,
0x71
};
void
TM1638_Write
(
unsigned
char
DATA)
//寫數據函數
{
unsigned
char
i;
DIO_OUT;
for
(i
=
0
;i
<
8
;i
++
)
{
CLK_low;
if
(DATA
&
0x01
)
DIO_high;
else
DIO_low;
CLK_high;
DATA
>>=
1
;
}
}
unsigned
char
TM1638_Read
(
void
)
//讀數據函數
{
unsigned
char
i;
unsigned
char
temp
=
0
;
DIO_IN;
STB_low;
for
(i
=
0
;i
<
8
;i
++
)
{
temp
>>=
1
;
CLK_low;
_delay_us
(
100
);
if
(DIO_READ)
temp
|=
0x80
;
else
temp
&=
0x7f
;
CLK_high;
}
return
temp;
}
void
Write_COM
(
unsigned
char
cmd)
//發送命令字
{
CLK_high;
STB_high;
STB_low;
TM1638_Write
(cmd);
STB_high;
}
void
Write_DATA
(
unsigned
char
add,
unsigned
char
DATA)
//指定地址寫入數據
{
Write_COM
(
0x44
);
STB_low;
TM1638_Write
(
0xc0
|
add);
TM1638_Write
(DATA);
STB_high;
}
void
init_TM1638
(
void
)
{
unsigned
char
count
=
0
;
unsigned
char
times
=
1
;
while
(times
--
){
Write_allLED
(tab2[count]);
count
++
;
if
(count
==
16
)
count
=
0
;
_delay_ms
(
100
);
}
Write_allLED
(
0xff
);
_delay_ms
(
100
);
Write_allLED
(
0
);
}
void
delay
(){
for
(
int
i
=
0
; i
<
10
; i
++
)
for
(
int
j
=
0
; j
<
1000
; j
++
);
}
void
Write_allLED
(
unsigned
char
DATA){
unsigned
char
i;
Write_COM
(
0x8F
);
//顯示控制
Write_COM
(
0x40
);
//數據命令
STB_low;
TM1638_Write
(
0xc0
);
for
(i
=
0
;i
<
16
;i
++
)
TM1638_Write
(DATA);
STB_high;
}
int
main
(
void
)
{
WDTCTL
=
WDTPW
+
WDTHOLD;
init_port
();
init_TM1638
();
int
hourA
=
0
;
int
hourB
=
0
;
int
minuteA
=
0
;
int
minuteB
=
2
;
int
secondA
=
1
;
int
secondB
=
5
;
while
(
1
) {
secondB
--
;
if
(secondB
==
-
1
) {
secondB
=
9
;
secondA
--
;
if
(secondA
==
-
1
) {
secondA
=
5
;
minuteB
--
;
if
(minuteB
==
-
1
) {
minuteB
=
9
;
minuteA
--
;
if
(minuteA
==
-
1
) {
minuteA
=
5
;
hourB
--
;
if
(hourB
==
-
1
) {
hourB
=
9
;
hourA
--
;
if
(hourA
==
-
1
) {
hourA
=
2
;
hourB
=
3
;
}
}
}
}
}
}
Write_DATA
(
4
*
2
,tab[hourA]);
Write_DATA
(
5
*
2
,tab[hourB]);
Write_DATA
(
6
*
2
,tab[
15
]);
Write_DATA
(
7
*
2
,tab[minuteA]);
Write_DATA
(
0
*
2
,tab[minuteB]);
Write_DATA
(
1
*
2
,tab[
15
]);
Write_DATA
(
2
*
2
,tab[secondA]);
Write_DATA
(
3
*
2
,tab[secondB]);
delay
();
}
}
sy2-3-1.zip
2018-11-30 22:42 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
1.94 KB, 下載次數: 7, 下載積分: 黑幣 -5
定時器
作者:
達達君
時間:
2018-11-30 22:17
補充說明一下,主函數中的delay是我自己寫的,是為了便于調試,并沒有真正起到延時1s的作用
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
一区二区三区四区免费在线观看
|
青青久久av北条麻妃海外网
|
精品一区二区三区电影
|
一级片在线观看
|
亚洲品质自拍视频
|
亚洲成人免费在线
|
精品久
|
国产一区二区三区在线免费
|
成人免费在线播放视频
|
国产精品成人品
|
欧美区在线
|
日本成人中文字幕在线观看
|
亚洲午夜三级
|
日韩精品一区二区三区免费视频
|
亚洲国产精品一区二区www
|
亚洲国产精品人人爽夜夜爽
|
欧美色图另类
|
中文字幕av一区二区三区
|
欧美精品久久久久久久久老牛影院
|
91免费视频观看
|
亚洲网站在线观看
|
在线免费观看色
|
99热这里都是精品
|
欧美精品一区二区在线观看
|
中文字幕亚洲在线
|
妖精视频一区二区三区
|
亚洲第一女人av
|
蜜桃av一区二区三区
|
久久久激情
|
五月天婷婷激情
|
久久久久久国模大尺度人体
|
久久久久久黄
|
精品视频在线播放
|
欧美激情一区二区三级高清视频
|
婷婷丁香激情
|
一区二区高清在线观看
|
国产精品久久久亚洲
|
日韩一区二区在线视频
|
中文字幕在线人
|
亚洲国产日韩一区
|
国产女人与拘做视频免费
|