티스토리 뷰




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
79
80
81
82
83
84
85
#include <stdlib.h>
#include <delay.h>
#include <mega128_bits.h>
#include <mega128.h>
#include <math.h>
#include <stdio.h>
#include <string.h>
#include "LCD.h"
 
void LCD_Decimal(unsigned char num, short AD_dat)
{
             unsigned char Decimal[5];
             Decimal[4= '0'+ AD_dat/10000;
             AD_dat = AD_dat%10000;
             Decimal[3= '0' + AD_dat/1000;
             AD_dat = AD_dat%1000;
             Decimal[2= '0' + AD_dat/100;
             AD_dat = AD_dat%100;
             Decimal[1= '0' + AD_dat/10;
             AD_dat = AD_dat%10;
             Decimal[0= '0' + AD_dat/1;
             
             if(num == 0)
             {
               LCD_Pos(0,10);
               LCD_Data(Decimal[3]);
               LCD_Pos(0,11);
               LCD_Data(Decimal[2]);
               LCD_Pos(0,12);
               LCD_Data(Decimal[1]);
               LCD_Pos(0,13);
               LCD_Data(Decimal[0]);
             }                      
             
             else if(num == 1)
             {
               LCD_Pos(1,10);
               LCD_Data(Decimal[4]);
               LCD_Pos(1,11);
               LCD_Data('.');
               LCD_Pos(1,12);
               LCD_Data(Decimal[3]);
               LCD_Pos(1,13);
               LCD_Data(Decimal[2]);
               LCD_Pos(1,14);
               LCD_Data(Decimal[1]);
               LCD_Pos(1,15);
               LCD_Data(Decimal[0]);
               LCD_Pos(1,16);
               LCD_Data('v');
             }
}
 
void AD_Init(void)
{
             ADMUX |= (1<<REFS1) | (1<<REFS0);
             ADCSRA |= (1<<ADEN) | (1<<ADSC) | (1<<ADFR);
}
 
void main(void)
{
             AD_Init();
          
             
             DDRF = 0xff;
             
             Port_Init();
             LCD_Init();
             
             LCD_Pos(0,0);
             LCD_STR("Voltage:");
             
             LCD_Pos(1,0);
             LCD_STR("R.Value:");
             
             while(1)
             {
                short Voltage;
                Voltage = (short)((0.0025*ADCW)*10000);
                
                LCD_Decimal(0,ADCW);
                LCD_Decimal(1,Voltage);
                delay_ms(100); 
             }
}
cs


'프로그래밍 > CodeVision' 카테고리의 다른 글

마이크로프로세서181009  (0) 2018.10.09
190918 마이크로프로세서  (0) 2018.09.18
180904 마이크로프로세서  (0) 2018.09.04
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2025/02   »
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
글 보관함