Merge remote-tracking branch 'origin/main' into main
This commit is contained in:
@@ -25,7 +25,11 @@ Project("{54F91283-7BC4-4236-8FF9-10F437C3AD48}") = "testlcd", "testlcd\testlcd.
|
||||
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 C", "opdracht C\opdracht C.cproj", "{2DF6F5F3-181F-430E-B49A-3D9794F91482}"
|
||||
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}") = "opdracht 4.1", "opdracht 4.1\opdracht 4.1.cproj", "{2432E6BF-DA1E-4668-99BB-59FEA1F5B8A2}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
@@ -77,10 +81,6 @@ Global
|
||||
{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
|
||||
{2DF6F5F3-181F-430E-B49A-3D9794F91482}.Debug|AVR.ActiveCfg = Debug|AVR
|
||||
{2DF6F5F3-181F-430E-B49A-3D9794F91482}.Debug|AVR.Build.0 = Debug|AVR
|
||||
{2DF6F5F3-181F-430E-B49A-3D9794F91482}.Release|AVR.ActiveCfg = Release|AVR
|
||||
{2DF6F5F3-181F-430E-B49A-3D9794F91482}.Release|AVR.Build.0 = Release|AVR
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
|
||||
@@ -64,3 +64,37 @@ int main(void)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void init_4bits_mode(void) {
|
||||
// PORTC output mode and all low (also E and RS pin)
|
||||
DDRC = 0xFF;
|
||||
PORTC = 0x00;
|
||||
|
||||
PORTC = 0x20; // (0x28 for 2 lines)
|
||||
lcd_strobe_lcd_e();
|
||||
}
|
||||
|
||||
void init_4bits_mode(void) {
|
||||
|
||||
// PORTC output mode and all low (also E and RS pin)
|
||||
DDRC = 0xFF;
|
||||
PORTC = 0x00;
|
||||
|
||||
PORTC = 0x20; // function for 4-bit 1 row
|
||||
lcd_strobe_lcd_e();
|
||||
|
||||
PORTC = 0x20; // function high nibble 4-bit 2 row
|
||||
lcd_strobe_lcd_e();
|
||||
PORTC = 0x80; // function low nibble 4-bit 2 row
|
||||
lcd_strobe_lcd_e();
|
||||
|
||||
PORTC = 0x00; // function high nibble turn on visible blinking-block cursor
|
||||
lcd_strobe_lcd_e();
|
||||
PORTC = 0xF0; // function low nibble turn on visible blinking-block cursor
|
||||
lcd_strobe_lcd_e();
|
||||
|
||||
PORTC = 0x00; // Entry mode set high nibble
|
||||
lcd_strobe_lcd_e();
|
||||
PORTC = 0x60; // Entry mode set low nibble
|
||||
lcd_strobe_lcd_e();
|
||||
}
|
||||
@@ -161,8 +161,8 @@ Disassembly of section .text.lcd_strobe_lcd_e:
|
||||
12c: 86 e0 ldi r24, 0x06 ; 6
|
||||
12e: 90 e0 ldi r25, 0x00 ; 0
|
||||
130: 0e 94 fc 00 call 0x1f8 ; 0x1f8 <sbi_porta>
|
||||
134: 89 ef ldi r24, 0xF9 ; 249
|
||||
136: 90 e0 ldi r25, 0x00 ; 0
|
||||
134: 83 ec ldi r24, 0xC3 ; 195
|
||||
136: 99 e0 ldi r25, 0x09 ; 9
|
||||
138: 01 97 sbiw r24, 0x01 ; 1
|
||||
13a: f1 f7 brne .-4 ; 0x138 <lcd_strobe_lcd_e+0xc>
|
||||
13c: 00 c0 rjmp .+0 ; 0x13e <lcd_strobe_lcd_e+0x12>
|
||||
@@ -170,8 +170,8 @@ Disassembly of section .text.lcd_strobe_lcd_e:
|
||||
140: 86 e0 ldi r24, 0x06 ; 6
|
||||
142: 90 e0 ldi r25, 0x00 ; 0
|
||||
144: 0e 94 f0 00 call 0x1e0 ; 0x1e0 <cbi_porta>
|
||||
148: 89 ef ldi r24, 0xF9 ; 249
|
||||
14a: 90 e0 ldi r25, 0x00 ; 0
|
||||
148: 83 ec ldi r24, 0xC3 ; 195
|
||||
14a: 99 e0 ldi r25, 0x09 ; 9
|
||||
14c: 01 97 sbiw r24, 0x01 ; 1
|
||||
14e: f1 f7 brne .-4 ; 0x14c <lcd_strobe_lcd_e+0x20>
|
||||
150: 00 c0 rjmp .+0 ; 0x152 <lcd_strobe_lcd_e+0x26>
|
||||
@@ -223,8 +223,8 @@ Disassembly of section .text.lcd_clear:
|
||||
000001c6 <lcd_clear>:
|
||||
1c6: 81 e0 ldi r24, 0x01 ; 1
|
||||
1c8: 0e 94 bf 00 call 0x17e ; 0x17e <lcd_write_command>
|
||||
1cc: 83 ef ldi r24, 0xF3 ; 243
|
||||
1ce: 91 e0 ldi r25, 0x01 ; 1
|
||||
1cc: 87 e8 ldi r24, 0x87 ; 135
|
||||
1ce: 93 e1 ldi r25, 0x13 ; 19
|
||||
1d0: 01 97 sbiw r24, 0x01 ; 1
|
||||
1d2: f1 f7 brne .-4 ; 0x1d0 <lcd_clear+0xa>
|
||||
1d4: 00 c0 rjmp .+0 ; 0x1d6 <lcd_clear+0x10>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
* Created: 24-2-2021 11:55:12
|
||||
* Author: Sem
|
||||
*/
|
||||
|
||||
#define F_CPU 10e6
|
||||
#include <avr/io.h>
|
||||
#include <util/delay.h>
|
||||
#include <avr/interrupt.h>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,166 +1,150 @@
|
||||
S01400006F7064726163687420332E322E7372656308
|
||||
S113000072C000008DC000008BC0000089C00000D9
|
||||
S113001087C0000085C0000083C0000081C00000CC
|
||||
S11300207FC000007DC0000034C1000079C0000022
|
||||
S113003077C0000075C0000073C0000071C00000EC
|
||||
S11300406FC000006DC000006BC0000069C00000FC
|
||||
S113005067C0000065C0000063C0000061C000000C
|
||||
S11300605FC000005DC000005BC0000059C000001C
|
||||
S113007057C0000055C0000053C0000051C000002C
|
||||
S11300804FC000004DC000004BC00000080000003D
|
||||
S1130090BE922449123EABAAAA2ABECDCCCC4C3E79
|
||||
S11300A000000080BEABAAAAAA3E00000000BF0068
|
||||
S11300B00000803F0000000000084178D3BB438764
|
||||
S11300C0D1133D190E3CC3BD4282AD2B3E68EC8278
|
||||
S11300D076BED98FE1A93E4C80EFFFBE01C4FF7FFD
|
||||
S11300E03F000000000011241FBECFEFD0E1DEBFAF
|
||||
S11300F0CDBF11E0A0E0B1E0E6E2FAE000E00BBF22
|
||||
S113010002C007900D92A830B107D9F721E0A8E00A
|
||||
S1130110B1E001C01D92AE30B207E1F701D181C454
|
||||
S11301206FCF9BB321E030E002C0220F331F8A95CA
|
||||
S1130130E2F7292B2BBB08959BB321E030E002C0EA
|
||||
S1130140220F331F8A95E2F7209529232BBB0895AC
|
||||
S113015086E090E0E6DF89EF90E00197F1F700C0D8
|
||||
S1130160000086E090E0E8DF89EF90E00197F1F786
|
||||
S113017000C000000895CF93C82F85BB84E090E0B1
|
||||
S1130180D0DFE6DFC295C07FC5BB84E090E0C9DF65
|
||||
S1130190DFDFCF910895CF93C82F85BB84E090E033
|
||||
S11301A0CBDFD6DFC295C07FC5BB84E090E0C4DF5F
|
||||
S11301B0CFDFCF91089581E0EEDF83EF91E00197E7
|
||||
S11301C0F1F700C0000080E8E6CF0895CF938FEFE9
|
||||
S11301D084BB85BB8ABB15BA1BBAC0E2C5BBB8DFFA
|
||||
S11301E0C5BBB6DF80E885BBB3DF15BAB1DF80EFEE
|
||||
S11301F085BBAEDF15BAACDF80E685BBA9DF82E044
|
||||
S1130200CADFA6DFCF91089520E030E008C0EFEC0C
|
||||
S1130210F7E03197F1F700C000002F5F3F4F281738
|
||||
S11302203907ACF30895CF92DF92EF92FF92CF9308
|
||||
S1130230DF93EC01BC01990F880B990B1CD1A7D15A
|
||||
S113024020E030E040E85FE37FD0E2D06B017C0146
|
||||
S113025061E070E0C601A3D29C0181E0C81AD10814
|
||||
S11302600EC0F901EC0DFD1DCE016AE070E070D204
|
||||
S1130270805D808381E0C81AD108C62FD72FDD2086
|
||||
S113028084F7C901DF91CF91FF90EF90DF90CF9079
|
||||
S113029008951F920F920FB60F9211240BB60F926E
|
||||
S11302A02F933F934F935F936F937F938F939F937A
|
||||
S11302B0AF93BF93EF93FF93809106019091070151
|
||||
S11302C084BD8091080190910901019690930901E0
|
||||
S11302D08093080170DF8091080190910901A3DFE8
|
||||
S11302E04ADFFF91EF91BF91AF919F918F917F91E1
|
||||
S11302F06F915F914F913F912F910F900BBE0F9093
|
||||
S11303000FBE0F901F9018958091060190910701E0
|
||||
S113031084BD87B7806487BF789487E085BD0895DE
|
||||
S113032081B38F7781BB8FEF8ABB87BB4FDFECDF55
|
||||
S113033084B58BBB809108019091090188BB8AE048
|
||||
S113034090E062DFF5CF5058BB27AA270ED0E5C056
|
||||
S1130350D6D030F0DBD020F031F49F3F11F41EF4FE
|
||||
S1130360CBC00EF4E095E7FBC1C0E92FE7D080F3E2
|
||||
S1130370BA17620773078407950718F071F49EF59E
|
||||
S1130380FFC00EF4E0950B2EBA2FA02D0B01B9017E
|
||||
S113039090010C01CA01A0011124FF27591B99F0F7
|
||||
S11303A0593F50F4503E68F11A16F040A22F232F03
|
||||
S11303B0342F4427585FF3CF469537952795A79553
|
||||
S11303C0F0405395C9F77EF41F16BA0B620B730BFA
|
||||
S11303D0840BBAF09150A1F0FF0FBB1F661F771F6B
|
||||
S11303E0881FC2F70EC0BA0F621F731F841F48F420
|
||||
S11303F0879577956795B795F7959E3F08F0B3CFA6
|
||||
S11304009395880F08F09927EE0F9795879508958F
|
||||
S113041004D06894B111B5C0089598D088F09F575E
|
||||
S113042090F0B92F9927B751A0F0D1F0660F771F3C
|
||||
S1130430881F991F1AF0BA95C9F712C0B13081F01C
|
||||
S11304409FD0B1E008959CC0672F782F8827B85FAC
|
||||
S113045039F0B93FCCF3869577956795B395D9F77D
|
||||
S11304603EF490958095709561957F4F8F4F9F4F87
|
||||
S11304700895E89409C097FB3EF490958095709593
|
||||
S113048061957F4F8F4F9F4F9923A9F0F92F96E9DC
|
||||
S1130490BB279395F695879577956795B795F11151
|
||||
S11304A0F8CFFAF4BB0F11F460FF1BC06F5F7F4FEE
|
||||
S11304B08F4F9F4F16C0882311F096E911C0772300
|
||||
S11304C021F09EE8872F762F05C0662371F096E809
|
||||
S11304D0862F70E060E02AF09A95660F771F881FD8
|
||||
S11304E0DAF7880F9695879597F9089597F99F6796
|
||||
S11304F080E870E060E008959FEF80EC08950024A8
|
||||
S11305000A941616170618060906089500240A9474
|
||||
S113051012161306140605060895092E0394000CFA
|
||||
S113052011F4882352F0BB0F40F4BF2B11F460FF89
|
||||
S113053004C06F5F7F4F8F4F9F4F089557FD9058B2
|
||||
S1130540440F551F59F05F3F71F04795880F97FB93
|
||||
S1130550991F61F09F3F79F087950895121613064D
|
||||
S11305601406551FF2CF4695F1DF08C0161617067C
|
||||
S11305701806991FF1CF86957105610508940895B1
|
||||
S1130580E894BB2766277727CB0197F908950AD00B
|
||||
S113059029ED3BE54EED5EE345C00EF0A6C0ACCFC1
|
||||
S11305A06894A4CFD3DFC8F39923D1F3C6F3DF93C0
|
||||
S11305B0CF931F930F93FF92C92FDD2788232AF02F
|
||||
S11305C02197660F771F881FDAF720E030E040E8B4
|
||||
S11305D05FEB9FE3883920F0803E30F021968F77DF
|
||||
S11305E0B3DEECE8F0E003C0AFDEE9EBF0E08BD083
|
||||
S11305F08B01BE01EC01FB2E6F5771097595771FB6
|
||||
S1130600880B990B38DF28E132E741E35FE316D02A
|
||||
S1130610AF2D9801AE01FF900F911F91CF91DF9103
|
||||
S1130620A4DE7BCF0BD079CF6ADF28F06FDF18F020
|
||||
S1130630952309F05BCF60CF1124A3CF7FDFA0F314
|
||||
S1130640959FD1F3950F50E0551F629FF001729F63
|
||||
S1130650BB27F00DB11D639FAA27F00DB11DAA1F82
|
||||
S1130660649F6627B00DA11D661F829F2227B00DCF
|
||||
S1130670A11D621F739FB00DA11D621F839FA00D5A
|
||||
S1130680611D221F749F3327A00D611D231F849FAA
|
||||
S1130690600D211D822F762F6A2F11249F57504001
|
||||
S11306A08AF0E1F088234AF0EE0FFF1FBB1F661F9C
|
||||
S11306B0771F881F91505040A9F79E3F510570F055
|
||||
S11306C015CF5FCF5F3FECF3983EDCF386957795CB
|
||||
S11306D06795B795F795E7959F5FC1F7FE2B880F50
|
||||
S11306E0911D9695879597F908959F3F31F0915004
|
||||
S11306F020F4879577956795B795880F911D969502
|
||||
S1130700879597F90895DF93CF931F930F93FF92E3
|
||||
S1130710EF92DF927B018C01689405C0DA2EEF0121
|
||||
S11307208DDFFE01E894A591259135914591559170
|
||||
S1130730AEF3EF011ADEFE019701A801DA9479F70E
|
||||
S1130740DF90EF90FF900F911F91CF91DF9108956B
|
||||
S113075097FB072E16F4009406D077FD08D00BD033
|
||||
S113076007FC05D03EF4909581959F4F08957095B0
|
||||
S113077061957F4F0895AA1BBB1B51E107C0AA1FB7
|
||||
S1130780BB1FA617B70710F0A61BB70B881F991F2E
|
||||
S11307905A95A9F780959095BC01CD0108950F93C2
|
||||
S11307A01F93CF93DF93869F8001879F100D969FA1
|
||||
S11307B0100D1124C8010DD0EC01009721F0A801FF
|
||||
S11307C060E070E027D1CE01DF91CF911F910F91AE
|
||||
S11307D008950F931F93CF93DF938230910510F404
|
||||
S11307E082E090E0E0910C01F0910D0120E030E016
|
||||
S11307F0A0E0B0E0309719F140815181028113816A
|
||||
S113080048175907C8F08417950769F4109731F011
|
||||
S113081012960C93129713961C9327C000930C0105
|
||||
S113082010930D0122C02115310519F04217530709
|
||||
S113083018F49A01BD01EF01DF01F801DBCF2115A6
|
||||
S11308403105F9F0281B390B2430310580F48A81F5
|
||||
S11308509B816115710521F0FB019383828304C0A0
|
||||
S113086090930D0180930C01FE01329644C0FE0169
|
||||
S1130870E20FF31F81939193225031093983288326
|
||||
S11308803AC020910A0130910B01232B41F42091AD
|
||||
S113089002013091030130930B0120930A0120914E
|
||||
S11308A00001309101012115310541F42DB73EB706
|
||||
S11308B04091040150910501241B350BE0910A017C
|
||||
S11308C0F0910B01E217F307A0F42E1B3F0B28173E
|
||||
S11308D0390778F0AC014E5F5F4F2417350748F0B5
|
||||
S11308E04E0F5F1F50930B0140930A018193919324
|
||||
S11308F002C0E0E0F0E0CF01DF91CF911F910F91B2
|
||||
S11309000895CF93DF93009709F481C0FC013297D7
|
||||
S113091013821282A0910C01B0910D01109781F401
|
||||
S113092020813181820F931F20910A0130910B01A4
|
||||
S11309302817390751F5F0930B01E0930A0167C0BA
|
||||
S1130940ED0120E030E0CE17DF0740F44A815B81FF
|
||||
S11309509E0141155105F1F0EA01F5CFD383C2831D
|
||||
S113096040815181840F951FC817D90759F4888194
|
||||
S11309709981840F951F0296918380838A819B813C
|
||||
S1130980938382832115310529F4F0930D01E093BB
|
||||
S11309900C013DC0E901FB83EA8349915991C40FDD
|
||||
S11309A0D51FEC17FD0761F480819181840F951F99
|
||||
S11309B00296E90199838883828193819B838A8348
|
||||
S11309C0E0E0F0E012968D919C911397009719F056
|
||||
S11309D0FD01DC01F7CF8D919C9111979D012E5F54
|
||||
S11309E03F4F820F931F20910A0130910B0128176A
|
||||
S11309F0390769F4309729F410920D0110920C0113
|
||||
S1130A0002C013821282B0930B01A0930A01DF91FA
|
||||
S1130A10CF910895DC0101C06D9341505040E0F73F
|
||||
S1090A200895F894FFCFD5
|
||||
S10B0A2600000E012000FFFF97
|
||||
S113000045C0000060C000005EC000005CC000008D
|
||||
S11300105AC0000058C0000056C0000054C0000080
|
||||
S113002052C0000050C00000DDC000004CC0000001
|
||||
S11300304AC0000048C0000046C0000044C00000A0
|
||||
S113004042C0000040C000003EC000003CC00000B0
|
||||
S11300503AC0000038C0000036C0000034C00000C0
|
||||
S113006032C0000030C000002EC000002CC00000D0
|
||||
S11300702AC0000028C0000026C0000024C00000E0
|
||||
S113008022C0000020C000001EC0000011241FBEBA
|
||||
S1130090CFEFD0E1DEBFCDBF11E0A0E0B1E0E2E2FE
|
||||
S11300A0F9E000E00BBF02C007900D92AA30B1073F
|
||||
S11300B0D9F721E0AAE0B1E001C01D92AC30B2074B
|
||||
S11300C0E1F729D12CC49CCF9BB321E030E002C0DE
|
||||
S11300D0220F331F8A95E2F7292B2BBB08959BB37C
|
||||
S11300E021E030E002C0220F331F8A95E2F7209509
|
||||
S11300F029232BBB089586E090E0E6DF83EC99E0AA
|
||||
S11301000197F1F700C0000086E090E0E8DF83EC9F
|
||||
S113011099E00197F1F700C000000895CF93C82F2C
|
||||
S113012085BB84E090E0D0DFE6DFC295C07FC5BB2D
|
||||
S113013084E090E0C9DFDFDFCF910895CF93C82F2B
|
||||
S113014085BB84E090E0CBDFD6DFC295C07FC5BB22
|
||||
S113015084E090E0C4DFCFDFCF91089581E0EEDF4B
|
||||
S113016087E893E10197F1F700C0000080E8E6CF4B
|
||||
S11301700895CF938FEF84BB85BB8ABB15BA1BBA96
|
||||
S1130180C0E2C5BBB8DFC5BBB6DF80E885BBB3DF63
|
||||
S113019015BAB1DF80EF85BBAEDF15BAACDF80E600
|
||||
S11301A085BBA9DF82E0CADFA6DFCF910895CF9394
|
||||
S11301B0DF93EC0102C0B2DF219688818111FBCF6D
|
||||
S11301C0DF91CF91089520E030E008C0EFECF7E034
|
||||
S11301D03197F1F700C000002F5F3F4F2817390710
|
||||
S11301E0ACF308951F920F920FB60F9211240BB621
|
||||
S11301F00F92CF92DF92EF92FF920F931F932F9360
|
||||
S11302003F934F935F936F937F938F939F93AF939A
|
||||
S1130210BF93EF93FF93CF93DF93CDB7DEB7CDB604
|
||||
S1130220DEB68091000184BD80910A0190910B019A
|
||||
S1130230019690930B0180930A0190DF80910A014B
|
||||
S113024090910B0101969F938F930F2EF2E0EF2E66
|
||||
S1130250F1E0FF2EF02DFF92EF921F921F921F925A
|
||||
S11302601F9274D001962DB73EB7285F3F4F0FB64B
|
||||
S1130270F8943EBF0FBE2DBF281B390B0FB6F89460
|
||||
S11302803EBF0FBE2DBF0DB71EB70F5F1F4F20918E
|
||||
S11302900A0130910B012F5F3F4F3F932F93FF9241
|
||||
S11302A0EF929F938F931F930F9350D0802F912F92
|
||||
S11302B07EDF8DB79EB708960FB6F8949EBF0FBE2B
|
||||
S11302C08DBF0FB6F894DEBE0FBECDBEDF91CF91C9
|
||||
S11302D0FF91EF91BF91AF919F918F917F916F911A
|
||||
S11302E05F914F913F912F911F910F91FF90EF904C
|
||||
S11302F0DF90CF900F900BBE0F900FBE0F901F900A
|
||||
S113030018958091000184BD87B7806487BF789475
|
||||
S113031087E085BD089581B38F7781BB8FEF8ABB5A
|
||||
S113032087BB27DF8FE19EE40197F1F700C000004F
|
||||
S113033015DF85E091E03BDFE4DF84B58BBB809182
|
||||
S11303400A0188BB8AE090E03EDFF7CF0F931F934A
|
||||
S1130350CF93DF93CDB7DEB72E970FB6F894DEBFF9
|
||||
S11303600FBECDBF0D891E898F89988D26E02C8301
|
||||
S11303701A83098397FF02C080E090E801979E8367
|
||||
S11303808D83AE01455E5F4F698D7A8DCE010196F6
|
||||
S113039019D04D815E8157FD0AC02F8138854217DF
|
||||
S11303A053070CF49A01F801E20FF31F10822E9602
|
||||
S11303B00FB6F894DEBF0FBECDBFDF91CF911F9172
|
||||
S11303C00F9108952F923F924F925F926F927F9276
|
||||
S11303D08F929F92AF92BF92CF92DF92EF92FF9251
|
||||
S11303E00F931F93CF93DF93CDB7DEB72B970FB641
|
||||
S11303F0F894DEBF0FBECDBF6C017B018A01FC0106
|
||||
S113040017821682838181FFBFC1CE0101963C0110
|
||||
S1130410F6019381F70193FD859193FF81917F010B
|
||||
S1130420882309F4ADC1853239F493FD859193FF96
|
||||
S113043081917F01853221F4B60190E0D6D1E8CFD5
|
||||
S1130440912C212C312CFFE1F315D8F08B3279F06B
|
||||
S113045038F4803279F08332A1F4232D20611DC059
|
||||
S11304608D3261F0803369F4232D216016C0832D11
|
||||
S11304708260382EE32DE4603E2E2AC0F32DF8600E
|
||||
S11304801DC037FC2DC020ED280F2A3040F08E32DD
|
||||
S1130490B9F436FC75C1232D2064322E19C036FE02
|
||||
S11304A006C08AE0989E200D1124922E11C0EAE025
|
||||
S11304B02E9E200D1124222EF32DF0623F2E08C013
|
||||
S11304C08C3621F4832D8068382E02C0883641F49E
|
||||
S11304D0F70193FD859193FF81917F018111B3CF42
|
||||
S11304E0982F9F7D9554933028F40C5F1F4F9FE302
|
||||
S11304F099830DC0833631F0833771F0833509F069
|
||||
S113050055C020C0F801808189830E5F1F4F882465
|
||||
S11305108394912C530112C02801F2E04F0E511C18
|
||||
S1130520F801A080B18036FE03C0692D70E002C0DE
|
||||
S11305306FEF7FEFC5014ED14C018201F32DFF77A0
|
||||
S11305403F2E15C0280122E0420E511CF801A08064
|
||||
S1130550B18036FE03C0692D70E002C06FEF7FEFFB
|
||||
S1130560C5012DD14C01F32DF0683F2E820133FCDF
|
||||
S113057019C0822D90E088169906A0F4B60180E295
|
||||
S113058090E033D12A94F5CFF50137FC859137FEFD
|
||||
S113059081915F01B60190E028D121102A9421E0D5
|
||||
S11305A0821A91088114910479F7E1C0843611F01C
|
||||
S11305B0893639F5F80137FE07C06081718182817F
|
||||
S11305C093810C5F1F4F08C060817181072E000C5E
|
||||
S11305D0880B990B0E5F1F4FF32DFF763F2E97FF6D
|
||||
S11305E009C090958095709561957F4F8F4F9F4F6F
|
||||
S11305F0F0683F2E2AE030E0A30133D1882E86181C
|
||||
S113060044C0853731F4232D2F7EB22E2AE030E00A
|
||||
S113061025C0932D997FB92E8F36C1F018F48835F3
|
||||
S113062079F0AEC0803719F0883721F0A9C0E92FDE
|
||||
S1130630E061BE2EB4FE0DC0FB2DF460BF2E09C0D8
|
||||
S113064034FE0AC0292F2660B22E06C028E030E00E
|
||||
S113065005C020E130E002C020E132E0F801B7FE3D
|
||||
S113066007C060817181828193810C5F1F4F06C036
|
||||
S11306706081718180E090E00E5F1F4FA301F1D093
|
||||
S1130680882E8618FB2DFF773F2E36FE0DC0232DB6
|
||||
S11306902E7FA22E891458F434FE0BC032FC09C0FC
|
||||
S11306A0832D8E7EA82E05C0B82CA32C03C0B82C95
|
||||
S11306B001C0B92CA4FE0FC0FE01E80DF11D80811C
|
||||
S11306C0803321F49A2D997EA92E09C0A2FE06C07A
|
||||
S11306D0B394B39404C08A2D867809F0B394A3FC30
|
||||
S11306E010C0A0FE06C0B21480F4280C922C9B18F3
|
||||
S11306F00DC0B21458F4B60180E290E076D0B39401
|
||||
S1130700F8CFB21418F42B1802C0982C212CA4FE94
|
||||
S11307100FC0B60180E390E068D0A2FE16C0A1FC31
|
||||
S113072003C088E790E002C088E590E0B6010CC001
|
||||
S11307308A2D867851F0A1FE02C08BE201C080E2CE
|
||||
S1130740A7FC8DE2B60190E050D0891430F4B601D4
|
||||
S113075080E390E04AD09A94F8CF8A94F301E80DAC
|
||||
S1130760F11D8081B60190E040D08110F6CF2220A7
|
||||
S113077009F44ECEB60180E290E037D02A94F7CF48
|
||||
S1130780F6018681978102C08FEF9FEF2B960FB6FB
|
||||
S1130790F894DEBF0FBECDBFDF91CF911F910F91B3
|
||||
S11307A0FF90EF90DF90CF90BF90AF909F908F908D
|
||||
S11307B07F906F905F904F903F902F900895FC0131
|
||||
S11307C00590615070400110D8F7809590958E0F78
|
||||
S11307D09F1F0895FC016150704001900110D8F7EB
|
||||
S11307E0809590958E0F9F1F08950F931F93CF931D
|
||||
S11307F0DF93FB01238121FD03C08FEF9FEF2CC00A
|
||||
S113080022FF16C046815781248135814217530740
|
||||
S113081044F4A081B1819D012F5F3F4F3183208338
|
||||
S11308208C93268137812F5F3F4F3783268314C0F3
|
||||
S11308308B01EC01FB010084F185E02D0995892BE6
|
||||
S1130840E1F6D80116968D919C911797019617960B
|
||||
S11308509C938E931697CE01DF91CF911F910F91A8
|
||||
S11308600895FA01AA27283051F1203181F1E89442
|
||||
S11308706F936E7F6E5F7F4F8F4F9F4FAF4FB1E08F
|
||||
S11308803ED0B4E03CD0670F781F891F9A1FA11D8A
|
||||
S1130890680F791F8A1F911DA11D6A0F711D811D8B
|
||||
S11308A0911DA11D20D009F468943F912AE0269F50
|
||||
S11308B011243019305D3193DEF6CF010895462FAF
|
||||
S11308C04770405D4193B3E00FD0C9F7F6CF462F90
|
||||
S11308D04F70405D4A3318F0495D31FD40524193F9
|
||||
S11308E002D0A9F7EACFB4E0A695979587957795B6
|
||||
S11308F06795BA95C9F700976105710508959B013D
|
||||
S1130900AC010A2E06945795479537952795BA95C5
|
||||
S1130910C9F7620F731F841F951FA01D0895F894D3
|
||||
S1050920FFCF03
|
||||
S10D0922FFFF256400796565740089
|
||||
S9030000FC
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
* Created: 24-2-2021 11:55:12
|
||||
* Author: Sem
|
||||
*/
|
||||
|
||||
#define F_CPU 10e6
|
||||
#include <avr/io.h>
|
||||
#include <util/delay.h>
|
||||
#include <avr/interrupt.h>
|
||||
|
||||
@@ -6,6 +6,8 @@
|
||||
*/
|
||||
|
||||
#define F_CPU 8e6
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#include <avr/io.h>
|
||||
#include <util/delay.h>
|
||||
#include <avr/interrupt.h>
|
||||
@@ -33,15 +35,19 @@ char * toArray(int number)
|
||||
return numberArray;
|
||||
}
|
||||
|
||||
volatile int TimerPreset = -1; // 0xF6, 10 till overflow
|
||||
volatile int number = 0;
|
||||
int TimerPreset = -1; // 0xF6, 10 till overflow
|
||||
int number = 0;
|
||||
|
||||
// Interrupt routine timer2 overflow
|
||||
ISR( TIMER2_OVF_vect ) {
|
||||
TCNT2 = TimerPreset; // Preset value
|
||||
number++; // Increment counter
|
||||
lcd_clear();
|
||||
lcd_write_character(toArray(number));
|
||||
|
||||
int length = snprintf(NULL, 0, "%d", number + 1);
|
||||
char str[length + 1];
|
||||
snprintf(str, length + 1, "%d", number + 1);
|
||||
lcd_write_string(str);
|
||||
}
|
||||
|
||||
// Initialize timer2
|
||||
@@ -59,6 +65,11 @@ int main(void) {
|
||||
DDRB = 0xFF; // set PORTB for output (shows tenthvalue)
|
||||
|
||||
init_4bits_mode();
|
||||
_delay_ms(10);
|
||||
|
||||
lcd_clear();
|
||||
|
||||
lcd_write_string("yeet");
|
||||
|
||||
timer2Init();
|
||||
|
||||
|
||||
139
Microcontrollers/opdracht 4.1/Debug/Makefile
Normal file
139
Microcontrollers/opdracht 4.1/Debug/Makefile
Normal file
@@ -0,0 +1,139 @@
|
||||
################################################################################
|
||||
# Automatically-generated file. Do not edit!
|
||||
################################################################################
|
||||
|
||||
SHELL := cmd.exe
|
||||
RM := rm -rf
|
||||
|
||||
USER_OBJS :=
|
||||
|
||||
LIBS :=
|
||||
PROJ :=
|
||||
|
||||
O_SRCS :=
|
||||
C_SRCS :=
|
||||
S_SRCS :=
|
||||
S_UPPER_SRCS :=
|
||||
OBJ_SRCS :=
|
||||
ASM_SRCS :=
|
||||
PREPROCESSING_SRCS :=
|
||||
OBJS :=
|
||||
OBJS_AS_ARGS :=
|
||||
C_DEPS :=
|
||||
C_DEPS_AS_ARGS :=
|
||||
EXECUTABLES :=
|
||||
OUTPUT_FILE_PATH :=
|
||||
OUTPUT_FILE_PATH_AS_ARGS :=
|
||||
AVR_APP_PATH :=$$$AVR_APP_PATH$$$
|
||||
QUOTE := "
|
||||
ADDITIONAL_DEPENDENCIES:=
|
||||
OUTPUT_FILE_DEP:=
|
||||
LIB_DEP:=
|
||||
LINKER_SCRIPT_DEP:=
|
||||
|
||||
# Every subdirectory with source files must be described here
|
||||
SUBDIRS :=
|
||||
|
||||
|
||||
# Add inputs and outputs from these tool invocations to the build variables
|
||||
C_SRCS += \
|
||||
../lcd_control.c \
|
||||
../main.c
|
||||
|
||||
|
||||
PREPROCESSING_SRCS +=
|
||||
|
||||
|
||||
ASM_SRCS +=
|
||||
|
||||
|
||||
OBJS += \
|
||||
lcd_control.o \
|
||||
main.o
|
||||
|
||||
OBJS_AS_ARGS += \
|
||||
lcd_control.o \
|
||||
main.o
|
||||
|
||||
C_DEPS += \
|
||||
lcd_control.d \
|
||||
main.d
|
||||
|
||||
C_DEPS_AS_ARGS += \
|
||||
lcd_control.d \
|
||||
main.d
|
||||
|
||||
OUTPUT_FILE_PATH +=opdracht\ 4.1.elf
|
||||
|
||||
OUTPUT_FILE_PATH_AS_ARGS +="opdracht 4.1.elf"
|
||||
|
||||
ADDITIONAL_DEPENDENCIES:=
|
||||
|
||||
OUTPUT_FILE_DEP:= ./makedep.mk
|
||||
|
||||
LIB_DEP+=
|
||||
|
||||
LINKER_SCRIPT_DEP+=
|
||||
|
||||
|
||||
# AVR32/GNU C Compiler
|
||||
./lcd_control.o: .././lcd_control.c
|
||||
@echo Building file: $<
|
||||
@echo Invoking: AVR/GNU C Compiler : 5.4.0
|
||||
$(QUOTE)C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-gcc.exe$(QUOTE) -x c -funsigned-char -funsigned-bitfields -DDEBUG -I"C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.6.364\include" -Og -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -mrelax -g2 -Wall -mmcu=atmega128 -B "C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.6.364\gcc\dev\atmega128" -c -std=gnu99 -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<"
|
||||
@echo Finished building: $<
|
||||
|
||||
|
||||
./main.o: .././main.c
|
||||
@echo Building file: $<
|
||||
@echo Invoking: AVR/GNU C Compiler : 5.4.0
|
||||
$(QUOTE)C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-gcc.exe$(QUOTE) -x c -funsigned-char -funsigned-bitfields -DDEBUG -I"C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.6.364\include" -Og -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -mrelax -g2 -Wall -mmcu=atmega128 -B "C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.6.364\gcc\dev\atmega128" -c -std=gnu99 -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<"
|
||||
@echo Finished building: $<
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# AVR32/GNU Preprocessing Assembler
|
||||
|
||||
|
||||
|
||||
# AVR32/GNU Assembler
|
||||
|
||||
|
||||
|
||||
|
||||
ifneq ($(MAKECMDGOALS),clean)
|
||||
ifneq ($(strip $(C_DEPS)),)
|
||||
-include $(C_DEPS)
|
||||
endif
|
||||
endif
|
||||
|
||||
# Add inputs and outputs from these tool invocations to the build variables
|
||||
|
||||
# All Target
|
||||
all: $(OUTPUT_FILE_PATH) $(ADDITIONAL_DEPENDENCIES)
|
||||
|
||||
$(OUTPUT_FILE_PATH): $(OBJS) $(USER_OBJS) $(OUTPUT_FILE_DEP) $(LIB_DEP) $(LINKER_SCRIPT_DEP)
|
||||
@echo Building target: $@
|
||||
@echo Invoking: AVR/GNU Linker : 5.4.0
|
||||
$(QUOTE)C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-gcc.exe$(QUOTE) -o$(OUTPUT_FILE_PATH_AS_ARGS) $(OBJS_AS_ARGS) $(USER_OBJS) $(LIBS) -Wl,-Map="opdracht 4.1.map" -Wl,--start-group -Wl,-lm -Wl,--end-group -Wl,--gc-sections -mrelax -mmcu=atmega128 -B "C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.6.364\gcc\dev\atmega128"
|
||||
@echo Finished building target: $@
|
||||
"C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-objcopy.exe" -O ihex -R .eeprom -R .fuse -R .lock -R .signature -R .user_signatures "opdracht 4.1.elf" "opdracht 4.1.hex"
|
||||
"C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-objcopy.exe" -j .eeprom --set-section-flags=.eeprom=alloc,load --change-section-lma .eeprom=0 --no-change-warnings -O ihex "opdracht 4.1.elf" "opdracht 4.1.eep" || exit 0
|
||||
"C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-objdump.exe" -h -S "opdracht 4.1.elf" > "opdracht 4.1.lss"
|
||||
"C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-objcopy.exe" -O srec -R .eeprom -R .fuse -R .lock -R .signature -R .user_signatures "opdracht 4.1.elf" "opdracht 4.1.srec"
|
||||
"C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-size.exe" "opdracht 4.1.elf"
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# Other Targets
|
||||
clean:
|
||||
-$(RM) $(OBJS_AS_ARGS) $(EXECUTABLES)
|
||||
-$(RM) $(C_DEPS_AS_ARGS)
|
||||
rm -rf "opdracht 4.1.elf" "opdracht 4.1.a" "opdracht 4.1.hex" "opdracht 4.1.lss" "opdracht 4.1.eep" "opdracht 4.1.map" "opdracht 4.1.srec" "opdracht 4.1.usersignatures"
|
||||
|
||||
8
Microcontrollers/opdracht 4.1/Debug/makedep.mk
Normal file
8
Microcontrollers/opdracht 4.1/Debug/makedep.mk
Normal file
@@ -0,0 +1,8 @@
|
||||
################################################################################
|
||||
# Automatically-generated file. Do not edit or delete the file
|
||||
################################################################################
|
||||
|
||||
lcd_control.c
|
||||
|
||||
main.c
|
||||
|
||||
1
Microcontrollers/opdracht 4.1/Debug/opdracht 4.1.eep
Normal file
1
Microcontrollers/opdracht 4.1/Debug/opdracht 4.1.eep
Normal file
@@ -0,0 +1 @@
|
||||
:00000001FF
|
||||
1457
Microcontrollers/opdracht 4.1/Debug/opdracht 4.1.lss
Normal file
1457
Microcontrollers/opdracht 4.1/Debug/opdracht 4.1.lss
Normal file
File diff suppressed because it is too large
Load Diff
147
Microcontrollers/opdracht 4.1/Debug/opdracht 4.1.srec
Normal file
147
Microcontrollers/opdracht 4.1/Debug/opdracht 4.1.srec
Normal file
@@ -0,0 +1,147 @@
|
||||
S01400006F7064726163687420342E312E7372656308
|
||||
S113000045C0000058C0000056C0000054C00000A5
|
||||
S113001052C0000050C000004EC000004CC00000A0
|
||||
S11300204AC000003BC1000046C0000044C00000BC
|
||||
S113003042C0000040C000003EC000003CC00000C0
|
||||
S11300403AC0000038C0000036C0000034C00000D0
|
||||
S113005032C0000030C000002EC000002CC00000E0
|
||||
S11300602AC0000028C0000026C0000024C00000F0
|
||||
S113007022C0000020C000001EC000001CC0000000
|
||||
S11300801AC0000018C0000016C0000011241FBED2
|
||||
S1130090CFEFD0E1DEBFCDBF11E0A0E0B1E0E4EFEF
|
||||
S11300A0F8E000E00BBF02C007900D92A430B10746
|
||||
S11300B0D9F711D11DC4A4CF9BB321E030E002C015
|
||||
S11300C0220F331F8A95E2F7292B2BBB08959BB38C
|
||||
S11300D021E030E002C0220F331F8A95E2F7209519
|
||||
S11300E029232BBB089586E090E0E6DF89EF90E0BA
|
||||
S11300F00197F1F700C0000086E090E0E8DF89EFA7
|
||||
S113010090E00197F1F700C000000895CF93C82F45
|
||||
S113011085BB84E090E0D0DFE6DFC295C07FC5BB3D
|
||||
S113012084E090E0C9DFDFDFCF910895CF93C82F3B
|
||||
S113013085BB84E090E0CBDFD6DFC295C07FC5BB32
|
||||
S113014084E090E0C4DFCFDFCF91089581E0EEDF5B
|
||||
S113015083EF91E00197F1F700C0000080E8E6CF5B
|
||||
S11301600895CF938FEF84BB85BB8ABB15BA1BBAA6
|
||||
S1130170C0E2C5BBB8DFC5BBB6DF80E885BBB3DF73
|
||||
S113018015BAB1DF80EF85BBAEDF15BAACDF80E610
|
||||
S113019085BBA9DF82E0CADFA6DFCF910895CF93A4
|
||||
S11301A0DF93EC0102C0B2DF219688818111FBCF7D
|
||||
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
|
||||
130
Microcontrollers/opdracht 4.1/lcd_control.c
Normal file
130
Microcontrollers/opdracht 4.1/lcd_control.c
Normal file
@@ -0,0 +1,130 @@
|
||||
/*
|
||||
* lcd_controlc.c
|
||||
*
|
||||
* Created: 24-2-2021 11:55:12
|
||||
* Author: Sem
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <avr/io.h>
|
||||
#include <util/delay.h>
|
||||
#include <avr/interrupt.h>
|
||||
#include "lcd_control.h"
|
||||
|
||||
void _delay_ms(double __ms);
|
||||
|
||||
void lcd_clear() {
|
||||
lcd_write_command (0x01); //Leeg display
|
||||
_delay_ms(2);
|
||||
lcd_write_command (0x80); //Cursor terug naar start
|
||||
}
|
||||
|
||||
void lcd_strobe_lcd_e(void) {
|
||||
|
||||
sbi_porta(LCD_E); // E high
|
||||
_delay_ms(1);
|
||||
cbi_porta(LCD_E); // E low
|
||||
_delay_ms(1);
|
||||
|
||||
}
|
||||
|
||||
void sbi_portc(int index){
|
||||
PORTC |= (1<<index);
|
||||
}
|
||||
|
||||
|
||||
void cbi_portc(int index){
|
||||
PORTC &= ~(1<<index);
|
||||
}
|
||||
|
||||
void sbi_porta(int index){
|
||||
PORTA |= (1<<index);
|
||||
}
|
||||
|
||||
|
||||
void cbi_porta(int index){
|
||||
PORTA &= ~(1<<index);
|
||||
}
|
||||
|
||||
void init_4bits_mode(void) {
|
||||
|
||||
// PORTC output mode and all low (also E and RS pin)
|
||||
|
||||
// Init I/O
|
||||
DDRC = 0xFF; // PORTD(7) output, PORTD(6:0) input
|
||||
PORTC = 0xFF;
|
||||
|
||||
DDRA = 0xFF;
|
||||
PORTC = 0x00;
|
||||
PORTA = 0x00;
|
||||
|
||||
PORTC = 0x20; // function for 4-bit 1 row
|
||||
lcd_strobe_lcd_e();
|
||||
|
||||
PORTC = 0x20; // function high nibble 4-bit 2 row
|
||||
lcd_strobe_lcd_e();
|
||||
PORTC = 0x80; // function low nibble 4-bit 2 row
|
||||
lcd_strobe_lcd_e();
|
||||
|
||||
PORTC = 0x00; // function high nibble turn on visible blinking-block cursor
|
||||
lcd_strobe_lcd_e();
|
||||
PORTC = 0xF0; // function low nibble turn on visible blinking-block cursor
|
||||
lcd_strobe_lcd_e();
|
||||
|
||||
PORTC = 0x00; // Entry mode set high nibble
|
||||
lcd_strobe_lcd_e();
|
||||
PORTC = 0x60; // Entry mode set low nibble
|
||||
lcd_strobe_lcd_e();
|
||||
|
||||
// return home
|
||||
lcd_write_command(0x02);
|
||||
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){
|
||||
|
||||
|
||||
//upper nibble
|
||||
PORTC = byte;
|
||||
sbi_porta(LCD_RS);
|
||||
lcd_strobe_lcd_e();
|
||||
|
||||
//lower nibble
|
||||
PORTC = (byte<<4);
|
||||
sbi_porta(LCD_RS);
|
||||
lcd_strobe_lcd_e();
|
||||
|
||||
}
|
||||
|
||||
void lcd_write_command(unsigned char byte){
|
||||
|
||||
//upper nibble
|
||||
PORTC = byte;
|
||||
cbi_porta(LCD_RS);
|
||||
lcd_strobe_lcd_e();
|
||||
|
||||
//lower nibble
|
||||
PORTC = (byte<<4);
|
||||
cbi_porta(LCD_RS);
|
||||
lcd_strobe_lcd_e();
|
||||
|
||||
}
|
||||
|
||||
void lcd_write_string(const char *str) {
|
||||
|
||||
for(;*str; str++){
|
||||
lcd_write_character(*str);
|
||||
}
|
||||
}
|
||||
|
||||
void lcd_move_right(void){
|
||||
|
||||
lcd_write_command(0x1E);
|
||||
}
|
||||
31
Microcontrollers/opdracht 4.1/lcd_control.h
Normal file
31
Microcontrollers/opdracht 4.1/lcd_control.h
Normal file
@@ -0,0 +1,31 @@
|
||||
/*
|
||||
* lcd_control.h
|
||||
*
|
||||
* Created: 24-2-2021 11:56:16
|
||||
* Author: Sem
|
||||
*/
|
||||
|
||||
|
||||
#ifndef LCD_CONTROL_H_
|
||||
#define LCD_CONTROL_H_
|
||||
|
||||
#define LCD_E 6
|
||||
#define LCD_RS 4
|
||||
|
||||
void _delay_ms(double __ms);
|
||||
void lcd_strobe_lcd_e(void);
|
||||
void sbi_portc(int index);
|
||||
void cbi_portc(int index);
|
||||
void sbi_porta(int index);
|
||||
void cbi_porta(int index);
|
||||
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();
|
||||
|
||||
|
||||
|
||||
#endif /* LCD_CONTROL_H_ */
|
||||
83
Microcontrollers/opdracht 4.1/main.c
Normal file
83
Microcontrollers/opdracht 4.1/main.c
Normal file
@@ -0,0 +1,83 @@
|
||||
/*
|
||||
* opdracht 4.1.c
|
||||
*
|
||||
* Created: 03-Mar-21 9:26:31 AM
|
||||
* Author : lemms
|
||||
*/
|
||||
|
||||
|
||||
#define F_CPU 8e6
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <avr/io.h>
|
||||
#include <util/delay.h>
|
||||
#include <avr/interrupt.h>
|
||||
#include "lcd_control.h"
|
||||
#define BIT(x) (1 << (x))
|
||||
|
||||
void wait( int ms ) {
|
||||
for (int tms=0; tms<ms; tms++) {
|
||||
_delay_ms( 1 ); // library function (max 30 ms at 8MHz)
|
||||
}
|
||||
}
|
||||
|
||||
void adcInit(){
|
||||
ADMUX = 0b11100000; // internal reference: 2.56V and SEI on ADC0 and left-adjusted.
|
||||
ADCSRA = 0b10000110; // enable ADC. No free-run. Clock 64 D-factor.
|
||||
}
|
||||
|
||||
void timer2Init( void ) {
|
||||
TIMSK |= BIT(7); // T2 compare match interrupt enable
|
||||
sei(); // turn_on interrupt all
|
||||
TCCR2 = 0b00000011; // Initialize T2: timer, pre-scaler=64
|
||||
}
|
||||
|
||||
ISR( TIMER2_COMP_vect ) {
|
||||
ADCSRA |= BIT(6);
|
||||
}
|
||||
|
||||
int getADCValue(){
|
||||
int value = 0;
|
||||
value = ADCH;
|
||||
value <<= 2;
|
||||
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();
|
||||
_delay_ms(10);
|
||||
lcd_clear();
|
||||
|
||||
timer2Init();
|
||||
while (1)
|
||||
{
|
||||
PORTD = ADCH;
|
||||
PORTE = ADCL;
|
||||
|
||||
int number = ADCH;
|
||||
|
||||
if(previousValue != number){
|
||||
|
||||
lcd_clear();
|
||||
|
||||
wait(10);
|
||||
|
||||
lcd_write_integer(getADCValue());
|
||||
}
|
||||
|
||||
previousValue = number;
|
||||
|
||||
wait(100);
|
||||
}
|
||||
}
|
||||
|
||||
86
Microcontrollers/opdracht 4.1/opdracht 4.1.componentinfo.xml
Normal file
86
Microcontrollers/opdracht 4.1/opdracht 4.1.componentinfo.xml
Normal file
@@ -0,0 +1,86 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Store xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="AtmelPackComponentManagement">
|
||||
<ProjectComponents>
|
||||
<ProjectComponent z:Id="i1" xmlns:z="http://schemas.microsoft.com/2003/10/Serialization/">
|
||||
<CApiVersion></CApiVersion>
|
||||
<CBundle></CBundle>
|
||||
<CClass>Device</CClass>
|
||||
<CGroup>Startup</CGroup>
|
||||
<CSub></CSub>
|
||||
<CVariant></CVariant>
|
||||
<CVendor>Atmel</CVendor>
|
||||
<CVersion>1.6.0</CVersion>
|
||||
<DefaultRepoPath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs</DefaultRepoPath>
|
||||
<DependentComponents xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" />
|
||||
<Description></Description>
|
||||
<Files xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
|
||||
<d4p1:anyType i:type="FileInfo">
|
||||
<AbsolutePath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.6.364\include\</AbsolutePath>
|
||||
<Attribute></Attribute>
|
||||
<Category>include</Category>
|
||||
<Condition>C</Condition>
|
||||
<FileContentHash i:nil="true" />
|
||||
<FileVersion></FileVersion>
|
||||
<Name>include/</Name>
|
||||
<SelectString></SelectString>
|
||||
<SourcePath></SourcePath>
|
||||
</d4p1:anyType>
|
||||
<d4p1:anyType i:type="FileInfo">
|
||||
<AbsolutePath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.6.364\include\avr\iom128.h</AbsolutePath>
|
||||
<Attribute></Attribute>
|
||||
<Category>header</Category>
|
||||
<Condition>C</Condition>
|
||||
<FileContentHash>JdJ7J9I/SJh965SEyyyVYw==</FileContentHash>
|
||||
<FileVersion></FileVersion>
|
||||
<Name>include/avr/iom128.h</Name>
|
||||
<SelectString></SelectString>
|
||||
<SourcePath></SourcePath>
|
||||
</d4p1:anyType>
|
||||
<d4p1:anyType i:type="FileInfo">
|
||||
<AbsolutePath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.6.364\templates\main.c</AbsolutePath>
|
||||
<Attribute>template</Attribute>
|
||||
<Category>source</Category>
|
||||
<Condition>C Exe</Condition>
|
||||
<FileContentHash>ocUBw/Ju1i9iTulaRbeRxg==</FileContentHash>
|
||||
<FileVersion></FileVersion>
|
||||
<Name>templates/main.c</Name>
|
||||
<SelectString>Main file (.c)</SelectString>
|
||||
<SourcePath></SourcePath>
|
||||
</d4p1:anyType>
|
||||
<d4p1:anyType i:type="FileInfo">
|
||||
<AbsolutePath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.6.364\templates\main.cpp</AbsolutePath>
|
||||
<Attribute>template</Attribute>
|
||||
<Category>source</Category>
|
||||
<Condition>C Exe</Condition>
|
||||
<FileContentHash>mkKaE95TOoATsuBGv6jmxg==</FileContentHash>
|
||||
<FileVersion></FileVersion>
|
||||
<Name>templates/main.cpp</Name>
|
||||
<SelectString>Main file (.cpp)</SelectString>
|
||||
<SourcePath></SourcePath>
|
||||
</d4p1:anyType>
|
||||
<d4p1:anyType i:type="FileInfo">
|
||||
<AbsolutePath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.6.364\gcc\dev\atmega128</AbsolutePath>
|
||||
<Attribute></Attribute>
|
||||
<Category>libraryPrefix</Category>
|
||||
<Condition>GCC</Condition>
|
||||
<FileContentHash i:nil="true" />
|
||||
<FileVersion></FileVersion>
|
||||
<Name>gcc/dev/atmega128</Name>
|
||||
<SelectString></SelectString>
|
||||
<SourcePath></SourcePath>
|
||||
</d4p1:anyType>
|
||||
</Files>
|
||||
<PackName>ATmega_DFP</PackName>
|
||||
<PackPath>C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.6.364/Atmel.ATmega_DFP.pdsc</PackPath>
|
||||
<PackVersion>1.6.364</PackVersion>
|
||||
<PresentInProject>true</PresentInProject>
|
||||
<ReferenceConditionId>ATmega128</ReferenceConditionId>
|
||||
<RteComponents xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
|
||||
<d4p1:string></d4p1:string>
|
||||
</RteComponents>
|
||||
<Status>Resolved</Status>
|
||||
<VersionMode>Fixed</VersionMode>
|
||||
<IsComponentInAtProject>true</IsComponentInAtProject>
|
||||
</ProjectComponent>
|
||||
</ProjectComponents>
|
||||
</Store>
|
||||
136
Microcontrollers/opdracht 4.1/opdracht 4.1.cproj
Normal file
136
Microcontrollers/opdracht 4.1/opdracht 4.1.cproj
Normal file
@@ -0,0 +1,136 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="14.0">
|
||||
<PropertyGroup>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectVersion>7.0</ProjectVersion>
|
||||
<ToolchainName>com.Atmel.AVRGCC8.C</ToolchainName>
|
||||
<ProjectGuid>{2432e6bf-da1e-4668-99bb-59fea1f5b8a2}</ProjectGuid>
|
||||
<avrdevice>ATmega128</avrdevice>
|
||||
<avrdeviceseries>none</avrdeviceseries>
|
||||
<OutputType>Executable</OutputType>
|
||||
<Language>C</Language>
|
||||
<OutputFileName>$(MSBuildProjectName)</OutputFileName>
|
||||
<OutputFileExtension>.elf</OutputFileExtension>
|
||||
<OutputDirectory>$(MSBuildProjectDirectory)\$(Configuration)</OutputDirectory>
|
||||
<AssemblyName>opdracht 4.1</AssemblyName>
|
||||
<Name>opdracht 4.1</Name>
|
||||
<RootNamespace>opdracht 4.1</RootNamespace>
|
||||
<ToolchainFlavour>Native</ToolchainFlavour>
|
||||
<KeepTimersRunning>true</KeepTimersRunning>
|
||||
<OverrideVtor>false</OverrideVtor>
|
||||
<CacheFlash>true</CacheFlash>
|
||||
<ProgFlashFromRam>true</ProgFlashFromRam>
|
||||
<RamSnippetAddress />
|
||||
<UncachedRange />
|
||||
<preserveEEPROM>true</preserveEEPROM>
|
||||
<OverrideVtorValue />
|
||||
<BootSegment>2</BootSegment>
|
||||
<ResetRule>0</ResetRule>
|
||||
<eraseonlaunchrule>0</eraseonlaunchrule>
|
||||
<EraseKey />
|
||||
<AsfFrameworkConfig>
|
||||
<framework-data xmlns="">
|
||||
<options />
|
||||
<configurations />
|
||||
<files />
|
||||
<documentation help="" />
|
||||
<offline-documentation help="" />
|
||||
<dependencies>
|
||||
<content-extension eid="atmel.asf" uuidref="Atmel.ASF" version="3.49.1" />
|
||||
</dependencies>
|
||||
</framework-data>
|
||||
</AsfFrameworkConfig>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
|
||||
<ToolchainSettings>
|
||||
<AvrGcc>
|
||||
<avrgcc.common.Device>-mmcu=atmega128 -B "%24(PackRepoDir)\atmel\ATmega_DFP\1.6.364\gcc\dev\atmega128"</avrgcc.common.Device>
|
||||
<avrgcc.common.optimization.RelaxBranches>True</avrgcc.common.optimization.RelaxBranches>
|
||||
<avrgcc.common.outputfiles.hex>True</avrgcc.common.outputfiles.hex>
|
||||
<avrgcc.common.outputfiles.lss>True</avrgcc.common.outputfiles.lss>
|
||||
<avrgcc.common.outputfiles.eep>True</avrgcc.common.outputfiles.eep>
|
||||
<avrgcc.common.outputfiles.srec>True</avrgcc.common.outputfiles.srec>
|
||||
<avrgcc.common.outputfiles.usersignatures>False</avrgcc.common.outputfiles.usersignatures>
|
||||
<avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned>True</avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned>
|
||||
<avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned>True</avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned>
|
||||
<avrgcc.compiler.symbols.DefSymbols>
|
||||
<ListValues>
|
||||
<Value>NDEBUG</Value>
|
||||
</ListValues>
|
||||
</avrgcc.compiler.symbols.DefSymbols>
|
||||
<avrgcc.compiler.directories.IncludePaths>
|
||||
<ListValues>
|
||||
<Value>%24(PackRepoDir)\atmel\ATmega_DFP\1.6.364\include\</Value>
|
||||
</ListValues>
|
||||
</avrgcc.compiler.directories.IncludePaths>
|
||||
<avrgcc.compiler.optimization.level>Optimize for size (-Os)</avrgcc.compiler.optimization.level>
|
||||
<avrgcc.compiler.optimization.PackStructureMembers>True</avrgcc.compiler.optimization.PackStructureMembers>
|
||||
<avrgcc.compiler.optimization.AllocateBytesNeededForEnum>True</avrgcc.compiler.optimization.AllocateBytesNeededForEnum>
|
||||
<avrgcc.compiler.warnings.AllWarnings>True</avrgcc.compiler.warnings.AllWarnings>
|
||||
<avrgcc.linker.libraries.Libraries>
|
||||
<ListValues>
|
||||
<Value>libm</Value>
|
||||
</ListValues>
|
||||
</avrgcc.linker.libraries.Libraries>
|
||||
<avrgcc.assembler.general.IncludePaths>
|
||||
<ListValues>
|
||||
<Value>%24(PackRepoDir)\atmel\ATmega_DFP\1.6.364\include\</Value>
|
||||
</ListValues>
|
||||
</avrgcc.assembler.general.IncludePaths>
|
||||
</AvrGcc>
|
||||
</ToolchainSettings>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
|
||||
<ToolchainSettings>
|
||||
<AvrGcc>
|
||||
<avrgcc.common.Device>-mmcu=atmega128 -B "%24(PackRepoDir)\atmel\ATmega_DFP\1.6.364\gcc\dev\atmega128"</avrgcc.common.Device>
|
||||
<avrgcc.common.optimization.RelaxBranches>True</avrgcc.common.optimization.RelaxBranches>
|
||||
<avrgcc.common.outputfiles.hex>True</avrgcc.common.outputfiles.hex>
|
||||
<avrgcc.common.outputfiles.lss>True</avrgcc.common.outputfiles.lss>
|
||||
<avrgcc.common.outputfiles.eep>True</avrgcc.common.outputfiles.eep>
|
||||
<avrgcc.common.outputfiles.srec>True</avrgcc.common.outputfiles.srec>
|
||||
<avrgcc.common.outputfiles.usersignatures>False</avrgcc.common.outputfiles.usersignatures>
|
||||
<avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned>True</avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned>
|
||||
<avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned>True</avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned>
|
||||
<avrgcc.compiler.symbols.DefSymbols>
|
||||
<ListValues>
|
||||
<Value>DEBUG</Value>
|
||||
</ListValues>
|
||||
</avrgcc.compiler.symbols.DefSymbols>
|
||||
<avrgcc.compiler.directories.IncludePaths>
|
||||
<ListValues>
|
||||
<Value>%24(PackRepoDir)\atmel\ATmega_DFP\1.6.364\include\</Value>
|
||||
</ListValues>
|
||||
</avrgcc.compiler.directories.IncludePaths>
|
||||
<avrgcc.compiler.optimization.level>Optimize debugging experience (-Og)</avrgcc.compiler.optimization.level>
|
||||
<avrgcc.compiler.optimization.PackStructureMembers>True</avrgcc.compiler.optimization.PackStructureMembers>
|
||||
<avrgcc.compiler.optimization.AllocateBytesNeededForEnum>True</avrgcc.compiler.optimization.AllocateBytesNeededForEnum>
|
||||
<avrgcc.compiler.optimization.DebugLevel>Default (-g2)</avrgcc.compiler.optimization.DebugLevel>
|
||||
<avrgcc.compiler.warnings.AllWarnings>True</avrgcc.compiler.warnings.AllWarnings>
|
||||
<avrgcc.linker.libraries.Libraries>
|
||||
<ListValues>
|
||||
<Value>libm</Value>
|
||||
</ListValues>
|
||||
</avrgcc.linker.libraries.Libraries>
|
||||
<avrgcc.assembler.general.IncludePaths>
|
||||
<ListValues>
|
||||
<Value>%24(PackRepoDir)\atmel\ATmega_DFP\1.6.364\include\</Value>
|
||||
</ListValues>
|
||||
</avrgcc.assembler.general.IncludePaths>
|
||||
<avrgcc.assembler.debugging.DebugLevel>Default (-Wa,-g)</avrgcc.assembler.debugging.DebugLevel>
|
||||
</AvrGcc>
|
||||
</ToolchainSettings>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="lcd_control.c">
|
||||
<SubType>compile</SubType>
|
||||
</Compile>
|
||||
<Compile Include="lcd_control.h">
|
||||
<SubType>compile</SubType>
|
||||
</Compile>
|
||||
<Compile Include="main.c">
|
||||
<SubType>compile</SubType>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<Import Project="$(AVRSTUDIO_EXE_PATH)\\Vs\\Compiler.targets" />
|
||||
</Project>
|
||||
67
Microcontrollers/opdracht 4.b1/main.c
Normal file
67
Microcontrollers/opdracht 4.b1/main.c
Normal file
@@ -0,0 +1,67 @@
|
||||
/*
|
||||
* opdracht 4.b1.c
|
||||
*
|
||||
* Created: 3-3-2021 10:54:49
|
||||
* Author : Sem
|
||||
*/
|
||||
|
||||
/************************************************************************/
|
||||
/* Verander het programma (voor kanaal 3 en voor 8 bits) zodat het alleen een AD-conversie uitvoert
|
||||
als jij dat wilt, dus op aanvraag. Maak daarvoor in main() een eindeloze lus met een wachtfunctie
|
||||
en een start voor de ADC (Zie ook code in de repository). */
|
||||
/************************************************************************/
|
||||
|
||||
|
||||
#define F_CPU 10e6
|
||||
#include <avr/io.h>
|
||||
#include <util/delay.h>
|
||||
#include <avr/interrupt.h>
|
||||
|
||||
#define BIT(x) (1 << (x))
|
||||
|
||||
// wait(): busy waiting for 'ms' millisecond
|
||||
// Used library: util/delay.h
|
||||
void wait( int ms )
|
||||
{
|
||||
for (int tms=0; tms<ms; tms++)
|
||||
{
|
||||
_delay_ms( 1 ); // library function (max 30 ms at 8MHz)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Initialize ADC: 10-bits (left justified), no free running
|
||||
void adcInit( void )
|
||||
{
|
||||
sei(); // enable interrupts
|
||||
ADMUX = 0b01100011; // AREF=VCC, result left adjusted, channel3 at pin PF3
|
||||
ADCSRA = 0b10001110; // ADC-enable, start conversion mode, no free running, interrupt enable
|
||||
}
|
||||
|
||||
/************************************************************************/
|
||||
/* starts AD converstion by setting bit 6 in ADCSRA to 1 */
|
||||
/************************************************************************/
|
||||
void startConversion(void) {
|
||||
ADCSRA |= BIT(6);
|
||||
}
|
||||
|
||||
|
||||
// Main program: ADC at PF1
|
||||
int main( void )
|
||||
{
|
||||
DDRF = 0x00; // set PORTF for input (ADC)
|
||||
DDRA = 0xFF; // set PORTA for output
|
||||
DDRB = 0xFF; // set PORTB for output
|
||||
adcInit(); // initialize ADC
|
||||
|
||||
while (1)
|
||||
{
|
||||
PORTB = ADCL; // Show MSB/LSB (bit 10:0) of ADC
|
||||
PORTA = ADCH;
|
||||
|
||||
startConversion();
|
||||
wait(100); // every 100 ms (busy waiting)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,86 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Store xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="AtmelPackComponentManagement">
|
||||
<ProjectComponents>
|
||||
<ProjectComponent z:Id="i1" xmlns:z="http://schemas.microsoft.com/2003/10/Serialization/">
|
||||
<CApiVersion></CApiVersion>
|
||||
<CBundle></CBundle>
|
||||
<CClass>Device</CClass>
|
||||
<CGroup>Startup</CGroup>
|
||||
<CSub></CSub>
|
||||
<CVariant></CVariant>
|
||||
<CVendor>Atmel</CVendor>
|
||||
<CVersion>1.6.0</CVersion>
|
||||
<DefaultRepoPath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs</DefaultRepoPath>
|
||||
<DependentComponents xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" />
|
||||
<Description></Description>
|
||||
<Files xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
|
||||
<d4p1:anyType i:type="FileInfo">
|
||||
<AbsolutePath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.6.364\include\</AbsolutePath>
|
||||
<Attribute></Attribute>
|
||||
<Category>include</Category>
|
||||
<Condition>C</Condition>
|
||||
<FileContentHash i:nil="true" />
|
||||
<FileVersion></FileVersion>
|
||||
<Name>include/</Name>
|
||||
<SelectString></SelectString>
|
||||
<SourcePath></SourcePath>
|
||||
</d4p1:anyType>
|
||||
<d4p1:anyType i:type="FileInfo">
|
||||
<AbsolutePath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.6.364\include\avr\iom128.h</AbsolutePath>
|
||||
<Attribute></Attribute>
|
||||
<Category>header</Category>
|
||||
<Condition>C</Condition>
|
||||
<FileContentHash>JdJ7J9I/SJh965SEyyyVYw==</FileContentHash>
|
||||
<FileVersion></FileVersion>
|
||||
<Name>include/avr/iom128.h</Name>
|
||||
<SelectString></SelectString>
|
||||
<SourcePath></SourcePath>
|
||||
</d4p1:anyType>
|
||||
<d4p1:anyType i:type="FileInfo">
|
||||
<AbsolutePath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.6.364\templates\main.c</AbsolutePath>
|
||||
<Attribute>template</Attribute>
|
||||
<Category>source</Category>
|
||||
<Condition>C Exe</Condition>
|
||||
<FileContentHash>LGMXRdW4vmSlRGAAGvj3wQ==</FileContentHash>
|
||||
<FileVersion></FileVersion>
|
||||
<Name>templates/main.c</Name>
|
||||
<SelectString>Main file (.c)</SelectString>
|
||||
<SourcePath></SourcePath>
|
||||
</d4p1:anyType>
|
||||
<d4p1:anyType i:type="FileInfo">
|
||||
<AbsolutePath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.6.364\templates\main.cpp</AbsolutePath>
|
||||
<Attribute>template</Attribute>
|
||||
<Category>source</Category>
|
||||
<Condition>C Exe</Condition>
|
||||
<FileContentHash>mkKaE95TOoATsuBGv6jmxg==</FileContentHash>
|
||||
<FileVersion></FileVersion>
|
||||
<Name>templates/main.cpp</Name>
|
||||
<SelectString>Main file (.cpp)</SelectString>
|
||||
<SourcePath></SourcePath>
|
||||
</d4p1:anyType>
|
||||
<d4p1:anyType i:type="FileInfo">
|
||||
<AbsolutePath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.6.364\gcc\dev\atmega128</AbsolutePath>
|
||||
<Attribute></Attribute>
|
||||
<Category>libraryPrefix</Category>
|
||||
<Condition>GCC</Condition>
|
||||
<FileContentHash i:nil="true" />
|
||||
<FileVersion></FileVersion>
|
||||
<Name>gcc/dev/atmega128</Name>
|
||||
<SelectString></SelectString>
|
||||
<SourcePath></SourcePath>
|
||||
</d4p1:anyType>
|
||||
</Files>
|
||||
<PackName>ATmega_DFP</PackName>
|
||||
<PackPath>C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.6.364/Atmel.ATmega_DFP.pdsc</PackPath>
|
||||
<PackVersion>1.6.364</PackVersion>
|
||||
<PresentInProject>true</PresentInProject>
|
||||
<ReferenceConditionId>ATmega128</ReferenceConditionId>
|
||||
<RteComponents xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
|
||||
<d4p1:string></d4p1:string>
|
||||
</RteComponents>
|
||||
<Status>Resolved</Status>
|
||||
<VersionMode>Fixed</VersionMode>
|
||||
<IsComponentInAtProject>true</IsComponentInAtProject>
|
||||
</ProjectComponent>
|
||||
</ProjectComponents>
|
||||
</Store>
|
||||
28
Microcontrollers/opdracht 4.b1/opdracht 4.b1.cproj
Normal file
28
Microcontrollers/opdracht 4.b1/opdracht 4.b1.cproj
Normal file
@@ -0,0 +1,28 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="14.0">
|
||||
<PropertyGroup>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectVersion>7.0</ProjectVersion>
|
||||
<ToolchainName>com.Atmel.AVRGCC8.C</ToolchainName>
|
||||
<ProjectGuid>dce6c7e3-ee26-4d79-826b-08594b9ad897</ProjectGuid>
|
||||
<avrdevice>ATmega128</avrdevice>
|
||||
<avrdeviceseries>none</avrdeviceseries>
|
||||
<OutputType>Executable</OutputType>
|
||||
<Language>C</Language>
|
||||
<OutputFileName>$(MSBuildProjectName)</OutputFileName>
|
||||
<OutputFileExtension>.elf</OutputFileExtension>
|
||||
<OutputDirectory>$(MSBuildProjectDirectory)\$(Configuration)</OutputDirectory>
|
||||
<AssemblyName>opdracht 4.b1</AssemblyName>
|
||||
<Name>opdracht 4.b1</Name>
|
||||
<RootNamespace>opdracht 4.b1</RootNamespace>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
|
||||
<ToolchainSettings>
|
||||
</ToolchainSettings>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
|
||||
<ToolchainSettings>
|
||||
</ToolchainSettings>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(AVRSTUDIO_EXE_PATH)\\Vs\\Compiler.targets" />
|
||||
</Project>
|
||||
Reference in New Issue
Block a user