Სარჩევი:

წამზომი Pic18f4520 პროტეუსში 7 სეგმენტით: 6 ნაბიჯი
წამზომი Pic18f4520 პროტეუსში 7 სეგმენტით: 6 ნაბიჯი

ვიდეო: წამზომი Pic18f4520 პროტეუსში 7 სეგმენტით: 6 ნაბიჯი

ვიდეო: წამზომი Pic18f4520 პროტეუსში 7 სეგმენტით: 6 ნაბიჯი
ვიდეო: Python project N10. ვიზუალური ინტერფეისის მქონე წამზომი (GUI, Tkinter) 2024, ნოემბერი
Anonim
წამზომი Pic18f4520 გამოყენებით Proteus 7 სეგმენტით
წამზომი Pic18f4520 გამოყენებით Proteus 7 სეგმენტით

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

აქ მე გაზიარებული სქემა იგივე.

სამი ცვლადი მილიწამი, წამი, წუთი განისაზღვრება

აქ ჩვენ გამოვიყენეთ ტაიმერის შეწყვეტა 10 ms, ყოველ 1000 მილიწამზე, წამში ცვლადი გაიზრდება, ყოველ 60 წამში წუთში ცვლადი გაიზრდება.

ნაბიჯი 1: საჭირო ნივთები

1 pic18f4520 კონტროლერი

2 შვიდი სეგმენტის ჩვენება

3 bc547 ტრანზისტორი

4 გადამრთველი დაწყების/გაჩერების/გადატვირთვისთვის

5 რეზისტორი 330E, 10K, 1K

6 ჩამოტვირთეთ mikroC სურათისთვის

7 ჩამოტვირთეთ პროტეუსი

ნაბიჯი 2: კოდის ლოგიკა და ჩვენება

კოდის ლოგიკა და ჩვენება
კოდის ლოგიკა და ჩვენება
კოდის ლოგიკა და ჩვენება
კოდის ლოგიკა და ჩვენება

რა არის შვიდი სეგმენტის ჩვენება? შვიდი სეგმენტის ჩვენება (SSD) არის ერთ -ერთი ყველაზე გავრცელებული, იაფი და მარტივი გამოსაყენებელი ჩვენება. როგორც ჩანს ზემოთ.

აქ ჩვენ უნდა გამოვიყენოთ საერთო კათოდური ტიპი 7 სეგმენტის დისპლეით - საერთო კათოდური ტიპის SSD- ში, ყველა LED- ის ბოლო ტერმინალი ჩვეულებრივ დაკავშირებულია "COM" პინთან. სეგმენტის განათება შესაძლებელია, როდესაც "1" მიეცემა შესაბამის LED სეგმენტს და მიწა დაკავშირებულია საერთოთან. შიდა ნაწილები მოცემულია ფიგურაში 2.

ნაბიჯი 3: მართვის ჩვენება მიკროკონტროლით

მართვის ჩვენება მიკროკონტროლით
მართვის ჩვენება მიკროკონტროლით

ჩემს წრეში მე გამოვიყენე NPN BC547 ტრანზისტორი.

BJT- ის გადამრთველის მარტივი გამოყენებისათვის, გამცემი-შემგროვებელი კვანძები იკლებს, როდესაც ბაზის ტერმინალში არის სიგნალი, წინააღმდეგ შემთხვევაში ის რჩება გათიშული. შეყვანა უნდა მოხდეს შესაბამისი რეზისტორის საშუალებით.

ნაბიჯი 4: რატომ მულტიპლექსირება?

ხშირად ჩვენ უნდა გამოვიყენოთ ორი, სამი ან მეტი SSD და ისიც მხოლოდ ერთი MCU, მაგრამ ერთი პრობლემა, რომლის წინაშეც ვდგავართ არის MCU– ში I/O ქინძისთავების ნაკლებობა, რადგან ერთი SSD მიიღებს 8 ქინძისთავს და ასე სამი SSD მიიღებდა 24 ქინძისთავს. 18 -ში ჩვენ გვაქვს მხოლოდ 48 I/O ქინძისთავები. რა არის გამოსავალი?

ერთი შესაძლებლობა ის არის, რომ ჩვენ ვიყენებთ უფრო დიდ MCU- ს მეტი I/O ქინძისთავებით. მაგრამ შემდეგ ჩვენ კვლავ შემოვიფარგლებით მხოლოდ 3 SSD დისკით, რომელთა გამოყენებაც შესაძლებელია. ამ პრობლემის კიდევ ერთი ბევრად უკეთესი და რეკომენდებული გადაწყვეტაა შვიდი სეგმენტის დისპლეის მულტიპლექსირება.

ვიკიპედიაში ნათქვამია:”ტელეკომუნიკაციებსა და კომპიუტერულ ქსელებში, მულტიპლექსირება (ასევე ცნობილია როგორც მუქსი) არის მეთოდი, რომლის საშუალებითაც მრავალი ანალოგური შეტყობინების სიგნალი ან ციფრული მონაცემთა ნაკადი გაერთიანებულია ერთ სიგნალად საერთო მედიაზე. მიზანი არის ძვირადღირებული რესურსის გაზიარება.”რას ვგულისხმობთ შვიდ სეგმენტიანი ეკრანის მულტიპლექსირებაში არის ის, რომ ჩვენ გამოვიყენებთ მხოლოდ 7 გამომავალ პორტს, რათა ჩვენება მივიღოთ ყველა SSD დისკზე.

ნაბიჯი 5: როგორ მივაღწიოთ ამას?

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

ვთქვათ, თითოეული ეკრანი ერთდროულად აქტიურია მხოლოდ 5 მილიწამი, ანუ ანათებს 1/0.0045 -ჯერ წამში, რაც უდრის 222 -ჯერ წამში. ჩვენი თვალები ვერ იგრძნობენ ცვლილებას ასე სწრაფად და, შესაბამისად, ჩვენ ვხედავთ, რომ ყველა ეკრანი მუშაობს ერთდროულად. რა ხდება რეალურად აპარატურაში არის ის, რომ MCU აძლევს '1' პინს (გახსოვდეთ, '1' მიანიჭეთ BJT შორტების ფუძეს კოლექტორი და გამცემი კავშირი?), რომელიც დაკავშირებულია ტრანზისტორის ბაზასთან შესაბამისი ეკრანი, ინარჩუნებს პორტს "ON" 5 მილიწამში და შემდეგ ისევ გამორთავს. ეს პროცედურა უსასრულო მარყუჟშია ჩადებული, ასე რომ ჩვენ მუდმივად ვხედავთ ჩვენებას.

ნაბიჯი 6: მულტიპლექსირების ალგორითმი

მულტიპლექსირების ალგორითმი
მულტიპლექსირების ალგორითმი

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

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

აქ ამ ინსტრუქციაში ჩვენ გამოვიყენეთ 6 ციფრიანი მულტიპლექსირება, უბრალოდ გაიარეთ თანდართული c ფაილი და თქვენ გაასუფთავებთ მას.

გირჩევთ: