intTypePromotion=3

thiết kế mạch VDK đếm sản phẩm, chương 5

Chia sẻ: Tran Quoc Kien | Ngày: | Loại File: PDF | Số trang:9

0
152
lượt xem
71
download

thiết kế mạch VDK đếm sản phẩm, chương 5

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Hoạt động thanh ghi TIMER 8051 có hai timer 16 bit, mỗi timer có bốn cách làm việc. Người ta sử dụng các timer để: - Định khoảng thời gian. - Đếm sự kiện. - Tạo tốc độ baud cho port nối tiếp trong 8051. Trong các ứng dụng định khoảng thời gian, người ta lập trình timer ở những khoảng đều đặn và đặt cờ tràn timer. Cờ được dùng để đồng bộ hóa chương trình để thực hiện một tác động như kiểm tra trạng thái của các ngõ vào hoặc gửi sự kiện ra các ngõra. Các ứng...

Chủ đề:
Lưu

Nội dung Text: thiết kế mạch VDK đếm sản phẩm, chương 5

  1. Chương 5: Hoaït ñoäng thanh ghi TIMER 8051 coù hai timer 16 bit, moãi timer coù boán caùch laøm vieäc. Ngöôøi ta söû duïng caùc timer ñeå: - Ñònh khoaûng thôøi gian. - Ñeám söï kieän. - Taïo toác ñoä baud cho port noái tieáp trong 8051. Trong caùc öùng duïng ñònh khoaûng thôøi gian, ngöôøi ta laäp trình timer ôû nhöõng khoaûng ñeàu ñaën vaø ñaët côø traøn timer. Côø ñöôïc duøng ñeå ñoàng boä hoùa chöông trình ñeå thöïc hieän moät taùc ñoäng nhö kieåm tra traïng thaùi cuûa caùc ngoõ vaøo hoaëc göûi söï kieän ra caùc ngoõra. Caùc öùng duïng khaùc coù theå söû duïng vieäc taïo xung nhòp ñeàu ñaën cuûa timer ñeå ño thôøi gian troâi qua giöõa hai söï kieän (ví duï ño ñoä roäng xung ). Truy xuaát caùc timer cuûa 8051 duøng saùu thanh ghi chöùc naêng ñaëc bieät cho trong baûng sau: SFR Muïc Ñích Ñòa chæ Ñòa chæ hoùa töøng bit TCON Ñieàu khieån 88H Coù Timer
  2. TMO Cheá ñoä Timer 89H Khoâng D TL0 Byte thaáp cuûa 90H Khoâng Timer 0 TL1 Byte thaáp cuûa 91H Khoâng Timer 1 TH0 Byte cao cuûa 92H Khoâng Timer 0 TH1 Byte cao cuûa 93H Khoâng Timer 1 Caùc thanh ghi chöùc naêng cuûa timer trong 8031. Thanh ghi cheá ñoä timer (TMOD): Thanh ghi TMOD chöùa hai nhoùm 4 bit duøng ñeå ñaët cheá ñoä laøm vieäc cho Timer 0, vaø Timer 1. Bit Teân Tim Moâ taû er 7 GAT 1 Bit môû coång, khi leân 1 timer chæ chaïy khi E INT1 ôû möùc cao 6 C/T 1 Bit choïn cheá ñoä Count/Timer 1 = boä ñeám söï kieän 0 = boä ñònh khoaûng thôøi gian 5 M1 1 Bit 1 cuûa cheá ñoä mode
  3. 4 M0 1 Bit 0 cuûa cheá ñoä mode 3 GAT 0 Bit môû coång, khi leân 1 timer chæ chaïy khi E INT0 ôû möùc cao 2 C/T 0 Bit choïn cheá ñoä Count/Timer 1 M1 0 Bit 1 cuûa cheá ñoä mode 0 M0 0 Bit 0 cuûa cheá ñoä mode Toùm taét thanh ghi chöùc naêng TMOD. Thanh ghi ñieàu khieån timer(TCON) Thanh ghi TCON chöùa caùc bit traïng thaùi vaø caùc bit ñieàu khieån cho Timer 1, Timer 0. Bit Kyù Ñòa Moâ taû hieäu chæ TCON TF1 8FH Côø baùo traøn timer 1. Ñaët bôûi phaàn .7 cöùng khi traøn, ñöôïc xoùa bôûi phaàn meàm, hoaëc phaàn cöùng khi boä xöû lyù chæ ñeán chöông trình phuïc vuï ngaét. TCON TR1 8EH Bit ñieàu khieån timer 1 chaïy ñaët xoùa .6 baèng phaàn meàm ñeå cho timer chaïy ngöng. TCON TF0 8DH Côø baùo traøn Timer 0. .5 TCON TR0 8CH Bit ñieàu khieån Timer 0 chaïy
  4. .4 TCON IE1 8BH Côø caïnh ngaét 1 beân ngoaøi. Ñaët bôûi .3 phaàn cöùng khi phaùt hieän moät caïnh xuoáng ôû INT1 xoùa baèng phaàn meàm hoïaêc phaàn cöùng khi CPU chæ ñeán chöông trình phuïc vuï ngaét. TCON IT1 8AH Côø kieåu ngaét 1 beân ngoaøi. Ñaët xoùa .2 baèng phaàn meàm ñeå ngaét ngoaøi tích cöïc caïnh xuoáng /möùc thaáp. TCON IE0 89H Côø caïnh ngaét 0 beân ngoøai .1 TCON IT0 88h Côø kieåu ngaét 0 beân ngoaøi .0 Toùm taét thanh ghi chöùc naêng TCON Khôûi ñoäng vaø truy xuaát thanh ghi timer: Thoâng thöôøng caùc thanh ghi ñöôïc khôûi ñoäng moät laàn ñaàu ôû chöông trình ñeå ñaët ôû cheá ñoä laøm vieäc ñuùng. Sau ñoù, trong thaân chöông trình, caùc thanh ghi timer ñöôïc cho chaïy, döøng, caùc bit ñöôïc kieåm tra vaø xoùa, caùc thanh ghi timer ñöôïc ñoïc vaø caäp nhaät…. theo ñoøi hoûi caùc öùng duïng. TMOD laø thanh ghi thöù nhaát ñöôïc khôûi ñoäng vì noù ñaët cheá ñoä hoaït ñoäng. Ví duï, caùc leänh sau khôûi ñoäng Timer 1 nhö timer 16 bit (cheá ñoä 1) coù xung nhòp töø boä dao ñoäng teân chip cho vieäc ñònh khoaûng thôøi gian: MOV TMOD, #1B
  5. Leänh naøy seõ ñaët M1 = 1 vaø M0 = 0 cho cheá ñoä 1, C/ T= 0 vaø GATE = 0 cho xung nhòp noäi vaø xoùa caùc bit cheá ñoä Timer 0. Dó nhieân, timer khoâng thaät söï baét ñaàu ñònh thôøi cho ñeán khi bit ñieàu khieån chaïy TR1 ñöôïc ñaët leân 1. Neáu caàn soá ñeám ban ñaàu, caùc thanh ghi TL1/TH1 cuõng phaûi ñöôïc khôûi ñoäng. Moät khoaûng 100s coù theå ñöôïc khôûi ñoäng baèng caùch khôûi ñoäng giaù trò cho TH1/TL1 laø FF9CH: MOV TL1, #9CH MOV TH1, #0FFH Roài timer ñöôïc cho chaïy baèng caùch ñaët bit ñieàu khieån chaïy nhö sau: SETB TR1 Côø baùo traøn ñöôïc töï ñoäng ñaët leân 1 sau 100s. Phaàn meàm coù theå ñôïi trong 100 s baèng caùch duøng leänh reõ nhaùnh coù ñieàu kieän nhaûy ñeán chính noù trong khi côø baùo traøn chöa ñöôïc ñaët leân 1: WAIT: JNB TF1, WAIT Khi timer traøn, caàn döøng timer vaø xoùa côø baùo traøn trong phaàn meàm: CLR TR1 CLR TF1 d. Ngaét ( INTERRUPT) Moät ngaét laø söï xaûy ra moät ñieàu kieän, moät söï kieän maø noù gaây ra treo taïm thôøi thôøi chöông trình chính trong khi ñieàu kieän ñoù ñöôïc phuïc vuï bôûi moät chöông trình khaùc. Caùc ngaét ñoùng moät vai troø quan troïng trong thieát keá vaø caøi ñaët caùc öùng duïng vi ñieàu khieån. Chuùng cho pheùp heä thoáng ñaùp öùng baát ñoàng boä vôùi moät söï kieän vaø giaûi quyeát söï kieän ñoù trong khi moät chöông trình khaùc ñang thöïc thi. Toå chöùc ngaét cuûa 8051:
  6. Coù 5 nguoàn ngaét ôû 8031: 2 ngaét ngoaøi, 2 ngaét töø timer vaø 1 ngaét port noái tieáp. Taát caû caùc ngaét theo maëc nhieân ñeàu bò caám sau khi reset heä thoáng vaø ñöôïc cho pheùp töøng caùi moät baèng phaàn meàm. Khi coù hai hoaëc nhieàu ngaét ñoàng thôøi, hoaëc moät ngaét xaûy ra khi moät ngaét khaùc ñang ñöôïc phuïc vuï, coù caû hai söï tuaàn töï hoûi voøng vaø sô ñoà öu tieân hai möùc duøng ñeå xaùc ñònh vieäc thöïc hieän caùc ngaét. Vieäc hoûi voøng tuaàn töï thì coá ñònh nhöng öu tieân ngaét thì coù theå laäp trình ñöôïc. - Cho pheùp vaø caám ngaét : Moãi nguoàn ngaét ñöôïc cho pheùp hoaëc caám ngaét qua moät thanh ghi chöùc naêng ñaët bieät coù ñònh ñòa chæ bit IE ( Interrupt Enable : cho pheùp ngaét ) ôû ñòa chæ A8H. Bit Kyù Ñòa chæ Moâ taû hieäu bit IE.7 EA AFH Cho pheùp / Caám toaøn boä IE.6 _ AEH Khoâng ñöôïc moâ taû IE.5 ET2 ADH Cho pheùp ngaét töø Timer 2 (8052)
  7. IE.4 ES ACH Cho pheùp ngaét port noái tieáp IE.3 ET1 ABH Cho pheùp ngaét töø Timer 1 IE.2 EX1 AAH Cho pheùp ngaét ngoaøi 1 IE.1 ET0 A9H Cho pheùp ngaét töø Timer 0 IE.0 EX0 A8H Cho pheùp ngaét ngoaøi 0 Toùm taét thanh ghi IE - Caùc côø ngaét : Khi ñieàu kieän ngaét xaûy ra thì öùng vôùi töøng loaïi ngaét maø loaïi côø ñoù ñöôïc ñaët leân moät ñeå xaùc nhaän ngaét. Ngaét Côø Thanh ghi SFR vaø vò trí bit Beân ngoaøi IE0 TCON.1 0 Beân ngoaøi IE1 TCON.3 1 Timer 1 TF1 TCON.7 Timer 0 TF0 TCON.5 Port noái TI SCON.1 tieáp Port noái RI SCON.0
  8. tieáp Caùc loïai côø ngaét - Caùc vectô ngaét : Khi chaáp nhaän ngaét, giaù trò ñöôïc naïp vaøo PC ñöôïc goïi laø vector ngaét. Noù laø ñòa chæ baét ñaàu cuûa ISR cho nguoàn taïo ngaét, caùc vector ngaét ñöôïc cho ôû baûng sau : Ngaét Côø Ñòa chæ vector Reset heä RST 0000H thoáng Beân ngoaøi IE0 0003H 0 Timer 0 TF0 000BH Beân ngoaøi IE1 0013H 1 Timer 1 TF1 001BH Port noái TI vaø RI 0023H tieáp Timer 2 002BH
  9. Vector reset heä thoáng (RST ôû ñòa chæ 0000H) ñöôïc ñeå trong baûng naøy vì theo nghóa naøy, noù gioáng ngaét : noù ngaét chöông trình chính vaø naïp cho PC giaù trò môùi.

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản