სწრაფი AVR სქემა. დაუკრავენ-ბიტი AVR Microcontrollers- ში

დიზაინის დიზაინისა და სახელმძღვანელოების დიზაინის დიზაინისა და სახელმძღვანელო პრინციპების დიზაინი დაფუძნებულია დიზაინზე. EasyAVR (და არა მხოლოდ) ამ კომპანიის მიერ დამზადებულია დამწყებთათვის მიკროკონტროლერის ტექნიკის დამონტაჟება და მათზე დამონტაჟებული სხვადასხვა კომპონენტების მრავალფეროვნება. სინამდვილეში, ნახევარი კი არასასურველი ხდება ხუთი ექვსი ტრენინგ-პროგრამის მოქმედების შემოწმების შემდეგ, თავად აიღო, ბევრი LED- ები და ღილაკები თითოეული პორტის თითოეულ ხაზს უკავშირდება. მაგრამ მათ სჭირდებათ ექსპერიმენტი მხოლოდ, სანამ ის სწავლობენ სიგნალებს და ფლეშ მაჩვენებლებს და ეს საკმაოდ სწრაფად ხდება. ჩემს ბორტზე მხოლოდ ოთხი LED- ები და გადართვა, საკმაოდ საკმარისია ...

შემუშავებული საფასური მე მისცა სახელი Fastavr. მქონე ზომის 98x127 მმ და ცალმხრივი დაბეჭდილი მონტაჟი, საკმაოდ შესაფერისია სახლში. მიკროცირკენი გამოიყენება მხოლოდ პანელში დამონტაჟებული დიპლომებით, რაც საშუალებას იძლევა ადვილად შეცვალონ ექსპერიმენტში. Microcontroller შეიძლება იყოს clocking როგორც კვარცის რეზონარული და სიხშირის საათის დამონტაჟებული საათის გენერატორი სიხშირის გამყოფი, კონექტორი არის გათვალისწინებული სტანდარტული STK-200 პროგრამისტი შერჩევითი feed და უნარი დაკავშირება JTAG ადაპტერი საჭიროების შემთხვევაში, შეგიძლიათ პროგრამა და მიკროკონტროლერი, რომელიც განკუთვნილია მუშაობა. სხვა მოწყობილობაში.

ბორტზე არსებობს ყველაზე მნიშვნელოვანი პერიფერიული მოწყობილობები შეფუთვაზე Debugged Designs- ის შეფუთვაზე: ორი ბიტიანი შვიდი ელემენტი LED ინდიკატორი, სიმბოლური LCD, RS-232, SPI, PS / 2 ინტერფეისი (სტანდარტული კომპიუტერის კლავიატურაზე ან "მაუსი" ), EEPROM Microcircuit, ხმის სიგნალიზაციის მოწყობილობა. ამ მოწყობილობების უმრავლესობას შეუძლებელია ნებისმიერი მიკროკონტროლერის პორტების ნებისმიერ დასკვნას თვითნებური კომბინაციების ნებისმიერ პორტში ყველა პორტები ხელმისაწვდომი და გამგეობის გარეთ მოწყობილობების დაკავშირება. ხელმისაწვდომია მოწყობილობების საბჭოს, მათ შორის კვარცის გენერატორისა და LED ინდიკატორების შესახებ, ასევე შეიძლება უკავშირდებოდეს მოწყობილობებს, რომ ეს კავშირები არ მოითხოვება soldering და ხორციელდება დამონტაჟების დამონტაჟება ფორმებს შორის კავშირების ან მათ შორის და გარე მოწყობილობებს შორის .

თავდაპირველად, Debug- ის დაფა იაფი მიკროკონტროლერის ATMEGA8- ით, რომელსაც გააჩნია თითქმის ყველა თანდაყოლილი ოჯახი (AVR) შესაძლებლობებით, თუმცა გადავწყვიტე, არ გადავარჩინოთ და გამოიყენოს იგივე ოჯახის მიკროკონტროლერი DIP შემთხვევაში, მაქსიმალური დასკვნების მაქსიმალური რაოდენობა (40) - ATMEGA16 ან ATMEGA32. დასკვნების ადგილმდებარეობა იგივეა, და ვინმეს შეუძლია დამონტაჟდეს ბორტზე. დიდი რაოდენობით შედეგები საშუალებას გაძლევთ დაკავშირება უფრო განსხვავებული პერიფერიული მოწყობილობები, რომლებიც შეიძლება საჭირო გახდეს პროგრამის გამართვისას. მას შემდეგ, რაც Microcontrollers AVR ოჯახის პროგრამამტიურად თავსებადია, მიეძღვნა უფრო ძლიერი პროგრამა ადვილია, როგორც წესი, გადავიდეს ნაკლებად ძლიერი გათვალისწინებით, რა თქმა უნდა, მათი განსხვავებები.

Debug Board- ზე დამონტაჟებული მიკროკონტროლერის იმავე შემთხვევაში, ბევრი სხვადასხვა პროგრამა შეიძლება გაუქმდეს. პროგრამული უზრუნველყოფა (Flash) Modern Microcontrollers მეხსიერება საშუალებას აძლევს ამდენი ციკლი რეპროგრამის, რომ როდესაც მრავალი ცვლილებების პროგრამაში მისი გამართვის პროცესში, თქვენ არ შეგიძლიათ იფიქროთ შესაძლო ამოწურვის რესურსების მაშინაც კი, როდესაც პირველი ნიშნები ამ ჩანს ( ზოგიერთი მეხსიერების უჯრედები არ არის პროგრამირებული პირველად) Microcontroller, გაატარა მისი გამართვის საბჭოს, თქვენ არ უნდა გადააგდოთ. ეს შეიძლება იყოს პროგრამირებული ბოლო დროს, გააგზავნოთ "მუდმივი სამუშაო" ერთ-ერთ ადრე კარგად დადგენილი სტრუქტურებისათვის.

Fastavr- ის ძირითადი კვანძის სქემა ნაჩვენებია ნახატზე. 1. DD2 Microcontroller- ის პორტების ყველა კავშირი შესრულებულია ორმაგი რიგის 16-pin HR1-XP PIN PIN- ების მეშვეობით. თუნდაც ქინძისთავები თითოეული მათგანი უკავშირდება მიკროკონტროლერის პორტების შედეგებს და უცნაურია - ბორტზე ხელმისაწვდომი პერიფერიული მოწყობილობები. მიმდებარე PIN- ის გაფორმებისას, მოხერხებულად დაკავშირებულია ჩვეულებრივი მხტუნავებისადმი, და სხვა ბლოკში, ან სხვა ფორუმშიც კი, ან თუნდაც სხვა ფორუმში, არის მოქნილი იზოლირებული მავთულის სეგმენტებისგან, რომელიც აღჭურვილია ჯეკების ორივე ბოლოდან კონექტორები (ნახ. 2). სოკეტების დროს სითბოს მცირდება მილები.


ამავე ქინძისთავების გამართვის პროცესში, მოსახერხებელია კონტროლისა და საზომი ხელსაწყოების დაკავშირება: Oscilloscope, სიხშირის მეტრი, სატესტო სიგნალების გენერატორი. პორტის კატეგორიის ნომრის გაზრდის მიზნით ქინძისთავების ადგილმდებარეობა ხელს უწყობს ძიების ძიებას და მნიშვნელოვნად ამცირებს მათ დაბინძურებას. ამგვარი გამოსავალი, ჩემი აზრით, ბევრად უფრო მოსახერხებელია, ვიდრე ათწლეულების განმავლობაში - არააქტიური ორმოცდაათიანი IDC-10 კონექტორების გარე კავშირების უმეტეს სამრეწველო დებრძოლების გამოყენებით. ერთადერთი უპირატესობა არის გასაღების არსებობა, რომელიც უზრუნველყოფს Connector- ის დამაკავშირებელ ნაწილს. და გაზომვის ინსტრუმენტის ერთიან მავთულხლართების ან გამოძიებისას აუცილებელია კონტაქტების გათვალისწინება ყოველ ჯერზე, გაიხსენოს მიკროკონტროლერის დასკვნებთან შესაბამისობის დაკმაყოფილება.

თუ S2-S4 გამანადგურებლები ამოღებულნი არიან, S5 და S6 დამონტაჟებულია, კვარცის რეზონორმა ZQ1 უკავშირდება მიკროკონტროლერის შიდა საათის გენერატორს, რომელთა სიხშირეც შეიძლება შერჩეული იყოს ნებისმიერი საჭიროებისათვის. საბჭოს ასევე აქვს განუყოფელი კვარცის გენერატორი G1 16 MHz. DD1 ჩიპი იწვევს თავისი სიხშირის ორი და ოთხი. Jumper S5, S6- ის მოხსნის შემდეგ და S2-S4- ის ერთ-ერთი ინსტალაციის შემდეგ შესაძლებელია Microcontroller- ის (გამომავალი 13) Pulses- ის საათის შეყვანა 4, 8 ან 16 MHz სიხშირით. ეს უზრუნველყოფს მიკროკონტროლერის ფუნქციონირებას ნებისმიერი კონფიგურაციით, რომელშიც შიდა საათის RC გენერატორი გამორთულია.

გარე გენერატორის მონაკვეთი შეიძლება სასარგებლო იყოს და მიკროკონტროლერის სპექტაკლის აღდგენა, რომლის კონფიგურაცია არასწორია. ამის შესახებ შეგიძლიათ წაიკითხოთ.

მიუხედავად იმისა, რომ Microcontroller შეიცავს საკუთარი არასტაბილური მონაცემების მეხსიერებას, ხშირად არ არის საკმარისი მყარი ამოცანა. პრობლემა შეიძლება მოგვარდეს სასურველი მოცულობის გარე მეხსიერების მიკროკაცისპირტის მიკროკორტროლერთან. Fastavr ფორუმში, ეს კეთდება ფიგურაში ნაჩვენები სქემით. 3 DS1 ჩიპი 24C ან 24LC სერია - Reprogrammed არასტაბილური მეხსიერება I2C ინტერფეისი. AO-A2- ის შეყვანა დაკავშირებულია ისე, რომ ინტერფეისის ავტობუსზე მისი მისამართების უმცროსი გამონადენი არის 1, ხოლო ორი შემდეგია ნულოვანი.

ფიგურაში 4 გვიჩვენებს სქემის ხელმისაწვდომობას Fastavr- ის კონტროლისა და მითითების შესახებ. Quadruple Dip Switch SA1 დაკავშირებულია დასკვნების პორტების Microcontroller. R4-R7 Resoursors დაიცვას ეს დასკვნები, თუ ისინი შემთხვევით დაპროგრამებულია, როგორც გადატვირთვისას, როდესაც დახურული კონცენტრატორები. DR1 ასამბლეის რეზისტენტებს მხარს უჭერენ მაღალ ლოგიკურ დონეს Microcontroller- ის საშუალებებით, როდესაც SA1.1-SA1.4 კონცენტრატორები ღიაა. მეხუთე "დამატებითი" ასამბლეის რეზისტორი შეიძლება გამოყენებულ იქნას ასეთი დონის ნებისმიერი ჯაჭვისთვის.
ოთხი HL1 -Hl4 სიგნალი LED- ები მაღალანაზღაურებას მაღალ ლოგიკურ დონეზე არიან, რომლებსაც ისინი უკავშირდებიან და დაბალი არ იქნება. Resistors R8-R11 ზღუდავს მიმდინარე.

VT1-VT4 ტრანზისტორებზე ორი ზომის შვიდი ელემენტის საერთო ელექტროდების საერთო ელექტროდების კონცენტრატორები. მათ შეუძლიათ აკონტროლოთ ინდიკატორები ორივე საერთო anododes (მაგალითად, DA56-11) და საერთო კათოდების ელემენტები (მაგალითად, DC56-11), თქვენ მხოლოდ უნდა უზრუნველყოს პროგრამული უზრუნველყოფის საჭირო პოლარობის ჩამოყალიბებული კონტროლის pulses მიწოდებული R12-R21 რეზისტორები. ასეთი ინდიკატორები ადვილად პოულობენ კომპიუტერების ფულადი რეესტრსა და სისტემურ ბლოკებს. S7 Jumper- ის მოხსნის შემდეგ, თქვენ შეგიძლიათ გამორთოთ HG1 მაჩვენებლის ქვედა გამონადენის ელემენტის H (ათობითი წერტილი).

XP5 Connector გამოიყენება დაკავშირება Fastavr საბჭოს საერთო სიმბოლური LCD ჩაშენებული კონტროლერები. სინამდვილეში, ეს არის ორი რიგი 34-PIN IDC-34MS კონექტორი, მაგრამ ერთი რიგის მხოლოდ 17 კონტაქტის გამოყენება გამოიყენება. დიაგრამაში ნაჩვენები მათი ნომრები არ შეესაბამება სტანდარტულ კონტაქტს, მაგრამ ემთხვევა ყველაზე გავრცელებულ LCD- ს დასკვნებს. ასეთი კონექტორი თანდასწრებით საშუალებას გაძლევთ გამოიყენოთ ინდიკატორის სტანდარტთან კომუნიკაცია სტანდარტული კომპიუტერის 34-პრო წყალხსნარში ბინა საკაბელო, რომელიც დაკავშირებულია მოქნილი დისკების დისკზე მატლესი. LCD- ის ინტერფეისის საკონტაქტო საიტების გახსნა და მათთვის 14-Pin Pinch ბლოკი. ერთი კონექტორი მასზეა ბინა საკაბელომეორე კი XP5 კონექტორში შეიყვანეს. კონტაქტები ათასობით უკავშირდება Microcontroller- ის პორტების შედეგებს Debug- ში ჩართვის სქემის შესაბამისად. ფორუმში დაკავშირებული ინდიკატორი ნაჩვენებია ფიგურაში. ხუთი.

LCD- ის დამაკავშირებელი მეთოდი შედარებით რთულია, მაგრამ ეს არის მოსახერხებელი, რადგან ინდიკატორები Განსხვავებული ტიპებიიგივე cocoovka, თქვენ შეგიძლიათ სწრაფად შეიცვალოს, რისკის გარეშე, რათა მოხდეს მათი დასკვნების კავშირი მიკროკონტროლერის პორტებთან. R23 Rapid Resistor ემსახურება როგორც კონტრასტული მარეგულირებელი.

Sounfless სიგნალიზაციის მოწყობილობა B1 არის ელექტრომაგნიტური emitter of 80 ohm წინააღმდეგობის, ნაპოვნი კომპიუტერის დედაპლატა. VD1 Diode ხელს უშლის თვითმმართველობის ინდუქციური ძაბვის ემისიებს წარმოქმნილი სიგნალიზაციის სიგნალიზაციისას, როდესაც იგი პულსი ძაბვის მიერ არის აღჭურვილი. შემცირება წინააღმდეგობის გაწევის R22 გაზრდის ხმის მოცულობა, არ უნდა იყოს. ეს გამოიწვევს მიკროკონტროლერის გამომავალს.

მცირე საბჭო. არ დაივიწყოთ თაობის პროგრამის პროცედურის დასასრულს ხმის სიგნალი წარმოადგინეთ ბრძანება გარემოში დაბალი დონე PD7 მიკროკონტროლის გამომუშავებისას. თუ დონე აქ მაღალია, B1- ის emitter- ის მიმდინარეობით გააგრძელებს სიგნალებს შორის, რაც ხელს შეუწყობს მიკროკონტროლერის მიერ ენერგიის მოხმარების ზოგად ზრდას.

სქემა გარე ინტერფეისი Debug საბჭო ნაჩვენებია ნახატზე. 6. XS1 Connector- ზე, შეგიძლიათ დაკავშირება კომპიუტერის კლავიატურა ან "მაუსი", და დაკავშირება XS2 Connector ერთად COM პორტში კომპიუტერი. DA1 microcircuit შედის ტიპიური სქემით, კოორდინაციას უწევს RS-232 სიგნალს და მიკროკონტროლერს. S8-S10 Jumpers არიან თხელი სექციები ბეჭდვის დირიჟორების, რომელიც შეიძლება cut თუ აუცილებელია გამოიყენოს არა მხოლოდ ინფორმაცია, არამედ კონტროლის სიგნალები RS-232 ინტერფეისი debugged მოწყობილობა.
L1-L5 chokes აღსაკვეთად მაღალი სიხშირის ჩარევა. ეს არის მცირე ferrite მილები ხაზები. ასეთი ადვილად პოულობს კომპიუტერულ დაფებს.

Fastavr ფორუმში დამონტაჟებული მიკროკონტროლერის პროგრამის კოდების ატვირთვა, XP6 კონექტორი უკავშირდება პროგრამისტს. მასთან მუშაობის დროს, Jumper S1 (იხ. სურათი 1) რეკომენდირებულია მიკროკონტროლერის თავდაპირველი ინსტალაციის ჯაჭვის გამორთვა. თუ პროგრამისტი თავისი ძალაუფლების წყაროა, აუცილებელია Jumper S11- ის ამოღება. როდესაც იგი დამონტაჟებულია, პროგრამისტი იკვებება DEBUG- ის საბჭოს მიერ.

მე გამოვიყენე პროგრამისტი STK-200- ის მსგავსი. მისი დიაგრამა და წრიული საბჭოს ნახაზი შეგიძლიათ იხილოთ ფიგურაში. 8 და 9 ვ. ამ პროგრამით, მხოლოდ ერთი KR1564AP5 ჩიპი (74HC244An) უკავშირდება LPT პორტს. დააინსტალირეთ კვარცის რეზონანსის პროგრამისტი არ არის აუცილებელი, ეს არის გამართვის საბჭო. ამ პროგრამისტი და PonyProg პროგრამა კომპიუტერზე Core2Duo + პროცესორი, 1965 ჩიპსეტი და ოპერაცია windows სისტემა XP SP3 პრობლემები არ არის.

Debug- ის კრების ჩართვა ფიგურაში ნაჩვენებია. 7. საკონტაქტო 3 XP7 კონექტორი გარე წყარო თქვენ შეგიძლიათ წარმოადგინოთ სტაბილიზირებული ძაბვის +5 ვ. მე -13, S13 უნდა მოიხსნას. თუ 9-ის მუდმივი ძაბვის წყაროა ... 16 V, მისი პოზიტიური გამომავალი უკავშირდება იმავე კონტაქტორის 2-ის კონტაქტს და დამონტაჟებული Jumpers S12, S13. ამ შემთხვევაში გარე სტაბილიზირებული ძაბვა არ არის საჭირო, იგი მიიღება DA2 ინტეგრირებული სტაბილიზატორის გამოყენებით.

როდესაც HG1 LED არ არის გამოყენებული და ნებისმიერი გარე მოწყობილობები არ უკავშირდება გამგეობას, DA2 სტაბილიზატორის ტემპერატურა მცირეა. თუ მიუხედავად იმისა, რომ სითბოს ჩაძირვის მიუხედავად, სტაბილიზატორი მკაცრად მწვავეა, რეკომენდირებულია გარე საკმარისი ძლიერი ძაბვის წყაროსგან 5 ვ. მიწოდების ძაბვის სიგნალების თანდასწრებით HL5 LED.

VD2 და VD3 დიოდები დაიცვან ელექტროენერგიის მიწოდების არასწორი პოლარით. ტროცები (Ferrite Tubes) L6 და L7 აღსაკვეთად მაღალი სიხშირის ჩარევა. CT12-X17 (+5 V) და HT18-HT22 (სულ) და HT18-HT22 (სულ) და HT18-HT22 (სულ) შეიძლება გამოყენებულ იქნას სხვადასხვა გარე მოწყობილობებში. გარდა ამისა, HT18-HT22 კონტაქტები მოხერხებულად აკავშირებს საზომი ინსტრუმენტების საერთო მავთულხლართებს.

მიკროსქემის ფორუმის ნახაზი გამოსახულია ფიგურაში. 8. ეს არის ცალმხრივი ფილიალი FiberCker ერთად სისქე 1.5 მმ. გაითვალისწინეთ, რომ ნაბეჭდი დირიჟორებიდან დამონტაჟებულია იზოლირებული მავთულიდან ორი ჯუმპერის გადაკეთებული ხაზები. დანარჩენი მზადდება მავთულის იზოლაციის გარეშე და განლაგებულია ნაწილზე. DA1, DD1, DD2, DS1 ჩიპების და HG1 LED ინდიკატორი, პანელი დამონტაჟებულია ფორუმზე, რომელიც საშუალებას გაძლევთ სწრაფად შეცვალოს ეს ელემენტები საჭიროების შემთხვევაში. არარსებობის ferrite მილები, ნაცვლად Chokes L1-L7, შეგიძლიათ დააყენოთ Jumpers.

XS1 Connector- ის გვერდით, არსებობს სადესანტო სივრცე XSV- ის მიერ მითითებულ სხვა კონტაქტში. მიუხედავად იმისა, რომ მისი დასკვნები არსად არ არის დაკავშირებული, ის საშუალებას გაძლევთ ადვილად დააინსტალიროთ ორმაგი MDN-6F Socket კომპიუტერული დედაპლატებით. XS2 Connector - DB-9F Socket.

Chr1-HR4 Pin, HT1 -HT22 ქინძისთავები და განკუთვნილია Jumpers S1 - S7, S11-S13 დამონტაჟებული PLD სერია ან ერთჯერადი PLS სერიის ორი ზედიზედ კონექტორები. სასურველი რაოდენობის კონტაქტების მისაღებად ისინი გამოყოფილია შესაბამისი სიგრძის სეგმენტებისგან ან დაკარგული კონტაქტების მქონე სეგმენტების სეგმენტადან.

გთხოვთ გაითვალისწინოთ, რომ არსებობს უფასო საკონტაქტო ბალიშები PT4-HT11 ქინძისთავების საკონტაქტო საიტებზე. ეს საშუალებას გაძლევთ დააყენოთ ორი რიგის PIN ბლოკი აქ, არ ექვემდებარება "შესუსტებას" ხშირი recommes. შესახებ KHR5 კონექტორი (IDC-34MS) ადრე განაცხადა. XP6 Connector (პროგრამისტებისათვის) არის იგივე სერიის ათწლეული (IDC-10MS). სამი PIN XP7 Power Connector ამოღებულია დედაპლატა, სადაც იგი გამოყენებულ იქნა დააკავშირებს გულშემატკივართა. ეს წაიშალა კონტაქტორის რეაგირების ძიების პრობლემის შესახებ, რომელიც განკუთვნილია ელექტრომომარაგების საბჭოსთან დაკავშირება.

ქვედა (ნახაზის მიხედვით) ნაწილების საბჭოს ნაწილები არის მართკუთხა ველი, რომელიც ივსება საკონტაქტო საიტებზე - რეზერვში ყველა სახის დამატებითი ელემენტების განთავსების შესახებ, რომელიც შეიძლება დაგჭირდეთ გამართვის დროს. ჩემ მიერ გადახდილი გადახდის შესახებ, აქ დამონტაჟდა, მაგალითად, ცვლადი რეზისტორი 22 COM- ის დასახელებისგან. იგი ივსებოდა +5 V- ის ძაბვისა და ძრავისგან რეგულირებადი რეგულირებადი რეგულირებადი გამოყენებულია მიკროკონტროლერის ADC- ის შესამოწმებლად.

RS-232 ინტერფეისი არის ძალიან მოსახერხებელი გამოყენება, როდესაც debugging და დასძინა debug- პროგრამაში მოდული, რომელიც აგზავნის საჭირო ინფორმაციას მეშვეობით USART Microcontroller. გაშვებული კომპიუტერი, რომელიც Com-Port- სთან ერთად, რომელიც დაკავშირებულია XS2 Connector of Debug Board, ტერმინალის პროგრამა, შეგიძლიათ მონიტორინგი მიღებული შეტყობინებები.


მე ვიყენებ ტერმინალს V1.9B პროგრამას, რომელიც ინტერნეტში შეგიძლიათ იხილოთ საძიებო სისტემა. ამ პროგრამის ფანჯარა მოწყობილობიდან მიღებული მოწყობილობიდან მიღებული შეტყობინებების მაგალითებით, დიაპაზონში ნაჩვენებია ნახატზე. 9. რუსული ტექსტის ნორმალური ეკრანისთვის, თქვენ უნდა დააჭიროთ "კომპლექტი შრიფტის" ღილაკს, აირჩიეთ შრიფტი - შრიფტი - ფანჯარაში, რომელიც ხსნის - ჩვეულებრივი ზომა არის 8, სიმბოლოების კომპლექტი არის კირილიური.

PCB ფაილი Sprint Layout 5.0 ფორმატში და პროგრამების მაგალითები, რომლებიც დემონსტრირება სამუშაოები ხელმისაწვდომია საბჭოს კვანძების:

ლიტერატურა
1 ბარანოვი V. AVR Microcontrollers- ის კონფიგურაციის აღდგენა. - რადიო. 2009, № 11, გვ. 26-29.

S. Borisov, Knotovaya Tula რეგიონში.
რადიო Nos. 8-9 2010.

ხშირად აუცილებელია ნებისმიერი მოწყობილობის კონტროლის გამოყენება (თუ არა თუ არა ინდონენტული სინათლის ნათურა, ძრავა, ტონი ან მარტივი LED).

ალბათ ახსენით, თუ რა არის და რა არის shim კონტროლის ხიბლი არ არის საჭირო, უკვე ბევრი ინფორმაცია ინტერნეტში, და ნაკლებად სავარაუდოა, რომ ამ თემას უკეთესობისკენ მოუწოდოს. აქედან გამომდინარე, ჩვენ დაუყოვნებლივ გადავდივართ ბიზნესში, კერძოდ, ჩვენ დავიწყებთ PWM- ს Bascom-AVR- ის Atiny2313- ის საშუალებით.

PWM B. aVR Microcontrollers მუშაობს მრიცხველების ქრონომეტებლებზე, Tiny2313 MK- ში მხოლოდ 2: 8-ბიტიანი ტაიმერისთვის, რომელიც ითვალისწინებს 255-დან 16-ბიტიან ტაიმერს, რომელიც ითვალისწინებს 65535 წლამდე. თითოეული ტაიმერი აკონტროლებს ორ PWM არხებს, რაც ყველა ტექნიკას შეუძლია განახორციელოს როგორც ბევრი 4 არხების shim.

ინფორმაცია PWM- ის არხების რაოდენობის შესახებ და თითოეული არხის გამონადენი შეიძლება shilying on გვერდებზე datashet to microcontroller.

ამდენად, ბორტზე Attiny2313 არსებობს ორი 8-ბიტიანი არხი WIM სამუშაო Timer0 და კიდევ ორი \u200b\u200bარხების გაშვებული Timer1 ტაიმერი აქვს პროგრამირებადი ბიტიდან 8-დან 10 ბიტიდან. Datashet- ში, ეს ფეხები ხელმოწერილია შემდეგნაირად:

Timer1 ტაიმერის კონფიგურაციისთვის Bascom- ში PWM- ის გენერირება, საკმარისია შემდეგი ხაზი:

Config Timer1 \u003d PWM, PWM \u003d 8, შეადარეთ PWM \u003d Clear Up, შედარება B PWM \u003d წმინდა ქვემოთ, Prescale \u003d 64

PWM \u003d 8 შეარჩია PWM Bit, for Timer1 როგორც ეს იყო დაწერილი ზემოთ შეიძლება pwm \u003d 9 ან pwm \u003d 10.

შეადარეთ A / B PWM \u003d წმინდა / გასაგები აქ თქვენ კონფიგურირებას აქტიური სახელმწიფო თითოეული PWM არხის (A და B).

Prescale \u003d 64 - უკვე ნაცნობი ტაიმერი კონფიგურაციის სიმებიანი, რომელიც პასუხისმგებელია წინასწარ გამყოფი ტაიმერის overflow სიხშირე ეს საქმე გამყოფი განლაგებულია PWM- ის სიხშირეს. ჩვენ შეგვიძლია შევცვალოთ თქვენი შეხედულებისამებრ Prescale \u003d 1 | 8 | 64 | 256 | 1024


გენერირებული სიგნალის მოვალეობა განისაზღვრება იმ ღირებულებით, რომელიც ჩვენ ვწერთ OCR1A- ს და OCR1B- ს შედარების რეესტრს (ორი არხი გვაქვს, ჩვენ გვყავს ორი ტაიმერი, აქ ერთი რეესტრი არხზე A და B). ამ რეესტრში ტყუილი ღირებულებით, მუდმივად ადარებს დათვლის რეესტრის ღირებულებას (ის გადაწერილია ტაიმერისთვის), როდესაც ისინი დაემთხვეს, MK Foot- ს აქტიურ მდგომარეობაზე გადადის და დათვლის რეესტრი გრძელდება მაქსიმალური მნიშვნელობა. მაქსიმუმამდე შესწავლილი, ტაიმერი იწყება ითვლიან საპირისპირო მიმართულებადა მიაღწევს დათვლის რეგისტრაციის ღირებულებებს და შედარების რეესტრს კვლავ ემთხვევა, ისევ მიკროკონტროლერის ფეხით დაბრუნდება (იხ. ფიგურა ქვემოთ).



ჩვენთვის, OCR1A და OCR1B შედარების რეგისტრაცია მხოლოდ ცვლადი, რომელშიც ჩვენ შეგვიძლია გარკვეული მნიშვნელობა. მაგალითად, ასე რომ:


Ocr1a. = 100
Ocr1b \u003d 150.


ბანკეტში მოხერხებულობისთვის, ამ რეესტრის სხვა სახელიც არის გათვალისწინებული: PWM1A და PWM1B, ასე რომ წინა ხაზები იქნება ექვივალენტი შემდეგნაირად:


Pwm1a. = 100
Pwm1b \u003d 150.

ახლა ჩვენ გვესმის, თუ როგორ გაირკვეს / მკაფიო სტატუსის კონფიგურაცია გავლენას ახდენს, თუ რა ხდება PWM გამომავალი შედარებით შედარებით რეესტრში.

როდესაც გამომავალი კონფიგურირებულია, როგორც PWM \u003d წაშალეთ აქტიური გამომავალი სტატუსი მაღალი დონისა და OCR- ის (PWM) რეგისტრაციის ღირებულების ზრდასთან ერთად, ამ ფეხი პროპორციული ძაბვა გაიზრდება. სიზუსტით, პირიქით, ყველაფერი მოხდება, თუ გამომავალი კონფიგურაციაა, როგორც PWM \u003d Clear Up. ეს ყველაფერი კარგად არის ილუსტრირებული სურათზე ქვემოთ.



ღირებულებები, რომლებიც ამ შედარების რეესტრს შეუძლიათ მიიღონ, თუ როგორ shim არხი არჩეულია. PWM \u003d 8 (8-ბიტიანი PWM) შესაძლებელია 0-დან 255-მდე; PWM \u003d 9-დან 0-დან 511 წლამდე; PWM \u003d 10-დან 0-დან 1023 წლამდე. აქ მე ვფიქრობ, ყველაფერი ნათელია.


ახლა პატარა მაგალითია: ჩაწერეთ LED- ები Microcontroller- ში, როგორც დიაგრამაში ნაჩვენებია (დიაგრამაში MK- ის ძალა არ არის მითითებული)


და დაწერე პატარა პროგრამა:


$ crystal \u003d 4000000

Config Timer1 \u003d PWM, PWM \u003d 9, შეადარეთ PWM \u003d წმინდა ქვემოთ, შედარება B PWM \u003d Clear Up, Prescale \u003d 8
CONFIG PORTB.3 \u003d გამომავალი
Config portb.4 \u003d გამომავალი

Excr pwm1a. "შეუფერხებლად გაზრდის შედარების რეგისტრაცია OCR1A
Incr pwm1b. "შეუფერხებლად გაზრდის OCR1B შედარების რეესტრის ღირებულებას

Waitms 20. "დაგვიანებით დაამატეთ

მარყუჟი.

Დასასრული.

მას შემდეგ, რაც შედგენილი და flashed პროგრამა კონტროლერი, ერთ-ერთი LED- ები (D1) შეუფერხებლად აკმაყოფილებს სიკაშკაშეს და სხვა (D2) შეუფერხებლად წასვლას


თუ ახლა oscilloscope- ის PWM- ის სარგებელი, ჩვენ ვხედავთ ასეთ სურათს PULSES- ის შეცვლის ერთეულთან (Blue Signal Os1A- ზე, OS1V- ზე, OS1V- ზე):


Timer0 ტაიმერის კონფიგურაცია PWM- ის გენერირებისთვის თითქმის იგივე, გარდა იმისა, რომ Timer0 არის 8 ბიტიანი ტაიმერი, ამიტომ PWM გენერირებული ამ ტაიმერი ყოველთვის ექნება ცოტა 8. ამიტომ, კონფიგურაცია ამ ტაიმერი, PWM ცოტა არ არის მითითებული:

Config Timer0 \u003d PWM, შეადარეთ PWM \u003d Clear Up, შედარება B PWM \u003d წმინდა ქვემოთ, Prescale \u003d 64



ახლა მსგავსი მაგალითია LED- ები, მაგრამ ახლა PWM იქნება გენერირება Timer0:


$ regfile \u003d "Attiny2313.dat"
$ crystal \u003d 4000000

Config Timer0 \u003d PWM, შეადარეთ PWM \u003d წმინდა ქვემოთ, შეადარეთ B PWM \u003d Clear Up, Prescale \u003d 8
CONFIG PORTB.2 \u003d გამომავალი
Config Portd.5 \u003d გამომავალი

Incr pwm0a " შეუფერხებლად გაზრდის OCR0A- ს რეესტრის ღირებულებას
Incr pwm0b " შეუფერხებლად გაზრდის OCR0B რეესტრის ღირებულებას

Waitms 20. "დაგვიანებით დაამატეთ

მარყუჟი.

Დასასრული.

დაკავშირება LED- ები Timer0 PWM გამომავალი, როგორც ნაჩვენებია დიაგრამაში:

ყველაფერი მსგავსია: პირველი LED (D1) შეუფერხებლად მოიპოვებს სიკაშკაშეს, ხოლო მეორე (D2) შეუფერხებლად გამოდის.


Shim თაობის სიხშირის დათვლა

თუ გსურთ გაირკვეს მექანიზმი თაობის სიხშირე, მაშინ არ არის რთული. შეხედეთ ქვემოთ მოცემულ ფორმულას:

PWM სიხშირე \u003d (კვარცი სიხშირე / ოფსეტური) / (დათვლის რეგისტრაცია ზომა * 2)

მაგალითად, ჩვენ რამდენიმე ფასეულობებს გამოვთვალოთ:

1. კვარცი სიხშირე \u003d 4000000 Hz, ოფსეტური \u003d 64, PWM Bit 10 ბიტი \u003d\u003e დათვლის რეგისტრაცია ზომა \u003d 1024

PWM სიხშირე \u003d (4000000/64) / (1024 * 2) \u003d 122 Hz

2. სიხშირე კვარცი \u003d 8000000 Hz, ოფსეტური \u003d 8, PWM Bit 9 ბიტი \u003d\u003e დათვლის რეგისტრაცია \u003d 512

PWM სიხშირე \u003d (8000000/8) / (512 * 2) \u003d 976,56 Hz

3. კვარცი სიხშირე 16000000 Hz, ოფსეტური \u003d 1, PWM Bit 8 ბიტი \u003d\u003e დათვლა რეგისტრაცია ზომა \u003d 256

PWM სიხშირე \u003d (16000000/1) / (256 * 2) \u003d 31250 Hz

FastVR უნივერსალური გამართვის საბჭო დამწყებთათვის ATMEL MK პროგრამებში დამწყებთათვის დაფუძნებულია ათეული მსგავსი დიზაინის ანალიზზე. საფასური არის გონივრული კომპრომისი მათი უმრავლესობის გადაჭარბებულ ფუნქციებზე ან სხვების ძალიან პრიმიტიული თვისებების შორის. სხვადასხვა მიკროპროცესორული სისტემების მუშაობის მქონე გამოცდილების მქონე, ქვემოთ მოცემულობ ჩემს აზრებზე კომენტარს, - როგორც ერთი ან მეორე გამგეობის კვანძი ჩაფიქრებული. ვეთანხმები მათ თუ არა - თქვენი ბიზნესი, მაგრამ შეიძლება ნაწილობრივ იყოს სასარგებლო, რომ მომავალში სამაგისტრო სამაგისტრო ...

დიზაინის დიზაინი ეფუძნებოდა მიკროელექტრონიკის განვითარებას და თავდასხმებს (http://www.mikroe.com/ru/). მაგრამ EasyAVR საფასური (და არა მხოლოდ) შეიცავს ძალიან ბევრ კომპონენტს, რომლებიც მიკროპროცესორული აღჭურვილობის ახალბედა და ხარისხიანად იზიდავს, სინამდვილეში მათგან ნახევარი არასასურველია პროგრამების 5-6 მაგალითის წარმატებული შედგენით და გამოცდილების მიღების შემდეგ. ფიქრობთ, რატომ გჭირდებათ ყოველი პორტისთვის დაკავშირებული LED- ები და ღილაკები? ეს ყველაფერი მართალია, როდესაც თქვენ არ ისწავლით თუ როგორ უნდა გააკონტროლონ პორტების პორტი და გადაყარეთ ინდიკატორები, და ეს მოხდება ძალიან სწრაფად ;-) არსებობს 4 LED- ები ამ შემთხვევაში ფორუმზე, და შეცვლა საკმაოდ საკმარისია ...

ასე რომ, სადაზღვევო საბჭოს შესაძლებლობები:

  • aTMEGA- ს მხარდაჭერა: RS-232 Converter, Biper, SPI EEPROM, LCD და LED ინდიკატორები, ჩაშენებული საათის გენერატორი + კვარცი, PS-2 კლავიატურა, ADC ტესტერი, ლოგიკა ტესტერები;
  • სახლის განმეორების უნარი, ცალმხრივი ბეჭდური მიკროსქემის საბჭო ოპტიმიზირებულია ლაზერული რკინის ტექნოლოგიისთვის, მცირე ზომისათვის;
  • ყველა კომპონენტის გამოყენება მხოლოდ დიპლომატიურ შიგთავსით, ადვილად შეცვლის მათ ექსპერიმენტების პროცესში ან პროგრამის პროცესს სხვა სქემებზე (მაგალითად, JTAG- ისთვის);
  • სრული ფუნქციური საკმარისი იმისათვის, რომ შეიქმნას მარტივი პროტოტიპები მოწყობილობები და debugging მათ;
  • სტანდარტული SPI SPI SPI კონექტორი შერჩევითი ენერგიის მიწოდება პროგრამისტი, უნარი გარე კავშირი Jtag;
  • jTAG ICE რეჟიმში გამგეობის ჩართვა მარტივი რეკორით;
  • პერიფერიის დამოუკიდებელი გადართვის შესაძლებლობა ნებისმიერ MK პორტების წრფივი ტექნოლოგიის გამო;
  • dIP-40- ში ATP-40% -ის ნებისმიერი გარე პერიფერიული და გამოყენების ადვილი კავშირის შესაძლებლობა DIP-40% -ის 100% -ზე მეტი, ყველა პორტი უფრო მაღალია, უფრო მეტიც, გამგეობის ყველა შიდა პერიფერიული საშუალებას გაძლევთ გამოიყენოთ იგი გარე მოწყობილობებისთვის (მაგალითად, საათი გენერატორი ან LED ინდიკატორები;

ეს ყველაფერი არ საჭიროებს საფასურის დახვეწას ან soldering. Ისე Fastavr- ის MK- ის შესაძლებლობების საწყის ეტაპზე საკმაოდ საკმარისია. ვისაც სურს გადაადგილება, მას შემდეგ, რაც საკუთარი პროგრამული უზრუნველყოფის შექმნის შემდეგ, შეუძლია გადაწყვიტოს დამოუკიდებლად, რომ მას სჭირდება კონკრეტულად და გააკეთოს პროტოტიპი საკუთარი კომპლექტი პერიფერიებით. კიდევ ერთხელ, ქვითარი შექმნილია MK AVR- ის შესწავლის დაწყების მიზნით, არავინ დევნიდა. თავად დოკუმენტაციის გამოჩენა უკავშირდება ინტერესს, რომელსაც ბევრი დამწყებთათვის ვითარდება ამ ტიპის კონტროლერები ან ჯერ კიდევ ვფიქრობ სად უნდა დაიწყოს. და თქვენ უნდა დაიწყოს ბუნებრივი ტესტი საფასური ;-)

MK AVR- თვითმმართველობის საკმარისი კონტროლერები, თუმცა პროცესორი არ არის მთელი სისტემა. "კუბურები" ემსახურება მას ან აკონტროლებს მათ, მარტო შეიძლება განიხილებოდეს როგორც სამომავლო სტრუქტურების ცალკე ბლოკად. აერთიანებს მათ ძირითად ფორუმში, თქვენ შეგიძლიათ ყველა ერთად კომბინაციით საჭირო შედეგების. თავდაპირველად, საფასური ჩაფიქრებული იყო ATMEGA8- ის საფუძველზე, რადგან ის არის იაფი და თითქმის ყველა AVR შესაძლებლობები აქვს. თუმცა, რჩევა, მე გადავწყვიტე, რომ არ გადავარჩინოთ და დააყენოთ Microcontroller-Atmega16 Microcontroller, როგორც ხელმისაწვდომი Dip-housing ან 32. ორივე MK- ის Codoolevka იდენტურია. ასიფოლტის ასეთი ხსნარის ღირებულება იხდის I / O პორტების რიცხვს, რომელსაც შეიძლება დაკავშირებული იყოს Debug- ისთვის. თავსებადობა ქვემოდან ყველა თაობაზე AVR საშუალებას გაძლევთ დაწეროთ და გამართოთ პროგრამების გამოყენებით უფრო ძლიერი ჩიპი, და შემდეგ შედგენა სამიზნე კრისტალი. Flash- ის საკმარისი რესურსი საშუალებას არ აძლევს "შეავსოთ" შეზღუდვების შესახებ MEGA- ს რეპროგრამების შესაძლებლობებზე, განსაკუთრებით იმის გამო, რომ შესაძლებელია საკმარისი იმისათვის, რომ გააგზავნოთ MK- ის სამუშაო დიზაინს, ბოლო დროს (JTAG ICE არის პირველი Challenger)

გამგეობის წარმოებისთვის, იგი მიიღებს ცოტა კომპიუტერულ "ნაგავს", რომელიც საკმარისია ნებისმიერი ელექტრონიკის შენახვის ოთახებში. უმეტესი კომპონენტები გამოიყენება ძველი ან უარი დედა დაფები IBM PC ან ახლო კომპიუტერული ტექნოლოგია, ცოტა ხნის წინ რკინის ამ ტიპის უფრო და უფრო disassembly და დააგდეს გარეშე გამოყენება. იმიტომ რომ ერთად SMD მცირე რამ, პრაქტიკულად არაფერი არაფერი (დალაგების პრობლემა, და დრო ...), მე გაიყვანოს ასეთი მოწყობილობები მთლიანად ან მშენებლობის ფენი ან ელექტრო ღუმელი.

ქვემოთ ჩამოთვლილი Fastavr ქვემოთ დაბლოკვა:

საკვები. ჩამონტაჟებული სტაბილიზატორი 78 (მ) 05 საშუალებას გაძლევთ გაუხსნას საფასური გავრცელებული ადაპტერებისგან 9-12V სხვა აღჭურვილობას, რომლებიც, როგორც წესი, მოჩვენებითი არიან. ამ ჩვეულებრივი ჩართვისას საკმარისია (MEG-16/32 + LCD + RS232 + TXO), როდესაც ტიპიური 7 სეგმენტის LED, ან უაღრესად voracious გარე პერიფერია (კომპლექსური პროგრამისტი), სტაბილიზატორი უკვე ძალიან ცხელია. გარე სტაბილიზირებული ძაბვის დამაკავშირებელი + 5V შესაძლებელია PIN-3 X1- ის მეშვეობით (მეთიუ ჩაგადგურების კონექტორი) გამოიყენება). ადრე, თქვენ უნდა გამორთოთ JP1-JP2- ის VCC_Sel Group- ის JP1-JP2 Jumpers. ამ ტიპის X1 რამოდენიმე მიზეზის გამო არჩეულია, მთავარს ყოველთვის შეუძლია ადაპტერი სხვადასხვა ადაპტერების გამგეობისთვის, რომელიც ხელმისაწვდომია ან ლაბორატორიული BP. Passover Ferrite Chokes (Balun) FB1, FB2 ფილტრაციის პულსი ჩარევა და RF წვერი. DIODES VD1- ზე, VD2- ს "მეთვალყურეობისგან" შესრულდა. რამდენიმე ადგილას, დაფები დამონტაჟებულია VCC_EXT და GND_EXT JUMPERS. მათ მეშვეობით, საკმარისია მხოლოდ პერიფერიის დამაკავშირებლად, რათა მოხდეს მიწოდების ძაბვისა და საერთო "დედამიწა".

გარე მეხსიერება ხორციელდება სტანდარტული I2C EEPROM 24CXXX- ზე. მიუხედავად იმისა, რომ AVR თავად შეიცავს თავის არასტაბილურ მეხსიერებას, მაგრამ ბევრ დიზაინში გარე ჩიპი შეიძლება სასურველი იყოს რესურსების მოცულობის გამო. ჩართვის ჩართვა არის სტანდარტული, მისამართი 0x01 კრისტალი.

ხაზოვანი LED პორტი სტატუსის მაჩვენებლები HL2-HL5 მზადდება 4 დისკრეტული LED- ები. AVR- ის ექსპერიმენტების დაწყებისათვის, ეს საკმარისია, მათი რიცხვი უფრო მეტია, მიმაჩნია, რომ ეს არ არის გამართლებული და საკმაოდ გაფორმებული. LED- ები შედის პორტის შესვლისას. "1", ასე რომ პორტის სტატუსი ნაჩვენებია სიგნალის ინვერსიის გარეშე, რაც მოსახერხებელია და ვიზუალური.

LCD ინდიკატორის საბჭოსთან დაკავშირება 2 კონექტორი, შესაძლებელია 8 ბიტიანი და 4 ბიტიანი რეჟიმის გამოყენება. პირველი ეს არის 34-ქინძისთავები x2 (3.5 "წამყვანი) საშუალებას გაძლევთ გამოიყენოთ სტანდარტული გადატვირთული მარყუჟების სასურველი სიგრძის დრაივები, შესაბამისად, მაჩვენებელს, უმჯობესია დამალვა Pin Jumper ხაზი (PIN- ბლოკი), ის საშუალებას გაძლევთ სწრაფად შეცვალოთ განსხვავებული ინდიკატორები შიშის გარეშე. ABRA- ს პორტების კავშირი ხორციელდება PIN-BLOCK X10- ის საშუალებით, რაც LCD კავშირის რეჟიმის გარდა, შეგიძლიათ შეარჩიოთ დასკვნები MK. ეს დიზაინი საშუალებას გაძლევთ ადვილად ადაპტირება თავისუფალი პორტების კონტროლერის, თუნდაც "აკრიფეთ" მათ ერთ სხვადასხვა ჯგუფების პორტებში, რომელიც აუცილებელია, როდესაც კონფიგურირებული განსაკუთრებით გამართულ პროტოტიპი ან ახლად აშენებული ბეჭდვითი მიკროსქემის ფორუმში, აღმოჩნდება უფრო მოხერხებულად გაყვანილობა.


ხშირ შემთხვევაში, LCD- ის ინდიკატორის გამოყენება არ შეიძლება გამართლებული იყოს ფასი, ზომები ან საიმედოობა. მაგალითად, მარტივი შენარჩუნებული ან ტაიმერი კარგად მუშაობს და 2-ბიტიანი ინდიკატორი. საერთო ტიპის ორმაგი 7-ს სეგმენტის ინდიკატორების თანდასწრებით 14 მმ ნიშნის სიმაღლით, როგორც საერთო ანდოდისა და საერთო კათოდით (ფულადი სახსრების რეგისტრაცია სისტემის ბლოკები 486 კომპიუტერები). მე მქონდა 2-ინსულტის გასაღებები VT1-VT4- ზე VT1-VT4- ზე, რათა დააკავშიროთ ნებისმიერი ტიპის ინდიკატორები და, შესაბამისად, მაჩვენებელი თავად პანელი ისე, რომ მომავალში ის არ დაარღვიოს თქვენი უფროსი სქემით.

ATMEGA პორტების ყველა კავშირი პერიფერია, როგორც ზემოთ აღინიშნა, ხაზოვანი X3-X6 PIN. ძირითადად ვალის ბრალდებით, მე დაფიქსირდა IDC-10 კონექტორების გამოყენება (2x5). ერთადერთი უპირატესობა არის "გასაღების" ყოფნა, რათა არ მიიღოს Plume ადგილებში, როდესაც დაკავშირებულია. აქედან გამომდინარე, ასეთი მეთოდის უპირატესობები დასრულდება და ხარვეზები დაიწყება - კიდევ ერთი ვიზუალურად მოუხერხებელია 8 ნიშნა პორტებით, რადგან დასკვნები ზედიზედ არ არის განლაგებული, შეუძლებელია, გარდა მარყუჟისთვის, რომელიც დაკავშირებულია ჩაშენებული პერიფერია. PIN ბლოკების გამოყენება პირდაპირ საპირისპირო შედეგს იძლევა, გარდა იმ შემთხვევებისა, როდესაც სტანდარტული Jumper-Jumper- ის მეშვეობით, ადვილად აკონტროლებს ზემოდან ნებისმიერ სიგნალს, მაგალითად ლოგიკური გამოძიება ან oscilloscope, თქვენ არ გჭირდებათ poke და ითვლიან პორტის პორტის შიშით შანსი "დაბლოკვის" დასკვნების მიხედვით. დაამატეთ აქ მაქსიმალური ყველაზე დაბალი და reusability ამ კავშირი, რადგან ეს ბევრად უფრო ადვილია შეცვალოს loop ან jumper ვიდრე კონექტორი პასუხისმგებელი საფასური. უფრო მეტიც, ახლა იყიდება კი ჩვენი outback შეგიძლიათ იპოვოთ ასეთი რეაგირების ნაწილების კონექტორები (ან გამოიყენოთ ძველი სისტემის ერთეული), რაც საშუალებას იძლევა ადვილად და სწრაფად დააკავშიროთ კონექტორები (ნახ.):


ხმის, საერთო bipper ერთად წინააღმდეგობის შესახებ დაახლოებით 80 ohms საწყისი Mattlat იყო გამოყენებული. სიგნალი არ არის ძალიან ხმამაღალი, მაგრამ საკმარისია კონტროლი (R23 და ამიტომ შერჩეული ლიმიტი). ცალკე გასაღები მე არ დააყენა ვისაც სურდა რეკონსტრუქცია ის ადგილებზე, როგორც Temp. მცირე რჩევები - არ მუშაობს ხმის, არ უნდა დაგვავიწყდეს პროცედურის დასასრულს სიგნალის შესაქმნელად ბრძანების შესაქმნელად. "0" PD7 გამომავალი, წინააღმდეგ შემთხვევაში, თაობის შეჩერების შემდეგ შეიძლება დარჩეს "1" და მიმდინარე საშუალებით სპიკერი გააგრძელებს, რომ არ არის კარგი, თუმცა AVR-A- ის საერთო მოხმარების მოსაზრებების გათვალისწინებით.

4-ბიტიანი დიპლომატიურ Switch SW4- ზე, პორტების ლოგიკური სიგნალები შეიკრიბებიან. აქ, რიცხვით სიტუაცია მსგავსია LED LED- ების მსგავსად. იმიტომ რომ Avrov შეყვანის აქვს შიდა დანამატი აუზი- up წინააღმდეგობის, შესაბამისად, "suspenders" მიწოდების არ არის საჭირო საკვები. რეზისტორების R18-R21 შეიცავს MK პორტების შემთხვევითი ჩართვის შეცდომებს. საბჭოს აუდიტის დროს 1.03 და ზემოთ, DIP შეცვლა შეიძლება შეიცვალოს მხტუნავები. მე ცოტა ხნის წინ საჭიროა სწრაფად გააკეთო JTAG ყინულის გამგეობიდან. გარდა ამისა, REV 1.4, RN1 Resistor Matrix შემოღებულ იქნა, რომელიც საშუალებას აძლევს ტექნიკას შექმნას ლექცია "1" კონტროლერის რამდენიმე შეყვანის შესახებ. თუ არ გჭირდებათ ეს - არ შეგიძლიათ დააყენოთ RN1.

MK- ის ტაქტიანი შერჩეულია CL_Sel Pin-Group- ის მიერ და შეიძლება განხორციელდეს გარე კვარცის რეზონორმა Z1 (მხოლოდ JP37, JP38 დამონტაჟებული), განუყოფელი კვარცის გენერატორი G1 (16 MHz), ან გამყოფი: 2 და 4. Ისე კვარცის გარდა, თქვენ შეგიძლიათ ნახოთ პროცესორი 16, 8, 4 MHz სიხშირეებით. თქვენ შეგიძლიათ მარტივად შეაფასოთ პროგრამის სიჩქარე, ან მიიღონ სტანდარტული საათის სიხშირე დალუქული სპეციალური. კვარცი. პრინციპში, TXO- ს არარსებობისას ეს სიხშირე თქვენ შეგიძლიათ გამოიყენოთ ნებისმიერი სხვა გენერატორი 16 MHz. გენერატორი ასევე შეიძლება სასარგებლო იყოს თქვენთვის, როდესაც "ლიფტინგი" MK არასწორად fiom microcontroller- ის გამო, ამ შემთხვევაში საათის სიხშირე არ თამაშობს როლს.

UART- ის RS-232 სერიული ინტერფეისის დონის კონვერტორი არის AVR- ის უმეტესი სისტემების მუდმივი ატრიბუტი. აქ არ გჭირდებათ "ველოსიპედით", სტანდარტული Max232 საკმაოდ საკმარისია. მხოლოდ RX-TX სიგნალები ჩართულია, რაც საკმარისად საკმარისია. თქვენ შეგიძლიათ პრაქტიკულად დააკავშიროთ CTS-RTS for Hardware Flow კონტროლის გარეშე recorking გამგეობის, მოქნილი სადენები JP31-JP32 საწყისი სიმღერები. სქემაში, Maxim Max232, Ti Max232 და Sipex SP3232 - დააყენა ნებისმიერი კოლეგების შემოწმება Maxim Max232, Ti Max232.

გარე მატრიქსის კლავიატურა შეიძლება გაკეთდეს ცალკე ფორუმში და შეუერთდეს MC Plumes- ს (გადავწყვიტე, მაუსის მანიპულატორებისგან, როგორც წესი, 2 მიკრიკკა ყოველთვის კარგია). Debug ფორუმში, ორმაგი PS-2 კონექტორები დამონტაჟებულია. სტანდარტული IBM PC Keypad უკავშირდება ტექნიკის გაუმჯობესების გარეშე, ბუნებრივია AVR- ის შესაბამისი პროგრამული უზრუნველყოფის მხარდაჭერით. მეორე კონექტორი თავისუფალია, გამოიყენეთ თქვენი შეხედულებისამებრ. როგორც წესი, კლავიატურის არის ძალიან კონკრეტული რამ, დამოკიდებულია პროტეოტიპის ვალი, ასე შემდეგ რამდენიმე pondays მე გადავწყვიტე, რომ არ დააყენოს კი მარტივი ღილაკები ფორუმში. მე ჩამოვთნის თქვენი დაფები შემდეგ გაყვანილობა და მათი ტესტები.

HL7 მაჩვენებელი განსაზღვრავს ექსპერიმენტებს ჩაშენებული აპარატურის PWM კონტროლერთან.

Intrahemny Sequential პროგრამირების X7- ის კონექტორი STK-200-ის შესაბამისად ხდება. პროგრამისტების ძალა შეიძლება შერჩევით აირჩიოთ JP43- ის მეშვეობით. ჩემი საქმეში, Ponyprog- ის ყველაზე მარტივი პროგრამისტი 74als ბუფერში (LS, F) 244 გამოიყენება LPT- ის მეშვეობით. ყველაფერი შემოწმდა Core2Duo + I965Chipset- ზე XP SP2- ის მიერ, პრობლემები არ არის. პროგრამისტი იკვებება debugboard კონექტორი და მოსახერხებელია ოპერაცია, რადგან ბუფერები ნორმალურ რეჟიმში "წასვლა" Z- სტატუსს და აბსოლუტურად არ ერევა Fastavr. დამაკავშირებელი JTAG Adapter for Intrahemum პროგრამირების და გამართვის რეალურ დროში პერიოდში ასევე შესაძლებელია გარეშე დახვეწა ფორუმში მეშვეობით შესაბამისი წრფივი Port Port C.

ეს რჩება კიდევ რამდენიმე საჭირო ელემენტის შესახებ:

გარე გადატვირთვის ჯაჭვი, რომელიც ARR აქვს საკმაოდ მარტივია. ეს შეიძლება იყოს JP42- ის მეშვეობით, მიუხედავად იმისა, რომ პროგრამისტების ექსპლუატაცია ხელს არ უწყობს პროგრამისტს. გადატვირთვის შეყვანა შეიძლება იყოს რეპროგრამით, როგორც სტანდარტული I / O პორტით და გამოიყენება პერიფერიისთვის, მაგრამ უნდა აღინიშნოს, რომ ამ შემთხვევაში აღარ არის შესაძლებელი "კრისტალი" X7- ის მეშვეობით.

Potentiometer- ში R27 ცვლადი რეზისტორი არის POTENTIOMETER- ის ძაბვის Valuator- ის ექსპერიმენტებისთვის ADC- ის ექსპერიმენტებისთვის, გამომავალი შეიძლება მსახურობდეს MK- ის რომელიმე ანალოგური საშუალებებით. მცირე შენიშვნა - გთხოვთ გაითვალისწინოთ, თუ არ დაამონტაჟებთ ამ რეზისტენტს რაიმე მიზეზით, დარწმუნდით, რომ ჯუმბერი (ფიგურაში მიუთითებს) ჩვეულებრივი GND საბურავის ნორმალური გავლისთვის!

პატარა შესახებ სამოას შესახებ pCB და დიზაინი. როგორც უკვე აღინიშნა, გამგეობა ცალმხრივია. მე ვამოწმებდი ლაზერ-რკინის ტექნოლოგიით დამზადებული 2 ეგზემპლარი (ერთი, როდესაც ფოტო ქაღალდზე დაბეჭდვისას, მეორე კი თვითმმართველობის გასაღების საფუძველზე) თუ სასურველია, ყველაფერი უნდა იყოს მიღებული ;-) თუ ფიქრობთ ფოტოებზე, დიდი! Jumper წესები განქორწინებულია "აკრძალული ზონების" გათვალისწინებით და სტანდარტული 16-PIN მარყუჟების (ბარი-პორტის ბარი), მაშინაც კი, როდესაც უკავშირდება ერთი უკიდურესად მიმდებარე. არარსებობის არარსებობის Ferrite Chokes (მე ვრცელდება ძველი 286 matpal ან burner მონიტორები) შეგიძლიათ უსაფრთხოდ დააყენა მხტუნავები. ვურჩევ დაუყოვნებლივ ყველა ჩიპი, რათა პანელები, რათა არ მოერგოს საფასური. არ უნდა დაგვავიწყდეს 2 მხტუნავთან ერთად Keys to HL6 მაჩვენებელი.

მაგრამ როგორც ჩანს, ინტერფეისი TTL / CMOS ლოგიკის შემოწმებისას, რაც შეიძლება მალე, მე შევეცდები, რომ გითხრათ, რა აღმოჩნდა.

ზოგადად, ტაიმერს აქვს შედარების რეგისტრაცია Ocr **და როდესაც ტაიმერის ღირებულება ემთხვევა შედარების რეესტრს Ocr **2 რამ შეიძლება მოხდეს:

  • შეწყვეტა
  • შეცვლის მდგომარეობის გარე შედარების გამომავალი Oc **

ახლა ჩვენ შეგვიძლია Customize შიმტიროდესაც მრიცხველი იღებს ღირებულებას Ocr **ძაბვის ფეხზე არჩეული Oc **5-დან 0-დან შეიცვალეთ, როდესაც ტაიმერი დასასრულს იღებს და 0-დან 5-მდე ძაბვის შეცვლას ითვალისწინებს, ჩვენ გვექნება მართკუთხა პულსები.

ოპერაციის 3 რეჟიმიაშიმტი

სკი (გადატვირთვა, როდესაც დამთხვევა) - ეს შეიძლება ეწოდოს Chim.სიხშირე-პულსირებული მოდელირების სიგნალი, როდესაც ტაიმერი იღებს ღირებულებას Ocr **ეს არის გადატვირთვა და ცვლის ღირებულება Oc **საპირისპიროდ. ამდენად, ველნესი შიმტიყოველთვის იგივე.

ეს გამოიყენება, როდესაც საჭიროა ზუსტი პერიოდის დათვლა, ან გარკვეულ დროს შეასრულოს.

სწრაფი PWM. (სწრაფი PWM) - Counter მიიჩნევს, რომ 0-დან 255-მდე, რის შემდეგაც ეს არის 0-ის გადატვირთვა.

როდესაც ტაიმერის ღირებულება ემთხვევა Ocr **შესაბამისი გამომავალი გადატვირთულია 0-მდე, როდესაც ნულოვანი არის 1.

ყველაზე ხშირად გამოიყენება როგორც ჩვეულებრივი Shim.

ფაზა სწორი PWM. (PWM ზუსტი ფაზით) - ამ რეჟიმში, კონტრშეტევები 0-დან 255-მდე მიიჩნევს, შემდეგ კი ნულის საპირისპირო მიმართულებით მიიჩნევს. პირველი დამთხვევა Ocr **გამომავალი გადატვირთულია 0-ით, 2 მატჩით (როდესაც კონტრაქტი უკან დაბრუნდა), 1.

იმისათვის, რომ არ მოხდეს ფაზა, როდესაც მოვალეობაა.



თუ ჩვენ გვინდა მუშაობა დასკვნამდე OC1A.ჩვენ bits B. Com1a1 com1a0.
ზოგადად, "/" ნიშნავს ან. Tcnt1.= Ocr1a.-თვის შიმტიშედეგზე OC1A.

ოპერაციის ტაიმერი / მრიცხველი რეჟიმი - ტაიმერი / მრიცხველი რეჟიმი.

ზევით.- TCNT1 ღირებულება, რომელიც გამომავალი ღირებულების ცვლაში Oc **.

TOV1 დროშა კომპლექტი - რა ღირებულებებით არის დამონტაჟებული GIFR- ის რეგისტრაცია

არჩევა ბოლო მაგიდა, რომ რეჟიმში, რომ ჩვენ გვჭირდება, არ შევხედოთ ზევით.. 2 მაგიდა, აირჩიე ნებისმიერი მე -2 ვარიანტი. ის რჩება მხოლოდ რეგისტრაციისთვის საჭირო ბიტების განთავსებაზე.

#Define f_cpu 8000000l #include #Include. Int main () (ddrd \u003d 0xff; ocr1a \u003d 0xc0; // შედარება ამ ღირებულებით ocr1b \u003d 0x40; // PWM და TCCR1A ტაიმერის შექმნა | \u003d (1<CS10განათავსეთ 1, მას სჯერა MK სიხშირეზე, თუ როგორ უნდა დააკონფიგურიროთ ტაიმერის სიხშირე


მოდით მივმართოთ ჩაშენებული ქრონომების შესწავლას.
სწავლის შეფერხებები და განსაკუთრებით ქრონომეტრებიmicrocontrollers, იგი წარმოადგენს გარკვეული სირთულის გამო მათი მრავალფუნქციური. დღეს ჩვენ ვცდილობთ გაერკვნენ პირობები და სახელები.

-ში aVR Microcontrollers შეიძლება იყოს 4-დან 4-მდე, რვა ციფრი ან თექვსმეტი.
გამარტივებული ქრონომეტრები მითითებულია ასო T- ის მიერ, ხოლო ნულიდან სამი რიცხვი. როგორც წესი, T0 და T2 კი რვადანურია და უცნაური T1 და T3 თექვსმეტი ციფრით. პროგრამირების ქვეშ, გამარტივებული ვერსია გამოიყენება მხოლოდ კომენტარებში, ხოლო პროგრამებში ტაიმერის სრული სახელი ინიშნება - TCNT რეგისტრაცია. ქვემოთ არის ქრონომების აღნიშვნა:

ქრონომეტრები

T0, T2. - (TCNT0, TCNT2) რვა ბიტიანი მრიცხველები (თუნდაც)
Tcntn.- საბუღალტრო რეგისტრაცია 8 გამონადენი Counter
სადაც; N- ნომრის მრიცხველი

T1, T3. - (TCNT1N და TCNT1L, TCNT3H და TCNT3L) თექვსმეტი ციფრი მრიცხველები (უცნაური)
Tcntny. - ანგარიშების რეგისტრაცია 16 გამონადენი Counter
სადაც; N- ნომრის მრიცხველი
Y- უფროსი (H) ან უმცროსი (ლ) გამონადენი

T1 შედგება ორი რვა-ბიტიანი რეგისტრაციისაგან TCNT1N და TCNT1L, მაგრამ
T3 ორი რეესტრი TCNT3H და TCNT3L. წერილი თ. აღნიშნავს უფროსი გამონადენი, და ლ. უმცროსი

როცა ქრონომეტრებირეგისტრაცია, მაშინ თქვენ შეგიძლიათ დაუკავშირდეთ ნებისმიერ დროს, წაიკითხოთ, დაწერეთ, გადატვირთეთ და შეცვალოს ღირებულება.
გამოაცხადა კონკრეტული წესები TCNT1N და TCNT1L ქრონომეტრების ჩაწერასა და წაკითხვისათვის.

1. ჩაწერის პროგრამები და წაკითხვის ტაიმერი მონაცემები უნდა იყოს ატომური, ანუ. წაკითხვის ან წერა, ჩვენ კრძალავს interrupts, და ბოლოს პროცესი კვლავ საშუალებას იძლევა.
2. როდესაც ჩაწერა, ხანდაზმული ბაიტი H და შემდეგ ახალგაზრდა L. პირველი ჩაწერილია.
3. კითხვისას, ახალგაზრდა ბაიტი ლ.
Მაგალითად:
ჩანაწერის მონაცემები დათვლის რეესტრში.
Cli; აკრძალვა TCNT1H, R16; ძველი Byte Out TCNT1L, R17; აღსანიშნავია ახალგაზრდა Byte SEI; დაუშვას interrupts

Reading მონაცემების დათვლა რეგისტრაცია
Cli; კრძალავს TCNT1L- ში, R16- ში; წაკითხვის ახალგაზრდა Byte in TCNT1H, R17; წაკითხვის უფროსი Sei Byte; დაუშვას interrupts

რატომ არის ასეთი წესები? და ყველაფერი ისე, რომ მონაცემები არ არის დამახინჯებული იმ დროს, რომელიც ყოველ რეესტრიდან კითხვის პროცესს წავა.
თუ თქვენ იყენებთ პირდაპირი მოსმენით 8-ბიტიან რეგისტრაციას TCNT1H და TCNT1L, მაშინ არ შეიძლება დარწმუნებული ვიყოთ, რომ ეს რეესტრი ერთდროულად წაიკითხავს. შეიძლება მოხდეს შემდეგი სიტუაცია: მეტრი შეიცავს $ 01FF- ს ღირებულებას, თქვენ განიხილება TCNT1H (შეიცავს ღირებულებას 01 ცვლადი). ამ დროის განმავლობაში, დათვლის იმპულსი მოვიდა და TCNT1L- ის შინაარსი $ 00 გახდა და $ 02-ის ღირებულება ჩაიწერა TCNT1H- ში.

ახლა თქვენ წაიკითხეთ TCNT1L- ის ღირებულება სხვა ცვლადში, მიიღებთ ამ ცვლადში $ 00 ღირებულებას (შემდეგ, ტაიმერი / კონტრშეტევამ უკვე გააკეთა ანგარიში). ამ ცვლადების 16-ბიტიანი ღირებულება იყო $ 0100, მაგრამ ხანდაზმულთა წაკითხვის დროს Counter- ის შინაარსი იყო $ 01FF, და თქვენ უნდა წაიკითხოთ ახალგაზრდა ბაიტი, როგორც FF. ასეთი სიტუაციის თავიდან ასაცილებლად, გამოიყენება ტაიმერის / მრიცხველის ერთეულში არსებული დროებითი რეესტრი. ეს რეესტრი გამჭვირვალეა, I.E. აქტების ავტომატურად. TCNT1L- ის რეესტრის ღირებულების წაკითხვისას, TCNT1H- ის შინაარსი ამ რეესტრშია. მაშინ ხანდაზმული ბატის კითხვისას ცვლადში კითხულობს, დროის რეესტრის ღირებულება წაიკითხავს. დროებითი რეესტრი აბსოლუტურად გამჭვირვალეა მომხმარებლისთვის, მაგრამ მისი სწორი ოპერაციისთვის აუცილებელია ზემოთ მითითებული ქმედებების თანმიმდევრობა. დარეგისტრირდით რეგისტრაციაზე დამატებით (ბუფერული) რეესტრის მეშვეობით ორმაგი ბუფერული

ქრონომეტრაჟი ასოცირდება დათვლის იმპულსებთანრომელიც შეიძლება იყოს გარეგანი და შეიყვანოთ ჩიპების სპეციალური შეყვანა ან საკუთარი გენერატორის ჩამოყალიბება. თავის მხრივ, საკუთარი გენერატორის სიხშირე შეიძლება იყოს სინქრონიზებული გარე კვარცის რეზონარულმა და შიდა RC სქემით განისაზღვროს. ამის შემდეგ, გარე სიხშირე ან საკუთარი გენერატორის სიხშირე ტარდება რეესტრის რეესტრის მიერ Clkpr.. გენერატორის მძღოლი Explorer- ის შემდეგ (Prescasher) CLKPR ხშირად უწოდებენ პროცესორის საათის სიგნალს (CPU).
სიხშირე მიწოდებული შეყვანის ტაიმერისთვის მითითებულია როგორც Clktn. ეს სიხშირე შეესაბამება პროცესორის საათის სიგნალს.
ერთი სავალუტო იმპულსი იზრდება ერთეულის ტაიმერის ღირებულებაზე, ამიტომ TCNT რეესტრი ითვლება ე.წ. ტაიმერი / მრიცხველები (TC).
Timer / Meter- ის სწორი ოპერაციისთვის გარე საათის სიგნალის შესახებ, გარე საათის სიგნალის ორი გადართვის მინიმალური დრო უნდა იყოს CPU საათის სიგნალის მინიმუმ ერთი პერიოდი. სინქრონიზებული გარე საათის სიგნალი შიდა CPU საათის სიგნალის გაზრდის გზით. (სიხშირული მეტრის მშენებლობისას უნდა გაიხსენოთ).
ტაიმერი / მრიცხველის რეგისტრაცია Tcnt. არის რეგისტრაცია Tccr..
ნიღაბი შეუშალოს ტაიმერი / მრიცხველისთვის Tcnt. ემსახურება რეგისტრაცია Timsk. (ტაიმერი ინტერვენციის კონტროლის რეგისტრაცია).
დროშების რეგისტრაცია Timsk interrupt ნიღაბი - არის TIFR რეგისტრაცია. გახსოვდეთ, რომ ეს 3 რეგისტრაცია (TCCR, Timsk, TIFR) მუშაობისას / დათვლილი TCNT გამოიყენება თითქმის ყოველთვის.

Interrupts შეიძლება ეწოდოს TCNT რეესტრს, TCNT- ის რეესტრის ღირებულებების შედარებას სპეციალური OCR შედარების რეგისტრაციის ღირებულებით, Capture - სპეციალური ICR Capture Registers- ის ღირებულებებით და განისაზღვრება ტაიმერი / მრიცხველის რეჟიმში . გარდა ამისა, შეწყვეტის მოთხოვნა შეიძლება მოხდეს საპასუხოდ watchdog ტაიმერი WDT.

ქრონომეტრები / მრიცხველები სხვადასხვა რეჟიმებში მუშაობენ და, შესაბამისად, სხვადასხვა ფუნქციებს ასრულებენ.
ოპერაციის რეჟიმი, I.E., ქრონომეტრი / მრიცხველის ქცევა და დამთხვევის სიგნალის გამომავალი განისაზღვრება, როგორც რეესტრის კონტროლირებადი სიგნალების ფუნქციონირების რეჟიმი Wgm02; Wgm01; WGM00. (შემოკლებით ჩანაწერი WGM02: 0.) და გამომავალი რეჟიმის დამთხვევის სიგნალის კონტროლირებადი რეგისტრაცია Soms0x1; Som0x0 (შემოკლებით ჩანაწერი Som0x1: 0.). ბიტების სტატუსი, რომელზეც შემთხვევითი სიგნალის გამომავალი რეჟიმი დამოკიდებულია, არ იმოქმედებს დათვლის თანმიმდევრობით, რომელიც განისაზღვრება მხოლოდ სიგნალის გენერატორის კონფიგურაციის ბიტების სტატუსით.

ბიტი Som0x1: 0. განსაზღვრავს თუ არა PWM გამომავალი სიგნალი უნდა იყოს ინვერსიული ან არა (ინვერსიული ან არ ინვერსიული PWM).
(PWM) პულსის მოდულაცია ან პულსი-სიგანე მოდულაცია (PWM).
არასამთავრობო PWM რეჟიმებისთვის, Bits- ის შინაარსი Soms0x1: 0 განსაზღვრავს თუ არა ერთეულის სიგნალის დამონტაჟება, ნულის გადატვირთვა ან საპირისპირო მდგომარეობაში გადავიდა შემთხვევის დროს.

--
Მადლობა ყურადღებისთვის!
იგორ კოტოვი, ჟურნალ "Datgorod" - ის მთავარი რედაქტორი

თქვენ შეგიძლიათ მიიღოთ ერთი ნაბიჯი ერთი, მაშინ ცვლილებები გამოიყურება ასე:
PLUS: RCALL დაგვიანებით; გარდამავალი TEMP2 დაგვიანებით subroutine; გადადით ერთი ნაბიჯით და შეამოწმეთ თუ არა შედეგი, არის ნულოვანი BREQ Plus_1; თუ ეს, ჩვენ მივმართავთ Plus_1 RJMP სწორი ეტიკეტზე; ჯილდო Plus_1: Dec Temp2 ღილაკების კვლევა; ჩვენ გამოვყოთ ერთეული RJMP სწორი; დაბრუნება მინუსში: RCall Delay ღილაკები; საოლქო საარჩევნო კომისიის Temp2 დაგვიანებით ქვეპროგრამის გადასვლა; გადასვლა ერთი ნაბიჯი და შეამოწმეთ თუ არა შედეგი არის ნულოვანი breq minus_1; თუ ეს არის, ჩვენ მივმართავთ Minus_1 RJMP სწორი ეტიკეტების; დაბრუნება Minus_1: Inc Temp2 ღილაკები; დაამატეთ RJMP სწორი ერთეული; დაბრუნება გამოკითხვა ღილაკს

Avrstudio 5- ის გაღიზიანების გამო და Attiny2313 Microcontroller, სტატიების სერია გადაწერილია ATMELSTUDIO6 და ATMEGA8 და ATMEGA16 Microcontrollers. ბოდიშს ვუხდი წინასწარ უხერხულობას.