[add] opdracht 4.1

This commit is contained in:
stijn
2021-03-10 09:15:31 +01:00
parent f31018f8f1
commit ab4bf87190
7 changed files with 1237 additions and 159 deletions

View File

@@ -21,17 +21,15 @@ Project("{54F91283-7BC4-4236-8FF9-10F437C3AD48}") = "opdracht 2.3", "opdracht 2.
EndProject
Project("{54F91283-7BC4-4236-8FF9-10F437C3AD48}") = "opdracht 2.5", "opdracht 2.5\opdracht 2.5.cproj", "{C81B68AA-F4BB-4A5D-81F8-2737DCD1D4A7}"
EndProject
<<<<<<< Updated upstream
Project("{54F91283-7BC4-4236-8FF9-10F437C3AD48}") = "testlcd", "testlcd\testlcd.cproj", "{B964892D-A92F-44D4-AF99-3ADC61820917}"
EndProject
Project("{54F91283-7BC4-4236-8FF9-10F437C3AD48}") = "opdracht 3.2", "opdracht 3.2\opdracht 3.2.cproj", "{EB7415C6-2130-46AD-9842-612C67ADE6D4}"
=======
EndProject
Project("{54F91283-7BC4-4236-8FF9-10F437C3AD48}") = "opdracht 2.4", "opdracht 2.4\opdracht 2.4.cproj", "{0FA0C637-5AC0-44F3-999B-49C114B97183}"
EndProject
Project("{54F91283-7BC4-4236-8FF9-10F437C3AD48}") = "opdracht 3.3", "opdracht 3.3\opdracht 3.3.cproj", "{985D5C75-F61E-49F1-A532-66A1E6141552}"
EndProject
Project("{54F91283-7BC4-4236-8FF9-10F437C3AD48}") = "testlcd", "testlcd\testlcd.cproj", "{B964892D-A92F-44D4-AF99-3ADC61820917}"
>>>>>>> Stashed changes
Project("{54F91283-7BC4-4236-8FF9-10F437C3AD48}") = "opdracht 4.1", "opdracht 4.1\opdracht 4.1.cproj", "{2432E6BF-DA1E-4668-99BB-59FEA1F5B8A2}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -75,8 +73,14 @@ Global
{C81B68AA-F4BB-4A5D-81F8-2737DCD1D4A7}.Debug|AVR.Build.0 = Debug|AVR
{C81B68AA-F4BB-4A5D-81F8-2737DCD1D4A7}.Release|AVR.ActiveCfg = Release|AVR
{C81B68AA-F4BB-4A5D-81F8-2737DCD1D4A7}.Release|AVR.Build.0 = Release|AVR
<<<<<<< Updated upstream
=======
{B964892D-A92F-44D4-AF99-3ADC61820917}.Debug|AVR.ActiveCfg = Debug|AVR
{B964892D-A92F-44D4-AF99-3ADC61820917}.Debug|AVR.Build.0 = Debug|AVR
{B964892D-A92F-44D4-AF99-3ADC61820917}.Release|AVR.ActiveCfg = Release|AVR
{B964892D-A92F-44D4-AF99-3ADC61820917}.Release|AVR.Build.0 = Release|AVR
{EB7415C6-2130-46AD-9842-612C67ADE6D4}.Debug|AVR.ActiveCfg = Debug|AVR
{EB7415C6-2130-46AD-9842-612C67ADE6D4}.Debug|AVR.Build.0 = Debug|AVR
{EB7415C6-2130-46AD-9842-612C67ADE6D4}.Release|AVR.ActiveCfg = Release|AVR
{EB7415C6-2130-46AD-9842-612C67ADE6D4}.Release|AVR.Build.0 = Release|AVR
{0FA0C637-5AC0-44F3-999B-49C114B97183}.Debug|AVR.ActiveCfg = Debug|AVR
{0FA0C637-5AC0-44F3-999B-49C114B97183}.Debug|AVR.Build.0 = Debug|AVR
{0FA0C637-5AC0-44F3-999B-49C114B97183}.Release|AVR.ActiveCfg = Release|AVR
@@ -85,18 +89,10 @@ Global
{985D5C75-F61E-49F1-A532-66A1E6141552}.Debug|AVR.Build.0 = Debug|AVR
{985D5C75-F61E-49F1-A532-66A1E6141552}.Release|AVR.ActiveCfg = Release|AVR
{985D5C75-F61E-49F1-A532-66A1E6141552}.Release|AVR.Build.0 = Release|AVR
>>>>>>> Stashed changes
{B964892D-A92F-44D4-AF99-3ADC61820917}.Debug|AVR.ActiveCfg = Debug|AVR
{B964892D-A92F-44D4-AF99-3ADC61820917}.Debug|AVR.Build.0 = Debug|AVR
{B964892D-A92F-44D4-AF99-3ADC61820917}.Release|AVR.ActiveCfg = Release|AVR
{B964892D-A92F-44D4-AF99-3ADC61820917}.Release|AVR.Build.0 = Release|AVR
<<<<<<< Updated upstream
{EB7415C6-2130-46AD-9842-612C67ADE6D4}.Debug|AVR.ActiveCfg = Debug|AVR
{EB7415C6-2130-46AD-9842-612C67ADE6D4}.Debug|AVR.Build.0 = Debug|AVR
{EB7415C6-2130-46AD-9842-612C67ADE6D4}.Release|AVR.ActiveCfg = Release|AVR
{EB7415C6-2130-46AD-9842-612C67ADE6D4}.Release|AVR.Build.0 = Release|AVR
=======
>>>>>>> Stashed changes
{2432E6BF-DA1E-4668-99BB-59FEA1F5B8A2}.Debug|AVR.ActiveCfg = Debug|AVR
{2432E6BF-DA1E-4668-99BB-59FEA1F5B8A2}.Debug|AVR.Build.0 = Debug|AVR
{2432E6BF-DA1E-4668-99BB-59FEA1F5B8A2}.Release|AVR.ActiveCfg = Release|AVR
{2432E6BF-DA1E-4668-99BB-59FEA1F5B8A2}.Release|AVR.Build.0 = Release|AVR
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

View File

@@ -11,23 +11,23 @@ Idx Name Size VMA LMA File off Algn
CONTENTS, READONLY
3 .debug_aranges 00000090 00000000 00000000 000002a3 2**0
CONTENTS, READONLY, DEBUGGING
4 .debug_info 000011bb 00000000 00000000 00000333 2**0
4 .debug_info 00001209 00000000 00000000 00000333 2**0
CONTENTS, READONLY, DEBUGGING
5 .debug_abbrev 0000095a 00000000 00000000 000014ee 2**0
5 .debug_abbrev 0000095a 00000000 00000000 0000153c 2**0
CONTENTS, READONLY, DEBUGGING
6 .debug_line 00000526 00000000 00000000 00001e48 2**0
6 .debug_line 00000526 00000000 00000000 00001e96 2**0
CONTENTS, READONLY, DEBUGGING
7 .debug_frame 00000110 00000000 00000000 00002370 2**2
7 .debug_frame 00000110 00000000 00000000 000023bc 2**2
CONTENTS, READONLY, DEBUGGING
8 .debug_str 000002ae 00000000 00000000 00002480 2**0
8 .debug_str 000002ae 00000000 00000000 000024cc 2**0
CONTENTS, READONLY, DEBUGGING
9 .debug_loc 00000242 00000000 00000000 0000272e 2**0
9 .debug_loc 00000242 00000000 00000000 0000277a 2**0
CONTENTS, READONLY, DEBUGGING
10 .debug_ranges 00000070 00000000 00000000 00002970 2**0
10 .debug_ranges 00000070 00000000 00000000 000029bc 2**0
CONTENTS, READONLY, DEBUGGING
11 .text 00000004 0000021c 0000021c 00000270 2**1
CONTENTS, ALLOC, LOAD, READONLY, CODE
12 .note.gnu.avr.deviceinfo 0000003c 00000000 00000000 000029e0 2**2
12 .note.gnu.avr.deviceinfo 0000003c 00000000 00000000 00002a2c 2**2
CONTENTS, READONLY, DEBUGGING
13 .text.sbi_porta 00000016 000001f8 000001f8 0000024c 2**1
CONTENTS, ALLOC, LOAD, READONLY, CODE

File diff suppressed because it is too large Load Diff

View File

@@ -1,16 +1,16 @@
S01400006F7064726163687420342E312E7372656308
S113000045C0000058C0000056C0000054C00000A5
S113001052C0000050C000004EC000004CC00000A0
S11300204AC00000DFC0000046C0000044C0000019
S11300204AC000003BC1000046C0000044C00000BC
S113003042C0000040C000003EC000003CC00000C0
S11300403AC0000038C0000036C0000034C00000D0
S113005032C0000030C000002EC000002CC00000E0
S11300602AC0000028C0000026C0000024C00000F0
S113007022C0000020C000001EC000001CC0000000
S11300801AC0000018C0000016C0000011241FBED2
S1130090CFEFD0E1DEBFCDBF11E0A0E0B1E0E2E3FD
S11300A0F2E000E00BBF02C007900D92AC30B10744
S11300B0D9F7A2D0BCC0A4CF9BB321E030E002C0EA
S1130090CFEFD0E1DEBFCDBF11E0A0E0B1E0E4EFEF
S11300A0F8E000E00BBF02C007900D92A430B10746
S11300B0D9F711D11DC4A4CF9BB321E030E002C015
S11300C0220F331F8A95E2F7292B2BBB08959BB38C
S11300D021E030E002C0220F331F8A95E2F7209519
S11300E029232BBB089586E090E0E6DF89EF90E0BA
@@ -26,14 +26,122 @@ S1130170C0E2C5BBB8DFC5BBB6DF80E885BBB3DF73
S113018015BAB1DF80EF85BBAEDF15BAACDF80E610
S113019085BBA9DF82E0CADFA6DFCF910895CF93A4
S11301A0DF93EC0102C0B2DF219688818111FBCF7D
S11301B0DF91CF9108958EE1B9CF089520E030E02A
S11301C008C0E3ECF9E03197F1F700C000002F5FBD
S11301D03F4F28173907ACF3089580EE87B986E8B6
S11301E086B908951F920F920FB60F9211240F90A3
S11301F00FBE0F901F901895109261008FEF82B977
S1130200ECDFAFDFA3DFD7DFD6DF80E091E0C7DF2D
S113021087EA91E60197F1F700C0000086B1806497
S113022086B985B183B98AE090E0C8DFF7CFF89446
S1050230FFCFFA
S10F02324D4F4F4F4F4F4F4F4F4F0000A8
S11301B0DF91CF910895AF92BF92CF92DF92EF92E9
S11301C0FF920F931F93CF93DF93CDB7DEB76C01EC
S11301D0ADB6BEB601969F938F930F2EF0E0EF2E2F
S11301E0F1E0FF2EF02DFF92EF921F921F921F92CB
S11301F01F9295D001962DB73EB7285F3F4F0FB69B
S1130200F8943EBF0FBE2DBF281B390B0FB6F894D0
S11302103EBF0FBE2DBF0DB71EB70F5F1F4FDF923E
S1130220CF92FF92EF929F938F931F930F9377D068
S1130230802F912FB4DF8DB79EB708960FB6F89430
S11302409EBF0FBE8DBF0FB6F894BEBE0FBEADBE2F
S1130250DF91CF911F910F91FF90EF90DF90CF909E
S1130260BF90AF90089520E030E008C0EFECF7E0D5
S11302703197F1F700C000002F5F3F4F281739076F
S1130280ACF3089580EE87B986E886B9089587B7F8
S1130290806887BF789483E085BD08951F920F928C
S11302A00FB60F9211248F9386B1806486B98F9113
S11302B00F900FBE0F901F90189585B190E0880F96
S11302C0991F880F991F24B122952695269523708E
S11302D0820F911D0895109261008FEF82B9D2DFD1
S11302E040DF8FE19EE40197F1F700C000002EDFAC
S11302F0CEDF80E090E025B122BB24B123B9C5B1A3
S1130300D0E08C179D0731F021DF8AE090E0ABDF6D
S1130310D4DF51DF84E690E0A6DFCE01ECCF0F936B
S11303201F93CF93DF93CDB7DEB72E970FB6F89414
S1130330DEBF0FBECDBF0D891E898F89988D26E043
S11303402C831A83098397FF02C080E090E8019709
S11303509E838D83AE01455E5F4F698D7A8DCE019C
S1130360019619D04D815E8157FD0AC02F813885D1
S1130370421753070CF49A01F801E20FF31F10829D
S11303802E960FB6F894DEBF0FBECDBFDF91CF918E
S11303901F910F9108952F923F924F925F926F9207
S11303A07F928F929F92AF92BF92CF92DF92EF9201
S11303B0FF920F931F93CF93DF93CDB7DEB72B97A5
S11303C00FB6F894DEBF0FBECDBF6C017B018A016E
S11303D0FC0117821682838181FFBFC1CE01019681
S11303E03C01F6019381F70193FD859193FF81917F
S11303F07F01882309F4ADC1853239F493FD8591D9
S113040093FF81917F01853221F4B60190E0D6D12A
S1130410E8CF912C212C312CFFE1F315D8F08B324D
S113042079F038F4803279F08332A1F4232D2061FD
S11304301DC08D3261F0803369F4232D216016C014
S1130440832D8260382EE32DE4603E2E2AC0F32DE6
S1130450F8601DC037FC2DC020ED280F2A3040F075
S11304608E32B9F436FC75C1232D2064322E19C0A6
S113047036FE06C08AE0989E200D1124922E11C0EB
S1130480EAE02E9E200D1124222EF32DF0623F2E41
S113049008C08C3621F4832D8068382E02C088363B
S11304A041F4F70193FD859193FF81917F018111BF
S11304B0B3CF982F9F7D9554933028F40C5F1F4F32
S11304C09FE399830DC0833631F0833771F0833510
S11304D009F055C020C0F801808189830E5F1F4F49
S11304E088248394912C530112C02801F2E04F0E0A
S11304F0511CF801A080B18036FE03C0692D70E064
S113050002C06FEF7FEFC5014ED14C018201F32D84
S1130510FF773F2E15C0280122E0420E511CF8013E
S1130520A080B18036FE03C0692D70E002C06FEF79
S11305307FEFC5012DD14C01F32DF0683F2E8201D0
S113054033FC19C0822D90E088169906A0F4B601F8
S113055080E290E033D12A94F5CFF50137FC859100
S113056037FE81915F01B60190E028D121102A94D1
S113057021E0821A91088114910479F7E1C084364C
S113058011F0893639F5F80137FE07C060817181B1
S1130590828193810C5F1F4F08C060817181072E97
S11305A0000C880B990B0E5F1F4FF32DFF763F2E27
S11305B097FF09C090958095709561957F4F8F4FF7
S11305C09F4FF0683F2E2AE030E0A30133D1882EFC
S11305D0861844C0853731F4232D2F7EB22E2AE0AD
S11305E030E025C0932D997FB92E8F36C1F018F4D1
S11305F0883579F0AEC0803719F0883721F0A9C06A
S1130600E92FE061BE2EB4FE0DC0FB2DF460BF2EB9
S113061009C034FE0AC0292F2660B22E06C028E085
S113062030E005C020E130E002C020E132E0F80112
S1130630B7FE07C060817181828193810C5F1F4F77
S113064006C06081718180E090E00E5F1F4FA301BE
S1130650F1D0882E8618FB2DFF773F2E36FE0DC075
S1130660232D2E7FA22E891458F434FE0BC032FCA5
S113067009C0832D8E7EA82E05C0B82CA32C03C0E0
S1130680B82C01C0B92CA4FE0FC0FE01E80DF11D69
S11306908081803321F49A2D997EA92E09C0A2FE6F
S11306A006C0B394B39404C08A2D867809F0B39439
S11306B0A3FC10C0A0FE06C0B21480F4280C922C37
S11306C09B180DC0B21458F4B60180E290E076D0C5
S11306D0B394F8CFB21418F42B1802C0982C212C20
S11306E0A4FE0FC0B60180E390E068D0A2FE16C05D
S11306F0A1FC03C088E790E002C088E590E0B60161
S11307000CC08A2D867851F0A1FE02C08BE201C094
S113071080E2A7FC8DE2B60190E050D0891430F459
S1130720B60180E390E04AD09A94F8CF8A94F3011A
S1130730E80DF11D8081B60190E040D08110F6CF24
S1130740222009F44ECEB60180E290E037D02A94FC
S1130750F7CFF6018681978102C08FEF9FEF2B962A
S11307600FB6F894DEBF0FBECDBFDF91CF911F91BE
S11307700F91FF90EF90DF90CF90BF90AF909F903C
S11307808F907F906F905F904F903F902F9008953F
S1130790FC010590615070400110D8F78095909548
S11307A08E0F9F1F0895FC0161507040019001104D
S11307B0D8F7809590958E0F9F1F08950F931F93E0
S11307C0CF93DF93FB01238121FD03C08FEF9FEFC4
S11307D02CC022FF16C046815781248135814217DF
S11307E0530744F4A081B1819D012F5F3F4F3183B2
S11307F020838C93268137812F5F3F4F3783268355
S113080014C08B01EC01FB010084F185E02D0995F6
S1130810892BE1F6D80116968D919C911797019634
S113082017969C938E931697CE01DF91CF911F91CB
S11308300F910895FA01AA27283051F1203181F14E
S1130840E8946F936E7F6E5F7F4F8F4F9F4FAF4FD4
S1130850B1E03ED0B4E03CD0670F781F891F9A1FE7
S1130860A11D680F791F8A1F911DA11D6A0F711D9B
S1130870811D911DA11D20D009F468943F912AE0A7
S1130880269F11243019305D3193DEF6CF0108958F
S1130890462F4770405D4193B3E00FD0C9F7F6CFC0
S11308A0462F4F70405D4A3318F0495D31FD405288
S11308B0419302D0A9F7EACFB4E0A695979587951E
S11308C077956795BA95C9F70097610571050895FD
S11308D09B01AC010A2E06945795479537952795A9
S11308E0BA95C9F7620F731F841F951FA01D089541
S10708F0F894FFCFA6
S10708F42564000073
S9030000FC

View File

@@ -5,6 +5,7 @@
* Author: Sem
*/
#include <stdio.h>
#include <avr/io.h>
#include <util/delay.h>
#include <avr/interrupt.h>
@@ -80,6 +81,13 @@ void init_4bits_mode(void) {
lcd_strobe_lcd_e();
}
void lcd_write_integer(int number){
int length = snprintf(NULL, 0, "%d", number + 1);
char str[length + 1];
snprintf(str, length + 1, "%d", number);
lcd_write_string(str);
}
void lcd_write_character(unsigned char byte){

View File

@@ -22,6 +22,7 @@ void init_4bits_mode(void);
void lcd_write_string(const char *str);
void lcd_write_character(unsigned char byte);
void lcd_write_command(unsigned char byte);
void lcd_write_integer(int number);
void lcd_move_right(void);
void lcd_clear();

View File

@@ -6,7 +6,9 @@
*/
#define F_CPU 10e6
#define F_CPU 8e6
#include <stdio.h>
#include <stdlib.h>
#include <avr/io.h>
#include <util/delay.h>
#include <avr/interrupt.h>
@@ -31,40 +33,51 @@ void timer2Init( void ) {
}
ISR( TIMER2_COMP_vect ) {
ADCSRA |= BIT(6);
}
int getADCValue(){
int value = 0;
value = ADCH;
value <<= 2;
value += ADCL;
value += (ADCL >> 6);
return value;
}
int main(void)
{
int previousValue = 0;
/* Replace with your application code */
DDRF = 0x00; // set port F input.
DDRE = 0xFF; // all port A output.
adcInit();
init_4bits_mode();
lcd_clear();
lcd_move_right();
lcd_move_right();
lcd_write_string("MOOOOOOOOO");
_delay_ms(10);
lcd_clear();
//timer2Init();
timer2Init();
while (1)
{
ADCSRA |= BIT(6);
PORTE = ADCH;
//lcd_clear();
//lcd_write_character(getADCValue());
wait(10);
PORTD = ADCH;
PORTE = ADCL;
int number = ADCH;
if(previousValue != number){
lcd_clear();
wait(10);
lcd_write_integer(getADCValue());
}
previousValue = number;
wait(100);
}
}