Vi xử lý - Phần II CẤU TRÚC PHẦN CỨNG HỆ VI ĐIỀU KHIỂN

199 873 1
Vi xử lý - Phần II  CẤU TRÚC PHẦN CỨNG HỆ VI ĐIỀU KHIỂN

Đ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

GIÁO TRÌNH KỸ THUẬT VI XỬ PHẦN II: MCS-51 NGUYỄN THANH HẢI, NGÔ THANH BÌNH-KTĐT.ĐHGTVT 1 CHƯƠNG III : CẤU TRÚC PHẦN CỨNG HỆ VI ĐIỀU KHIỂN Giới thiệu chung Lịch sử phát triển của các bộ vi xử gắn liền với lịch sử của linh kiện bán dẫn, mà mốc quan trọng nhất là sự phát minh ra Transistor. Chip vi xử đầu tiên 4004 được ra đời năm 1971 dành cho mục đích tính toán thương mại bởi công ty nhật bản Busicom, sau đó được chắp cánh và phát triển vượt bậc bởi Intel. Năm 1976 công ty INTEL (INTelligent ELectronics) cho ra đời bộ vi xử trên thế giới có tích hợp bộ xử lý, bộ nhớ dữ liệu, bộ đếm chương trình, bộ đếm/phát thời gian (timer), các cổng vào/ra trên một chip silic đơn tinh thể và chỉ đóng gói trong một vỏ, với tên gọi 8048. Các công ty khác cũng lần lượt cho ra đời các bộ điều khiển 8 bit tương tự với 8048 và hình thành họ vi điều khiển MCS-48 (Microcontroller System 48). Bốn năm sau, năm 1980, Intel cho ra đời thế hệ thứ hai của bộ vi điều khiển đơn chip là 8051 và trở thành công ty hàng đầu trong lĩnh vực sản xuất các bộ vi xử lý. Ít lâu sau hàng loạt các thế hệ vi xử dẫn xuất của 8051 ra đời hình thành họ vi xử mạnh MCS51. Đến nay họ vi xử MCS51 đã có trên 250 thành viên và được các công ty bán dẫn hàng đầu thế giới chế tạo như Intel, AMD, Atmel, Siemens, Philips, Dallas, OKI, Các dẫn xuất này đều có chung một kiến trúc giống với vi điều khiển Intel 8051 kinh điển. Thêm vào đó, tùy theo từng loại mà các chip dẫn xuất được tích hợp thêm các ngoại vi khác nhau (như ADC, SPI, EEPROM, capture/compare channels…), tính năng cũng được nâng cao để phù hợp với các ứng dụng ngày càng phức tạp. Ngoài ra đối với các loại chip có cấu trúc CPU ngoại vi cố định (fixel digital and analog penpherals) còn phải kể đến các công ty khác có các sản phẩm là những họ vi điều khiển riêng cũng khá mạnh và được tiêu thụ nhiều trên thị trường. Tuy nhiên mỗi loại lại có cấu trúc phần cứng được tổ chức khác nhau, bộ lệnh riêng và các cấu trúc lập trình khác nhau. Có thể kể ra như: - Họ 68HCxx và các dẫn xuất của Motorola - Họ ST62xx của SGS-THOMSON - Họ H8 của Hitachi - Họ PIC của Microchip - vậy các bạn hãy chọn ra một loại thông dụng trên thị trường và dễ mua tại Việt nam để nghiên cứu và làm việc. Sau khi làm việc thật tốt với một họ vi xử và làm chủ được nó, các bạn sẽ dễ dàng tiếp cận và làm chủ các họ vi xử khác. Các thế hệ vi xử sau này phát triển trên cơ sở các vi xử thế hệ trước nhưng được hướng vào những ứng dụng cụ thể, tích hợp nhiều chức năng và công nghệ mới. Phát triển của họ MCS51 Atmel cho ra đời thế hệ AVR, có tích hợp thêm các chức năng ADC, PWM, … với phần mềm trên C khá linh động, hỗ trợ ghép nối LCD, RTC. Các dạng chip thế hệ sau như chíp CSoC có khả năng mềm dẻo thích ứng với đa dạng ứng dụng và nhất là khả năng tái cấu hình (reconfigurable), tạo thành nhiều loại chip khác nhau trên một chip ở những thời điểm khác nhau trong một ứng dụng.CYPRESS và một số hãng khác phát triển họ PSoC (Programmable System on Chip) có đặc điểm linh động phần cứng từ phần mềm, tự tạo cấu hình phần cứng từ tài nguyên có sẵn phục vụ các bài toán cụ thể đòi hỏi yêu cầu phần cứng khác nhau. Thực chất các chip chế tạo theo công nghệ PSoC cho phép thay đổi cấu hình phần cứng bằng cách gán chức năng cho các khối tài nguyên có sẵn trên chip, ghép nối mềm dẻo giữa các khốivới nhau và với các cổng In/Out. Ngoài ra thành phần của chip PsoC bao gồm cả các khối ngoại vi số và tương tự có thể tự cấu hình được, lập trình cho chip thông qua phương pháp kéo/thả các khối tài nguyên này vào vùng làm việc. Việc thiết lập ngắt trên chân nào, loại ngắt gì, các chân In/Out được thiết lập hoạt động thế nào đều tuỳ thuộc vào thiết lập của người lập trình. Với khả năng đặt cấu hình mạnh mẽ này một thiết bị Đo lường - Điều khiển có thể được gói gọn trên một chip duy nhất. Chính vậy người ta không gọi chip này là vi điều khiển (µC) mà gọi là thiết bị PSoC (PsoC Device - Thiết bị lập trình trên chip), với hy vọng rằng người sử dụng sẽ có được những thiết bị nhỏ gọn, giá rẻ , tin cậy bởi chỉ dùng riêng GIÁO TRÌNH KỸ THUẬT VI XỬ PHẦN II: MCS-51 NGUYỄN THANH HẢI, NGÔ THANH BÌNH-KTĐT.ĐHGTVT 2 chip PSoC mà không cần các kết nối ngoại vi khác và sản phầm này sẽ thay thế dần các thiết bị sử dụng vi xử kinh điển trước đây. Một số dạng thiết kế chip nhằm mục đích chủ yếu cho các bài toán xử dữ liệu như CPLD (Complex Programmable Logic Device), FPGA (Field Programmable Logic Array) có hỗ trợ kết nối máy tính với các phần mềm tiêu chuẩn, tái cấu hình lại nhiều lần… Lập trình mảng tương tự đã xuất hiện trong nhiều năm, nhưng chỉ mới gần đây mới được phát triển mạnh, và nền công nghiệp điện tử đã chấp nhận phát triển đầy đủ các công cụ phát triển và các phiên bản phần mềm phát triển mới. Lập trình mảng tương tự FPAAs (Field Programmable Analog Arrays) cung cấp cho nhà thiết kế tính mềm dẻo như trong phần thiết kế mạch tương tự của họ. Những dạng linh kiện này giải quyết tốt hầu hết các vấn đề ứng dụng trong những thành phần của hệ thống (Vi xử lõi, khối logic, khối tương tự). dụ, một mạch chứa đựng thành phần chính là logic sẽ có lợi nhất khi sử dụng linh kiện lập trình logic, nhưng một thiết kế với nhiều thành phần tương tự sẽ không thích hợp với những linh kiện đó. Tóm lại, vi xử là một lĩnh vực rộng đòi hỏi những nghiên cứu chuyên sâu với nhiều đầu tư cả về thời gian, sức lực và kinh phí.Với những người bắt đầu, lời khuyên là các bạn nên sử dụng họ MCS51 và bắt đầu làm việc với dẫn xuất Atmel 89C52 bằng ngôn ngữ lập trình Assembly. Đây là ngôn ngữ cơ sở, đủ mạnh cho những ứng dụng nhỏ, có bản dùng thử miễn phí trên mạng. Với Assembly bạn dễ dàng hiểu nắm bắt được phần cứng và rõ về hoạt động của vi xử lý, tuy nhiên khi cần phát triển những ứng dụng lớn hơn bạn sẽ gặp những hạn chế của ngôn ngữ này là phải tự làm lấy mọi thứ mà không có sự hỗ trợ nào từ phần mềm thông qua hệ thống thư viện, đặc biệt là không hỗ trợ giao tiếp vào ra với thiết bị chuẩn như LCD, RTC, … Sau khi bạn đã nắm tốt về vi xử cơ sở và lập trình Assembly, bạn nên chuyển sang làm việc bằng C cho những thiết kế lớn hơn. Phần mềm nên sử dụng ban đầu là Read51, được tích hợp cả Assembly và C nên tôi nghĩ rằng đây là phần mềm tốt nhất cho các bạn mới bắt đầu. Một số tính năng cơ bản của họ vi điều khiển Intel 8051 kinh điển: - CPU 8 bit được thiết kế tối ưu cho các ứng dụng điều khiển. - Có các khả năng xử bit lôgic. - Không gian bộ nhớ chương trình 64Kbyte. - Không gian bộ nhớ dữ liệu 64 Kbyte. - Tích hợp 4 Kbyte bộ nhớ chương trình trên chip. - Tích hợp 128 byte bộ nhớ RAM trên chip. - Có 32 đường vào/ra 2 chiều có thể định địa chỉ đến từng bit. - Tích hợp 02 timer 16bit. - Tích hợp UART song công. - Cấu trúc ngắt với 06 nguồn/05 vector ở 02 mức ưu tiên khác nhau. - Tích hợp mạch bộ dao động trên chip. GIÁO TRÌNH KỸ THUẬT VI XỬ PHẦN II: MCS-51 NGUYỄN THANH HẢI, NGÔ THANH BÌNH-KTĐT.ĐHGTVT 3 GIÁO TRÌNH KỸ THUẬT VI XỬ PHẦN II: MCS-51 NGUYỄN THANH HẢI, NGÔ THANH BÌNH-KTĐT.ĐHGTVT 4 I. Cấu trúc hệ vi điều khiển Kiến trúc phần cứng căn bản của vi điều khiển 8051 được mô tả bằng sơ đồ khối sau: U1 8051 29 30 40 20 31 19 18 9 39 38 37 36 35 34 33 32 1 2 3 4 5 6 7 8 21 22 23 24 25 26 27 28 10 11 12 13 14 15 16 17 PSEN ALE VCC GND EA X1 X2 RST P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15 P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD Tổ chức bộ nhớ: Họ vi điều khiển 8051 có hai không gian địa chỉ dành cho bộ nhớ chương trình và bộ nhớ dữ liệu là riêng biệt. Cấu trúc riêng rẽ như vậy giúp cho bộ nhớ trong có thể truy nhập nhanh hơn với 8 bit địa chỉ CPU 8 bit sẽ có thể lưu trữ cũng như xử giá trị 8 bit này nhanh hơn so với giá trị 16 bit. Ngoài ra, để có thể đạt được không gian địa chỉ 64 Kbyte dành cho bộ nhớ dữ liệu, chip được thiết kế với thanh ghi 16 bit tên là DPTR chuyên dùng để phát ra các địa chỉ 16 bit. Bộ nhớ chương trình có thể có dung lượng tối đa là 64 Kbytes. Thông thường thì bộ nhớ chương trình tích hợp trên chip có dung lượng chỉ chiếm 4 Kbyte hay 8 Kbyte trong không gian 64 Kbyte đó. Bộ nhớ chương trình có thể là bộ nhớ ngoài và được truy cập bằng tín hiệu #PSEN (“# “ có nghĩa là tích cực thấp), tức là khi sử dụng bộ nhớ trong cần nối chân #EA/VPP lên nguồn +5 VDC thông qua trở hạn dòng khoảng 4K7. Bộ nhớ chương trình: Sau khi reset CPU bắt đầu làm việc từ địa chỉ đầu người sử dụng khai báo, thường là địa chỉ 0000H. GIÁO TRÌNH KỸ THUẬT VI XỬ PHẦN II: MCS-51 NGUYỄN THANH HẢI, NGÔ THANH BÌNH-KTĐT.ĐHGTVT 5 Các vector ngắt được quy định cố định ở các địa chỉ đầu tiên. Nếu các ngắt được sử dụng thì mã lệnh của chương trình phục vụ ngắt tương ứng phải được đặt tại các địa chỉ của các vector ngắt. Do các vector ngắt là sát nhau nên không thể đặt các chương trình phục vụ ngắt tại các địa chỉ này (vì chương trình phục vụ ngắt của ngắt này sẽ đè lên vector ngắt của ngắt khác) mà thông thường người ta đặt tại đó các lệnh nhảy đến các chương trình phục vụ ngắt đã được đặt ở nơi khác trong bộ nhớ chương trình. Nếu các ngắt không được sử dụng thì các ô nhớ dành cho các vector ngắt hoàn toàn có thể dùng như các vùng nhớ khác trong bộ nhớ chương trình. Địa chỉ của bộ nhớ chương trình luôn là địa chỉ 16 bit cho dù dung lượng bộ nhớ thực được sử dụng không chiếm đầy không gian 64Kbyte. Vùng địa chỉ thấp nhất của không gian bộ nhớ chương trình có thể là bộ nhớ tích hợp trên chip hoặc bộ nhớ ngoài chip. Lựa chọn này được thực hiện bằng cách nối chân #EA với VCC hoặc GND. Như vậy với #EA nối với VCC thì không gian bộ nhớ chương trình sẽ bao gồm phần không gian địa chỉ thấp dành cho bộ nhớ tích hợp trên chip cộng với khoảng không gian còn thừa cho bộ nhớ ngoài chip. Với chân #EA nối với GND, toàn bộ không gian nhớ chương trình được mặc nhiên coi là dành cho bộ nhớ ngoài (bất kể chip có được tích hợp bộ nhớ hay không – nghĩa là bộ nhớ chương trình nếu có tích hợp trên chip thì cũng không được dùng đến). Để truy nhập bộ nhớ ngoài thì người ta sử dụng tín hiệu #PSEN cùng hai cổng vào/ra P0 và P2. Khi viết chương trình cho vi xử lý, nếu chương trình lớn hơn 4 KBytes (Hoặc 8 KBytes với AT89C52) thông thường ta nên viết chương trình tại bộ nhớ ngoài, bỏ qua bộ nhớ chương trình tích hợp sẵn trên chip (Bộ nhớ trong) để dễ dàng hơn cho quá trình quản lý, lúc đó #EA nối GND. Bộ nhớ dữ liệu: Bộ nhớ dữ liệu có dung lượng tối đa 64 Kbytes dùng để chứa dữ liệu cho chương trình. Do bộ nhớ này có dung lượng hạn chế nên trong các thiết kế đòi hỏi dữ liệu ngoài là rất lớn, chương trình chứa nhiều dữ liệu ngoài vượt quá bộ nhớ của CPU như quang báo, Fuzzy, … người ta buộc phải sử dụng đến bộ nhớ dữ liệu ngoài để chứa các thông tin cần gọi vào chương trình xử lý. Đó là các dòng tin tức được đưa ra hiển thị ngoài Quang báo, các tập mờ, … GIÁO TRÌNH KỸ THUẬT VI XỬ PHẦN II: MCS-51 NGUYỄN THANH HẢI, NGÔ THANH BÌNH-KTĐT.ĐHGTVT 6 Thanh ghi: Khi lập trình cho vi xử lý, điều cần đặc biệt chú ý là khả năng điều khiển các ngắt làm việc. Với các dòng sản phẩm khác nhau của họ vi xử MCS51, các ngắt của một chức năng hoạt động như nhau và được thiết kế tại cùng một địa chỉ. Với các vi xử thế hệ sau của các hãng khác như SAB80515/535 thì có đôi chút khác biệt về tên gọi các bit, khả năng xử tương tự, vậy khi xem xét vào ứng dụng với chip cụ thể, ta cần tra cứu tài liệu của hãng cung cấp. Ở đây ta chọn vi xử AT89C52 là chip đại diện cho dòng chip để nghiên cứu bởi nó hoàn toàn tương thích với Intel 8051, khả năng làm việc trên phần mềm tích hợp Assembly-C có bản chạy thử miễn phí, chip này dễ tìm, giá rẻ, khả năng tương đối mạnh cho các ứng dụng nhỏ. GIÁO TRÌNH KỸ THUẬT VI XỬ PHẦN II: MCS-51 NGUYỄN THANH HẢI, NGÔ THANH BÌNH-KTĐT.ĐHGTVT 7 AT89C52 là vi xử điển hình của họ MCS51, khá mạnh cho những ứng dụng nhỏ. Tích hợp 8 KBytes Flash ROM bộ nhớ chương trình trên chip và 256 Bytes RAM bộ nhớ dữ liệu trên chip, khả năng mở rộng tới 64 KBytes ROM và 64 Kbytes RAM. GIÁO TRÌNH KỸ THUẬT VI XỬ PHẦN II: MCS-51 NGUYỄN THANH HẢI, NGÔ THANH BÌNH-KTĐT.ĐHGTVT 8 U2 AT89C52 9 18 19 20 29 30 31 40 1 2 3 4 5 6 7 8 21 22 23 24 25 26 27 28 10 11 12 13 14 15 16 17 39 38 37 36 35 34 33 32 RST XTAL2 XTAL1 GND PSEN ALE/PROG EA/VPP VCC P1.0/T2 P1.1/T2-EX P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15 P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7 Đặc điểm cấu trúc chân cổng vi xử MCS51: Nhận thấy rằng các chân của Port0 không có điện trở treo (Internal pull-up), vậy khi thiết kế sử dụng cổng này mạch cần chú ý điện trở treo ngoài. GIÁO TRÌNH KỸ THUẬT VI XỬ PHẦN II: MCS-51 NGUYỄN THANH HẢI, NGÔ THANH BÌNH-KTĐT.ĐHGTVT 9 AT89C52 có các ngắt cơ bản hay sử dụng: 2 Ngắt ngoài, 3 ngắt Timer, 1 ngắt nối tiếp. Chú ý rằng vi xử này không có ADC nên không có các bit và ngắt xử tín hiệu tương tự như SAB80535. Trong phần lập trình ta sẽ bàn kỹ các vấn đề xử lý, điều khiển các thanh ghi này. GIÁO TRÌNH KỸ THUẬT VI XỬ PHẦN II: MCS-51 NGUYỄN THANH HẢI, NGÔ THANH BÌNH-KTĐT.ĐHGTVT 10  Ngắt ngoài: là các tín hiệu ngắt được kích hoạt từ bên ngoài thông qua 2 chân vi xử /INT0 (P3.2) và /INT1 (P3.3). Có thể ngắt theo 2 kiểu, phụ thuộc bit ITx trong thanh ghi TCON: - Theo mức khi bit ITx=0 - Theo sườn khi bit ITx=1  Ngắt Timer: Các Timer bao gồm hai dạng: Đếm xung thời gian từ Clock (Timer) và đếm sự kiện ngoài (Countetr), được điều khiển thông qua các thanh ghi TMOD và TCON. Các bộ đếm luôn đếm tiến, ngoại trừ Timer2 có một chế độ có thể đếm lùi. [...]... trong phần ghép nối ngoại vi NGUYỄN THANH HẢI, NGÔ THANH BÌNH-KTĐT.ĐHGTVT 13 GIÁO TRÌNH KỸ THUẬT VI XỬ PHẦN II: MCS-51 NGUYỄN THANH HẢI, NGÔ THANH BÌNH-KTĐT.ĐHGTVT 14 GIÁO TRÌNH KỸ THUẬT VI XỬ PHẦN II: MCS-51 NGUYỄN THANH HẢI, NGÔ THANH BÌNH-KTĐT.ĐHGTVT 15 GIÁO TRÌNH KỸ THUẬT VI XỬ PHẦN II: MCS-51 Thanh ghi điều khiển ngắt IE NGUYỄN THANH HẢI, NGÔ THANH BÌNH-KTĐT.ĐHGTVT 16 GIÁO TRÌNH KỸ THUẬT VI. .. SMOD 1 0 0 0 0 0 Giá trị nạp cho TH1 -7 (F9H) - 13 (F3H) - 26 (E6H) -3 (FDH) - 12 (F4H) -2 4 (E8H) NGUYỄN THANH HẢI, NGÔ THANH BÌNH-KTĐT.ĐHGTVT Baud rate thực tế 8923 2404 1202 9600 2400 1200 Sai số 7% 0,16% 0.16% 0 0 0 21 GIÁO TRÌNH KỸ THUẬT VI XỬ PHẦN II: MCS-51 II. 3 PHẦN CỨNG TỐI THIỂU CỦA HỌ MCS51 Phần cứng tối thiểu là cấu hình đơn giản nhất của phần cứng để hệ thống có thể hoạt động được với... BÌNH-KTĐT.ĐHGTVT 22 GIÁO TRÌNH KỸ THUẬT VI XỬ PHẦN II: MCS-51 CHƯƠNG IV: LẬP TRÌNH CHO HỆ VI ĐIỀU KHIỂN I Một số phần mềm lập trình thông dụng II Tổ chức chương trình phần mềm Tổng quan: Khi một bài toán thực tế được đưa ra, ta cần phải tìm hiểu cặn kẽ các yêu cầu do bài toán đặt ra và thực hiện giải quyết theo các bước sau: - Bước 1: Định hướng giải quyết Bước 2: Lựa chọn phương án thiết kế phần cứng. .. làm gì cả CÁC CẤU TRÚC LẬP TRÌNH CƠ BẢN Tóm Tắt Các Lệnh Nhảy (JMP) NGUYỄN THANH HẢI, NGÔ THANH BÌNH-KTĐT.ĐHGTVT 28 GIÁO TRÌNH KỸ THUẬT VI XỬ PHẦN II: MCS-51 ấu trúc lập trình: 1 Cấu trúc “repeat… until” Repeat Until Ngôn ngữ Assembly LOOP: JUMP_if_not_,LOOP dụ: Cấu trúc “repeat… until” Repeat Until A=0 Ngôn ngữ Assembly LOOP: JNZ LOOP 2 Cấu trúc “while…... biểu tượng dùng để diễn đạt vi c đưa dữ liệu vào hoặc ra cổng Port Biểu tượng này có một đầu vào và một đầu ra  Biểu tượng 6: Đây là biểu tượng dùng để diễn đạt tiến trình làm vi c của chương trình III Tập lệnh hệ vi điều khiển Các ký hiệu sử dụng A B Ri - thanh ghi chứa - thanh ghi B - thanh ghi R0 hoặc R1 của bất kỳ băng thanh ghi nào trong 4 băng thanh ghi trong - RAM Rn - bất kỳ thanh ghi nào của...GIÁO TRÌNH KỸ THUẬT VI XỬ PHẦN II: MCS-51 Chế độ 0: Chế độ 0 là chế độ định thời 13 bit, sử dụng Byte cao của THx ghép với 5 bit thấp trong Byte thấp TLx Chế độ này cung cấp khả năng tương thích với bộ vi điều khiển thế hệ trước 8048 Chế độ này không được dùng cho các thiết kế mới  Chế độ 1: Chế độ định thời 13 bit Chế độ 1 là chế độ định thời 16 bit, có cấu hình giống như chế độ định... hiện, vi c nhận ký tự sẽ tiếp tục, bit START được bỏ qua và 8 bit data được nhận tuần tự vào thanh ghi dịch của Port nối tiếp Khi cả 8 bit ddax được nhận, vi xử thực hiện các vi c sau: - Bit thứ 0 (STOP bit) được đưa đến bit RB8 trong thanh ghi SCON 8 bit dữ liệu (data bit) được nạp vào SBUF Cờ ngắt thu RI được set lên 1 NGUYỄN THANH HẢI, NGÔ THANH BÌNH-KTĐT.ĐHGTVT 19 GIÁO TRÌNH KỸ THUẬT VI XỬ PHẦN... LOOP: JUMP_if_not_,DO SJMP STOP DO: SJMP LOOP STOP: dụ: Cấu trúc “while… do” R7 = 0 while R7 < 10 do { R7 = R7 + 1 } Ngôn ngữ Assembly LOOP: DO: MOV CJNE SJMP R7,#0 R7,#10,DO STOP NGUYỄN THANH HẢI, NGÔ THANH BÌNH-KTĐT.ĐHGTVT 29 GIÁO TRÌNH KỸ THUẬT VI XỬ STOP: INC SJMP PHẦN II: MCS-51 R7 LOOP 3 Cấu trúc “if… then… else” if then else Ngôn ngữ... r1,loop1 NGUYỄN THANH HẢI, NGÔ THANH BÌNH-KTĐT.ĐHGTVT 35 GIÁO TRÌNH KỸ THUẬT VI XỬ PHẦN II: MCS-51 Lưu đồ thuật toán cho chương trình con “delay1s” như sau: Begin biến đếm 1 = 10 biến đếm 2 = 100 biến đếm 3 = 100 Trễ 10 s biến đếm 3 - 1 s biến đếm 3 = 0? biến đếm 2 - 1 s biến đếm 2 = 0? biến đếm 1 - 1 s biến đếm 1 = 0? End NGUYỄN THANH HẢI, NGÔ THANH BÌNH-KTĐT.ĐHGTVT 36 ... Lưu ý là phải đặc biệt tuân thủ số lượng các đầu vào ra đối với mỗi loại biểu tượng NGUYỄN THANH HẢI, NGÔ THANH BÌNH-KTĐT.ĐHGTVT 33 GIÁO TRÌNH KỸ THUẬT VI XỬ PHẦN II: MCS-51 Để làm rõ hơn cách xây dựng một lưu đồ cụ thể, ta hãy xem xét một bài toán mẫu đơn giản trên cơ sở phần mạch phần cứng thí nghiệm và lưu đồ mẫu để giải quyết bài toán đó Bài toán: Nhấp nháy 8 LED đơn nối với cổng P1 theo chu kỳ . Port nối tiếp, TF2 và EXF2 đối với các ngắt Timer2. Các nguyên nhân gây ngắt thuộc hai ngoại lệ trên do có hai khả năng tạo ra ngắt nên trong thực tế CPU không xoá cờ ngắt. GIÁO TRÌNH KỸ. hai được nhận vào đầy đủ, dữ liệu cũng không bị mất. Bộ đệm dữ liệu thu và lưu dữ liệu vào SBUF, việc ghi lên SBUFsex nạp dữ liệu để phát và việc đọc SBUF sẽ xuất dữ liệu đã nhậ được. Các thao.  Chế độ 1: UART 8 bit có tốc độ baud thay đổi Trong chế độ 1, Port nối tiếp hoạt động như một bộ thu phát không đồng bộ UART 8 bit có tốc độ baud thay đổi, biến đổi dữ liệu phát từ song

Ngày đăng: 22/04/2014, 12:32

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

Tài liệu liên quan