-
Notifications
You must be signed in to change notification settings - Fork 0
/
ECET179Lab13Step7.c
78 lines (67 loc) · 1.77 KB
/
ECET179Lab13Step7.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
/*
* ECET179Lab13Step7.c
*
* Created: 4/12/2016 1:00:07 PM
* Author: YizhouZhang
*/
#include <avr/io.h>
#include <stdio.h>
#include "serial.c"
#include "ADC_student.c"
#define F_CPU 16000000UL
#include <util\delay.h>
int main(void)
{
init_UART(); //initialize serial communication to CoolTerm
init_ADC(); //initialize ADC
uint8_t ADC_0; //reading from ADC0
uint8_t ADC_1; //reading from ADC1
uint8_t ADC_2; //reading from ADC2
uint8_t i;
uint8_t j;
uint8_t k;
DDRB = 0b11110000; //T0A T1B T1A T2A
DDRG = 0b00100000; //T0B
//DDRC = 0x00; //configure PortC as input
//PORTC = 0xFF; //turn on pull-up resisotrs of PortC
//DDRE = DDRE | 0b00111000; //T3C T3B T3A
//channel0
//TCCR0A = 0x00; //clear registers
//TCCR0B = 0x00; //clear registers
TCCR0A = TCCR0A | 0b11110000; //clear OC0A on compare match
TCCR0A = TCCR0A | 0b00000011; //set WGM01& WGM00 to configure FAST PWM
TCCR0B = TCCR0B & 0x11110111; //clear WGM02 to configure FAST PWM
TCCR0B = TCCR0B | 0x00000001; //no prescaling
//channel2
//TCCR2A = 0x00; //clear registers
//TCCR2B = 0x00; //clear registers
TCCR2A = TCCR2A | 0b11110000; //clear OC0A on compare match
TCCR2A = TCCR2A | 0b00000011; //set WGM01& WGM00 to configure FAST PWM
TCCR2B = TCCR2B & 0x11110111; //clear WGM02 to configure FAST PWM
TCCR2B = TCCR2B | 0x00000001; //no prescaling
while(1)
{
//TODO:: Please write your application code
do
{
do
{
do
{
OCR0A = i;
i++;
//printf("i = %d\n\r",i);
} while (i < 255);
OCR0B = j;
j++;
//printf("j = %d\r\n",j);
} while (j < 254);
OCR2A = k;
k++;
//printf("k = %d\n\r",k);
} while (k<254);
k = 0;
j = 0;
i = 0;
}
}