YOMEDIA
ADSENSE
Bài giảng Vi điều khiển 8051 (tt)
270
lượt xem 79
download
lượt xem 79
download
Download
Vui lòng tải xuống để xem tài liệu đầy đủ
Bài giảng Vi điều khiển 8051 sẽ giới thiệu với bạn đọc về họ Vi điều khiển 8051; Các chân, cổng vào/ra của Vi điều khiển 8051; Ngôn Ngữ Lập Trình C [Keil C] Cơ Bản Cho 8051; Hướng Dẫn Sử Dụng Keil C Lập Trình 8051; Bộ đếm/ bộ định thời trong 8051; Truyền thông nối tiếp với 8051 và các nội dung khác.
AMBIENT/
Chủ đề:
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Vi điều khiển 8051 (tt)
- Bài 1: 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 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ộ vi đ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. 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 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 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 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). 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:
- 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 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. 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.
- 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. 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ừ PSW.7 CY D7H Bit 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ó PSW.6 AC D6H Bit 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 PSW.2 OV D2H có dấu có kết quả > +127 hoặc < -128. PSW.1 - D1H Chưa dùng Cờ kiểm tra chẵn lẻ: được Set hoặc Clear bởi PSW.0 P D0H phần cứng sau mỗi 1 chu kỳ lệnh, để chỉ ra rằng có 1 số 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). 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.
ADSENSE
CÓ THỂ BẠN MUỐN DOWNLOAD
Thêm tài liệu vào bộ sưu tập có sẵn:
Báo xấu
LAVA
AANETWORK
TRỢ GIÚP
HỖ TRỢ KHÁCH HÀNG
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn