Სარჩევი:
- ნაბიჯი 1: მოთხოვნები
- ნაბიჯი 2: პროგრამისტის შექმნა
- ნაბიჯი 3: პროგრამისტის პროგრამული უზრუნველყოფის დაყენება
- ნაბიჯი 4: ჩიპის დაპროგრამება
- ნაბიჯი 5: შეკრება
- ნაბიჯი 6: კოდის ახსნა
- ნაბიჯი 7: დამატებითი რესურსები
ვიდეო: 8051 პროგრამირების გაცნობა AT89C2051– ით (სტუმარი: არდუინო): 7 ნაბიჯი (სურათებით)
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:20
8051 (ასევე ცნობილია როგორც MCS-51) არის 80-იანი წლების MCU დიზაინი, რომელიც დღემდე პოპულარულია. თანამედროვე 8051 თავსებადი მიკროკონტროლერები ხელმისაწვდომია მრავალი გამყიდველისგან, ყველა ფორმისა და ზომის, და პერიფერიული მოწყობილობების ფართო სპექტრით. ამ ინსტრუქციურად ჩვენ შევხედავთ AT89C2051 MCU Atmel– დან.
AT89C2051 არის პატარა (2Kbyte Flash, 128byte RAM), იაფი (ch 1.40 $ თითო ჩიპზე) მიკროკონტროლი. მახასიათებლები:
- 2.7-6V ოპერაცია
- 15 I/O ხაზები
- 2 ტაიმერი (16 ბიტიანი)
- შიდა და გარე შეფერხებები
- UART
- ჩიპების ანალოგური შედარება
- 2MIPS– მდე 24 MHz საათით
ნაბიჯი 1: მოთხოვნები
მოთხოვნები:
- Linux კომპიუტერი (საჭირო პროგრამული უზრუნველყოფა: Arduino IDE, git, make, sdcc)
- Arduino UNO
- AT89C2051 ჩიპი (DIP20 პაკეტი)
- 20-პინიანი ZIF სოკეტი
- ოპტოწყვილერი (სასურველია MOSFET- გამომავალი)
- არდუინოს პროტოტიპის ფარი
- 12V კვების ბლოკი
- 5V კვების ბლოკი
- 16 MHz ბროლის ოსცილატორი
- 2x 30pF კონდენსატორი
- 100nF კონდენსატორი
- დიოდი (მაგ.: 1N400X)
- რეზისტორები (1K, 3K3)
- პროტობორდი
- მხტუნავები
- Სპილენძის მავთულის
შეამოწმეთ საჭირო პროგრამული უზრუნველყოფა:
რომელი პითონი 3
რომლებიც რომელი sdcc რომელი git
ნაბიჯი 2: პროგრამისტის შექმნა
ეს განყოფილება იქნება მოკლე, რადგან მე ავაშენე ჩემი პროგრამირების ფარი რამდენიმე ხნის წინ. მე დავამატე აწყობილი დაფის სქემატური და სურათები. სქემატური PDF შეგიძლიათ იხილოთ საცავში.
თქვენ მოგიწევთ პროგრამისტის დაფის დაპროგრამება:
1. კლონირება საცავი.
git კლონი
2. გახსენით AT89C2051_programmer/AT89_prog/AT89_prog.ino ფაილი Arduino IDE– ში.
3. შექმენით და ატვირთეთ ესკიზი Arduino IDE– დან.
ნაბიჯი 3: პროგრამისტის პროგრამული უზრუნველყოფის დაყენება
1. შექმენით პითონის ვირტუალური გარემო.
python3 -m venv venv
რა venv/bin/activ
2. დააინსტალირეთ at89overlord. at89overlord არის ჩემს მიერ დაწერილი AT89C2051 ჩიპის ღია პროგრამისტი. მისი კოდის ნახვა აქ შეგიძლიათ.
დააინსტალირეთ პიპი at89overlord
3. შეამოწმეთ ინსტალაცია.
at89overlord -h
ნაბიჯი 4: ჩიპის დაპროგრამება
1. კლონირება მარტივი მოციმციმე პროექტი.
cd
git clone https://github.com/piotrb5e3/hello-8051.git cd გამარჯობა-8051/
2. შექმენით პროგრამა.
გააკეთოს
3. შეაერთეთ Arduino კომპიუტერთან, შეაერთეთ 12V კვების წყარო, განათავსეთ AT89C2051 ჩიპი ZIF სოკეტში.
4. იპოვეთ არდუინოს სერიული პორტი.
ls /dev /tty*
5. ატვირთეთ ჩამონტაჟებული IntelHex ფაილი. თუ თქვენი Arduino პორტი განსხვავდება /dev /ttyACM0– სგან, თქვენ უნდა გაიაროთ სწორი მნიშვნელობა –p ბრძანების ხაზის პარამეტრით.
at89overlord -f./ გამარჯობა.ihx
ნაბიჯი 5: შეკრება
შეიკრიბეთ სქემა სქემატური მიხედვით. PDF ვერსია შეგიძლიათ იხილოთ საცავში.
თქვენ უნდა ნახოთ მწვანე LED განათება სიხშირით დაახლოებით 0.5 ჰც.
ნაბიჯი 6: კოდის ახსნა
#ჩართეთ
#ჩართეთ
ჩვენ ვიწყებთ sdcc– დან AT89X051 სათაურის ჩათვლით. ის შეიცავს მაკროებს რეგისტრატორებთან ურთიერთობისათვის, თითქოს ისინი ცვლადები იყვნენ. ჩვენ ასევე მოიცავს stdint.h რომელიც შეიცავს განმარტებებს uint8_t და uint16_t მთელი ტიპის.
// ვარაუდობენ, რომ ოსცილატორი არის 16 მჰც
#განსაზღვრეთ INTERRUPTS_PER_SECOND 5208
შეფერხება ხდება, როდესაც ტაიმერი 0 გადმოდის. ის კონფიგურებულია როგორც ერთი 8 ბიტიანი ტაიმერი, ასე რომ ეს ხდება ყოველ 2^8 პროცესორის ციკლში. ერთი პროცესორის ციკლი იღებს 12 საათის ციკლს და ამრიგად ჩვენ მივაღწევთ 16000000/12/2^8 = 5208.33333.
არასტაბილური uint8_t led_state = 0;
არასტაბილური uint16_t timer_counter = INTERRUPTS_PER_SECOND;
ჩვენ ვაცხადებთ ხელმძღვანელ სახელმწიფო კონტროლს და ვწყვეტთ მრიცხველის ცვლადებს.
void Timer0_ISR (void) _ შეწყვეტა (1) {
ქრონომეტრები-; if (timer_counter == 0) {led_state =! led_state; timer_counter = INTERRUPTS_PER_SECOND; }}
ყოველ ჯერზე, როდესაც ტაიმერი 0 გადავსდება მრიცხველი მცირდება. თუ ის ნულის ტოლია, ის გადატვირთულია და led მდგომარეობა იცვლება. ეს ხდება წამში ერთხელ, რის შედეგადაც ~ 0.5Hz LED მოციმციმე სიხშირე.
int main () {
TMOD = 0x3; // ტაიმერის რეჟიმი - 8 ბიტიანი, წინასწარი გამყიდველის გარეშე. freq = OSCFREQ/12/2^8 TL0 = 0; // წმინდა მრიცხველი TH0 = 0; // რეგისტრატორის გასუფთავება TR0 = 1; // დააყენეთ ტაიმერი გასაშვებად. ET0 = 1; // შეწყვეტის დაყენება. EA = 1; // გლობალური შეფერხების დაყენება. ხოლო (1) {თუ (led_state) {P1 = 0xFF; } სხვა {P1 = 0x00; }}}
ჩვენ ვაყენებთ ტაიმერის მოდულს და ველოდებით ცვლილებებს led მდგომარეობის კონტროლის ცვლადში. TMOD არის ტაიმერის რეჟიმის კონტროლის რეგისტრი. TL0 და TH0 არის Timer0 საკონტროლო რეგისტრები. ET0 არის ტაიმერის კონტროლის რეგისტრში (TCON) ჩართვის დრო-0 ბიტი. TR0 და EA არის ბიტები შეწყვეტის ჩართვის რეგისტრში (IE).
ნაბიჯი 7: დამატებითი რესურსები
- AT89C2051 მონაცემთა ფურცელი:
- მცირე მოწყობილობის C შემდგენელი (sdcc):
- 8051 რესურსი:
- პროგრამისტების საცავი AT89C2051:
- გამარჯობა-8051 საცავი:
გირჩევთ:
წვრილმანი პროგრამირების კაბელი Arduino Uno - Baofeng UV -9R Plus: 6 ნაბიჯი (სურათებით)
წვრილმანი პროგრამირების კაბელი Arduino Uno-Baofeng UV-9R Plus: ჰეი ყველას, ეს არის მარტივი სახელმძღვანელო იმის შესახებ, თუ როგორ გადაიყვანოთ თქვენი Baofeng UV-9R (ან პლუს) ყურსასმენის / ყურის ნაჭრის კაბელი პროგრამირების კაბელში Ardunio UNO– ს გამოყენებით USB– ით. სერიული გადამყვანი. [უარყოფა] მე არ ვიღებ პასუხისმგებლობას რაიმე ზიანის გამომწვევ მიზეზზე
8 პინიანი პროგრამირების ფარი: 14 ნაბიჯი (სურათებით)
8 პინიანი პროგრამირების ფარი: 8 პინიანი პროგრამირების ფარი საშუალებას გაძლევთ დაპროგრამოთ ATtiny სერიის ჩიპები Arduino– ს გამოყენებით, როგორც პროგრამისტი. სხვა სიტყვებით რომ ვთქვათ, თქვენ აერთებთ მას თქვენს Arduino– ში და შემდეგ მარტივად შეძლებთ 8 – პინიანი ჩიპების დაპროგრამებას. ეს მცირე მიკროკონტროლერები შეიძლება იყოს
ჟოლოს პი პროგრამირების გაცნობა ხელით კოდირების გარეშე: 3 ნაბიჯი
გაცნობა Raspberry Pi პროგრამირების ხელით კოდირების გარეშე: გამარჯობა, ეს ინსტრუქცია გაჩვენებთ როგორ გადააქციოთ თქვენი Raspberry Pi სრულად პროგრამირებადი ავტომატიზაციის მოწყობილობად, რომელიც თავსებადია PLC– ებისთვის გრაფიკულად ორიენტირებულ პროგრამირების ენაზე, სახელწოდებით Function Block Diagram (IEC 61131-3 სტანდარტის ნაწილი). ეს შეიძლება იყოს
მანიპულატორების გაცნობა: 8 ნაბიჯი (სურათებით)
შესავალი მანიპულატორებში: გამოწვევისთვის სწორი მანიპულატორის შექმნა არის რობოტების პირველი კონკურსის (FRC) ერთ -ერთი უმძიმესი ნაწილი. სტუდენტობის ოთხი წლის განმავლობაში, ეს ყოველთვის იყო ჩემი გუნდის ყველაზე დიდი წარუმატებელი წერტილი. მიუხედავად იმისა, რომ FRC– ში თამაშის გამოწვევა წლიდან წლამდე იცვლება
ყველაზე იაფი არდუინო -- ყველაზე პატარა არდუინო -- Arduino Pro Mini -- პროგრამირება -- არდუინო ნენო: 6 ნაბიჯი (სურათებით)
ყველაზე იაფი არდუინო || ყველაზე პატარა არდუინო || Arduino Pro Mini || პროგრამირება || არდუინო ნენო: …………………………. გთხოვთ გამოიწეროთ ჩემი YouTube არხი მეტი ვიდეოსთვის ……. . ეს პროექტი ეხება იმას, თუ როგორ უნდა დააკავშიროთ ყველაზე პატარა და იაფი არდუინო ოდესმე. ყველაზე პატარა და იაფი arduino არის arduino pro mini. არდუინოს მსგავსია