Real-time Embedded System final report code
Fork of app-shield-LCD by
main.cpp@6:5e9bc6b0d221, 2017-01-10 (annotated)
- Committer:
- liusiyu
- Date:
- Tue Jan 10 18:18:48 2017 +0000
- Revision:
- 6:5e9bc6b0d221
- Parent:
- 4:39c7c31b8fb0
Real-time Embedded Systems Final Laboratory Report Code
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
dreschpe | 0:f6a57b843f79 | 1 | #include "mbed.h" |
chris | 3:2db94ee076ee | 2 | #include "C12832.h" |
dreschpe | 0:f6a57b843f79 | 3 | |
chris | 4:39c7c31b8fb0 | 4 | // Using Arduino pin notation |
chris | 4:39c7c31b8fb0 | 5 | C12832 lcd(D11, D13, D12, D7, D10); |
dreschpe | 1:1c6a9eaf55b5 | 6 | |
liusiyu | 6:5e9bc6b0d221 | 7 | int i,j,m,n,h,r,i1,j1,m1,n1,h1,r1,a,b,c,d,e,f,g; |
liusiyu | 6:5e9bc6b0d221 | 8 | |
liusiyu | 6:5e9bc6b0d221 | 9 | void second1(void); |
liusiyu | 6:5e9bc6b0d221 | 10 | void minute1(void); |
liusiyu | 6:5e9bc6b0d221 | 11 | void hour1(void); |
liusiyu | 6:5e9bc6b0d221 | 12 | |
dreschpe | 0:f6a57b843f79 | 13 | int main() |
dreschpe | 0:f6a57b843f79 | 14 | { |
liusiyu | 6:5e9bc6b0d221 | 15 | int second=0; |
liusiyu | 6:5e9bc6b0d221 | 16 | int minute=0; |
liusiyu | 6:5e9bc6b0d221 | 17 | int hour=0; |
liusiyu | 6:5e9bc6b0d221 | 18 | int number=0; |
liusiyu | 6:5e9bc6b0d221 | 19 | |
liusiyu | 6:5e9bc6b0d221 | 20 | while(1) { |
liusiyu | 6:5e9bc6b0d221 | 21 | for (i=0;i<10;i=i+1) |
liusiyu | 6:5e9bc6b0d221 | 22 | { |
liusiyu | 6:5e9bc6b0d221 | 23 | for (j=0;j<6;j=j+1) |
liusiyu | 6:5e9bc6b0d221 | 24 | { |
liusiyu | 6:5e9bc6b0d221 | 25 | number =j*10+i; |
liusiyu | 6:5e9bc6b0d221 | 26 | if (number == second) |
liusiyu | 6:5e9bc6b0d221 | 27 | {i1=i;j1=j;} |
liusiyu | 6:5e9bc6b0d221 | 28 | if (number == minute) |
liusiyu | 6:5e9bc6b0d221 | 29 | {m1=i;n1=j;} |
liusiyu | 6:5e9bc6b0d221 | 30 | if (number == hour) |
liusiyu | 6:5e9bc6b0d221 | 31 | {h1=i;r1=j;} |
liusiyu | 6:5e9bc6b0d221 | 32 | } |
liusiyu | 6:5e9bc6b0d221 | 33 | } |
liusiyu | 6:5e9bc6b0d221 | 34 | |
liusiyu | 6:5e9bc6b0d221 | 35 | second1(); |
liusiyu | 6:5e9bc6b0d221 | 36 | |
liusiyu | 6:5e9bc6b0d221 | 37 | minute1(); |
liusiyu | 6:5e9bc6b0d221 | 38 | |
liusiyu | 6:5e9bc6b0d221 | 39 | hour1(); |
liusiyu | 6:5e9bc6b0d221 | 40 | |
liusiyu | 6:5e9bc6b0d221 | 41 | second=second+1; |
liusiyu | 6:5e9bc6b0d221 | 42 | wait(0.01); |
liusiyu | 6:5e9bc6b0d221 | 43 | |
liusiyu | 6:5e9bc6b0d221 | 44 | if (second == 60) |
liusiyu | 6:5e9bc6b0d221 | 45 | {second = 0; |
liusiyu | 6:5e9bc6b0d221 | 46 | minute=minute+1;} |
liusiyu | 6:5e9bc6b0d221 | 47 | if (minute == 60) |
liusiyu | 6:5e9bc6b0d221 | 48 | {minute=0; |
liusiyu | 6:5e9bc6b0d221 | 49 | hour=hour+1;} |
liusiyu | 6:5e9bc6b0d221 | 50 | if (hour == 24) |
liusiyu | 6:5e9bc6b0d221 | 51 | {hour=0;} |
liusiyu | 6:5e9bc6b0d221 | 52 | }//while |
liusiyu | 6:5e9bc6b0d221 | 53 | }//main |
liusiyu | 6:5e9bc6b0d221 | 54 | |
liusiyu | 6:5e9bc6b0d221 | 55 | |
liusiyu | 6:5e9bc6b0d221 | 56 | void second1() |
liusiyu | 6:5e9bc6b0d221 | 57 | { |
liusiyu | 6:5e9bc6b0d221 | 58 | if (i1==0) |
liusiyu | 6:5e9bc6b0d221 | 59 | {a=1;b=1;c=0;d=1;e=1;f=1;g=1;} |
liusiyu | 6:5e9bc6b0d221 | 60 | if (i1==1) |
liusiyu | 6:5e9bc6b0d221 | 61 | {a=0;b=0;c=0;d=1;e=0;f=0;g=1;} |
liusiyu | 6:5e9bc6b0d221 | 62 | if (i1==2) |
liusiyu | 6:5e9bc6b0d221 | 63 | {a=1;b=0;c=1;d=1;e=1;f=1;g=0;} |
liusiyu | 6:5e9bc6b0d221 | 64 | if (i1==3) |
liusiyu | 6:5e9bc6b0d221 | 65 | {a=1;b=0;c=1;d=1;e=0;f=1;g=1;} |
liusiyu | 6:5e9bc6b0d221 | 66 | if (i1==4) |
liusiyu | 6:5e9bc6b0d221 | 67 | {a=0;b=1;c=1;d=1;e=0;f=0;g=1;} |
liusiyu | 6:5e9bc6b0d221 | 68 | if (i1==5) |
liusiyu | 6:5e9bc6b0d221 | 69 | {a=1;b=1;c=1;d=0;e=0;f=1;g=1;} |
liusiyu | 6:5e9bc6b0d221 | 70 | if (i1==6) |
liusiyu | 6:5e9bc6b0d221 | 71 | {a=1,b=1;c=1;d=0;e=1;f=1;g=1;} |
liusiyu | 6:5e9bc6b0d221 | 72 | if (i1==7) |
liusiyu | 6:5e9bc6b0d221 | 73 | {a=1;b=0;c=0;d=1;e=0;f=0;g=1;} |
liusiyu | 6:5e9bc6b0d221 | 74 | if (i1==8) |
liusiyu | 6:5e9bc6b0d221 | 75 | {a=1;b=1;c=1;d=1;e=1;f=1;g=1;} |
liusiyu | 6:5e9bc6b0d221 | 76 | if (i1==9) |
liusiyu | 6:5e9bc6b0d221 | 77 | {a=1;b=1;c=1;d=1;e=0;f=1;g=1;} |
liusiyu | 6:5e9bc6b0d221 | 78 | |
liusiyu | 6:5e9bc6b0d221 | 79 | lcd.line(108,0,126,0,a); |
liusiyu | 6:5e9bc6b0d221 | 80 | lcd.line(108,0,108,15,b); |
liusiyu | 6:5e9bc6b0d221 | 81 | lcd.line(108,15,126,15,c); |
liusiyu | 6:5e9bc6b0d221 | 82 | lcd.line(126,0,126,15,d); |
liusiyu | 6:5e9bc6b0d221 | 83 | lcd.line(108,15,108,30,e); |
liusiyu | 6:5e9bc6b0d221 | 84 | lcd.line(108,30,126,30,f); |
liusiyu | 6:5e9bc6b0d221 | 85 | lcd.line(126,15,126,30,g); |
liusiyu | 6:5e9bc6b0d221 | 86 | |
liusiyu | 6:5e9bc6b0d221 | 87 | if (j1==0) |
liusiyu | 6:5e9bc6b0d221 | 88 | {a=1;b=1;c=0;d=1;e=1;f=1;g=1;} |
liusiyu | 6:5e9bc6b0d221 | 89 | if (j1==1) |
liusiyu | 6:5e9bc6b0d221 | 90 | {a=0;b=0;c=0;d=1;e=0;f=0;g=1;} |
liusiyu | 6:5e9bc6b0d221 | 91 | if (j1==2) |
liusiyu | 6:5e9bc6b0d221 | 92 | {a=1;b=0;c=1;d=1;e=1;f=1;g=0;} |
liusiyu | 6:5e9bc6b0d221 | 93 | if (j1==3) |
liusiyu | 6:5e9bc6b0d221 | 94 | {a=1;b=0;c=1;d=1;e=0;f=1;g=1;} |
liusiyu | 6:5e9bc6b0d221 | 95 | if (j1==4) |
liusiyu | 6:5e9bc6b0d221 | 96 | {a=0;b=1;c=1;d=1;e=0;f=0;g=1;} |
liusiyu | 6:5e9bc6b0d221 | 97 | if (j1==5) |
liusiyu | 6:5e9bc6b0d221 | 98 | {a=1;b=1;c=1;d=0;e=0;f=1;g=1;} |
liusiyu | 6:5e9bc6b0d221 | 99 | |
liusiyu | 6:5e9bc6b0d221 | 100 | lcd.line(87,0,106,0,a); |
liusiyu | 6:5e9bc6b0d221 | 101 | lcd.line(87,0,87,15,b); |
liusiyu | 6:5e9bc6b0d221 | 102 | lcd.line(87,15,106,15,c); |
liusiyu | 6:5e9bc6b0d221 | 103 | lcd.line(106,0,106,15,d); |
liusiyu | 6:5e9bc6b0d221 | 104 | lcd.line(87,15,87,30,e); |
liusiyu | 6:5e9bc6b0d221 | 105 | lcd.line(87,30,106,30,f); |
liusiyu | 6:5e9bc6b0d221 | 106 | lcd.line(106,15,106,30,g); |
liusiyu | 6:5e9bc6b0d221 | 107 | } |
dreschpe | 0:f6a57b843f79 | 108 | |
liusiyu | 6:5e9bc6b0d221 | 109 | void minute1() |
liusiyu | 6:5e9bc6b0d221 | 110 | { |
liusiyu | 6:5e9bc6b0d221 | 111 | if (m1==0) |
liusiyu | 6:5e9bc6b0d221 | 112 | {a=1;b=1;c=0;d=1;e=1;f=1;g=1;} |
liusiyu | 6:5e9bc6b0d221 | 113 | if (m1==1) |
liusiyu | 6:5e9bc6b0d221 | 114 | {a=0;b=0;c=0;d=1;e=0;f=0;g=1;} |
liusiyu | 6:5e9bc6b0d221 | 115 | if (m1==2) |
liusiyu | 6:5e9bc6b0d221 | 116 | {a=1;b=0;c=1;d=1;e=1;f=1;g=0;} |
liusiyu | 6:5e9bc6b0d221 | 117 | if (m1==3) |
liusiyu | 6:5e9bc6b0d221 | 118 | {a=1;b=0;c=1;d=1;e=0;f=1;g=1;} |
liusiyu | 6:5e9bc6b0d221 | 119 | if (m1==4) |
liusiyu | 6:5e9bc6b0d221 | 120 | {a=0;b=1;c=1;d=1;e=0;f=0;g=1;} |
liusiyu | 6:5e9bc6b0d221 | 121 | if (m1==5) |
liusiyu | 6:5e9bc6b0d221 | 122 | {a=1;b=1;c=1;d=0;e=0;f=1;g=1;} |
liusiyu | 6:5e9bc6b0d221 | 123 | if (m1==6) |
liusiyu | 6:5e9bc6b0d221 | 124 | {a=1,b=1;c=1;d=0;e=1;f=1;g=1;} |
liusiyu | 6:5e9bc6b0d221 | 125 | if (m1==7) |
liusiyu | 6:5e9bc6b0d221 | 126 | {a=1;b=0;c=0;d=1;e=0;f=0;g=1;} |
liusiyu | 6:5e9bc6b0d221 | 127 | if (m1==8) |
liusiyu | 6:5e9bc6b0d221 | 128 | {a=1;b=1;c=1;d=1;e=1;f=1;g=1;} |
liusiyu | 6:5e9bc6b0d221 | 129 | if (m1==9) |
liusiyu | 6:5e9bc6b0d221 | 130 | {a=1;b=1;c=1;d=1;e=0;f=1;g=1;} |
liusiyu | 6:5e9bc6b0d221 | 131 | |
liusiyu | 6:5e9bc6b0d221 | 132 | lcd.line(64,0,82,0,a); |
liusiyu | 6:5e9bc6b0d221 | 133 | lcd.line(64,0,64,15,b); |
liusiyu | 6:5e9bc6b0d221 | 134 | lcd.line(64,15,82,15,c); |
liusiyu | 6:5e9bc6b0d221 | 135 | lcd.line(82,0,82,15,d); |
liusiyu | 6:5e9bc6b0d221 | 136 | lcd.line(64,15,64,30,e); |
liusiyu | 6:5e9bc6b0d221 | 137 | lcd.line(64,30,82,30,f); |
liusiyu | 6:5e9bc6b0d221 | 138 | lcd.line(82,15,82,30,g); |
liusiyu | 6:5e9bc6b0d221 | 139 | |
liusiyu | 6:5e9bc6b0d221 | 140 | if (n1==0) |
liusiyu | 6:5e9bc6b0d221 | 141 | {a=1;b=1;c=0;d=1;e=1;f=1;g=1;} |
liusiyu | 6:5e9bc6b0d221 | 142 | if (n1==1) |
liusiyu | 6:5e9bc6b0d221 | 143 | {a=0;b=0;c=0;d=1;e=0;f=0;g=1;} |
liusiyu | 6:5e9bc6b0d221 | 144 | if (n1==2) |
liusiyu | 6:5e9bc6b0d221 | 145 | {a=1;b=0;c=1;d=1;e=1;f=1;g=0;} |
liusiyu | 6:5e9bc6b0d221 | 146 | if (n1==3) |
liusiyu | 6:5e9bc6b0d221 | 147 | {a=1;b=0;c=1;d=1;e=0;f=1;g=1;} |
liusiyu | 6:5e9bc6b0d221 | 148 | if (n1==4) |
liusiyu | 6:5e9bc6b0d221 | 149 | {a=0;b=1;c=1;d=1;e=0;f=0;g=1;} |
liusiyu | 6:5e9bc6b0d221 | 150 | if (n1==5) |
liusiyu | 6:5e9bc6b0d221 | 151 | {a=1;b=1;c=1;d=0;e=0;f=1;g=1;} |
liusiyu | 6:5e9bc6b0d221 | 152 | |
liusiyu | 6:5e9bc6b0d221 | 153 | lcd.line(44,0,62,0,a); |
liusiyu | 6:5e9bc6b0d221 | 154 | lcd.line(44,0,44,15,b); |
liusiyu | 6:5e9bc6b0d221 | 155 | lcd.line(44,15,62,15,c); |
liusiyu | 6:5e9bc6b0d221 | 156 | lcd.line(62,0,62,15,d); |
liusiyu | 6:5e9bc6b0d221 | 157 | lcd.line(44,15,44,30,e); |
liusiyu | 6:5e9bc6b0d221 | 158 | lcd.line(44,30,62,30,f); |
liusiyu | 6:5e9bc6b0d221 | 159 | lcd.line(62,15,62,30,g); |
dreschpe | 0:f6a57b843f79 | 160 | } |
liusiyu | 6:5e9bc6b0d221 | 161 | |
liusiyu | 6:5e9bc6b0d221 | 162 | void hour1() |
liusiyu | 6:5e9bc6b0d221 | 163 | { |
liusiyu | 6:5e9bc6b0d221 | 164 | if (h1==0) |
liusiyu | 6:5e9bc6b0d221 | 165 | {a=1;b=1;c=0;d=1;e=1;f=1;g=1;} |
liusiyu | 6:5e9bc6b0d221 | 166 | if (h1==1) |
liusiyu | 6:5e9bc6b0d221 | 167 | {a=0;b=0;c=0;d=1;e=0;f=0;g=1;} |
liusiyu | 6:5e9bc6b0d221 | 168 | if (h1==2) |
liusiyu | 6:5e9bc6b0d221 | 169 | {a=1;b=0;c=1;d=1;e=1;f=1;g=0;} |
liusiyu | 6:5e9bc6b0d221 | 170 | if (h1==3) |
liusiyu | 6:5e9bc6b0d221 | 171 | {a=1;b=0;c=1;d=1;e=0;f=1;g=1;} |
liusiyu | 6:5e9bc6b0d221 | 172 | if (h1==4) |
liusiyu | 6:5e9bc6b0d221 | 173 | {a=0;b=1;c=1;d=1;e=0;f=0;g=1;} |
liusiyu | 6:5e9bc6b0d221 | 174 | if (h1==5) |
liusiyu | 6:5e9bc6b0d221 | 175 | {a=1;b=1;c=1;d=0;e=0;f=1;g=1;} |
liusiyu | 6:5e9bc6b0d221 | 176 | if (h1==6) |
liusiyu | 6:5e9bc6b0d221 | 177 | {a=1,b=1;c=1;d=0;e=1;f=1;g=1;} |
liusiyu | 6:5e9bc6b0d221 | 178 | if (h1==7) |
liusiyu | 6:5e9bc6b0d221 | 179 | {a=1;b=0;c=0;d=1;e=0;f=0;g=1;} |
liusiyu | 6:5e9bc6b0d221 | 180 | if (h1==8) |
liusiyu | 6:5e9bc6b0d221 | 181 | {a=1;b=1;c=1;d=1;e=1;f=1;g=1;} |
liusiyu | 6:5e9bc6b0d221 | 182 | if (h1==9) |
liusiyu | 6:5e9bc6b0d221 | 183 | {a=1;b=1;c=1;d=1;e=0;f=1;g=1;} |
liusiyu | 6:5e9bc6b0d221 | 184 | |
liusiyu | 6:5e9bc6b0d221 | 185 | lcd.line(22,0,40,0,a); |
liusiyu | 6:5e9bc6b0d221 | 186 | lcd.line(22,0,22,15,b); |
liusiyu | 6:5e9bc6b0d221 | 187 | lcd.line(22,15,40,15,c); |
liusiyu | 6:5e9bc6b0d221 | 188 | lcd.line(40,0,40,15,d); |
liusiyu | 6:5e9bc6b0d221 | 189 | lcd.line(22,15,22,30,e); |
liusiyu | 6:5e9bc6b0d221 | 190 | lcd.line(22,30,40,30,f); |
liusiyu | 6:5e9bc6b0d221 | 191 | lcd.line(40,15,40,30,g); |
liusiyu | 6:5e9bc6b0d221 | 192 | |
liusiyu | 6:5e9bc6b0d221 | 193 | if (r1==0) |
liusiyu | 6:5e9bc6b0d221 | 194 | {a=1;b=1;c=0;d=1;e=1;f=1;g=1;} |
liusiyu | 6:5e9bc6b0d221 | 195 | if (r1==1) |
liusiyu | 6:5e9bc6b0d221 | 196 | {a=0;b=0;c=0;d=1;e=0;f=0;g=1;} |
liusiyu | 6:5e9bc6b0d221 | 197 | if (r1==2) |
liusiyu | 6:5e9bc6b0d221 | 198 | {a=1;b=0;c=1;d=1;e=1;f=1;g=0;} |
liusiyu | 6:5e9bc6b0d221 | 199 | if (r1==3) |
liusiyu | 6:5e9bc6b0d221 | 200 | {a=1;b=0;c=1;d=1;e=0;f=1;g=1;} |
liusiyu | 6:5e9bc6b0d221 | 201 | if (r1==4) |
liusiyu | 6:5e9bc6b0d221 | 202 | {a=0;b=1;c=1;d=1;e=0;f=0;g=1;} |
liusiyu | 6:5e9bc6b0d221 | 203 | if (r1==5) |
liusiyu | 6:5e9bc6b0d221 | 204 | {a=1;b=1;c=1;d=0;e=0;f=1;g=1;} |
liusiyu | 6:5e9bc6b0d221 | 205 | |
liusiyu | 6:5e9bc6b0d221 | 206 | lcd.line(2,0,20,0,a); |
liusiyu | 6:5e9bc6b0d221 | 207 | lcd.line(2,0,2,15,b); |
liusiyu | 6:5e9bc6b0d221 | 208 | lcd.line(2,15,20,15,c); |
liusiyu | 6:5e9bc6b0d221 | 209 | lcd.line(20,0,20,15,d); |
liusiyu | 6:5e9bc6b0d221 | 210 | lcd.line(2,15,2,30,e); |
liusiyu | 6:5e9bc6b0d221 | 211 | lcd.line(2,30,20,30,f); |
liusiyu | 6:5e9bc6b0d221 | 212 | lcd.line(20,15,20,30,g); |
liusiyu | 6:5e9bc6b0d221 | 213 | } |