From bd2206d7057989c3577ef5ac7d85bf20bee5d9f6 Mon Sep 17 00:00:00 2001 From: TiagoRG Date: Fri, 15 Mar 2024 11:14:26 +0000 Subject: [PATCH] [AC2] Aula05 Signed-off-by: TiagoRG --- 2ano/2semestre/ac2/aula05/AC2-P-Aula05.pdf | Bin 0 -> 57846 bytes 2ano/2semestre/ac2/aula05/part1.c | 44 ++++++++++++++ 2ano/2semestre/ac2/aula05/part2.c | 64 +++++++++++++++++++++ 3 files changed, 108 insertions(+) create mode 100644 2ano/2semestre/ac2/aula05/AC2-P-Aula05.pdf create mode 100644 2ano/2semestre/ac2/aula05/part1.c create mode 100644 2ano/2semestre/ac2/aula05/part2.c diff --git a/2ano/2semestre/ac2/aula05/AC2-P-Aula05.pdf b/2ano/2semestre/ac2/aula05/AC2-P-Aula05.pdf new file mode 100644 index 0000000000000000000000000000000000000000..a407490846177b8317d0796e9407e64d465a59fe GIT binary patch literal 57846 zcmeFZWl$YW_b-YhxCeK4cXxMp39@l_ha|W=L4&)yyF&=>0fM``9$4kSU6a(=pMr!jKIfMd!efkxALQ+8G- zxmnnofPnJ5?7E{RTNT{d?lF3D<}%7sfYnv!a}Mdl0deCi?h9p zvp7)ew}6-i5GS9hp|ukbgOjM3x|E0*pS_8xo1=yED=HB?8z5Kp6?aX~{_0yn0o&12TT0`hy7A z5zYXheV~)y6937Ra5VJzpFA;JW1z49jnZ$%|3l$V{Qrpm_6bBPqWW6_h~;mc{~hzU zl$@Qd-T%b#H{~xS5fLd>RdGZ2zs#Bv3c#=tG7{PuS;Fx0GROjK&792%*?|;ghTl4b z4C2)R=r{ow^e(%*br>fgMmH7brg`M?%{k1@(ghmTZRs`SVNZ5+_ z7B2UWTaU-Vz=MzI;|&<$`6m(8LUj!2In&xBH=fm~K4yVa$F+eLmFPaZd3z$}^MDaF zS!BXb?2J5{P^D_!Y?599y7Oaat&DJRf6!2-%s_iE3!BG5QJdrtUi93ZHgs-5fCpv18TC zvFdg>(;>UMK_kN@5=NP|rCIZouRRS^{cw5;aQF^ilMP1nz>Dki8l=*FHz(1C)}j3H zDikLQCvs(*m7lN)Dh{onzqo+t5!*)r20?|M?goZfn(T*7FjRU&f@3$%4)KSy7E5vI z>|87~`%mk>+9R;>_i0%!j|fEIGKV}Q^%vQEB3EJKNHv!|OLQ`ueG2u%@ELp_@2#@)6Wx*x41LKBJjr|0X`z78!J5yAfc^kcv2Fy3#aA zP=tb+9}}&1+aimE(vfsIv6g4MkmZ@lvm#_Es3U@**4FQ?84*nVX@}1M z&av+6C|8Mn{=KacwpQsX&O`~|SU)xbwv{qMNKNj7462EZlhg>S6q;T9A>iL0GfM?@ zgp-z>ddZn}kS}PUwH7O)_k9c`h$~JrB(bOcMno;*6GtqZ;n`;|EJY8UYf6;yZ6I%w zHBTu6Dd+RRBm({J*tkP9!?0}Cj}C%4k|e0^L7^FvB+j+r7F#Yv9t>>`HC0jN;W?Kc zCMB&J$TMqZZ}s3x!CXaL$(&a26`=)8)(ghn02%1|T*MA7;rDgiXmD z^+Y#-$+pQE4|SJ=w{SdFfqC%TSxL1)n8#Xdr-kOLI2+M{o?DD5TWs1-rC}?Ie%R!F9@pq3XzCx?S2`yp%T=S&m#Pr!zeCOE~{oHlY=W z0D0(0UF3Ze(=hr`!~_?;ZgGovG8Il{m(Yv+ole+ZH@#<77#3^BwQ9?jjRKQg&S9BW zCm$(e%M7KNsf5sO^M-eVoX#F^C#TYYE|?NMEY|E5QYdrUN@W^VaMMwKr%t`;56G2$ z<@y_bb$v5U+r*Y5;?>3<;+VK}15rqAQCZSBevyI8rJ$(9@x{2$rVaq@CismMcd7o7 z#f1(9Lp?!wb5--TPm$n>C7}2t)ti>y^Q07vp&!qXn^%SN)ccqx8#I@(oFqu-A~d(g z(ug0O$PvqjH)b2eueVn;T+Paww~hL;ceq3O$vVDmUPkMJh&l0_eD#p1Z>XoAR-_yX zmiDkt4cAy$jbTk5mxHLmrVh|CRBay*mEfv@i$W|`n5>Dg^$ub$hl?XWc;7*voh zcYPjf{LKmG(7vzPcPm8Rs%o&xPZuj&-~yTk!e$q5m=i}Hs%Dj|7xJ1}KCO{?Nx2HO z^v)fsRX!QkL9_!_2lf57h=4;@5-wXR(e=IVvGuhKt(j$)qz!(NbG_5%W9(_YErEtd zrm6#?vL#ZxcP^diJFwOaUArW}ety*=s}$swSZ)`X%0^sI+5pz#5TS7zvFj$0YxB-I zxqO?5jI)j~D{-G|8#7}j$_=3)={X6^50=1#9~avy3N#!7%wh|3caXc_Vr_jJ+cktllsPerxXKJeePqucvH^I*#)D-17-hXTF%%0ApPZlwFd?SAeo^-!4Z_rUl($3*Ye)D?VOA}wh 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 + +const unsigned int dis7Scodes[] = {0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, + 0xFD, 0x07, 0x7F, 0x6F, 0x77, 0xFC, + 0x39, 0x5E, 0xF9, 0xF1}; + +typedef enum { HIGH, LOW } flag; + +void send2displays(unsigned char value) { + static flag f = LOW; + + if (f == HIGH) { + LATD = (LATD & 0xFF9F) | 0x0040; + LATB = (LATB & 0x80FF) | dis7Scodes[value >> 4] << 8; + f = LOW; + } else { + LATD = (LATD & 0xFF9F) | 0x0020; + LATB = (LATB & 0x80FF) | dis7Scodes[value & 0x0F] << 8; + f = HIGH; + } +} + +void delay(unsigned int ms) { + resetCoreTimer(); + while (readCoreTimer() < ms * 20000); +} + +int main() { + TRISB &= 0x80FF; + TRISD &= 0xFF9F; + + int counter = 0; + + while (1) { + int i = 0; + do { + send2displays(counter % 255); + delay(10); + } while (++i < 20); + counter++; + } + + return 0; +} diff --git a/2ano/2semestre/ac2/aula05/part2.c b/2ano/2semestre/ac2/aula05/part2.c new file mode 100644 index 0000000..0fd2fde --- /dev/null +++ b/2ano/2semestre/ac2/aula05/part2.c @@ -0,0 +1,64 @@ +#include + +const unsigned int dis7Scodes[] = {0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, + 0xFD, 0x07, 0x7F, 0x6F, 0x77, 0xFC, + 0x39, 0x5E, 0xF9, 0xF1}; + +typedef enum { HIGH, LOW } flag; + +unsigned char toBdc(unsigned char value) { + return ((value / 10) << 4) + (value % 10); +} + +void send2displays(unsigned char value) { + static flag f = LOW; + value = toBdc(value); + unsigned char high = dis7Scodes[value >> 4]; + unsigned char low = dis7Scodes[value & 0x0F]; + + if (f == HIGH) { + LATD = (LATD & 0xFF9F) | 0x0040; + LATB = (LATB & 0x80FF) | high << 8; + f = LOW; + } else { + LATD = (LATD & 0xFF9F) | 0x0020; + LATB = (LATB & 0x80FF) | low << 8; + f = HIGH; + } +} + +void delay(unsigned int ms) { + resetCoreTimer(); + while (readCoreTimer() < ms * 20000); +} + +int main() { + TRISB = (TRISB & 0x80FF) | 0x0001; + TRISD &= 0xFF9F; + TRISC &= 0xBFFF; + + int counter = 0; + int toggler = 0; + + while (1) { + int i = 0; + int sw0 = PORTB & 0x0001; + do { + send2displays(counter); + delay(10); + LATC &= 0xBFFF; + if (toggler++ < 500) LATC |= 0x4000; + } while (++i < (sw0 ? 20 : 50)); + counter += sw0 ? 1 : -1; + if (counter < 0) { + counter = 59; + toggler = 0; + } + if (counter > 59) { + counter = 0; + toggler = 0; + } + } + + return 0; +}