5. Giáo vieđn hướng dăn : Th.S TÁ COĐNG ĐỨC
3.5.1. Làm thê nào đeơ Vi đieău khieơn có theơ hốt đoơng
Vi đieău khieơn hĩ 8051 tương thích với chuaơn cođng nghieơp MCS-51TM veă taơp leơnh và sơ đoă chađn. Các vi đieău khieơn thuoơc hĩ này được nhieău nhà sạn xuât chê táo.
AT89C51 thuoơc hĩ vi đieău khieơn 8051 do hãng Atmel sạn xuât. AT89C51 là vi đieău khieơn 8 bit với 4K bytes boơ nhớ Flash PROM (Programmable and Erasable Read Only Memory) beđn trong chip. Boơ nhớ Flash tređn chip cho phép laơp trình ngay tređn heơ thông (In-system programmed) hoaịc laơp trình như moơt boơ nhớ khođng mât noơi dung (PEROM, EEPROM. . .). Với đơn vị xử lí trung tađm (CPU-Center Proceesor Unit) 8 bit cùng với boơ nhớ Flash tređn cùng moơt vi mách, AT89C51 phù hợp với các ứng dúng đieău khieơn. Với những ứng dúng khođng lớn, đòi hỏi boơ nhớ chương trình ít hơn 4K bytes, boơ nhớ dữ lieơu ít hơn 128 bytes thì vieơc sử dúng vi đieău khieơn AT89C51 là phù hợp; với những ứng dúng đòi hỏi boơ nhớ lớn hơn, có theơ sử dúng vi đieău khieơn AT89C52,
AT89C55. . . đeơ thực hieơn, hoaịc có theơ mở roơng theđm boơ nhớ dữ lieơu và boơ nhớ chương trình beđn ngoài. Vi đieău khieơn AT89C51 có 3 dáng vỏ, khác nhau veă thứ tự chađn và hình dáng vỏ; trong thiêt kê này dáng vỏ PDIP (Plastic Dual Inline Package) được lựa chĩn.
Sơ đoă chađn cụa AT89C51 dáng vỏ PDIP như hình sau. Chi tiêt veă chức naíng cụa các chađn được trình bày ở phaăn phú lúc.
Hình 3 - 14 :Sơ đoă chađn cụa AT89C51 (PDIP).
Vi đieău khieơn caăn có moơt nguoăn xung clock đeơ có theơ hốt đoơng. Nguoăn xung clock này có theơ lây từ mách dao đoơng beđn ngoài (external oscillator), hoaịc được táo ra bởi moơt thách anh kêt nôi beđn ngoài. Mách reset tự đoơng (Auto Reset) lúc mới câp nguoăn được caăn đên đeơ reset vi đieău khieơn. Moơt nút nhân maĩc song song với tú C đeơ có theơ thực hieơn reset baỉng tay trong khi thí nghieơm. Chađn EA được nôi leđn Vcc đeơ sử dúng 4K bytes boơ nhớ chương trình tređn chip.
Hình 3 - 16 : Sơ đoă kêt nôi cụa Vi đieău khieơn
Với thiêt kê như tređn, chađn EA được nôi leđn Vcc, AT89C51 hốt đoơng theo chương trình chứa trong boơ nhớ Flash 4K bytes tređn chip. Chương trình được viêt baỉng nhieău ngođn ngữ khác nhau, sau đó sử dúng các trình bieđn dịch tương ứng đeơ có được các mã leơnh tương ứng với AT89C51, mã leơnh này được náp vào boơ nhớ Flash tređn vi đieău khieơn, CPU đĩc các mã leơnh từ boơ nhớ Flash đeơ thực thi các cođng vieơc tương ứng. Tuỳ vào yeđu caău cụa vieơc thiêt kê mà chương trình được viêt tương ứng, đoăng thời các phaăn cứng beđn ngoài được kêt nôi theđm đeơ thực hieơn yeđu caău đó.
Viêt phaăn meăm, bieđn dịch và náp chương trình vào boơ nhớ flash tređn chip.
Có theơ sử dúng các ngođn ngữ như: C, Bascom, Assembler. . .đeơ viêt mã nguoăn; sau đó dùng các trình bieđn dịch tương ứng đeơ bieđn dịch mã nguoăn thành mã máy mà mà vi đieău khieơn có theơ thực thi. Trong đoă án này, ngođn ngữ Assembler được lựa chĩn.
Ngođn ngữ Assembler (hợp ngữ) là moơt trong những ngođn ngữ cụa máy tính, có vị trí ở giữa ngođn ngữ máy và ngođn ngữ câp cao. Ngođn ngữ câp cao như Pascal, C... sử dúng các phát bieơu deê hieơu đôi với người sử dúng. Ngođn ngữ máy (machine language) là ngođn ngữ ở dáng sô nhị phađn cụa máy tính. Hợp ngữ sử dúng các mã gợi nhớ đeơ thay thê cho các mã nhị phađn cụa ngođn ngữ máy.
Moơt chương trình viêt baỉng hợp ngữ chưa theơ được thực thi bởi chip vi đieău khieơn. Chương trình này phại trại qua quá trình bieđn dịch đeơ có được ngođn ngữ máy mà chip vi đieău khieơn có theơ “hieơu” đeơ thực thi.
Có nhieău trình dịch hợp ngữ và các ứng dúng hoê trợ khác cho phép chúng ta deê dàng phát trieơn các ứng dúng tređn chip vi đieău khieơn hĩ 8051. Trình dịch hợp ngữ hĩ MCS-51 cụa Intel (ASM51.EXE) được dùng làm chuaơn đeơ so sánh với các trình dịch hợp ngữ khác.
Chương trình nguoăn viêt baỉng hợp ngữ sử dúng taơp leơnh ASM51 đeơ sốn thạo. Chương trình nguoăn được sốn thạo tređn máy tính (baỉng phaăn meăm sốn thạo vaín bạn), sau đó dùng trình bieđn dịch ASM51.EXE đeơ hợp dịch thành moơt taơp tin đôi tượng (object file) và moơt taơp tin lieơt keđ (listing file). Chương trình chứa trong taơp tin đôi tượng này cũng khođng theơ được thực thi bởi chip vi đieău khieơn, đeơ có chương trình có theơ thực thi được bởi chip vi đieău khieơn ta caăn phại có moơt trình bieđn dịch từ taơp tin đôi tượng sang mã máy. Có theơ dùng trình dịch OH.EXE đeơ bieđn dịch taơp tin đôi tượng thành taơp tin mã hex.
Chương trình ở dáng mã máy này được náp vào boơ nhớ Flash cụa vi đieău khieơn baỉng kit náp vi đieău khieơn.