Học vi điều khiển 8051 cho người bắt đầu

57 324 1
Học vi điều khiển 8051 cho người bắt đầu

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Đ cng gi ng – 8051 Starter Kit Chương I: Giới thiệu họ Vi điều khiển 8051 Vi điều khiển 8051 vi điều khiển bit thông dụng Bắt đầu xuất vào năm 1980, trải qua gần 30 năm, có tới hàng trăm biến thể (derrivatives) sản xuất 20 hãng khác nhau, phải kể đến đại gia làng bán dẫn (Semiconductor) ATMEL, Texas Instrument, Philips, Analog Devices… Tại Việt Nam, biến thể hãng ATMEL AT89C51, AT89C52, AT89S51, AT89S52… có thời gian xuất thị trường lâu nói sử dụng rộng rãi loại vi điều khiển bit Chương tập trung mô tả tương đối chi tiết cấu trúc bên biến thể nói (tạm gọi chung AT89) hãng ATMEL Cấu trúc AT89 dạng sơ đồ khối tổng quát CPU Bộ nhớ chương trình Bộ nhớ liệu Vào/ra song song Vào/ra nối tiếp Ngắt P1 Timer0 P2 Timer1 P3 P4 Bộ định thời / đếm Đ cng gi ng – 8051 Starter Kit Cấu trúc bus Bus địa họ vi điều khiển 8051 gồm 16 đường tín hiệu (thường gọi bus địa 16 bit) Với số lượng bit địa trên, không gian nhớ chip mở rộng tối đa 216 = 65536 địa chỉ, tương đương 64K Bus liệu họ vi điều khiển 8051 gồm đường tín hiệu (thường gọi bus liệu bit), lý nói 8051 họ vi điều khiển bit Với độ rộng bus liệu vậy, chip họ 8051 xử lý toán hạng bit chu kỳ lệnh CPU (Central Processing Unit) CPU đơn vị xử lý trung tâm, não toàn hệ thống vi điện tử tích hợp chip vi điều khiển CPU có cấu tạo gồm đơn vị xử lý số học lôgic ALU (Arithmethic Logic Unit) - nơi thực tất phép toán số học phép lôgic cho trình xử lý Bộ nhớ chương trình (Program Memory) Không gian nhớ chương trình AT89 64K byte, nhiên hầu hết vi điều khiển AT89 thị trường tích hợp sẵn chip lượng nhớ chương trình định chiếm dải địa từ 0000h trở không gian nhớ chương trình AT89C51/AT89S51 có 4K byte nhớ chương trình loại Flash tích hợp sẵn bên chip Đây nhớ cho phép ghi/xóa nhiều lần điện, cho phép người sử dụng thay đổi chương trình nhiều lần Số lần ghi/xóa thường lên tới hàng vạn lần AT89C52/AT89S52 có 8K byte nhớ chương trình loại Bộ nhớ chương trình chip họ 8051 thuộc loại: ROM, EPROM, Flash, nhớ chương trình bên chip Tên chip thể loại nhớ chương trình mà mang bên trong, cụ thể vài ví dụ sau: STT Tên chip 8051 8052 8031 8032 87C51 87C52 AT89C51 / AT89S51 AT89C52 / AT89S52 ROM Kbyte Kbyte x x x x x x EPROM x x x x Kbyte Kbyte x x Flash x x x x x x Kbyte Kbyte Đ cng gi ng – 8051 Starter Kit Bộ nhớ chương trình dùng để chứa mã chương trình nạp vào chip Mỗi lệnh mã hóa hay vài byte, dung lượng nhớ chương trình phản ánh số lượng lệnh mà nhớ chứa Địa nhớ chương trình (0x0000) địa Reset 8051 Ngay sau reset (do tắt bật nguồn, mức điện áp chân RESET bị kéo lên 5V ), CPU nhảy đến thực lệnh đặt địa trước tiên, luôn Phần trống không gian chương trình không dùng để làm Nếu muốn mở rộng nhớ chương trình, ta phải dùng nhớ chương trình bên có dung lượng ý muốn Tuy nhiên dùng nhớ chương trình ngoài, nhớ chương trình onchip không dùng nữa, nhớ chương trình chiếm dải địa từ địa 0x0000 Hình ảnh minh họa nhớ chương trình Thân chương trình (chương trình chính, chương trình con, chương trình xử lý ngắt, bảng số ) Vector ngắt thứ n Vector ngắt thứ địa reset 0x0FFF 0x0030 0x0003 0x0000 Bộ nhớ liệu (Data Memory) Vi điều khiển họ 8051 có không gian nhớ liệu 64K địa chỉ, dung lượng nhớ liệu lớn mà chip thuộc họ có (nếu phối ghép cách tắc, sử dụng đường tín hiệu bus địa liệu) Bộ nhớ liệu chip họ 8051 thuộc hay hai loại: SRAM EEPROM Bộ nhớ liệu SRAM tích hợp bên chip thuộc họ vi điều khiển này, có dung lượng khác tùy loại chip, thường khoảng vài trăm byte Đây nơi chứa biến trung gian trình hoạt động chip điện, chất SRAM mà giá trị biến bị theo Khi có điện trở lại, nội dung ô nhớ chứa biến bất kỳ, xác định trước Bên cạnh nhớ loại SRAM, số chip thuộc họ Đ cng gi ng – 8051 Starter Kit 8051 có thêm nhớ liệu loại EEPROM với dung lượng tối đa vài Kbyte, tùy loại chip cụ thể Dưới vài ví dụ nhớ chương trình số loại chip thông dụng thuộc họ 8051 STT Tên chip Bộ nhớ SRAM 128 byte 256 byte 128 byte 128 byte 256 byte 256 byte AT89C51 AT89C52 AT89C2051 AT89S51 AT89S52 AT89S8252 Bộ nhớ EEPROM 0 0 2048 byte Tổng quát nhớ 8051, ta thấy chip 8051 gồm có nhớ sau: 64 Kbyte Phần không gian địa cho nhớ chương trình trống, 64 Kbyte trừ lượng nhớ onchip Phần không gian địa cho nhớ liệu (hoàn toàn trống rỗng 64K byte, dành cho nhớ liệu ghép thêm bên có) Bộ nhớ chương trình onchip Bộ nhớ SRAM Dung lượng tùy loại chip Đối với chip có nhớ SRAM 128 byte địa byte SRAM đánh số từ 00h đến 7Fh Đối với chip có nhớ SRAM 256 byte địa byte SRAM đánh số từ 00h đến FFh Ở hai loại chip, SRAM có địa từ 00h đến 7Fh gọi vùng RAM thấp, phần có địa từ 80h đến FFh (nếu có) gọi vùng RAM cao Bên cạnh nhớ, bên chip 8051 có tập hợp ghi chức đặc biệt (SFR – Special Function Register) Các ghi liên quan đến hoạt động ngoại vi onchip (các cổng vào ra, timer, ngắt ) Địa chúng trùng với dải địa vùng SRAM cao, tức có địa từ 80h đến FFh Đ cng gi ng – 8051 Starter Kit Vùng RAM cao, có địa từ 80h đến FFh Vùng SFR, có địa từ 80h đến FFh Vùng RAM thấp có địa từ 00h đến 7Fh Vậy truy cập vào địa thuộc dải từ 00h đến 7Fh truy cập đến ô nhớ thuộc vùng RAM thấp Tuy nhiên truy cập đến địa x thuộc dải từ 80h đến FFh xảy vấn đề cần giải quyết: truy cập đến ghi SFR địa x hay truy cập đến ô nhớ địa x vùng RAM cao? Nhà sản xuất quy định rằng, trường hợp này, kiểu truy cập sử dụng chế độ địa trực tiếp truy cập vào vùng SFR, ngược lại kiểu truy cập sử dụng chế độ địa gián tiếp truy cập vào vùng RAM cao Bộ nhớ liệu RAM onchip thường dùng để chứa biến tạm thời trình vi điều khiển hoạt động, nơi dành cho ngăn xếp hoạt động Không gian liệu 64Kbyte để trống hoàn toàn dùng ghép nối với nhớ liệu bên Khi ghép nối thêm nhớ liệu bên ngoài, dung lượng nhớ chiếm dần vị trí không gian, nhiên không ảnh hưởng đến 128byte RAM onchip Ngăn xếp 8051 liên quan đến ghi tên trỏ ngăn xếp SP (Stack Pointer) Thanh ghi trỏ vào đỉnh ngăn xếp, tức chứa địa vị trí sát vị trí lưu địa chỉ/dữ liệu vào Khi cất byte địa chỉ/dữ liệu vào ngăn xếp, SP tự động tăng lên đơn vị sau cất địa chỉ/dữ liệu vào ô nhớ có địa với giá trị SP sau tăng Khi lấy byte địa chỉ/dữ liệu khỏi ngăn xếp, giá trị lấy sau SP tự động trừ đơn vị Giá trị sau reset SP 0x07, quy định ngăn xếp cất liệu từ địa 0x08 trở Tuy nhiên đặc tính hoạt động bành trướng theo chiều tăng địa mà ngăn xếp thường bố trí lên vùng nhớ RAM onchip để tránh tranh chấp với biến lưu RAM Đ cng gi ng – 8051 Starter Kit Hình ảnh minh họa nhớ liệu 0x7F Vùng RAM thường (không đánh địa bit được) 0x30 Vùng RAM 16 byte đánh địa bit từ 0x00 đến 0x7F 0x2F băng ghi băng có ghi R0 0x1F 0x20 8052 có thêm vùng RAM cao (địa từ 0x80 đến 0xFF) truy nhập phải theo chế độ địa gián tiếp để phân biệt với vùng SFR 0x00 Đây vùng ghi chức đặc biệt SFR (Special Function Register) có 8051 8052 Truy nhập (ghi/đọc) vùng truy nhập vào địa từ 0x80 đến 0xFF phải theo chế độ địa trực tiếp Đ cng gi ng – 8051 Starter Kit Bản đồ ghi chức đặc biệt SFR Đ cng gi ng – 8051 Starter Kit Cổng vào song song (I/O Port) 8051 có cổng vào song song, có tên P0, P1, P2 P3 Tất cổng cổng vào hai chiều 8bit Các bit cổng chân chip, cổng có chân chip Hướng liệu (dùng cổng làm cổng hay cổng vào) độc lập cổng chân (các bit) cổng Ví dụ, ta định nghĩa cổng P0 cổng ra, P1 cổng vào ngược lại cách tùy ý, với cổng P2 P3 lại Trong cổng P0, ta định nghĩa chân P0.0 cổng vào, P0.1 lại cổng tùy ý Liên quan đến cổng vào/ra song song 8051 có ghi SFR ( ghi chức đặc biệt) có tên trùng với tên cổng Ta có ghi P0 dùng cho cổng P0, ghi P1 dùng cho cổng P1 … Đây ghi đánh địa đến bit (bit addressable), ta dùng lệnh tác động bit bit ghi Mỗi ghi gồm bit tương ứng với chân (bit) cổng Khi chân (bit) cổng dùng làm cổng vào trước bit tương ứng ghi SFR phải đặt mức Nếu chân (bit) cổng dùng làm cổng giá trị bit tương ứng ghi SFR giá trị lôgic muốn đưa chân cổng Nếu muốn đưa mức lôgic cao (điện áp gần 5V), bit tương ứng ghi phải đặt 1, hiển nhiên muốn đưa mức lôgic thấp (điện áp gần 0V) bit tương ứng ghi phải đặt Như nói trên, bit ghi cổng đặt 1/0 mà không làm ảnh hưởng đến bit lại cổng cách dùng lệnh setb (đặt lên 1) hay clr (đặt 0) Sau đặt chân cổng làm cổng vào, ta dùng lệnh kiểm tra bit để đọc vào kiểm tra mức lôgic mạch áp vào mức hay mức Các lệnh jb (nhảy bit 1), jnb (nhảy bit 0) Mỗi cổng có cấu trúc gồm latch (chính bit ghi cổng), mạch lái đầu (output driver) mạch đệm đầu vào (input buffer) Ngoài chức vào/ra thông thường, số cổng tích hợp thêm chức số ngoại vi khác Xem bảng liệt kê sau: Các chân cổng P1.0 P1.1 tích hợp với tín hiệu timer2 trường hợp chip 8052 Khi dùng với chức ngoại vi, chân cổng tương ứng phải đặt lên Nếu không tín hiệu bị ghim mức Đ cng gi ng – 8051 Starter Kit Sơ đồ mạch chân cổng: Cổng P0 điện trở treo cao (pullup resistor) bên trong, mạch lái tạo mức cao có sử dụng cổng với tính bus dồn kênh địa chỉ/dữ liệu Như với chức thông thường, P0 cổng open drain, với chức vào, P0 cổng vào cao trở (high impedance) Nếu muốn sử dụng cổng P0 làm cổng vào/ra thông thường, ta phải thêm điện trở pullup bên Giá trị điện trở pullup bên thường từ 4K7 đến 10K Các cổng P1, P2 P3 có điện trở pullup bên trong, dùng với chức cổng vào/ra thông thường mà không cần có thêm điện trở pullup bên Thực chất, điện trở pullup bên FET, điện trở tuyến tính thông thường, khả phun dòng mạch lái đầu mức cao (hoặc đầu vào) nhỏ, khoảng 100 micro Ampe Trong datasheet AT89S5x (một biến thể họ 8051 Atmel sản xuất) có thống kê số liệu sau: Đ cng gi ng – 8051 Starter Kit Theo đó, ta thiết kế để cổng phải cung cấp cho tải đầu mức cao lượng dòng điện IOH = 60 micro Ampe mức điện áp đầu VOH bị kéo sụt xuống, đảm bảo từ 2.4V trở lên nhà sản xuất, cao sát với 5V lý thuyết Trong đó, khả nuốt dòng mạch lái đầu mức thấp lại cao nhiều, đạt từ vài đến hàng chục mili Ampe Như vậy, thiết kế với phần tử bên ngoài, ta nên để ý đến đặc tính vào/ra chân cổng Ví dụ dùng để ghép nối với LED đơn LED thanh, ta nên thiết kế chân cổng nuốt dòng từ LED để làm LED sáng (cổng nối với Cathode LED), không nên thiết kế chân cổng phun dòng cho LED để làm LED sáng (cổng nối với Anode LED) Cổng vào nối tiếp (Serial Port) Cổng nối tiếp 8051 chủ yếu dùng ứng dụng có yêu cầu truyền thông với máy tính, với vi điều khiển khác Liên quan đến cổng nối tiếp chủ yếu có ghi: SCON SBUF Ngoài ra, ghi khác ghi PCON (không đánh địa bit) có bit tên SMOD quy định tốc độ truyền cổng nối tiếp có gấp đôi lên (SMOD = 1) hay không (SMOD = 0) Dữ liệu truyền nhận nối tiếp thông qua hai chân cổng P3.0(RxD) P3.1(TxD) Thanh ghi SBUF ghi 8bit chứa liệu truyền nhận Về thực chất có hai ghi liệu khác nhau, dành để chứa liệu truyền đi, để chứa liệ nhận Cả hai ghi có chung tên SBUF, nhiên CPU hoàn toàn phân biệt cách dễ dàng Khi ta muốn truyền liệu đi, ta phải ghi vào ghi SBUF (ví dụ viết lệnh mov SBUF,a), muốn đọc kiểm tra liệu nhận ta phải đọc ghi SBUF (ví dụ viết lệnh mov a,SBUF) CPU vào việc ghi SBUF nằm vị trí toán hạng đích (toán hạng bên trái) hay toán hạng nguồn (toán hạng bên phải) để định truy nhập (đọc/ghi) ghi SBUF Người lập trình không cần phải quan tâm xử lý vấn đề Thanh ghi quy định chế độ hoạt động điều khiển cổng nối tiếp ghi SCON (đánh địa bit) SM0 SM1 SM2 REN TB8 RB8 TI RI Bit SM0, SM1, SM2 quy định chế độ hoạt động cổng nối tiếp Thông thường để truyền thông vi điều khiển vi điều khiển máy tính, giá trị bit SM2 đặt Khi truyền thông theo kiểu mạng đa vi xử lý (multiprocessor communication), SM2 đặt Hai bit SM0 SM1 thực bit quy định chế độ hoạt động cổng nối tiếp, chúng tạo tổ hợp (00,01,10 11) ứng với chế độ hoạt động mô tả bảng sau 10 Đ cng gi ng – 8051 Starter Kit void InitLCD(void) { WriteCommand(0x30); WriteCommand(0x30); WriteCommand(0x30); // bit, lines, font 5x7 WriteCommand(0x38); // Display on, hide cursor WriteCommand(0x0C); // Xoa man hinh WriteCommand(0x01); } void DisplayText(void) { // Dich tro den vi tri thu 2, dong thu nhat WriteCommand(0x81); SendString2LCD(string1); // Dich tro den dau dong thu hai WriteCommand(0xC0); SendString2LCD(string2); } void WriteLCD(unsigned char x) { LCD_RW = 0; LCD_DATA = x; LCD_E = 1; LCD_E = 0; Delay(5); } void WriteCommand(unsigned char command) { LCD_RS = 0; WriteLCD(command); } void WriteCharacter(unsigned char character) { 43 Đ cng gi ng – 8051 Starter Kit LCD_RS = 1; WriteLCD(character); } void SendString2LCD(unsigned char code *p) { unsigned char i=0; while(p[i]!=0) { WriteCharacter(p[i]); i++; Delay(200); } } // Chuong trinh chinh void main(void) { // Khoi tao he thong InitSystem(); DisplayText(); // Vong lap vo tan while(1); } Bài 7: Ghép nối với ADC – Analog to Digital Converter Nguyên lý thiết kế 44 Đ cng gi ng – 8051 Starter Kit ADC0804 IC cho phép chuyển đổi điện áp dạng tương tự (analog) sang giá trị dạng số (digital), ứng dụng nhiều thiết bị đo lường Đầu vào điện áp dải từ đến +5V Giá trị số đầu dải từ đến 255 Các tín hiệu D0-D7 dùng để đưa liệu chuyển đổi xong tới vi điều khiển Các tín hiệu CS, RD, WR (đều tích cực mức thấp) dùng để lệnh cho ADC bắt đầu chuyển đổi đưa liệu chuyển đổi Kể từ nhận lệnh yêu cầu chuyển đổi từ vi điều khiển, ADC khoảng thời gian để thực nhiệm vụ Trong khoảng thời gian tính hiệu INTR mức cao (báo bận) Khi trình chuyển đổi kết thúc, tín hiệu tự động trở lại mức thấp để thông báo ADC chuyển đổi xong thực lần chuyển đổi Lập trình viên thăm dò tín hiệu INTR để biết ADC bận, ADC sẵn sàng đơn giản cần đợi vài mili giây trước đọc kết lệnh chuyển đổi Ví dụ: Đo điện áp (trong dải từ đến +5V) tạo từ chiết áp hiển thị giá trị đo lên LCD // Khai bao cac file header #include #include // Khai bao cac bien toan cuc unsigned char code string1[] = "8051 Starter Kit"; unsigned char code string2[] = "Dien ap = "; unsigned char voltage,digit1,digit2; // Khai bao cac ham void InitSystem(void); void Delay(unsigned int n); void DelayShort(void); void InitLCD(void); void WriteCommand(unsigned char command); void WriteCharacter(unsigned char character); void WriteLCD(unsigned char x); void SendString2LCD(unsigned char code *p); void DisplayText(void); void DisplayVoltage(void); void Convert(); void Calculate(); 45 Đ cng gi ng – 8051 Starter Kit // Dinh nghia cac ham void InitSystem(void) { // Cam LCD LCD_E = 0; // Sang den backlight LCD_BL = 0; // Tre de LCD tu khoi tao ben (it nhat 15ms) Delay(100); // Tat den backlight LCD_BL = 1; InitLCD(); } void Delay(unsigned int n) { unsigned int i,j; for(i=0;i[...]... người tác nghiệp trên lĩnh vực kỹ thuật vi xử lý 20 Đ cng bài gi ng – 8051 Starter Kit Chương III: Hướng dẫn sử dụng trình biên dịch Keil C cho họ vi điều khiển 8051 Trong số các trình biên dịch C (C Compiler) cho họ vi điều khiển 8051, Keil C là một trình biên dịch tối ưu, được sử dụng rộng rãi Chương này chủ yếu hướng dẫn sử dụng trình biên dịch này trong vi c thiết kế phần mềm cho họ vi điều khiển. .. cng bài gi ng – 8051 Starter Kit Bài 2: Ghép nối với LED 7 thanh – 7 Segment LED Nguyên lý thiết kế LED 7 thanh sử dụng là loại Anode chung Các LED 7 thanh được nối chung chân dữ liệu với nhau và nối với một cổng vào ra 8 bit của vi điều khiển Vi c cấp điện cho từng LED được thực hiện bởi các transistor, điều khiển bởi các chân vào ra khác của vi điều khiển AT89 Các LED được cấp nguồn cho sáng ở các... này được dùng trong vi c tạo Baud rate cho truyền thông qua cổng nối tiếp 17 Đ cng bài gi ng – 8051 Starter Kit Để sử dụng timer của 8051, hãy thực hiện các bước sau: - Quy định chế độ hoạt động cho timer bằng cách tính toán và ghi giá trị cho các bit trong thanh ghi TMOD - Ghi giá trị đếm khởi đầu mong muốn vào 2 thanh ghi đếm THx và TLx Đôi khi ta không muốn timer/counter bắt đầu đếm từ 0 mà từ... ng – 8051 Starter Kit Chương II: Các ngôn ngữ lập trình cho vi điều khiển Trong kỹ thuật vi xử lý nói chung, ngôn ngữ lập trình thường được chia làm 2 loại: Ngôn ngữ bậc thấp và Ngôn ngữ bậc cao Ngôn ngữ bậc thấp là ngôn ngữ máy hoặc ngôn ngữ gần với máy Ngôn ngữ máy là ngôn ngữ ở bậc thấp nhất, chính là mã máy ở dạng nhị phân Lập trình với ngôn ngữ này đồng nghĩa với vi c lập trình vi n phải vi t... họ vi điều khiển đều miễn phí đối với người sử dụng Nhược điểm: khó khăn trong vi c tiếp cận với tập lệnh (tuy ở dạng mã gợi nhớ nhưng vẫn chưa thực sự gần với ngôn ngữ con người) , các cấu trúc giải thuật (if…else, for…, switch…case…) hầu hết không có sẵn, vì vậy quá trình lập trình khó khăn, mất nhiều thời gian và công sức, vi c kế thừa và phát triển là gần như không thể Với ngôn ngữ C (đại diện cho. .. trị max về giá trị min Ngắt cổng nối tiếp khi TI, RI vi điều khiển nhận hoặc truyền xong một byte bằng cổng nối tiếp Thanh ghi Vector ngắt chứa cờ TCON 0x0003 TCON 0x000B TCON 0x0013 TCON 0x001B SCON 0x0023 Với 8052, ngoài các ngắt trên còn có thêm ngắt của timer2 (do vi điều khiển này có thêm timer2 trong số các ngoại vi onchip) Mỗi ngắt được dành cho một vector ngắt kéo dài 8byte Về mặt lý thuyết,... tương thích ở một số rất ít các trường hợp 26 Đ cng bài gi ng – 8051 Starter Kit ChươngIV: Hướng dẫn thực hành một số bài thí nghiệm mẫu với 8051 Starter Kit Bài 1: Ghép nối với LED đơn – Light Emitting Diode Nguyên lý thiết kế LED đơn được nối trực tiếp với cổng vào ra của vi điều khiển AT89, sử dụng điện trở hạn dòng 470 Ohm Vi điều khiển đưa ra mức logic 0 làm đèn sang, mức logic 1 làm đèn tắt Ví... bit 0/1 cho từng mã lệnh cụ thể, đương nhiên đó là vi c rất vất vả và khó khăn Kế đến là ngôn ngữ gần với máy, chính là hợp ngữ (Assembly) Với ngôn ngữ này, lập trình vi n có thể vi t các lệnh cụ thể ở dạng ký tự, tuân theo một tập hợp các ký tự nhất định gọi là tập lệnh Nói cách khác, ở cấp độ này, lập trình vi n sẽ vi t các lệnh ở dạng mã gợi nhớ (mnemonic) thay vì phải vi t các bit 0/1 cho các mã... // Vong lap vo tan while(1) { Delay(10); Display(1,2,3,4); } } 31 Đ cng bài gi ng – 8051 Starter Kit Bài 3: Sử dụng ngắt ngoài của vi điều khiển 8051 – External Interrupt Nguyên lý thiết kế Ngắt ngoài của AT89 được kích hoạt bởi một phím bấm bên ngoài Khi phím bấm, mức lôgic 0 sẽ được đưa vào chân ngắt của vi điều khiển, khi nhả phím, mức lôgic trở lại mức cao Tụ C8 được mắc nhằm hạn chế rung phím... 8051 Starter Kit Cấu trúc một chương trình Một số lưu ý khi lập trình với Keil C Khai báo các file header Khi sử dụng loại vi điều khiển 8051 nào (đã lựa chọn trong khi tạo Project mới) thì phải sử dụng file header của loại đó Trong trường hợp này ta sử dụng file “AT89X52.H” cho vi điều khiêể AT89S52 Các file header được tìm trong thư mục …C51\INC\ của Keil C đã cài ra Định nghĩa hằng số trong bộ nhớ ... cổng nối tiếp 8051, thực bước sau: - Chọn chế độ cho cổng nối tiếp (đồng bộ/dị bộ, 8bit/9bit ), từ chọn giá trị cho bit ghi SCON Lưu ý xóa bit TI RI 11 Đ cng gi ng – 8051 Starter Kit - Chọn tốc... Baud rate cho truyền thông qua cổng nối tiếp 17 Đ cng gi ng – 8051 Starter Kit Để sử dụng timer 8051, thực bước sau: - Quy định chế độ hoạt động cho timer cách tính toán ghi giá trị cho bit ghi... (00,01,10 11) ứng với chế độ hoạt động mô tả bảng sau 10 Đ cng gi ng – 8051 Starter Kit SM0 0 1 SM1 1 Chế độ - Đồng - Dị - Dị - Dị Khung liệu bit SBUF bit SBUF 8bit SBUF + RB8/TB8 8bit SBUF + RB8/TB8

Ngày đăng: 30/10/2015, 18:19

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan