Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
E
Electronic design
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Packages
Packages
List
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issues
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
FineL
Electronic design
Commits
5d498236
Commit
5d498236
authored
Apr 10, 2024
by
FineL
😛
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
更新丑陋流水灯
parent
4ac17df0
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
445 additions
and
0 deletions
+445
-0
丑陋流水灯/1.c
丑陋流水灯/1.c
+91
-0
丑陋流水灯/2.c
丑陋流水灯/2.c
+118
-0
丑陋流水灯/4.c
丑陋流水灯/4.c
+133
-0
丑陋流水灯/main.c
丑陋流水灯/main.c
+103
-0
No files found.
丑陋流水灯/1.c
0 → 100644
View file @
5d498236
#include <msp430.h>
#include <stdint.h>
/**
* main.c
*/
uint8_t
total
=
0
;
uint8_t
mode
=
0
;
uint8_t
cnt
=
0
;
int
main
(
void
)
{
WDTCTL
=
WDTPW
|
WDTHOLD
|
WDTNMI
|
WDTNMIES
;
// stop watchdog timer
IFG1
&=
~
NMIIFG
;
IE1
=
NMIIE
;
BCSCTL1
=
CALBC1_1MHZ
;
DCOCTL
=
CALDCO_1MHZ
;
//MCLK閸滃MCLK閸у洩顔曟稉锟�8MHz
BCSCTL3
|=
LFXT1S1
;
__bis_SR_register
(
GIE
);
__delay_cycles
(
1000
);
//缁涘绶熺粙鍐茬暰
P1DIR
|=
BIT2
|
BIT4
|
BIT6
|
BIT7
;
P2DIR
|=
BIT1
|
BIT2
|
BIT4
|
BIT5
;
P1DIR
|=
BIT0
;
P1OUT
|=
BIT0
;
TA0CTL
&=
~
TAIFG
;
TA0CTL
|=
TACLR
|
TASSEL_2
|
MC_1
|
TAIE
;
TA0CCR0
=
5000
;
while
(
1
){
switch
(
mode
){
case
0
:
switch
(
total
){
case
1
:
P1OUT
=
BIT2
|
BIT7
;
P2OUT
=
0
;
break
;
case
2
:
P1OUT
=
BIT2
|
BIT7
;
P2OUT
=
BIT1
;
break
;
case
3
:
P1OUT
=
BIT2
|
BIT7
;
P2OUT
=
BIT1
|
BIT4
;
break
;
case
4
:
P1OUT
=
BIT2
|
BIT7
;
P2OUT
=
BIT1
|
BIT4
|
BIT5
;
break
;
case
5
:
P1OUT
=
BIT2
|
BIT7
;
P2OUT
=
BIT1
|
BIT2
|
BIT4
|
BIT5
;
break
;
case
6
:
P1OUT
=
BIT2
|
BIT6
|
BIT7
;
P2OUT
=
BIT1
|
BIT2
|
BIT4
|
BIT5
;
break
;
case
13
:
P1OUT
=
BIT6
|
BIT7
;
P2OUT
=
BIT1
|
BIT2
|
BIT4
|
BIT5
;
break
;
case
14
:
P1OUT
=
BIT6
|
BIT7
;
P2OUT
=
BIT2
|
BIT4
|
BIT5
;
break
;
case
15
:
P1OUT
=
BIT6
|
BIT7
;
P2OUT
=
BIT2
|
BIT5
;
break
;
case
16
:
P1OUT
=
BIT6
|
BIT7
;
P2OUT
=
BIT2
;
break
;
case
17
:
P1OUT
=
BIT6
|
BIT7
;
P2OUT
=
0
;
break
;
default:
P1OUT
=
BIT7
;
P2OUT
=
0
;
break
;
}
if
(
total
<
13
&&
total
>
6
){
P1OUT
=
BIT2
|
BIT6
|
BIT7
;
P2OUT
=
BIT1
|
BIT2
|
BIT4
|
BIT5
;
}
break
;
case
1
:
switch
(
total
){
case
7
:
P1OUT
=
BIT2
|
BIT4
;
P2OUT
=
0
;
break
;
case
8
:
P1OUT
=
BIT2
|
BIT4
;
P2OUT
=
BIT1
;
break
;
case
9
:
P1OUT
=
BIT2
|
BIT4
;
P2OUT
=
BIT1
|
BIT4
;
break
;
case
10
:
P1OUT
=
BIT2
|
BIT4
;
P2OUT
=
BIT1
|
BIT4
|
BIT5
;
break
;
case
11
:
P1OUT
=
BIT2
|
BIT4
;
P2OUT
=
BIT1
|
BIT2
|
BIT4
|
BIT5
;
break
;
case
12
:
P1OUT
=
BIT2
|
BIT6
|
BIT4
;
P2OUT
=
BIT1
|
BIT2
|
BIT4
|
BIT5
;
break
;
case
19
:
P1OUT
=
BIT6
|
BIT4
;
P2OUT
=
BIT1
|
BIT2
|
BIT4
|
BIT5
;
break
;
case
20
:
P1OUT
=
BIT6
|
BIT4
;
P2OUT
=
BIT2
|
BIT4
|
BIT5
;
break
;
case
21
:
P1OUT
=
BIT6
|
BIT4
;
P2OUT
=
BIT2
|
BIT5
;
break
;
case
22
:
P1OUT
=
BIT6
|
BIT4
;
P2OUT
=
BIT2
;
break
;
case
23
:
P1OUT
=
BIT6
|
BIT4
;
P2OUT
=
0
;
break
;
default:
P1OUT
=
BIT4
;
P2OUT
=
0
;
break
;
}
if
(
total
<
19
&&
total
>
12
){
P1OUT
=
BIT2
|
BIT6
|
BIT4
;
P2OUT
=
BIT1
|
BIT2
|
BIT4
|
BIT5
;
break
;
}
break
;
}
}
return
0
;
}
#pragma vector= TIMER0_A1_VECTOR
__interrupt
void
TimeA0_ISR
(
void
)
{
if
(
TA0CTL
&
TAIFG
){
TA0CTL
&=
~
TAIFG
;
cnt
++
;
if
(
cnt
==
100
){
cnt
=
0
;
total
+=
1
;
P1OUT
^=
BIT0
;
if
(
total
==
25
)
total
=
0
;
}
switch
(
mode
){
case
0
:
mode
=
1
;
break
;
case
1
:
mode
=
0
;
break
;
default
:
mode
=
0
;
break
;
}
}
}
丑陋流水灯/2.c
0 → 100644
View file @
5d498236
#include <msp430.h>
#include <stdint.h>
/**
* main.c
*/
uint8_t
total
=
0
;
uint8_t
mode
=
1
;
uint16_t
cnt
=
0
;
uint8_t
pwm1
=
0
;
//TA1.1
int
main
(
void
)
{
WDTCTL
=
WDTPW
|
WDTHOLD
|
WDTNMI
|
WDTNMIES
;
// stop watchdog timer
IFG1
&=
~
NMIIFG
;
IE1
=
NMIIE
;
BCSCTL1
=
CALBC1_1MHZ
;
DCOCTL
=
CALDCO_1MHZ
;
//MCLK闁告粌顒玀CLK闁秆冩穿椤旀洘绋夐敓锟�8MHz
BCSCTL3
|=
LFXT1S1
;
__bis_SR_register
(
GIE
);
__delay_cycles
(
1000
);
//缂佹稑顦欢鐔虹矙閸愯尙鏆�
P1DIR
|=
BIT2
|
BIT4
|
BIT6
|
BIT7
|
BIT0
;
P2DIR
|=
BIT1
|
BIT2
|
BIT4
|
BIT5
;
P1OUT
=
0
;
TA1CCTL1
&=
~
(
CAP
|
CCIFG
);
TA1CCTL1
|=
CCIE
;
TA1CCR1
=
99
;
//TA1.1
TA1CTL
&=
~
TAIFG
;
TA1CTL
|=
TACLR
|
TASSEL_1
|
TAIE
|
MC_1
;
TA1CCR0
=
100
;
TA0CTL
&=
~
TAIFG
;
TA0CTL
|=
TACLR
|
TASSEL_2
|
MC_1
|
TAIE
;
TA0CCR0
=
800
;
while
(
1
){
switch
(
mode
){
case
0
:
switch
(
total
){
case
0
:
P1OUT
=
(
pwm1
<<
2
)
|
BIT7
;
P2OUT
=
0
;
break
;
case
1
:
P1OUT
=
BIT2
|
BIT7
;
P2OUT
=
(
pwm1
<<
1
);
break
;
case
2
:
P1OUT
=
BIT2
|
BIT7
;
P2OUT
=
BIT1
|
(
pwm1
<<
4
);
break
;
case
3
:
P1OUT
=
BIT2
|
BIT7
;
P2OUT
=
BIT1
|
BIT4
|
(
pwm1
<<
5
);
break
;
case
4
:
P1OUT
=
BIT2
|
BIT7
;
P2OUT
=
BIT1
|
BIT4
|
(
pwm1
<<
2
)
|
BIT5
;
break
;
case
5
:
P1OUT
=
BIT2
|
(
pwm1
<<
6
)
|
BIT7
;
P2OUT
=
BIT1
|
BIT2
|
BIT4
|
BIT5
;
break
;
case
12
:
P1OUT
=
BIT6
|
(
!
pwm1
<<
2
)
|
BIT7
;
P2OUT
=
BIT1
|
BIT2
|
BIT4
|
BIT5
;
break
;
case
13
:
P1OUT
=
BIT6
|
BIT7
;
P2OUT
=
BIT2
|
BIT5
|
BIT4
|
(
!
pwm1
<<
1
)
;
break
;
case
14
:
P1OUT
=
BIT6
|
BIT7
;
P2OUT
=
BIT2
|
(
!
pwm1
<<
4
)
|
BIT5
;
break
;
case
15
:
P1OUT
=
BIT6
|
BIT7
;
P2OUT
=
BIT2
|
(
!
pwm1
<<
5
);
break
;
case
16
:
P1OUT
=
BIT6
|
BIT7
;
P2OUT
=
(
!
pwm1
<<
2
);
break
;
case
17
:
P1OUT
=
(
!
pwm1
<<
6
)
|
BIT7
;
P2OUT
=
0
;
break
;
default:
P1OUT
=
BIT7
;
P2OUT
=
0
;
break
;
}
if
(
total
<
12
&&
total
>
5
){
P1OUT
=
BIT2
|
BIT6
|
BIT7
;
P2OUT
=
BIT1
|
BIT2
|
BIT4
|
BIT5
;
}
break
;
case
1
:
switch
(
total
){
case
6
:
P1OUT
=
(
pwm1
<<
2
)
|
BIT4
;
P2OUT
=
0
;
break
;
case
7
:
P1OUT
=
BIT2
|
BIT4
;
P2OUT
=
(
pwm1
<<
1
);
break
;
case
8
:
P1OUT
=
BIT2
|
BIT4
;
P2OUT
=
BIT1
|
(
pwm1
<<
4
);
break
;
case
9
:
P1OUT
=
BIT2
|
BIT4
;
P2OUT
=
BIT1
|
BIT4
|
(
pwm1
<<
5
);
break
;
case
10
:
P1OUT
=
BIT2
|
BIT4
;
P2OUT
=
BIT1
|
BIT4
|
(
pwm1
<<
2
)
|
BIT5
;
break
;
case
11
:
P1OUT
=
BIT2
|
(
pwm1
<<
6
)
|
BIT4
;
P2OUT
=
BIT1
|
BIT2
|
BIT4
|
BIT5
;
break
;
case
18
:
P1OUT
=
BIT6
|
(
!
pwm1
<<
2
)
|
BIT4
;
P2OUT
=
BIT1
|
BIT2
|
BIT4
|
BIT5
;
break
;
case
19
:
P1OUT
=
BIT6
|
BIT4
;
P2OUT
=
BIT2
|
BIT5
|
BIT4
|
(
!
pwm1
<<
1
)
;
break
;
case
20
:
P1OUT
=
BIT6
|
BIT4
;
P2OUT
=
BIT2
|
(
!
pwm1
<<
4
)
|
BIT5
;
break
;
case
21
:
P1OUT
=
BIT6
|
BIT4
;
P2OUT
=
BIT2
|
(
!
pwm1
<<
5
);
break
;
case
22
:
P1OUT
=
BIT6
|
BIT4
;
P2OUT
=
(
!
pwm1
<<
2
);
break
;
case
23
:
P1OUT
=
(
!
pwm1
<<
6
)
|
BIT4
;
P2OUT
=
0
;
break
;
default:
P1OUT
=
BIT4
;
P2OUT
=
0
;
break
;
}
if
(
total
<
18
&&
total
>
11
){
P1OUT
=
BIT2
|
BIT6
|
BIT4
;
P2OUT
=
BIT1
|
BIT2
|
BIT4
|
BIT5
;
}
break
;
}
}
return
0
;
}
#pragma vector= TIMER1_A1_VECTOR
__interrupt
void
TimeA1_ISR
(
void
)
{
switch
(
TA1IV
){
case
0x02
:
pwm1
=
BIT0
;
break
;
case
0x04
:
break
;
case
0x0A
:
pwm1
&=
~
BIT0
;
if
(
TA1CCR1
==
2
){
TA1CCR1
=
99
;
total
++
;
if
(
total
==
24
){
total
=
0
;
}
}
TA1CCR1
-=
1
;
break
;
default:
break
;
}
}
#pragma vector= TIMER0_A1_VECTOR
__interrupt
void
TimeA0_ISR
(
void
)
{
if
(
TA0CTL
&
TAIFG
){
TA0CTL
&=
~
TAIFG
;
switch
(
mode
){
case
0
:
mode
=
1
;
break
;
case
1
:
mode
=
0
;
break
;
default
:
break
;
}
}
}
丑陋流水灯/4.c
0 → 100644
View file @
5d498236
#include <msp430.h>
#include <stdint.h>
/**
* main.c
*/
uint8_t
total
=
0
;
uint8_t
mode
=
1
;
uint16_t
cnt
=
0
;
uint8_t
status0
=
0
;
//TA0.1status
uint8_t
status1
=
0
;
//TA1.1status
uint8_t
status2
=
0
;
//TA1.2status
uint8_t
pwm1
=
0
;
//TA1.1
uint8_t
pwm2
=
0
;
//TA1.2
uint8_t
pwm0
=
0
;
//TA0.1
int
main
(
void
)
{
WDTCTL
=
WDTPW
|
WDTHOLD
|
WDTNMI
|
WDTNMIES
;
// stop watchdog timer
IFG1
&=
~
NMIIFG
;
IE1
=
NMIIE
;
BCSCTL1
=
CALBC1_1MHZ
;
DCOCTL
=
CALDCO_1MHZ
;
//MCLK闁告粌顒玀CLK闁秆冩穿椤旀洘绋夐敓锟�8MHz
BCSCTL3
|=
LFXT1S1
;
__bis_SR_register
(
GIE
);
__delay_cycles
(
1000
);
//缂佹稑顦欢鐔虹矙閸愯尙鏆�
P1DIR
|=
BIT2
|
BIT4
|
BIT6
|
BIT7
|
BIT0
;
P2DIR
|=
BIT1
|
BIT2
|
BIT4
|
BIT5
;
P1OUT
&=
~
BIT4
;
TA1CTL
&=
~
TAIFG
;
TA1CCTL1
&=
~
(
CAP
|
CCIFG
);
TA1CCTL1
|=
CCIE
;
TA1CCR1
=
0
;
//TA1.1初始化
TA1CCTL2
&=
~
(
CAP
|
CCIFG
);
TA1CCTL2
|=
CCIE
;
TA1CCR2
=
0
;
//TA1.2初始化
TA1CTL
|=
TACLR
|
TASSEL_1
|
TAIE
|
MC_1
;
TA1CCR0
=
120
;
TA0CTL
&=
~
TAIFG
;
TA0CCTL2
&=
~
(
CAP
|
CCIFG
);
TA0CCTL2
|=
CCIE
;
TA0CCR2
=
12
;
//TA0.2初始化
TA0CCTL1
&=
~
(
CAP
|
CCIFG
);
TA0CCTL1
|=
CCIE
;
TA0CCR1
=
119
;
//TA0.1初始化
TA0CTL
|=
TACLR
|
TASSEL_1
|
MC_1
|
TAIE
;
TA0CCR0
=
120
;
P1OUT
=
0
;
P2OUT
=
0
;
while
(
1
){
// P1OUT |=pwm2;
// P1OUT =0;P2OUT =0;
switch
(
total
){
case
0
:
P1OUT
&=
~
BIT6
;
P1OUT
=
(
pwm0
<<
2
);
P2OUT
=
(
pwm1
<<
1
)
|
(
pwm2
<<
4
);
break
;
case
1
:
P1OUT
&=
~
BIT2
;
P2OUT
=
(
pwm1
<<
1
)
|
(
pwm2
<<
4
)
|
(
pwm0
<<
5
);
break
;
case
2
:
P2OUT
&=
~
BIT1
;
P2OUT
=
(
pwm1
<<
2
)
|
(
pwm2
<<
4
)
|
(
pwm0
<<
5
);
break
;
case
3
:
P2OUT
&=
~
BIT4
;
P1OUT
=
(
pwm2
<<
6
);
P2OUT
=
(
pwm1
<<
2
)
|
(
pwm0
<<
5
);
break
;
case
4
:
P2OUT
&=
~
BIT5
;
P1OUT
=
(
pwm2
<<
6
)
|
(
pwm0
<<
2
);
P2OUT
=
(
pwm1
<<
2
);
break
;
case
5
:
P2OUT
&=
~
BIT5
;
P1OUT
=
(
pwm2
<<
6
)
|
(
pwm0
<<
2
);
P2OUT
=
(
pwm1
<<
1
);
break
;
default:
break
;
}
}
return
0
;
}
#pragma vector= TIMER1_A1_VECTOR
__interrupt
void
TimeA1_ISR
(
void
)
{
switch
(
TA1IV
){
case
0x02
:
if
(
TA1CCR1
!=
0
)
pwm1
|=
BIT0
;
break
;
case
0x04
:
if
(
TA1CCR2
!=
0
)
pwm2
|=
BIT0
;
break
;
case
0x0A
:
if
(
TA1CCR1
!=
0
){
pwm1
&=
~
BIT0
;
if
(
TA1CCR1
==
2
){
status1
=
1
;
}
else
if
(
TA1CCR1
==
119
){
status1
=
0
;
total
++
;
}
switch
(
status1
){
case
0
:
TA1CCR1
-=
1
;
break
;
case
1
:
TA1CCR1
+=
1
;
break
;
default:
break
;
}
}
if
(
TA1CCR2
!=
0
){
pwm2
^=
BIT0
;
if
(
TA1CCR2
==
2
){
status2
=
1
;
}
else
if
(
TA1CCR2
==
119
){
status2
=
0
;
total
++
;
if
(
total
==
6
)
total
=
0
;
}
switch
(
status2
){
case
0
:
TA1CCR2
-=
1
;
break
;
case
1
:
TA1CCR2
+=
1
;
break
;
default:
break
;
}
}
break
;
default:
break
;
}
}
#pragma vector= TIMER0_A1_VECTOR
__interrupt
void
TimeA0_ISR
(
void
)
{
switch
(
TA0IV
){
case
0x02
:
pwm0
|=
BIT0
;
break
;
case
0x04
:
break
;
case
0x0A
:
pwm0
&=
~
BIT0
;
if
(
TA0CCR1
==
2
){
status0
=
1
;
}
else
if
(
TA0CCR1
==
119
){
status0
=
0
;
total
++
;
}
switch
(
status0
){
case
0
:
TA0CCR1
-=
1
;
if
(
TA0CCR1
==
40
&&
TA1CCR1
==
0
)
TA1CCR1
=
119
;
break
;
case
1
:
TA0CCR1
+=
1
;
if
(
TA0CCR1
==
40
&&
TA1CCR2
==
0
)
TA1CCR2
=
119
;
break
;
default:
break
;
}
}
}
丑陋流水灯/main.c
0 → 100644
View file @
5d498236
#include <msp430.h>
void
PWM_Init
(
void
)
{
TA0CTL
|=
TASSEL1
;
//设置时钟源为SMCLK
TA0CTL
|=
MC0
|
MC1
;
//计时器向上计数到 TACCR0,然后向下计数到 0000h。
TA0CCR0
=
255
;
TA0CCR1
=
255
;
//占空比(TACCR0 - TACCR2) / TACCR0,频率=SMCLK/(TACCR0+1)/2
TA0CCTL0
&=
~
CAP
;
//比较模式
TA0CCTL1
&=
~
CAP
;
TA0CCTL1
|=
OUTMOD_6
;
//比较输出模式
TA1CTL
|=
TASSEL1
;
//设置时钟源为SMCLK
TA1CTL
|=
MC0
|
MC1
;
//计时器向上计数到 TACCR0,然后向下计数到 0000h。
TA1CCR0
=
255
;
TA1CCR1
=
255
;
//占空比(TACCR0 - TACCR1) / TACCR0,频率=SMCLK/(TACCR0+1)/2
TA1CCR2
=
255
;
TA1CCTL0
&=
~
CAP
;
//比较模式
TA1CCTL1
&=
~
CAP
;
TA1CCTL2
&=
~
CAP
;
TA1CCTL1
|=
OUTMOD_6
;
//比较输出模式
TA1CCTL2
|=
OUTMOD_6
;
//比较输出模式
P1SEL
|=
BIT2
;
//P1.2 TA0.1
P1DIR
|=
BIT2
;
P1SEL
|=
BIT6
;
//P1.3 TA0.1
P1DIR
|=
BIT6
;
// P2SEL |= BIT6;//P2.6 TA0.1
// P2DIR |= BIT6;//无反应???
P2SEL
|=
BIT1
;
//P2.1 TA1.1
P2DIR
|=
BIT1
;
P2SEL
|=
BIT2
;
//P2.2 TA1.1
P2DIR
|=
BIT2
;
P2SEL
|=
BIT4
;
//P2.4 TA1.2
P2DIR
|=
BIT4
;
P2SEL
|=
BIT5
;
//P2.5 TA1.2
P2DIR
|=
BIT5
;
}
int
main
(
void
)
{
unsigned
int
cnt0_1
=
0
,
cnt1_1
=
0
,
cnt1_2
=
0
;
WDTCTL
=
WDTPW
|
WDTHOLD
;
// Stop watchdog timer
DCOCTL
=
CALDCO_1MHZ
;
BCSCTL1
=
CALBC1_1MHZ
;
//配置DCO频率为1MHz
P1DIR
|=
BIT4
;
//控制第一行
P1DIR
|=
BIT7
;
//控制第二行
PWM_Init
();
while
(
1
)
{
P1OUT
&=
~
BIT4
;
P1OUT
&=
~
BIT7
;
// for(cnt0_1 = 0;cnt0_1 < 255;cnt0_1 ++)//同时变亮变暗
// {
// TA0CCR1 = cnt0_1;
// TA1CCR1 = cnt0_1;
// TA1CCR2 = cnt0_1;
// __delay_cycles(5000);
// }
// for(cnt0_1 = 255;cnt0_1 > 0;cnt0_1 --)
// {
// TA0CCR1 = cnt0_1;
// TA1CCR1 = cnt0_1;
// TA1CCR2 = cnt0_1;
// __delay_cycles(5000);
// }
while
(
cnt0_1
<
255
||
cnt1_1
<
255
||
cnt1_2
<
255
)
{
if
(
cnt0_1
<
255
)
cnt0_1
++
;
if
(
cnt0_1
>
100
)
{
if
(
cnt1_1
<
255
)
cnt1_1
++
;
if
(
cnt1_1
>
100
)
{
if
(
cnt1_2
<
255
)
cnt1_2
++
;
}
}
TA0CCR1
=
cnt0_1
;
TA1CCR1
=
cnt1_1
;
TA1CCR2
=
cnt1_2
;
__delay_cycles
(
5000
);
}
while
(
cnt0_1
>
0
||
cnt1_1
>
0
||
cnt1_2
>
0
)
{
if
(
cnt1_2
>
0
)
cnt1_2
--
;
if
(
cnt1_2
<
150
)
{
if
(
cnt1_1
>
0
)
cnt1_1
--
;
if
(
cnt1_1
<
150
)
{
if
(
cnt0_1
>
0
)
cnt0_1
--
;
}
}
TA0CCR1
=
cnt0_1
;
TA1CCR1
=
cnt1_1
;
TA1CCR2
=
cnt1_2
;
__delay_cycles
(
5000
);
}
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment