intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Giới thiệu họ Vi điều khiển 8051

Chia sẻ: Le Dinh Linh | Ngày: | Loại File: DOC | Số trang:112

143
lượt xem
27
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Tài liệu Giới thiệu họ Vi điều khiển 8051 cung cấp đến người học các kiến thức như xem xét một số thành viên khác nhau của họ vi điều khiển 8051 và các đặc điểm bên trong của chúng, giới thiệu kiến trúc vi điều khiển 8051. Mời các bạn cùng tham khảo.

Chủ đề:
Lưu

Nội dung Text: Giới thiệu họ Vi điều khiển 8051

  1. Tài liệu hay cho người mới học VXL Giới thiệu họ Vi điều khiển 8051 Nội dung trong bài này: Phần I: chúng ta sẽ  xem xét một số  thành viên khác nhau của họ  bộ  vi   điều khiển 8051 và các đặc điểm bên trong của chúng. Đồng thời ta điểm qua  một số nhà sản xuất khác nhau và các sản phẩm của họ có trên thị trường. Phần II: Giới thiệu Kiến trúc Vi điều khiển 8051. I ­ Tổng quan về họ 8051 1.1 Tóm tắt về lịch sử của 8051 Vào năm 1981. Hãng Intel giới thiệu một số bộ vi điều khiển được gọi là  8051. Bộ  vi điều khiển này có 128 byte RAM, 4K byte ROM trên chíp, hai bộ  định thời, một cổng nối tiếp và 4 cổng (đều rộng 8 bit) vào ra tất cả  được đặt   trên một chíp. Lúc ấy nó được coi là một “hệ thống trên chíp”. 8051 là một bộ xử  lý 8 bit có nghĩa là CPU chỉ có thể làm việc với 8 bit dữ liệu tại một thời điểm.   Dữ liệu lớn hơn 8 bit được chia ra thành các dữ  liệu 8 bit để  cho xử  lý. 8051 có   tất cả 4 cổng vào ­ ra I/O mỗi cổng rộng 8 bit (xem  hình 1). Mặc dù 8051 có thể  có một ROM trên chíp cực đại là 64 K byte, nhưng các nhà sản xuất lúc đó đã cho   xuất xưởng chỉ  với 4K byte ROM trên chíp. Điều này sẽ  được bàn chi tiết hơn   sau này. 8051 đã trở nên phổ biến sau khi Intel cho phép các nhà sản xuất khác sản  xuất và bán bất kỳ  dạng biến thế  nào của 8051 mà họ  thích với điều kiện họ  phải để  mã lại tương thích với 8051. Điều này dẫn đến sự  ra đời nhiều phiên   bản của 8051 với các tốc độ khác nhau và dung lượng ROM trên chíp khác nhau  được bán bởi hơn nửa các nhà sản xuất.  Điều này quan trọng là mặc dù có nhiều  biến thể khác nhau của 8051 về tốc độ và dung lương nhớ ROM trên chíp, nhưng  tất cả chúng đều tương thích với 8051 ban đầu về các lệnh. Điều này có nghĩa là   nếu ta viết chương trình của mình cho một phiên bản nào đó thì nó cũng sẽ chạy   với mọi phiên bản bất kỳ khác mà không phân biệt nó từ hãng sản xuất nào. Đặc tính Số lượng ROM trên chíp 4K byte RAM 128 byte Bộ định thời 2 Các chân vào ­ ra 32 CHÚC CÁC BẠN THÀNH CÔNG !
  2. Tài liệu hay cho người mới học VXL Cổng nối tiếp 1 Nguồn ngắt 6 Bảng 1: Các đặc tính cơ bản của 8051. 1.2   Bộ   ví   điều   khiển   8051            Bộ  vi điều khiển 8051 là thành viên đầu tiên của họ  8051. Hãng Intel ký   hiệu nó như là MCS51. Bảng 1 trình bày các đặc tính của 8051. 1.3 Các thành viên khác của họ 8051             Có hai bộ vi điều khiển thành viên khác của họ 8051 là 8052 và 8031. a­ Bộ vi điều khiển 8052             Bộ vi điều khiển 8052 là một thành viên khác của họ 8051, 8052 có tất cả  các đặc tính chuẩn của 8051 ngoài ra nó có thêm 128 byte RAM và một bộ định  thời nữa. Hay nói cách khác là 8052 có 256 byte RAM và 3 bộ định thời. Nó cũng  có 8K byte ROM. Trên chíp thay vì 4K byte như 8051. Đặc tính 8051 8052 8031 ROM trên chíp 4K byte 8K byte OK RAM 128 byte 256 byte 128 byte Bộ định thời 2 3 2 Chân vào ra 32 32 32 Cổng nối tiếp 1 1 1 Nguồn ngắt 6 8 6 Bảng 2: so sánh các đặc tính của các thành viên  họ 8051. Như nhìn thấy từ bảng 2 thì 8051 là tập con của 8052. Do vậy tất cả mọi   chương trình viết cho 8051 đều chạy trên 8052 nhưng điều ngược lại là không   đúng. CHÚC CÁC BẠN THÀNH CÔNG !
  3. Tài liệu hay cho người mới học VXL b­ Bộ vi điều khiển 8031             Một thành viên khác nữa của 8051 là chíp 8031. Chíp này thường được coi  như  là 8051 không có ROM trên chíp vì nó có OK byte ROM trên chíp. Để  sử  dụng chíp này ta phải bổ xung ROM ngoài cho nó. ROM ngoài phải chứa chương   trình mà 8031 sẽ nạp và thực hiện. So với 8051 mà chương trình được chứa trong   ROM trên chíp bị giới hạn bởi  4K byte, còn ROM ngoài chứa chương trinh được  gắn vào 8031 thì có thể lớn đến 64K byte. Khi bổ xung cổng, như vậy chỉ còn lại  2 cổng để thao tác. Để giải quyết vấn đề này ta có thể bổ xung cổng vào ­ ra cho   8031. Phối phép 8031 với bộ nhớ và cổng vào ­ ra chẳng hạn với chíp 8255 được  trình bày  ở  chương 14. Ngoài ra còn có các phiên bản khác nhau về  tốc độ  của  8031 từ các hãng sản xuất khác nhau. 1.4 Các bộ vi điều khiển 8051 từ các hãng khác nhau             Mặc dù 8051 là thành viên phổi biến nhất của họ 8051 nhưng chúng ta sẽ   thấy nó trong kho linh kiện. Đó là do 8051 có dưới nhiều dạng kiểu bộ nhớ khác  nhau như UV ­ PROM, Flash và NV ­ RAM mà chúng đều có số đăng ký linh kiện  khác nhau. Việc bàn luận về  các kiểu dạng bộ  nhớ  ROM khác nhau sẽ  được  trình bày ở chương 14. Phiên bản UV­PROM của 8051 là 8751. Phiên bản Flash   ROM được bán bởi nhiều hãng khác nhau chẳng hạn của Atmel corp với tên gọi  là AT89C51 còn phiên bản NV­RAM của 8051 do Dalas Semi Conductor cung   cấp thì được gọi là DS5000. Ngoài ra còn có phiên bản OTP (khả trình một lần)   của 8051 được sản xuất bởi rất nhiều hãng. a­ Bộ vi điều khiển  8751             Chíp 8751 chỉ có 4K byte bộ nhớ UV­EPROM trên chíp. Để sử dụng chíp   này để phát triển yêu cầu truy cập đến một bộ đốt PROM cũng như bộ xoá UV­    EPROM để xoá nội dung của bộ nhớ UV­EPROM bên trong 8751 trước khi ta có   thể  lập trình lại nó. Do một thực tế  là ROM trên chíp đối với 8751 là UV­ EPROM nên cần phải mất 20 phút để  xoá 8751 trước khi nó có thể  được lập   trình trở  lại. Điều này đã dẫn đến nhiều nhà sản xuất giới thiệu các phiên bản  Flash Rom và UV­RAM  của 8051. Ngoài ra còn có nhiều phiên bản với các tốc   độ khác nhau của 8751 từ nhiều hãng khác nhau. b­ Bộ vi điều khiển AT8951 từ Atmel Corporation             Chíp 8051 phổ biến này có ROM trên chíp ở dạng bộ nhớ Flash. Điều này   là lý tưởng đối với những phát triển nhanh vì bộ nhớ Flash có thể được xoá trong   vài giây trong tương quan so với 20 phút hoặc hơn mà 8751 yêu cầu. Vì lý do này  mà AT89C51 để phát triển một hệ thống dựa trên bộ vi điều khiển yêu cầu một   bộ  đốt ROM mà có hỗ  trợ  bộ  nhớ  Flash. Tuy nhiên lại không yêu cầu bộ  xoá   ROM. Lưu ý rằng trong bộ  nhớ  Flash ta phải xoá toàn bộ  nội dung của ROM   CHÚC CÁC BẠN THÀNH CÔNG !
  4. Tài liệu hay cho người mới học VXL nhằm để  lập trình lại cho nó. Việc xoá bộ  nhớ  Flash được thực hiện bởi chính   bộ đốt PROM và đây chính là lý do tại sao lại không cần đến bộ xoá. Để loại trừ  nhu cầu đối với một bộ đốt PROM hãng Atmel đang nghiên cứu một phiên bản   của AT 89C51 có thể  được lập trình qua cổng truyền thông COM của máy tính   IBM  PC . Số linh kiện ROM RAM Chân I/O Timer Ngắt Vcc Đóng vỏ AT89C51 4K 128 32 2 6 5V 40 AT89LV51 4K 128 32 2 6 3V 40 AT89C1051 1K 64 15 1 3 3V 20 AT89C2051 2K 128 15 2 6 3V 20 AT89C52 8K 128 32 3 8 5V 40 AT89LV52 8K 128 32 3 8 3V 40 Bảng 3: Các phiên bản của 8051 từ Atmel (Flash ROM). Chữ C trong ký hiệu AT89C51 là CMOS.             Cũng có những phiên bản đóng vỏ và tốc độ khác nhau của những sản  phẩm trên đây. Xem bảng 1.6. Ví dụ để ý rằng chữ “C” đứng trước số 51 trong  AT 89C51 ­12PC là ký hiệu cho CMOS “12” ký hiệu cho 12 MHZ và “P” là kiểu  đóng vỏ DIP và chữ “C” cuối cùng là ký hiệu cho thương mại (ngược với chữ  “M” là quân sự ). Thông thường AT89C51 ­ 12PC rất lý tưởng cho các dự án của  học sinh, sinh viên. Mã linh kiện Tốc độ Số chân Đóng vỏ Mục đích AT89C51­12PC 42MHZ 40 DTP Thương mại Bảng 4: Các phiên bản 8051 với tốc độ khác nhau của Atmel. c­ Bộ vi điều khiển DS5000 từ hãng Dallas Semiconductor              Một phiên bản phổ  biến khác nữa của 8051 là DS5000 của hãng Dallas  Semiconductor. Bộ nhớ ROM trên chíp của DS5000 ở dưới dạng NV­RAM. Khả  năng đọc/ ghi của nó cho phép chương trình được nạp vào ROM trên chíp trong   khi nó vẫn ở trong hệ thống (không cần phải lấy ra). Điều này còn có thể  được  CHÚC CÁC BẠN THÀNH CÔNG !
  5. Tài liệu hay cho người mới học VXL thực hiện thông qua cổng nối tiếp của máy tính IBM PC. Việc nạp chương trình   trong hệ thống (in­system) của DS5000 thông qua cổng nối tiếp của PC làm cho   nó trở thành một hệ thống phát triển tại chỗ lý tưởng. Một ưu việt của NV­RAM   là khả năng thay đổi nội dung của ROM theo từng byte tại một thời điểm. Điều  này tương phản với bộ  nhớ  Flash và EPROM mà bộ  nhớ  của chúng phải được   xoá sạch trước khi lập trình lại cho chúng. Mã linh kiện ROM RAM Chân I/O Timer Ngắt Vcc Đóng vỏ DS5000­8 8K 128 32 2 6 5V 40 DS5000­32 32K 128 32 2 6 5V 40 DS5000T­8 8K 128 32 2 6 5V 40 DS5000T­8 32K 128 32 2 6 5V 40 Bảng 5: Các phiên bản 8051 từ hãng Dallas Semiconductor. Chữ “T” đứng sau 5000 là có đồng hồ thời gian thực.             Lưu ý rằng đồng hồ  thời gian thực RTC là khác với bộ  định thời Timer.  RTC tạo và giữ thời gian l phút giờ, ngày, tháng ­ năm  kể cả khi tắt nguồn.             Còn có nhiều phiên bản DS5000 với những tốc độ  và kiểu đóng gói khác  nhau.( Xem bảng 1.8). Ví dụ  DS5000­8­8 có 8K NV­RAM và tốc  đọ  8MHZ.  Thông thường DS5000­8­12 hoặc DS5000T­8­12 là lý tưởng đối với các dự  án  của sinh viên. Mã linh kiện NV­ RAM Tốc độ DS5000­8­8 8K 8MHz DS5000­8­12 8K 12MHz DS5000­32­8 32K 8MHz DS5000T­32­12 32K 8MHz (with RTC) DS5000­32­12 32K 12MHz DS5000­8­12 8K 12MHz (with RTC) Bảng 6:Các phiên bản của DS5000 với các  tốc độ khác nhau d­ Phiên bản OTP của 8051             Các phiên bản OTP của 8051 là các chíp 8051 có thể lập trình được một  lần và được cung cấp từ nhiều hãng sản xuất khác nhau. Các phiên bản Flash và   NV­RAM thường được dùng để  phát triển sản phẩm mẫu. Khi một sản pohẩm   được thiết kế  và được hoàn thiện tuyệt đối thì phiên bản OTP của 8051 được   CHÚC CÁC BẠN THÀNH CÔNG !
  6. Tài liệu hay cho người mới học VXL dùng để  sản hàng loạt vì nó rẻ  hơn rất nhiều theo giá thành một đơn vị  sản  phẩm. e­ Họ 8051 từ Hãng Philips             Một nhà sản xuất chính của họ 8051 khác nữa là Philips Corporation. Thật  vậy, hãng này có một dải lựa chọn rộng lớn cho các bộ  vi điều khiển họ  8051.   Nhiều sản phẩm của hãng đã có kèm theo các đặc tính như  các bộ  chuyển đổi   ADC,   DAC,   cổng   I/0   mở   rộng   và   cả   các   phiên   bản   OTP   và   Flash.  II ­ Giới thiệu Kiến trúc Vi điều khiển 8051 2.1 Tổ chức bộ nhớ             Các vi điều khiển thuộc họ 8051 đều tổ chức thành 2 không gian chương  trình và dữ liệu, hình 1 và hình 2 sẽ mô tả điều này. Kiến trúc vi xử lý 8 bit của   8051 này cho phép truy nhập và tính toán nhanh hơn đối với không gian dữ  liệu   nhờ  việc phân chia 2 không gian bộ  nhớ  chương trình và dữ  liệu như  trên. Tuy   nhiên bộ  nhớ  ngoài được truy nhập bởi hệ  thống 16 bit địa chỉ  vẫn có thể  thực  hiện nhờ thanh ghi con trỏ.      Bộ  nhớ  chương trình (ROM, EPROM) là bộ  nhớ  chỉ  đọc, có thể  mở  rộng tối  đa 64Kbyte. Với họ vi điều khiển 89xx, bộ nhớ chương trình được tích hợp sẵn  trong chip có kích thước nhỏ  nhất là 4kByte. Với các vi điều khiển không tích  hợp sẵn bộ nhớ chương trình trên chip, buộc phải thiết kế bộ nhớ chương trình   bên ngoài. Ví dụ  sử  dụng EPROM: 2764 (64Kbyte), khi đó chân PSEN phải  ở  mức tích cực (5V). CHÚC CÁC BẠN THÀNH CÔNG !
  7. Tài liệu hay cho người mới học VXL Hình 1: Cấu trúc vi điều khiển 89C51             Bộ nhớ dữ liệu (RAM) tồn tại độc lập so với bộ nhớ chương trình. Họ vi  điều khiển 8051 có bộ nhớ dữ  liệu tích hợp trên chip nhỏ  nhất là 128byte và có  thể mở rộng với bộ nhớ dữ liệu ngoài lên tới 64kByte. Với những vi điều khiển   không tích hợp ROM trên chip thì vẫn có RAM trên chip là 128byte. Khi sử dụng   RAM ngoài, CPU đọc và ghi dữ  liệu nhờ tín hiệu trên các chân RD và WR. Khi   sử dụng cả bộ nhớ chương trình và bộ  nhớ  dữ  liệu bên ngoài thì buộc phải kết  hợp chân RD và PSEN bởi cổng logic AND để  phân biệt tín hiệu truy xuất dữ  liệu trên ROM hay RAM ngoài.  Bộ nhớ chương trình: CHÚC CÁC BẠN THÀNH CÔNG !
  8. Tài liệu hay cho người mới học VXL Hình 2: Cấu trúc bộ nhớ chương trình Hình 3: Địa chỉ các ngắt trên bộ nhớ chương trình             Hình 2 mô tả cấu trúc bộ nhớ chương trình. Sau khi khởi động, CPU bắt   đầu thực hiện chương trình  ở  vị  trí 0000H. Hình 3 mô tả  địa chỉ  ngắt mặc định  trên bộ  nhớ  chương trình. Mối khi xảy ra ngắt, con trỏ  của CPU sẽ  nhảy đến  đúng địa chỉ ngắt tương  ứng và thực thi chương trình tại đó. Ví dụ  ngắt ngoài 0   sẽ  có địa chỉ là 0003H, khi xảy ra ngắt ngoài 0 thì con trỏ chương trình sẽ  nhảy   đến đúng địa chỉ 0003H để thực thi chương trình tại đó. Nếu trong chương trình   ứng dụng không xử dụng đến ngắt ngoài 0 thì địa chỉ 0003H vẫn có thể dùng cho   mục đích khác (sử dụng cho bộ nhớ chương trình). Bộ nhớ dữ liệu: Hình 4: Cấu trúc bộ nhớ dữ liệu CHÚC CÁC BẠN THÀNH CÔNG !
  9. Tài liệu hay cho người mới học VXL             Hình 4 mô tả cấu trúc bộ nhớ dữ liệu trong và bộ nhớ dữ  liệu ngoài của  họ  vi điều khiển 8051. CPU sẽ dùng đến các chân RD và WR khi truy cập đến  bộ nhớ dữ liệu ngoài.             Hình 5 mô tả cấu trúc bộ nhớ dữ liệu trong chip, được chia thành 3 khối  là 128 byte thấp, 128 byte cao và 128 byte đặc biệt. Hình 5: Cấu trúc bộ nhớ trong             Hình 6 mô tả  cấu trúc 128 byte thấp của bộ nhớ dữ liệu của họ vi điều  khiển 8051. 32 byte đầu tiên (00H­1FH) được sử  dụng cho 4 bộ 8 thanh ghi R0­ R7. Hai bit của thanh ghi đặc biệt PSW sẽ lựa chọn 1 trong 4 bộ thanh ghi mà vi  điều khiển sẽ dùng trong khi thực thi chương trình.  CHÚC CÁC BẠN THÀNH CÔNG !
  10. Tài liệu hay cho người mới học VXL Hình 6: Cấu trúc 128 byte thấp của bộ nhớ dữ liệu trong              8051   chứa   210   vị   trí bit được   định   địa   chỉ   trong   đó   128 bit chứa   trong  các byte ở địa chỉ từ 20H đến 2FH (16 byte x 8 bit = 128 bit) và phần còn lại chứa  trong các thanh ghi đặc biệt. Ngoài ra 8051 còn có các  port xuất/nhập có thể định  địa chỉ  từng bit, điều này làm đơn giản việc giao tiếp bằng phần mềm với các   thiết bị xuất/nhập đơn bit.                Vùng RAM đa mục đích có 80 byte đặt  ở  địa chỉ  từ  30H đến 7FH, bên  dưới vùng này từ  địa chỉ  00H đến 2FH là vùng nhớ  có thể  được sử  dụng tương  tự. Bất kỳ vị trí nhớ nào trong vùng RAM đa mục đích đều có thể được truy xuất   tự do bằng cách sử dụng các kiểu định địa chỉ trực tiếp hoặc gián tiếp.              Bất kỳ vị trí nhớ nào trong vùng RAM đa mục đích đều có thể được truy   xuất tự do bằng cách sử dụng các kiểu định địa chỉ trực tiếp hoặc gián tiếp.              Cũng như  các thanh ghi từ  R0 đến R7, ta có 21 thanh ghi chức năng đặc   biệt SFR chiếm phần trên của Ram nội từ  địa chỉ  80H đến FFH. Cần lưu ý là   không phải tất cả 128 địa chỉ từ 80H đến FFH đều được định nghĩa mà chỉ có 21   địa chỉ được định nghĩa.  Hình 7: 128 byte cao của bộ nhớ dữ liệu 2.2 Các thanh ghi đặc biệt             8051 có 21 thanh ghi chức năng đặc biệt SFR chiếm phần trên của Ram  nội từ  địa chỉ 80H đến FFH. Cần lưu ý là không phải tất cả  128 địa chỉ  từ  80H   đến FFH đều được định nghĩa mà chỉ  có 21 địa chỉ  được định nghĩa.  Hình 8 mô  tả  các thanh ghi đặc biệt trong vùng nhớ  dữ  liệu 80H đến FFH và giá trị  của  chúng sau khi Reset. CHÚC CÁC BẠN THÀNH CÔNG !
  11. Tài liệu hay cho người mới học VXL Hình 8: Các thanh ghi đặc biệt Thanh ghi chính:             Thanh ghi tính toán  chính của vi điều khiển 8051 ACC (Accumulator). Là  thanh ghi đặc biệt của 8051 dùng để thực hiện các phép toán của CPU, thường kí   hiệu là A.  Thanh ghi phụ:             Thanh ghi tính toán phụ của vi điều khiển 8051 là B. Thanh ghi B ở địa chỉ  F0H được dùng chung với thanh chứa A trong các phép toán nhân, chia. Lệnh   MUL  AB nhân 2 số 8 bit không dấu chứa trong A và B và chứa kết quả  16 bit   vào cặp thanh ghi B, A (thanh chứa A cất byte thấp và thanh ghi B cất byte cao).             Lệnh chia DIV  AB chia A bởi B, thương số cất trong thanh chứa A và dư  số  cất trong thanh ghi B. Thanh ghi B còn được xử  lý như  một thanh ghi nháp.  Các bit được định địa chỉ của thanh ghi B có địa chỉ từ F0H đến F7H.  CHÚC CÁC BẠN THÀNH CÔNG !
  12. Tài liệu hay cho người mới học VXL Thanh ghi trạng thái chương trình (PSW):             Thanh ghi trạng thái chương trình PSW (địa chỉ: D0H) là thanh ghi mô tả  toàn bộ  trạng thái chương trình đang hoạt động của hệ  thống. Bảng 7 và Bảng  8 sẽ mô tả thanh ghi này. 7 6 5 4 3 2 1 0 CY AC F0 RS1 RS0 OV ­ P Bảng 7: Thanh ghi trạng thái chương trình PSW Bit Ký Hiệu Địa Chỉ Mô tả Bit Cờ  nhớ (Carry Flag): được Set nếu có Bit nhớ  từ  Bit  PSW.7 CY D7H 7 trong phép cộng hoặc có Bit mượn cho Bit 7 trong  phép trừ. Cờ  nhớ  phụ: được Set trong phép cộng nếu có Bit  PSW.6 AC D6H nhớ  từ  Bit 3 sang Bit 4 hoặc kết quả trong 4 Bit thấp  nằm trong khoảng 0AH­>0FH. PSW.5 FO D5H Cờ O: dành cho người sử dụng. PSW.4 RS1 D4H Chọn dãy thanh ghi (Bit 1) Chọn dãy thanh ghi (Bit 0) 00=Bank 0: Địa chỉ 00H­>07H PSW.3 RS0 D3H 01=Bank 1: Địa chỉ 08H­>0FH 10=Bank 2: Địa chỉ 10H­>17H 11=Bank 3: Địa chỉ 18H­>1FH Cờ  tràn (Overflow Flag): được Set khi phép toán có  PSW.2 OV D2H dấu có kết quả > +127 hoặc 
  13. Tài liệu hay cho người mới học VXL chẵn hoặc số lẻ Bit 1 trong thanh chứa. Bảng 8: Chi tiết các bit trong thanh ghi PSW Thanh ghi ngăn xếp (Stack Pointer):             Con trỏ stack SP (stack pointer) là 1 thanh ghi 8 bit ở địa chỉ 81H. SP chứa   địa chỉ của dữ liệu hiện đang ở đỉnh của stack. Các lệnh liên quan đến satck bao   gồm lệnh cất dữ liệu vào stack và lệnh lấy dữ  liệu ra khỏi stack. Việc cất vào   stack làm tăng SP trước khi ghi dữ liệu và việc lấy dữ liệu ra khỏi stack sẽ giảm   SP. Vùng stack của 8051 được giữ trong RAM nội  và được giới hạn đến các địa  chỉ truy xuất được bởi kiểu định địa chỉ gián tiếp. Các lệnh PUSH và POP sẽ cất   dữ liệu vào stack và lấy dữ liệu từ stack, các lệnh gọi chương trình con (ACALL,  LCALL)   và   lệnh   trở   về   (RET,   RETI)   cũng   cất   và   phục   hồi   nội   dung   của  bộ đếm chương trình PC (Program counter) Con trỏ dữ liệu DPTR:              Con trỏ  dữ  liệu DPTR (data pointer)  được dùng để  truy xuất bộ  nhớ  chương trình ngoài hoặc bộ nhớ dữ  liệu ngoài. DPTR là một thanh ghi 16 bit có  địa chỉ là 82H (DPL, byte thấp) và 83H (DPH, byte cao). Thanh ghi các cổng P0­P3:             Các port xuất/nhập của 8051 bao gồm   Port 0 tại địa chỉ  80H, Port 1 tại   địa chỉ 90H, Port 2 tại địa chỉ A0H và Port 3 tại địa chỉ B0H. Tất cả các port đều   được định địa chỉ từng bit nhằm cung cấp các khả năng giao tiếp mạnh. Thanh ghi bộ đệm truyền thông nối tiếp (Serial Data Buffer):             Bộ đệm truyền thông được chia thành hai bộ đệm, bộ đệm truyền dữ liệu  và bộ đệm nhận dữ liệu. Khi dữ liệu được chuyển vào thanh ghi SBUF, dữ liệu  sẽ được chuyển vào bộ đệm truyền dữ liệu và sẽ được lưu giữ ở đó cho đến khi  quá trình truyền dữ  liệu qua truyền thông nối tiếp kết thúc. Khi thực hiện việc  chuyển dữ liệu từ SBUF ra ngoài, dữ liệu sẽ được lấy từ  bộ đệm nhận dữ  liệu  của truyền thông nối tiếp. Thanh ghi của bộ định thời/bộ đếm:             8051 có 2 bộ đếm/định thời (counter/timer) 16 bit để định các khoảng thời   gian hoặc để  đếm các sự  kiện. Các cặp thanh ghi (TH0, TL0) và (TH1, TL1) là  các thanh ghi của bộ  đếm thời gian.  Bộ  định thời 0 có địa chỉ  8AH (TL0, byte   thấp) và 8CH (TH0, byte cao). Bộ định thời 1 có địa chỉ 8BH (TL1, byte thấp) và  8DH (TH1, byte cao).   CHÚC CÁC BẠN THÀNH CÔNG !
  14. Tài liệu hay cho người mới học VXL             Hoạt động của bộ định thời được thiết lập bởi thanh ghi chế độ định thời  TMOD (Timer Mode Register)  ở  địa chỉ  88H. Chỉ  có TCON được định địa chỉ  từng bit. Các thanh ghi điều khiển:             Các thanh ghi điều khiển đặc biệt như  IP, IE, TMOD, TCON, SCON và   PCON là các thanh ghi điều khiển và ghi nhận trạng thái của hệ thống ngắt, bộ  đếm/định thời, truyền thông nối tiếp. Chi tiết của các thanh ghi này sẽ được mô  tả sau. CHÚC CÁC BẠN THÀNH CÔNG !
  15. Tài liệu hay cho người mới học VXL Bài 2 ­ Hướng Dẫn Sử Dụng Keil C Lập Trình 8051             Nội dung trong bài này: Phần I­ Download, cài đặt Keil C uVision3 Full cho 8051. Phần II ­ Hướng dẫn tạo 1 Project trong Keil C, biên dịch và nạp chương  trình cho 8051. I – Cài đặt Keil C uVision3 Tải file hướng dẫn cài đặt, crack  Keil C uVision3 ở dưới và làm theo hướng  dẫn. Keil C uVision3 8.05 Full. II – Các bước tạo Project Ta thực hiện 6 bước: 1.Tạo mới 1 project. 2.Tạo File.C. 3.Add File.C vào Project. 4.Biên dịch và tạo File Hex. 5.Gỡ lỗi chương trình (nếu có). 6.Nạp chương trình cho Vi điều khiển. 1.      1. Tạo mới 1 Project Chạy chương trình Keil C: CHÚC CÁC BẠN THÀNH CÔNG !
  16. Tài liệu hay cho người mới học VXL Vào Project­>New Project: CHÚC CÁC BẠN THÀNH CÔNG !
  17. Tài liệu hay cho người mới học VXL Chọn đường dẫn để lưu và đặt tên cho project: CHÚC CÁC BẠN THÀNH CÔNG !
  18. Tài liệu hay cho người mới học VXL Sau đó ấn Save. Tiếp theo ta chọn loại Chip: ở đây ta lựa chọn Atmel­>chọn AT89C51 CHÚC CÁC BẠN THÀNH CÔNG !
  19. Tài liệu hay cho người mới học VXL CHÚC CÁC BẠN THÀNH CÔNG !
  20. Tài liệu hay cho người mới học VXL Ấn Yes và ta đã hoàn thành bước 1 – tạo 1 project mới. CHÚC CÁC BẠN THÀNH CÔNG !
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2