Giao tiếp giữa KIT vi xử lý 8951 và máy tính, chương 8

Chia sẻ: Nguyen Van Dau | Ngày: | Loại File: PDF | Số trang:24

0
163
lượt xem
66
download

Giao tiếp giữa KIT vi xử lý 8951 và máy tính, chương 8

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

Phần cứng đó là những gì đã cố định, nó là một cỗ máy, cỗ máy muốn hoạt động thì phải có công nhân lành nghề điều khiển nó, với cùng một cỗ máy nhưng người công nhân có tay nghề cao thì sản phẩm càng có chất lượng. Từ đó chúng ta nhận thấy rằng, phần cứng muốn hoạt động được đòi hỏi phải có sự can thiệp của con người mà chủ yếu là thông qua phần mềm điều khiển và sự hoạt động mềm dẻo của phần cứng lại phụ thuộc vào trình độ người lập...

Chủ đề:
Lưu

Nội dung Text: Giao tiếp giữa KIT vi xử lý 8951 và máy tính, chương 8

  1. CHÖÔNG 8 GIAO TIEÁP GIÖÕA KIT 8151 VÔÙI MAÙY TÍNH I. PHAÀN CÖÙNG 1. Thieát keá card giao tieáp giöõa 8951 vaø maùy vi tính Sô Ñoà Card Giao Tieáp Vaø Sô Ñoà Maïch In
  2. II. PHAÀN MEÀM 1. Giôùi thieäu phaàn meàm: Phaàn cöùng ñoù laø nhöõng gì ñaõ coá ñònh, noù laø moät coã maùy, coã maùy muoán hoaït ñoäng thì phaûi coù coâng nhaân laønh ngheà ñieàu khieån noù, vôùi cuøng moät coã maùy nhöng ngöôøi coâng nhaân coù tay ngheà cao thì saûn phaåm caøng coù chaát löôïng. Töø ñoù chuùng ta nhaän thaáy raèng, phaàn cöùng muoán hoaït ñoäng ñöôïc ñoøi hoûi phaûi coù söï can thieäp cuûa con ngöôøi maø chuû yeáu laø thoâng qua phaàn meàm ñieàu khieån vaø söï hoaït ñoäng meàm deûo cuûa phaàn cöùng laïi phuï thuoäc vaøo trình ñoä ngöôøi laäp trình. Nhö vaäy, phaàn meàm vaø phaàn cöùng tuy laø hai boä phaän hoaït ñoäng ñoäc laäp nhöng hoaït ñoäng cuûa chuùng khoâng theå taùch rôøi nhau trong cuøng moät heä thoáng, chuùng hoã trôï laãn nhau ñeå hình thaønh neân hoaït ñoäng cuûa heä thoáng. Bieát ñöôïc taàm quan troïng cuûa phaàn meàm, chuùng ta seõ vaän duïng phaàn cöùfg ñeå caùc chöông trình phaàn meàm phuïc vuï muïch ñích cuûa chuùng ta. 2. Giôùi thieäu ngoân ngöõ Assembly: Khi maùy tính thöïc hieän chöông trình, noù ñoïc moät daõy caùc soá nhò phaân chæ goàm toaøn caùc soá 0 vaø 1 vaøo boä nhôù, giaûi maõ roài hieån thò. Ñeå cho deã ñoïc vaø deã vieát hôn thöôøng ta vieát caùc soá nhò phaân döôùi daïng caùc soá thaäp luïc phaân ñöôïc goïi laø chöông trình vieát baèng ngoân ngöõ maùy. Ta coù theå vieát vaø thöïc hieän moät chöông trình ngoân ngöõ maùy baèng phaàn meàm DEBUG, duøng leänh “E” hay leänh “A” ñeå nhaäp caùc maõ leänh vaøo boä nhôù, sau ñoù coù theå duøng leänh “G” hoaëc leänh “P“ ñeå thöïc hieän chöông trình. Tuy chöông trình coù theå vieát tröïc tieáp baèng ngoân ngöõ maùy, nhöng neáu trong chöông trình coù moät loãi naøo ñoù, hoaëc muoán theâm hoaëc xoaù moät maõ leänh naøo ñoù coù ñiaï chæ ñi keøm nhö jump, call, loop … cuõng phaûi ñöôïc tính toaùn laïi cho ñuùng ñòa chæ, neân raát khoù cho vieäc laäp, söûa vaø baûo trì chöông trình. Vì vaäy thay vì
  3. vieát tröïc tieáp baèng ngoân ngöõ maùy, ngöôøi laäp trình coù theå vieát baèng moät ngoân ngöõ döôùi daïng caùc kyù hieäu hình thöùc hoaëc caùc töø gôïi nhôù töông ñöông vôùi moät leänh cuûa CPU. Ñaây chính laø Hôïp Ngöõ (Assembly Language). Hôïp ngöõ (Asseebly Language) laø ngoân ngöõ laäp trình caáp thaáp gaàn vôùi ngoân ngöõ maùy. Assembly laø chöông trình dòch caùc chöông trình vieát baèng hôïp ngöõ sang maõ maùy. Caùc chöông trình dòch thoâng duïng hieän nay laø Macro Assembler (MASM) cuûa haõng phaàn meàm noåi tieáng Microsoft vaø Turbo Assembler (TASM) cuûa haõng Borland. Giöõa hai Chöông trình naøy coù söï khaùc nhau ñoâi chuùt, nhöng veà coâng duïng thì nhö nhau vaø töông thích vôùi nhau. Hieän nay chöông trình dòch ñöôïc nhieàu ngöôøi söû duïng nhaát laø Macro Assembler 5.0 vaø chöông trình giao tieáp trong luaän aùn naøy cuõng söû duïng chöông trình dòch naøy.
  4. 3. Löu ñoà vaø chöông trình giao tieáp Phaàn meàm giao tieáp trong maùy tính söû duïng ngoân ngöõ Assembly treân cô sôû söû duïng File.Hex vaø xöû lyù töøng kyù töï. Coøn phaàn meàm giao tieáp trong KIT ñöôïc vieát baèng ngoân ngöõ cuûa 8951.  Xöû lyù File File xuaát ra ngoaøi ñöôïc löu tröõ trong maùy döôùi daïng File.Hex. Caáu truùc moãi doøng cuûa File.Hex: : NNAAAARRHHHHHHHHHH . . . HHHCCTT Trong ñoù : : Baét ñaàu doøng NN Soá löôïng byte chöông trình trong doøng AAAA Ñòa chæ cuûa byte ñaàu tieân RR Kieåu Recort :00 , ôû doøng ñaàu tieân 01 HH Caùc byte chöông trình trong khuoân maãu Hex CC Toång kieåm tra trong khuoân maãu Hex TT Keát thuùc doøng CR vaø LF Toång kieåm tra ñöôïc hình thaønh töø toång cuûa taát caû caùc byte töø NN ñeán byte cuoái cuøng cuûa chöông trình HH. CC = [0 – ( Toång taát caû caùc byte NN ñeán HH )] vaø FFH Nhöng khi truyeàn ra ngoaøi thì döõ lieäu xuaát ra döôùi daïng maõ cuûa phím aán, maø chöông trình nhaän döõ lieäu cuûa KIT thì nhaän döõ lieäu vaøo döôùi daïng Hex. Do ñoù, chöông trình truyeàn phaûi coù ñoaïn xöû lyù File ñeå beân truyeàn vaø beân nhaän thoáng nhaát vôùi nhau. VD: ta coù File HIEU.HEX :10000000230039140C23FF39140C04BF13FEB26E6 :1000110022FEEFAC1435F6E7ABAFBEAA34616E6 :0000001FF Sau khi xöû lyù vaø truyeàn ra ngoaøi File.Hex coù daïng :
  5. :100000230039140C23FF39140C04BF13FEB26 :10001122FEEFAC1435F6E7ABAFBEAA34616 :0000001FF Trong File.Hex coù maõ baét ñaàu doøng luoân laø 3A (:) , soá kyù töï caàn truyeàn trong moät doøng vaø ñòa chæ caàn löu tröõ döõ lieäu. Do ñoù, trong chöông triønh nhaän phaûi phaân bieät taát caû caùc caáu truùc cuûa File.Hex ñeå nhaän döõ lieäu vaø löu tröõ vaøo ñuùng oâ nhôù.
  6. 3.1. Giao tieáp giöõa KIT vôùi KIT: Löu ñoà chöông trình nhaän döõ lieäu töø KIT BEGIN Khôûi ñoäng port noái tieáp Naïp ñòa chæ quaûn lyù vuøng data ñeå truyeàn Truyeàn data Kieåm tra bit TI sau khi truyeàn TI = 0 TI = 1 Xoùa bit TI Taêng ñòa chæ quaûn lyù data truyeàn Naïp bieán ñeám data truyeàn
  7. Giaûm bieán ñeám S So saùnh bieán ñeám vôùi FF Ñ Löu ñoà chöông trình truyeàn döõ lieäu töø KIT BEGIN Khôûi ñoäng port noái tieáp Naïp ñòa chæ quaûn lyù vuøng data ñeå nhaän Kieåm tra bit RI sau khi nhaän RI = 0 RI=1 Xoùa bit RI Nhaän data Taêng ñòa chæ quaûn lyù vuøng data nhaän Naïp bieán ñeám data nhaän Giaûm bieán ñeám
  8.  Chöông trình truyeàn döõ lieäu töø KIT org 5100h mov ie,#00h ; caám ngaét mov tmod,#20h ; timer mode 2, 2400baud mov th1,#-13 setb tr1 mov scon,#0fch mov dptr,#6000h ; naïp ñòa chæ quaûn lyù vuøng maõ x2: mov a,@dptr ; laáy döõ lieäu ñeå truyeàn ñi mov sbuf,a ; göûi döõ lieäu leân thanh ghi ñeäm x1: jnb ti,x1 ; kieåm tra bit ti sau khi göûi clr ti inc dptr mov a,dpl cjne a,#0ffh,x2 mov a,#76h ; naïp maõ chöõ H ñeå baùo keát thuùc mov dptr,#0c000h movx @dptr,a sjmp $  Chöông trình nhaän döõ lieäu töø KIT org 5100h mov ie,#00h ; caám ngaét mov tmod,#20h ; timer mode 2, 2400baud mov th1,#-13 setb tr1 mov scon,#0fch mov dptr,#6000h ; naïp ñòa chæ quaûn lyù vuøng maõ xr1: jnb ri,xr1 clr ri
  9. mov a,sbuf ; göûi döõ lieäu leân thanh ghi ñeäm movx @dptr,a inc dptr mov a,dpl cjne a,#0ffh,xr1 mov a,#76h; naïp maõ chöõ H ñeå baùo keát thuùc mov dptr,#0c000h movx dptr,a sjmp $
  10. Löu ñoà chöông trình truyeàn döõ lieäu coù giôùi haïn soá byte vaø ñòa chæ quaûn lyù data: BEGIN Khôûi taïo giao tieáp noái tieáp Naïp ñòa chæ quaûn lyù vuøng data ñeå truyeàn Laáy döõ lieäu töø oâ nhôù naïp vaøo thanh ghi laøm bieán ñeám Laáy ñòa chæ byte H naïp vaøo thanh ghi R1 Laáy ñòa chæ byte L naïp vaøo thanh ghi R0 Göûi bieán ñeám ra sbuf ñeå truyeàn Kieåm tra bit TI TI=0 TI=1 Xoùa bit TI Göûi byte ñòa chæ H ra sbuf ñeå truyeàn
  11. Kieåm tra bit TI TI=0 TI=1 Xoùa bit TI
  12. Göûi ñòa chæ byte L ra sbuf ñeå truyeàn Kieåm tra bit TI TI=0 TI=1 Xoùa bit TI Naïp ñòa chæ byte H vaø L vaøo dptr Laáy döõ lieäu chöùa trong dptr ñeå truyeàn Kieåm tra bit TI TI=0 TI=1 Xoùa bit TI Taêng ñòa chæ quaûn lyù dptr Giaûm bieán ñeám So saùnh bieán ñeám vôùi 00H
  13. S Ñ Hieån thò chöõ E ñeå baùo keát thuùc END
  14. Löu ñoà chöông trình nhaän döõ lieäu coù giôùi haïn soá byte vaø ñòa chæ quaûn lyù data: BEGIN Khôûi taïo giao tieáp noái tieáp Kieåm tra bit RI=0 RI=1 Xoùa bit RI Nhaän döõ lieäu vaø göûi ra thanh ghi R6 laøm bieán ñeám Kieåm tra bit RI RI=0 RI=1 Xoùa bit RI Nhaän döõ lieäu vaø löu tröõ vaøo dph
  15. Kieåm tra bit RI RI=0 RI=1 Xoùa bit RI
  16. Nhaän döõ lieäu vaø löu tröõ vaøo dpl Kieåm tra bit RI RI=0 RI=1 Xoùa bit RI Nhaän döõ lieäu vaø löu tröõ vaøo oâ nhôù coù chöùa trong dptr Taêng dptr Giaûm bieán ñeám So saùnh bieán ñeám vôùi 00H S Ñ Hieån thò chöõ E ñeå baùo keát thuùc END
  17. Chöông trình truyeàn döõ lieäu coù giôùi haïn soá byte vaø ñòa chæ quaûn lyù data ;vung nho 6000h chua bien dem se goi,6001H chua byte addr H ,6002H chua byte L pcon equ 87h org 4100h mov IE,#00h mov scon,#11011100b ;mode3, 2400baud mov tmod,#20h mov th1,#-13 setb tr1 ;start timer 1 mov dptr,#6000h ;nap dia chi quan li vung ma movx a,@dptr ;lay so luong byte se goi mov r6,a ;cat sang r6 inc dptr movx a,@dptr ;lay dia chi byte H quan li du lieu mov r1,a inc dptr movx a,@dptr ;lay dia chi byte L quan li du lieu mov r0,a x4: jb P1.1,x4 mov a,r6 mov sbuf,a ;goi so luong byte di truoc x5: jnb TI,x5 ;kiem tra Ti = 1 clr TI ;xoa TI de goi byte kex6: jb P1.1,x6 mov a,r1
Đồng bộ tài khoản