1. Trang chủ
  2. » Giáo án - Bài giảng

Giáo trình Vi điều khiển

144 34 0

Đ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

Nội dung

Giáo trình Vi điều khiển 30 tiết dành cho hệ Cao đẳng và trung cấp. Giáo trình Giáo trình được biên soạn theo chương trình đào tạo của nghề . Nội dung được biên soạn ngắn gọn, dễ hiểu, chỉ rõ tài liệu nghiên cứu tham khảo rõ ràng. Các kiến thức trong giáo trình có tính kế thừa từ các môn học trước, chặt chẽ, logic, đảm bảo các nội dung cơ bản cần có của môn học, đồng thời những kiến thức mới cũng được đưa vào giảng dạy nhằm đáp ứng yêu cầu nâng cao chất lượng đào tạo phục vụ sự nghiệp công nghiệp hóa, hiện đại hóa đất nước.Trong quá trình biên soạn các tác giả đã có nhiều cố gắng, song giáo trình chắc không tránh khỏi những khiếm khuyết, rất mong nhận được ý kiến đóng góp của người đọc, bạn đồng nghiệp và người học để giáo trình ngày càng hoàn chỉnh hơn.

KỸ THUẬT VI ĐIỀU KHIỂN Chương 1: CẤU TRÚC VI ĐIỀU KHIỂN 1.1 Bài mở đầu 1.1.1 Sơ lược vi xử lý: Trong thập niên cuối kỉ XX, từ đời công nghệ bán dẫn, kĩ thuật điện tử có phát triển vượt bậc Các thiết bị điện tử sau tích hợp với mật độ cao cao diện tích nhỏ, nhờ thiết bị điện tử nhỏ nhiều chức Các thiết bị điện tử ngày nhiều chức giá thành ngày rẻ hơn, điện tử có mặt khắp nơi Bước đột phá công nghệ điện tử, công ty trẻ tuổi Intel cho đời vi xử lý Đột phá chỗ: "Đó kết cấu logic mà thay đổi chức chương trình ngồi khơng phát triển theo hướng tạo cấu trúc phần cứng thực theo số chức định trước Tức phần cứng đóng vai trò thứ yếu, phần mềm (chương trình) đóng vai trò chủ đạo chức cần thực Nhờ vi xử lý có mềm dẻo hóa chức Ngày vi xử lý có tốc độ tính toán cao khả xử lý lớn Vi xử lý có khối chức cần thiết để lấy liệu, xử lý liệu xuất liệu sau xử lý Và chức Vi xử lý xử lý liệu, chẳng hạn cộng, trừ, nhân, chia, so sánh.v.v Vi xử lý khơng có khả giao tiếp trực tiếp với thiết bị ngoại vi, có khả nhận xử lý liệu mà Để vi xử lý hoạt động cần có chương trình kèm theo, chương trình điều khiển mạch logic từ vi xử lý xử lý liệu cần thiết theo yêu cầu Chương trình tập hợp lệnh để xử lý liệu thực lệnh lưu trữ nhớ, công việc thực hành lệnh bao gồm: nhận lệnh từ nhớ, giải mã lệnh thực lệnh sau giải mã Để thực công việc với thiết bị cuối cùng, chẳng hạn điều khiển động cơ, hiển thị kí tự hình đòi hỏi phải kết hợp vi xử lý với mạch điện giao tiếp với bên gọi thiết bị I/O (nhập/xuất) hay gọi thiết bị ngoại vi Bản thân vi xử lý đứng khơng có nhiều hiệu sử dụng, phần máy tính, hiệu ứng dụng Vi xử lý lớn Vi xử lý kết hợp với thiết bị khác sử hệ thống lớn, phức tạp đòi hỏi phải xử lý lượng lớn phép tính phức tạp, có tốc độ nhanh Chẳng hạn hệ thống sản xuất tự động công nghiệp, tổng đài điện thoại, robot có khả hoạt động phức tạp v.v 1.1.2.Từ Vi xử lý đến Vi điều khiển Bộ Vi xử lý có khả vượt bậc so với hệ thống khác khả tính tốn, xử lý, thay đổi chương trình linh hoạt theo mục đích người dùng, đặc biệt hiệu toán hệ thống lớn.Tuy nhiên ứng dụng nhỏ, tầm tính tốn khơng đòi hỏi khả tính tốn lớn việc ứng dụng vi xử lý cần cân nhắc Bởi hệ thống dù lớn hay nhỏ, dùng vi xử lý đòi hỏi khối mạch điện giao tiếp phức tạp Các khối bao gồm nhớ để chứa liệu chương trình thực hiện, mạch điện giao tiếp ngoại vi để xuất nhập điều khiển trở lại, khối liên kết với vi xử lý thực cơng việc Để kết nối khối đòi hỏi người thiết kế phải hiểu biết tinh tường thành phần vi xử lý, nhớ, thiết bị ngoại vi Hệ thống tạo phức tạp, chiếm nhiều không gian, mạch in phức tạp vấn đề trình độ người thiết kế Kết giá thành sản phẩm cuối cao, không phù hợp để áp dụng cho hệ thống nhỏ Vì số nhược điểm nên nhà chế tạo tích hợp nhớ số mạch giao tiếp ngoại vi với vi xử lý vào IC gọi Microcontroller-Vi điều khiển Vi điều khiển có khả tương tự khả vi xử lý, cấu trúc phần cứng dành cho người dùng đơn giản nhiều Vi điều khiển đời mang lại tiện lợi người dùng, họ không cần nắm vững khối lượng kiến thức lớn người dùng vi xử lý, kết cấu mạch điện dành cho người dùng trở nên đơn giản nhiều có khả giao tiếp trực tiếp với thiết bị bên Vi điều khiển xây dựng với phần cứng dành cho người sử dụng đơn giản hơn, thay vào lợi điểm khả xử lý bị giới hạn (tốc độ xử lý chậm khả tính tốn hơn, dung lượng chương trình bị giới hạn) Thay vào đó, Vi điều khiển có giá thành rẻ nhiều so với vi xử lý, việc sử dụng đơn giản, ứng dụng rộng rãi vào nhiều ứng dụng có chức đơn giản, khơng đòi hỏi tính tốn phức tạp Vi điều khiển ứng dụng dây chuyền tự động loại nhỏ, robot có chức đơn giản, máy giặt, ôtô v.v Năm 1976 Intel giới thiệu vi điều khiển (microcontroller) 8748, chip tương tự vi xử lý chip họ MCS-48 Độ phức tạp, kích thước khả Vi điều khiển tăng thêm bậc quan trọng vào năm 1980 intel tung chip 8051, Vi điều khiển họ MCS-51 chuẩn công nghệ cho nhiều họ Vi điều khiển sản xuất sau Sau nhiều họ Vi điều khiển nhiều nhà chế tạo khác đưa thị trường với tính cải tiến ngày mạnh 1.1.3 Họ MSC-51 Hiện có nhiều họ Vi điều khiển thị trường với nhiều ứng dụng khác nhau, họ Vi điều khiển họ MCS-51 sử dụng rộng rãi giới Việt nam Vào năm 1980 Intel cơng bố chíp 8051(80C51), vi điều khiển họ vi điều khiển MCS-51 Nó bao gồm 4KB ROM, 128 byte RAM, 32 đường xuất nhập, port nối tiếp định thời 16 bit Tiếp theo sau đời chip 8052,8053,8055 với nhiều tính cải tiến Hiện Intel khơng cung cấp loại Vi điều khiển họ MCS-51 nữa, thay vào nhà sản xuất khác Atmel, Philips/signetics, AMD, Siemens, Matra&Dallas, Semiconductors cấp phép làm nhà cung cấp thứ hai cho chip họ MSC-51 Chip Vi điều khiển sử dụng rộng rãi giới Việt Nam Vi điều khiển hãng Atmel với nhiều chủng loại vi điều khiển khác Hãng Atmel có chip Vi điều khiển có tính tương tự chip Vi điều khiển MCS-51 Intel, mã số chip thay đổi chút Atmel sản xuất Mã số 80 chuyển thành 89, chẳng hạn 80C52 Intel sản xuất Atmel mã số thành 89C52 (Mã số đầy đủ: AT89C52) với tính chương trình tương tự Tương tự 8051,8053,8055 có mã số tương đương Atmel 89C51,89C53,89C55 Vi điều khiển Atmel sau ngày cải tiến bổ sung thêm nhiều chức tiện lợi cho người dùng Bảng 89C51 89C52 89C53 89C55 Dung lượng RAM 128 byte 128 byte 128 byte 128 byte Dung lượng ROM Kbyte Kbyte 12 Kbyte 20 Kbyte Chế độ nạp song song song song song song song song Sau khoảng thời gian cải tiến phát triển, hãng Atmel tung thị trường dòng Vi điều khiển mang số hiệu 89Sxx với nhiều cải tiến đặc biệt có thêm khả nạp chương trình theo chế độ nối tiếp đơn giản tiện lợi cho người sử dụng Bảng 89S51 89S52 89S53 89S55 Dung lượng RAM 128 byte 128 byte 128 byte 128 byte Dung lượng ROM Kbyte Kbyte 12 Kbyte 20 Kbyte Chế độ nạp nối tiếp nối tiếp nối tiếp nối tiếp Tất Vi điều khiển có đặc tính giống phần mềm (các tập lệnh lập trình nhau), phần cứng bổ sung với chip có mã số hai số cuối cao hơn, Vi điều khiển sau có nhiều tính vượt trội Vi điều khiển hệ trước Các Vi điều khiển 89Cxx bảng có cấu tạoROM RAM 98Sxx bảng 2, nhiên 98Sxx bổ sung số tính có thêm chế độ nạp nối tiếp Trên thị trường có nhiều loại sách hướng dẫn Vi điều khiển với nhiều loại khác 8051, 89C51, 89S8252, 89S52 v.v sách hướng dẫn cụ thể phần cứng cách thức lập trình Chương trình phần mềm dành cho Vi điều khiển nhau, bạn tham khảo thêm Vi điều khiển sách Các phần thực hành phần cứng thực tế, bạn thực hành với Vi điều khiển 89S52 (Mã đầy đủ:AT89S52; AT viết tắt nhà sản xuất ATMEL) : Các Vi điều khiển 89Sxx cải tiến từ dòng 89Cxx Chương trình viết dành cho 89Cxx chạy với 89Sxx 89Sxx rẻ 89Cxx 89Sxx có chế độ nạp nối tiếp với mạch nạp đơn giản có khả nạp bo mạch mà không cần tháo chip vi điều khiển sang mạch khác để nạp chương trình nhiều tính cải tiến khác 1.1.4.Các loại vi điều khiển khác Vi điều khiển AVR Vi điều khiển PIC Vi điều khiển MCUs Philips Vi điều khiển MH68XX MOTOROLA sản xuât Các loại vi điều khiển chuyên dụng hãng sản xuất khác: Các loại vi điều khiển sử dụng chuyên dụng theo chức cần điều khiển 1.2 Sơ lược phần cứng vi điều khiển- Giao tiếp với bên Các thành viên họ MCS-51 (Atmel) có đặc điểm chung sau: Có 4/8/12/20 Kbyte nhớ FLASH ROM bên để lưu chương trình Nhờ Vi điều khiển có khả nạp xố chương trình điện đến 10000 lần 128 Byte RAM nội Port xuất/nhập bit Từ đến định thời 16-bit Có khả giao tiếp truyền liệu nối tiếp Có thể mở rộng khơng gian nhớ chương trình ngồi 64KByte (bộ nhớ ROM ngoại): chương trình người lập trình viết có dung lượng lớn dung lượng nhớ ROM nội, để lưu chương trình cần nhớ ROM lớn hơn, cách giải kết nối Vi điều khiển với nhớ ROM từ bên ngồi (hay gọi ROM ngoại) Dung lượng nhớ ROM ngoại lớn mà Vi điều khiển kết nối 64KByte Có thể mở rộng khơng gian nhớ liệu 64KByte (bộ nhớ RAM ngoại) Bộ xử lí bit (thao tác bit riêng rẽ) 210 bit truy xuất đến bit 1.21.Khảo sát sơ đồ chân Mặc dù thành viên họ MSC-51 có nhiều kiểu đóng vỏ khác nhau, chẳng hạn hai hàng chân DIP (Dual In-Line Pakage) dạng vỏ dẹt vuông QFP (Quad Flat Pakage) dạng chíp khơng có chân đỡ LLC (Leadless Chip Carrier) có 40 chân cho chức khác vào I/0, đọc , ghi , địa chỉ, liệu ngắt Tuy nhiên, hầu hết nhà phát triển dụng chíp đóng vỏ 40 chân với hai hàng chân DIP, nên khảo sát Vi điều khiển với 40 chân dạng DIP Hình 1.2.1 1.2.1 Chân VCC: Chân số 40 VCC cấp điện áp nguồn cho Vi điều khiển Nguồn điện cấp +5V±0.5 1.2.2 Chân GND:Chân số 20 nối GND(hay nối Mass) Khi thiết kế cần sử dụng mạch ổn áp để bảo vệ cho Vi điều khiển, cách đơn giản sử dụng IC ổn áp 7805 1.2.3 Port (P0) Port gồm chân (từ chân 32 đến 39) có hai chức năng: Chức xuất/nhập :các chân dùng để nhận tín hiệu từ bên ngồi vào để xử lí, dùng để xuất tín hiệu bên ngồi, chẳng hạn xuất tín hiệu để điều khiển led đơn sáng tắt Chức bus liệu bus địa (AD7-AD0) : chân (hoặc Port 0) làm nhiệm vụ lấy liệu từ ROM RAM ngoại (nếu có kết nối với nhớ ngồi), đồng thời Port dùng để định địa nhớ 1.2.4.Port (P1) Port P1 gồm chân (từ chân đến chân 8), có chức làm đường xuất/nhập, khơng có chức khác 1.2.5.Port (P2) Port gồm chân (từ chân 21 đến chân 28) có hai chức năng: Chức xuất/nhập Chức bus địa cao (A8-A15): kết nối với nhớ ngồi có dung lượng lớn,cần byte để định địa nhớ, byte thấp P0 đảm nhận, byte cao P2 đảm nhận 1.2.6.Port (P3) Port gồm chân (từ chân 10 đến 17): Chức xuất/nhập Với chân có chức riêng thứ hai bảng sau Bit P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 P1.0 P1.1 Tên RxD TxD INT0 INT1 T0 T1 WR RD T2 T2X Chức Ngõ vào nhận liệu nối tiếp Ngõ xuất liệu nối tiếp Ngõ vào ngắt cứng thứ Ngõ vào ngắt cứng thứ Ngõ vào Timer/Counter thứ Ngõ vào Timer/Counter thứ Ngõ điều khiển ghi liệu lên nhớ Ngõ điều khiển đọc liệu từ nhớ bên Ngõ vào Timer/Counter thứ Ngõ Nạp lại/thu nhận Timer/Counter thứ 1.2.7 Chân RESET (RST) Ngõ vào RST chân ngõ vào Reset dùng để thiết lập trạng thái ban đầu cho vi điều khiển Hệ thống thiết lập lại giá trị ban đầu ngõ mức tối thiểu chu kì máy 1.2.8.Chân XTAL1 XTAL2 Hai chân có vị trí chân 18 19 sử dụng để nhận nguồn xung clock từ bên để hoạt động, thường ghép nối với thạch anh tụ để tạo nguồn xung clock ổn định 1.2.9 Chân cho phép nhớ chương trình PSEN PSEN ( program store enable) tín hiệu xuất chân 29 dùng để truy xuất nhớ chương trình ngồi Chân thường nối với chân OE (output enable) ROM Khi vi điều khiển làm việc với nhớ chương trình ngồi, chân phát tín hiệu kích hoạt mức thấp kích hoạt lần chu kì máy Khi thực thi chương trình ROM nội, chân trì mức logic khơng tích cực (logic 1) (Không cần kết nối chân không sử dụng đến) 1.2.10 Chân ALE (chân cho phép chốt địa chỉ-chân 30) Khi Vi điều khiển truy xuất nhớ từ bên ngồi, port vừa có chức bus địa chỉ, vừa có chức bus liệu phải tách đường liệu địa Tín hiệu chân ALE dùng làm tín hiệu điều khiển để giải đa hợp đường địa đường liệu kết nối chúng với IC chốt Các xung tín hiệu ALE có tốc độ 1/6 lần tần số dao động đưa vào Vi điều khiển, dùng tín hiệu ngõ ALE làm xung clock cung cấp cho phần khác hệ thống Ghi chú: khơng sử dụng bỏ trống chân 1.2.11 Chân EA Chân EA dùng để xác định chương trình thực lấy từ ROM nội hay ROM ngoại Khi EA nối với logic 1(+5V) Vi điều khiển thực chương trình lấy từ nhớ nội Khi EA nối với logic 0(0V) Vi điều khiển thực chương trình lấy từ nhớ ngoại 1.3.Kết nối phần cứng 1.3.1.Kết nối hai chân XTAL1 XTAL2 10 vp bit p1.5 ;den vang truc phu kxc1 equ 0feh ;bat katot1 (=0) kxc2 equ 0fdh ;bat katot2 (=0) kdc1 equ 0fbh ;bat katot1 (=0) kdc2 equ 0f7h ;bat katot2 (=0) kxp1 equ 0efh ;bat katot1 (=0) kxp2 equ 0dfh ;bat katot2 (=0) kdp1 equ 0bfh ;bat katot1 (=0) kdp2 equ 07fh ;bat katot2 (=0) org 0h jmp main ;trinh xu ly ngat org 0bh inc r7 mov th0,#0ech mov tl0,#78h ;jmp demthoigian reti 130 org 30h main: mov p1,#0 mov p2,#0 mov p3,#0ffh mov tmod,#1 mov th0,#0ech ;tao T=5ms mov tl0,#78h mov ie,#82h ;cho phep ngat T0 setb tr0 reset: mov r7,#0 ; ; so dem x 50ms mov r3,#4 mov dptr,#ma7doan setb xc setb dp call giaima dieukhienden: cjne r6,#28,t2 131 clr xc setb vc t2: cjne r6,#30,t3 clr vc clr dp setb dc setb xp t3: cjne r6,#58,t4 clr xp setb vp t4: cjne r6,#60,thoat clr vp setb dp setb xc clr dc mov r6,#0 thoat: jmp quetled demthoigian: cjne r7,#200,quetled 132 mov r7,#0 ;cho r7=0 inc r6 call dieukhienden call giaima call quetled giaima: xanhchinh: jnb xc,dochinh mov a,#28 ;coppy 28 sang a subb a,r6 ;a chua so t/g lai mov b,#10 div ab movc a,@a+dptr mov 30h,a ;lay so hang chuc xc mov a,b movc a,@a+dptr mov 31h,a ;lay so don vi dochinh: jnb dc,xanhphu 133 mov a,#60 subb a,r6 mov b,#10 div ab movc a,@a+dptr mov 32h,a ;lay so hang chuc dc mov a,b movc a,@a+dptr mov 33h,a ;lay so don vi dc xanhphu: jnb xp,dophu mov a,#60 subb a,r6 mov b,#10 div ab movc a,@a+dptr mov 34h,a ;lay so hang chuc xp mov a,b movc a,@a+dptr 134 mov 35h,a ;lay so don vi dc dophu: mov a,#30 subb a,r6 mov b,#10 div ab movc a,@a+dptr mov 36h,a mov a,b movc a,@a+dptr mov 37h,a ret quetled: jb dc,quet2 quetled1: mov p2,#0 mov p2,30h mov p3,#kxc1 call delay 135 mov p2,#0 mov p2,31h mov p3,#kxc2 call delay mov p2,#0 mov p2,36h mov p3,#kdp1 call delay mov p2,#0 mov p2,37h mov p3,#kdp2 call delay ;djnz r5,quetled1 ;mov r3,#4 jmp demthoigian quet2:mov p2,#0 mov p2,32h mov p3,#kdc1 call delay 136 mov p2,#0 mov p2,33h mov p3,#kdc2 call delay mov p2,#0 mov p2,34h mov p3,#kxp1 call delay mov p2,#0 mov p2,35h mov p3,#kxp2 call delay djnz r5,quetled1 mov r3,#4 jmp demthoigian delay: mov r5,#4 kt1: mov r4,#250 kt2: djnz r4,kt2 djnz r5,kt1 137 ret ma7doan: db 63,6,91,79,102,109,125,7,127,111,119,0; ma so end MỤC LỤC Chương 1: CẤU TRÚC VI ĐIỀU KHIỂN 1.1 Bài mơ đầu 1.1.1 Sơ lược vi xử lý: 1.1.2 Từ Vi xử lý đến Vi điều khiển 1.1.3 Họ msc-51 1.1.4 Các loại vi điều khiển khác 1.2 Sơ lược phần cứng vi điều khiển- giao tiếp bên 1.2.1 Khảo sát sơ đồ chân 1.3 Kết nối phần cứng 1.3.1.Kết nối hai chân XTAL1 XTAL2 1.3.2.Chu kì máy 1.3.3 Kết nối chân RESET-chân 1.3.4 Kết nối Port với led 138 Cấu trúc bên viđiều khiển 1.4 Bộ nhớ chương trình - nhớ ROM 1.5.Bộ nhớ liệu nhớ RAM 1.5.1 Các bank ghi 1.5.2 Vùng RAM truy xuất bit 1.5.3 Vùng RAM bình thường 1.5.4 Các ghi có chức đặc biệt 1.6 Tìm hiểu số nhớ có chức đặc biệt (sfr) 1.6.1.Các ghi có địa 80H, 90H, A0H, B0H 1.6.2thanh ghi A 1.6.3 ghi B 1.6.4Con trỏ ngăn xếp SP: địa 81H 1.6.5 Con trỏ liệu DPTR 1.6.6.Thanh ghi trạng thái chương trình PSW (địa byte D0H) Chương 2: Lập trình cho vi điều khiển assembly 2.1 Khái niệm chung 2.1.1 Giới thiệu 2.1.2 Tổng quan ngôn ngữ assembly 2.1.3 Một số quy ước lập trình ngơn ngữ assembly 2.2 Nhóm lệnh di chuyển 2.2.1 Lệnh chuyển liệu từ ghi Rn vào ghi A: 2.2.2 Lệnh chuyển liệu từ nhớ có địa direct vào ghi A: 2.2.3 Lệnh chuyển liệu từ nhớ có địa gián tiếp vào ghi A: 2.2.4 Lệnh đưa liệu vào ghi A 2.2.5 Lệnh chuyển liệu từ A vào ghi Rn 2.2.6 Lệnh chuyển liệu từ nhớ có địa direct vào ghi Rn 2.2.7 Thiết đặt liệu cho ghi Rn 2.2.8 Lệnh chuyển liệu từ ghi A vào nhớ có địa direct 2.2.9 Lệnh chuyển liệu từ ghi Rn vào ô nhớ có địa direct 139 2.2.10 Lệnh chuyển liệu từ nhớ có địa direct vào nhớ có địa direct khác 2.2.11 Lệnh đưa liệu vào nhớ có địa direct 2.2.11 Lệnh đưa liệu vào nhớ có địa direct 2.2.13 Lệnh chuyển liệu từ ghi A vào nhớ có địa gián tiếp 2.2.14 Lệnh chuyển liệu từ nhớ có địa direct vào nhớ có địa gián tiếp 2.2.15 Lệnh đưa liệu vào nhớ có địa gián tiếp 2.2.16 Lệnh đưa liệu vào trỏ liệu DPTR 2.2.17 Lệnh trao đổi liệu nhớ có địa direct với ghi A 2.2.18 Lệnh trao đổi liệu ghi Rn ghi A 2.2.19 Lệnh trao đổi liệu ghi có địa gián tiếp ghi A 2.2.20 Lệnh trao đổi liệu bit ghi có địa gián tiếp ghi A 2.2.21 Lệnh truy xuất liệu từ ROM nội 2.3 Nhóm lệnh số học 2.3.1 Lệnh cộng liệu ghi A với liệu ghi Rn: 2.3.2 Lệnh cộng liệu ghi A với liệu nhớ có địa direct: 2.3.3 Lệnh cộng liệu ghi A với liệu nhớ có địa gián tiếp: 2.3.4 Lệnh cộng liệu ghi A với liệu xác định 2.3.5 Lệnh cộng liệu ghi A với liệu ghi Rn có số nhớ cờ C 2.3.6 Lệnh cộng liệu ghi A với liệu nhớ có địa direct giá trị số nhớ cờ C 2.3.7 Lệnh cộng liệu ghi A với liệu ô nhớ có địa gián tiếp số nhớ cờ C 2.3.8 Lệnh cộng liệu ghi A với liệu xác định số nhớ cờ C 2.3.9 Lệnh trừ liệu ghi A với liệu ghi Rn số nhớ cờ C 140 2.3.10 Lệnh trừ liệu ghi A với liệu nhớ có địa direct số nhớ cờ C 2.3.11 Lệnh trừ liệu ghi A với liệu nhớ có địa gián tiếp số nhớ cờ C 2.3.12 Lệnh trừ liệu ghi A với liệu xác định số nhớ cờ C 2.3.13.Lệnh tăng giá trị liệu ghi A lên đơn vị 2.3.14.Lệnh tăng giá trị liệu ghi Rn lên đơn vị 2.3.15.Lệnh tăng giá trị liệu ô nhớ có địa direct lên đơn vị 2.3.16.Lệnh tăng giá trị liệu nhớ có địa gián tiếp lên đơn vị: 2.3.17.Lệnh tăng giá trị trỏ liệu DPTR lên đơn vị 2.3.18.Lệnh giảm giá trị liệu ghi A xuống đơn vị 2.3.19.Lệnh giảm giá trị liệu ghi Rn xuống đơn vị 2.3.20.Lệnh giảm giá trị liệu nhớ có địa direct xuống đơn vị 2.3.21.Lệnh giảm giá trị liệu nhớ có địa gián tiếp xuống đơn vị: 2.3.22.Lệnh nhân ghi A với ghi B 2.3.23.Lệnh chia ghi A với ghi B 2.3.24.Lệnh hiệu chỉnh thập phân nội dung ghi A phép cộng 2.4 Nhóm lệnh logic 2.4.1 Lệnh And liệu ghi A với liệu ghi Rn: 2.4.2 Lệnh And liệu ghi A với liệu nhớ có địa direct: 2.4.3 Lệnh And liệu ghi A với liệu ô nhớ gián tiếp: 2.4.4 Lệnh And liệu ghi A với liệu xác định: 2.4.5 Lệnh And liệu nhớ có địa direct với liệu ghi A: 2.4.6 Lệnh And liệu nhớ có địa direct với liệu xác định: 2.4.7 Lệnh OR liệu ghi A với liệu ghi Rn: 2.4.8 Lệnh OR liệu ghi A với liệu nhớ có địa direct: 2.4.9 Lệnh OR liệu ghi A với liệu ô nhớ gián tiếp 2.4.10 Lệnh And liệu ghi A với liệu xác định 2.4.11 Lệnh OR liệu nhớ có địa direct với liệu ghi A: 2.4.12 Lệnh OR liệu nhớ có địa direct với liệu xác định 141 2.4.13 Lệnh EX-OR liệu ghi A với liệu ghi Rn 2.4.14 Lệnh EX-OR liệu ghi A với liệu nhớ có địa direct 2.4.15 Lệnh EX-OR liệu ghi A với liệu ô nhớ gián tiếp 2.4.16 Lệnh EX-OR liệu ghi A với liệu xác định 2.4.17 Lệnh EX-OR liệu ô nhớ có địa direct với liệu ghi A 2.4.18 Lệnh EX-OR liệu ô nhớ có địa direct với liệu xác định 2.4.19 Lệnh bù giá trị liệu ghi A 2.4.20 Lệnh xóa liệu ghi A 2.4.21 Lệnh xoay trái liệu ghi A 2.4.22 Lệnh xoay trái liệu ghi A với cờ nhớ C: 2.4.23 Lệnh xoay phải liệu ghi A 2.4.24 Lệnh xoay phải liệu ghi A với cờ nhớ C 2.4.25 Lệnh xoay bit ghi A 2.5 Nhóm lệnh điều khiển chương trình 2.5.1 Lệnh gọi chương trình dùng địa tuyệt đối 2.5.2 Lệnh gọi chương trình dùng địa tuyệt đối 2.5.3 Lệnh kết thúc chương trình 2.5.4 Lệnh kết thúc chương trình phục vụ ngắt 2.5.5 Lệnh nhảy ngắn đến địa tuyệt đối 2.5.6 Lệnh nhảy dài đến địa tuyệt đối 2.5.7 Lệnh nhảy tương đối 2.5.8 Lệnh nhảy gián tiếp 2.5.9 Lệnh nhảy thuận với cờ Zero 2.5.10 Lệnh nhảy nghịch với cờ Zero 2.5.11 Lệnh nhảy thuận với cờ C 2.5.12 Lệnh nhảy nghịch với cờ Zero 2.5.13 Lệnh nhảy thuận với giá trị bit nhớ 2.5.14 Lệnh nhảy nghịch với giá trị bit nhớ 142 2.5.15 Lệnh nhảy thuận với giá trị bit nhớ xóa bit 2.5.16 Lệnh nhảy có điều kiện(so sánh giá trị ghi A Rn 2.5.17 Lệnh nhảy có điều kiện(so sánh giá trị ghi A liệu cho trước) 2.5.18 Lệnh nhảy có điều kiện(so sánh giá trị ghi Rn liệu cho trước) 2.5.18 Lệnh nhảy có điều kiện(so sánh giá trị nhớ có địa gián tiếp liệu cho trước) 2.5.19 Lệnh nhảy có điều kiện kết hợp với lệnh giảm ghi Rn 2.5.20 Lệnh nhảy có điều kiện kết hợp với lệnh giảm nhớ có địa direct 2.5.21 Lệnh delay chu kì máy 2.6 Nhóm lệnh xử lí bit 2.6.1 Lệnh xố cờ nhớ C 2.6.2 Lệnh xoá bit 2.6.3 Lệnh thiết đặt cờ nhớ C 2.6.4 Lệnh thiết đặt giá trị cho bit nhớ 2.6.5 Lệnh bù cờ nhớ C 2.6.6 Lệnh bù bit 2.6.7 Lệnh And cờ nhớ C với bit 2.6.8 Lệnh And cờ nhớ C với bit lấy bù 2.6.9 Lệnh OR cờ nhớ C với bit 2.6.10 Lệnh OR cờ nhớ C với bit lấy bù 2.6.11 Lệnh chuyển giá trị bit có địa xác định vào cờ nhớ C 2.6.12 Lệnh chuyển giá trị cờ nhớ C vào bit có địa xác định Chương 3: Thiết kế mạch thử nghiệm, phần mềm biên dịch mô 3.1 Mạch thực thi 3.1.1 Khối ổn áp 3.1.2 Vi điều khiển mạch xuất nhập a Để vi điều khiển hoạt động cần thành phần sau: b Các mạch xuất nhập từ port 143 3.1.3 Mạch vi điều khiển 3.1.4 Một số linh kiện 3.2 Mạch nạp 3.3 Chương trình nạp 3.4 Viết chương trình biên dịch 3.4.1 Soạn thảo biên dịch 3.4.2 Hướng dẫn mô trạng thái vi điều khiển Chương 4: Thực hành với led đơn 4.1 Một số qui định viết chương trình 4.2 Bài thực hành 4.4 Giải thuật lưu đồ Chương 5: Thực hành với led đoạn 5.1 Khái niệm chung 5.2 thực hành với led đoạn TÀI LIỆU THAM KHẢO Cấu trúc lập trình họ vi điều khiển 8051 : Nguyễn Tăng Cường Phan Quốc Thắng Kỹ thuật vi xử lý : Đỗ Xuân Tiến Kỹ thuật vi điều khiển : ĐHKTCNTN 144 ... tháo chip vi điều khiển sang mạch khác để nạp chương trình nhiều tính cải tiến khác 1.1.4.Các loại vi điều khiển khác Vi điều khiển AVR Vi điều khiển PIC Vi điều khiển MCUs Philips Vi điều khiển. .. Chip Vi điều khiển sử dụng rộng rãi giới Vi t Nam Vi điều khiển hãng Atmel với nhiều chủng loại vi điều khiển khác Hãng Atmel có chip Vi điều khiển có tính tương tự chip Vi điều khiển MCS-51... nhiều họ Vi điều khiển thị trường với nhiều ứng dụng khác nhau, họ Vi điều khiển họ MCS-51 sử dụng rộng rãi giới Vi t nam Vào năm 1980 Intel cơng bố chíp 8051(80C51), vi điều khiển họ vi điều khiển

Ngày đăng: 09/06/2020, 17:26

TỪ KHÓA LIÊN QUAN

w