Vi Xử Lý Và Lập Trình Hợp Ngữ

152 89 0
Vi Xử Lý Và Lập Trình Hợp Ngữ

Đ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

Phạm Đức Long Bộ môn CNĐKTĐ Khoa CNTT - ĐHTN BÀI GIẢNG MƠN HỌC VI XỬ LÝ VÀ LẬP TRÌNH HỢP NGỮ MỤC LỤC Trang Ch−¬ng Giíi thiƯu chung 1.1 Sự đời phát triển vi xử lý 1.2 Sơ đồ khối cấu trúc hoạt động hệ vi xử lý 4 Chơng Bộ nhớ bán dẫn 2.1 Phân loại nhớ 2.1.1 Bộ nhớ cố định (ROM, PROM) 2.1.2 Bộ nhớ bán cố định (EPROM, EEPROM, FLASH) 2.1.3 Bộ nhớ đọc ghi (SRAM, DRAM) 2.1.4 Bộ nhớ 2.2 Phân cấp bé nhí 2.3 CÊu tróc cđa m¹ch nhí tÜnh SRAM 2.3.1 Giới thiệu công nghệ 2.3.2 Cấu trúc mạch nhớ SRAM 2.3.2.1 Bit nhí 2.3.2.2 Thanh ghi 2.3.2.3 Bé gi¶i mã 2.3.2.4 Mạch nhớ SRAM (Các thành phần, quy trình ®äc ghi, biĨu ®å thêi gian) 2.3.3 ThiÕt kÕ thỴ nhí SRAM 2.4 CÊu tróc cđa m¹ch nhí DRAM 10 10 10 12 12 12 14 15 18 19 19 Chơng Các vi xử lý vi điều khiển 3.1 Giíi thiƯu bé vi xư lý bit tỉng qu¸t 3.2 Bé vi xư lý bit (8086/8088) 3.2.1 Sơ đồ khối vi xử lý bit 3.2.2 C¸c ghi 8086/88 3.2.3 BiĨu ®å thêi gian cđa chu kú ®äc ghi sè liệu 3.2.5 Ghép nối chân tín hiệu 8088 3.2.6 HƯ lƯnh cđa bé vi xư lý bit 23 23 24 27 30 31 3.3 Giíi thiƯu c¸c bé vi xư lý tiªn tiÕn dòng 80x86 Thái Ngun 8-2008 CuuDuongThanCong.com https://fb.com/tailieudientucntt Phạm Đức Long Bộ môn CNĐKTĐ Khoa CNTT - ĐHTN BÀI GIẢNG MÔN HỌC VI XỬ LÝ VÀ LẬP TRÌNH HỢP NGỮ 3.4 Vi ®iỊu khiĨn 8x51/52 3.5 Vi ®iỊu khiĨn thÕ hƯ míi AVR 3.5.1 Giíi thiƯu chung vỊ AVR 3.5.2 Bus I2C vµ SPI 3.5.3 AVR 90S8535 3.6 Các hệ thống chip có khả tái cấu hình (SoC) 3.6.1 SoC gì? 3.6.2 Giíi thiƯu PSoC 3.6.3 PSoC CY8C29446 80 96 103 105 105 108 108 Chơng Các điều khiển ghép nối liệu 4.1 Vào/ số liệu điều khiển ngắt 4.1.1 Nguyên lý vào/ra điều khiển ngắt 4.1.2 Bộ điều khiển ngắt PIC (8259) 4.1.3 Ngắt máy tính IBM/PC 4.2 Vào/ra số liệu điều khiĨn b»ng th©m nhËp bé nhí trùc tiÕp DMA 4.2.1 Nguyên lý vào/ DMA 4.2.2 Bộ thâm nhập bé nhí trùc tiÕp DMAC (8237) 4.2.3 Sư dơng bé ®iỊu khiĨn DMAC hƯ vi xư lý 4.3 Bé đếm lập trình đợc 4.3.1 Sơ đồ khối đếm lập trình đợc (8254) 4.3.2 Các chế độ làm việc đếm lập trình 4.3.3 Sử dụng đếm hƯ vi xư lý 4.4 Phèi ghÐp vµo nối tiếp 4.4.1 Nguyên lý vào/ nối tiếp 4.4.2 Mạch thu phát thông tin nối tiếp UART 4.5 Phối ghép với thiết bị vào/ra qua cổng song song 4.5.1 Ghép nối song song đơn giản 4.5.2 Mạch phối ghép vào/ra song song lập trình đợc PPI 8255A 4.5.2.1 Các khèi cđa PPI 4.5.2.2 C¸c tÝn hiƯu cđa PPI 4.5.2.3 Các chế độ làm việc PPI 4.5.2.5 Ghép nối PPI hƯ vi xư lý Thái Ngun 8-2008 CuuDuongThanCong.com 117 119 126 127 129 132 132 133 135 136 139 147 148 148 149 149 https://fb.com/tailieudientucntt Phạm Đức Long Bộ môn CNĐKTĐ Khoa CNTT - ĐHTN BÀI GIẢNG MƠN HỌC VI XỬ LÝ VÀ LẬP TRÌNH HỢP NGỮ Ch−¬ng ThiÕt kÕ hƯ thèng vi xư lý 5.1 ThiÕt kÕ phÇn cøng 5.2 ThiÕt kÕ phÇn mỊm 5.2.1 ROM Mapping 5.2.2 RAM Mapping 5.2.3 Thiết kế chơng trình hệ thống 5.2.4 Thiết kế chơng trình ứng dông 150 150 Thái Nguyên 8-2008 CuuDuongThanCong.com https://fb.com/tailieudientucntt Phạm Đức Long Bộ môn CNĐKTĐ Khoa CNTT - ĐHTN BÀI GIẢNG MƠN HỌC VI XỬ LÝ VÀ LẬP TRÌNH HỢP NG Chơng GII THIU CHUNG 1.1 Sự đời phát triển vi xử lý Bộ vi xử lý thành phần thiếu đợc hệ thống tính toán máy vi tính Sự phát triển: Thế hệ (1971 - 1973): Bộ vi xử lý đời 1971 4004 sản phẩm hãng Intel bit số liệu, 12 bit địa Tiếp theo 4040, 8008 Đặc điểm chung: + Sử dụng công nghệ PMOS ( lỗ trống) + Tốc độ thực lệnh 10-60às Tốc độ xung đồng hồ 0.1 đến 0.8 MHz + Tập lệnh đơn giản Thế hệ (1974-1977): ThÕ hƯ c¸c vi xư lý bit nh− 6800, 8080, 8085 quản lý 64KB nhớ Đặc ®iĨm: + Sư dơng c«ng nghƯ NMOS (Cã mËt ®é phần tử đơn vị diện tích lớn PMOS) + Tốc độ thực lệnh 1-8às Tốc độ xung ®ång hå 1-5MHz − ThÕ hƯ 3(1978-1982): Thêi kú vi xử lý 16 bit 8086/80186/80286 68000 + Có tập lệnh đa dạng + Khả phân biƯt bé nhí cao h¬n: 1-16MB bé nhí 64KB thiÕt bị ngoại vi + Sản xuất công nghệ HMOS (HMOS, XMOS, VMOS: cải tiến NMOS) + Tốc độ 0.1 - 1às Xung đồng hồ 5-10MHz Thế hệ 4(1983 - nay): Thêi kú c¸c bé vi xư lý 32 bit nh 80386/486/PI,PII,PIII, PIV với kỹ thuật tiên tiến pipeline, cache, vitual memory, HT Tất có đồng xử lý toán học, quản lý nhớ MMU 1.2 Sơ đồ khối cấu trúc hoạt ®éng cđa hƯ vi xư lý − Bé vi xư lý thành phần thiếu đợc để xây dựng hệ thống tính toán, máy vi tính Nhng vi xử lý phải kết hợp với thành phần khác để tạo nên hệ vi xử lý Sơ đồ dới sơ đồ tổng quát hệ vi xử lý kinh điển áp dụng cho hệ nhỏ máy tính đời đầu Các máy tính có cấu trúc khác h¬n Thái Nguyên 8-2008 CuuDuongThanCong.com https://fb.com/tailieudientucntt Phạm Đức Long Bộ mơn CNĐKTĐ Khoa CNTT - ĐHTN BÀI GIẢNG MƠN HỌC VI XỬ LÝ VÀ LẬP TRÌNH HỢP NGỮ M CPU I/O In Out Abus Dbus Cbus • CPU (Central Processing Unit): Bộ não máy tính gồm mạch vi điện tử có độ tích hợp cao (hàng triệu tranzito chip) Nó gồm có phần: + CU (Control Unit): Khối điều khiển có chức năng: đọc mã lệnh dới dạng tập hợp bit 0/1 từ ô nhớ nhớ Giải mã lệnh thành dãy xung điều khiển để điều khiển khối khác thực nh điều khiển ALU, điều khiĨn ngoµi µPC + ALU (Arithmetic Logic Unit): Khèi tính toán số học logic: Tổ hợp mạch logic điện tử phức tạp cho phép thực thao tác ghi nh +, -, *, /, AND, OR, NOT + Registers: C¸c ghi − Mét CPU cã thĨ cã nhiỊu ghi: + Thanh ghi trỏ lệnh IP (bộ đếm chơng trình) chứa địa lệnh thực hiện: Các chơng trình máy tính tập hợp lệnh CPU lấy lệnh để chạy Để điều khiển xác việc thực cần có đếm chơng trình + Các ghi khác: Các ghi đoạn, ghi lệch, ghi trỏ số, ghi cờ ghi đảm nhiệm chức định hoạt động cđa bé vi xư lý (SÏ nghiªn cøu kü qua VXL 8086/8088) Bộ nhớ (Memory): Có hai loại ROM: Chứa chơng trình số liệu cố định, chúng không bị ngắt điện cung cấp cho vi mạch nhớ ROM Chơng trình khởi động máy tính, chơng trình vào sở thờng đợc chứa ROM RAM: Khi ngắt điện nguồn nuôi vi mạch RAM nội dung lu trữ bị RAM lu giữ phần chơng trình hệ thống, số số liệu hệ thống, chơng trình ứng dụng, kết trung gian trình tính toán, xử lý Thỏi Nguyờn 8-2008 CuuDuongThanCong.com https://fb.com/tailieudientucntt Phạm Đức Long Bộ môn CNĐKTĐ Khoa CNTT - ĐHTN BÀI GIẢNG MÔN HỌC VI XỬ LÝ VÀ LẬP TRèNH HP NG Thiết bị vào/ra(I/O): Đây khối tạo khả giao tiếp hệ vi xử lý bên Do đặc điểm thiết bị hệ trung tâm (Gồm CPU+Bộ nhớ) hoạt động có khác tốc độ làm việc, mức vật lý điện, phơng thức nên cần có phối ghép đệm, đảm bảo cho khối thiết bị giao tiếp đợc với hệ trung tâm Bộ ghép bus hệ thống thiết bị gọi cổng Mỗi cổng có địa xác định Hệ thống bus: Là tập hợp đờng dây dẫn ghép nối chân địa chỉ, liệu, chân tín hiệu điều khiển khối nêu Abus: Nối đờng dây địa CPU với khối M I/O Khả phân biệt địa CPU phụ thuộc số chân địa nã Sè nµy cã thĨ lµ 16, 20, 24, 36 chân Chỉ có CPU có khả phát tín hiệu địa - Có thiết bị phát tín hiệu địa DMAC (DMA Controller) Dbus: Dùng để vận chuyển liệu §é réng cña nã 8, 16, 32, 64 bit Dbus có tính chiều Các phần tử có đầu nối thẳng với bus liệu phải đợc trang bị đầu trạng thái để làm việc bình thờng với bus Cbus: Gồm nhiều đờng dây tín hiệu khác Mỗi tín hiệu có chiều xác định Các tín hiệu Cbus bao gồm tín hiệu điều khiển từ CPU nh đ/k đọc viết, tín hiệu trạng thái từ nhớ, thiết bị ngoại vi báo cho CPU nh INTR, HOLD Hoạt động hệ: Chơng trình liệu đợc chứa nhớ đợc đa vào nhớ (RAM) Sau đợc CPU lấy dần ®Ĩ xư lý CPU thùc hiƯn: + LÊy lƯnh + Giải mã lệnh + điều khiển thực lệnh Đó vòng lặp, trình thực vòng lặp có tác động ngắt yêu cầu DMA CPU đáp ứng yêu cầu sau lại quay trở laị chu trình hoạt động Chơng B NH BN DN 2.1 Phân loại nhớ Bộ nhớ dùng để lu trữ lệnh liệu Bộ nhớ đợc xây dựng từ phần tử nhớ bản, phần tử bit th«ng tin Thái Nguyên 8-2008 CuuDuongThanCong.com https://fb.com/tailieudientucntt Phạm Đức Long Bộ môn CNĐKTĐ Khoa CNTT - ĐHTN BÀI GIẢNG MƠN HỌC VI XỬ LÝ VÀ LẬP TRÌNH HỢP NG Bộ nhớ Bộ nhớ bán dẫn Cố định ROM PROM Ngoài Bán cố định EPROM EEPROM Đọc/Ghi FLASH SRAM DRAM 2.1.1 Bộ nhớ cố định (ROM, PROM) D1 D0 Các ô nhớ địa 00 01 10 11 Đầu D3 D2 D1 Nếu có diot: Đầu =1 Nếu diot: Đầu = Thỏi Nguyờn 8-2008 CuuDuongThanCong.com https://fb.com/tailieudientucntt Phạm Đức Long Bộ môn CNĐKTĐ Khoa CNTT - ĐHTN BÀI GIẢNG MÔN HỌC VI XỬ Lí V LP TRèNH HP NG CS=1 Đầu địa 1, đảo Đầu tiên cầu chì nguyên Nếu cầu chì: điot thông đầu di = Nếu cắt cầu chì, không bị sụt áp đầu di = 2.1.2 Bộ nhớ bán cố định (EPROM, EEPROM, FLASH) EPROM (Erasable Programmable ROM): Có cấu tạo đặc biệt dựa nguyên tắc làm việc tranzito trờng có cực điều khiển v thờm ca ni Việc nạp chơng trình cho EPROM đợc thực điện Xoá chơng trình tia cực tím, tia cực tím ảnh hởng đến cực nguồn cực máng B nh EPROM ghi lại Ký hiƯu 27xxx hv Sounce Gate Drain Control Gate Floating Gate File oxide File oxide n-Sounce n-Drain H×nh : CÊu tróc cđa EPROM Trong ô nhớ dùng tranzito này, cực cửa đợc nối với đờng từ, cực máng nối với đờng bit cực nguồn nối với nguồn chuẩn đợc coi nguồn cho mức logic Khác với tranzito MOS bình thờng, có thêm cửa gọi cửa nổi; Đó vùng vật liệu đợc thêm vào lớp cách điện cao nh hình Nếu cửa điện tích ảnh hởng tới cực cửa điều khiển tranzito hoạt động bình thờng Tức dây từ đợc kích hoạt (cực cửa có điện tích dơng) Thỏi Nguyờn 8-2008 CuuDuongThanCong.com https://fb.com/tailieudientucntt Phạm Đức Long Bộ môn CNĐKTĐ Khoa CNTT - ĐHTN BÀI GIẢNG MÔN HỌC VI XỬ LÝ VÀ LẬP TRèNH HP NG tranzito thông, cực máng cực nguồn đợc nối với qua kênh dẫn dây bit có mức logic Nếu cửa có điện tử với điện tích âm, chúng ngăn từ trờng điện điều khiển cực điều khiển dù dây từ có đợc kích hoạt phát trờng đủ mạnh với cực cửa điều khiển để làm thông tranzito Lúc đờng dây bit không đợc nối với nguồn chuẩn ô nhớ đợc coi nh giữ giá trị logic Việc nạp điện tử vào cửa , tức tạo ô nhớ có giá trị logic 0, đợc thực xung điện có độ dài cỡ 50 ms độ lớn +20V đặt vào cực cửa cực máng Lúc điện tích mang có lợng lớn qua lớp cách điện đế cửa Chúng tích tụ vùng cửa đợc giữ sau xung chơng trình tắt Đó cửa đợc cách điện cao với xung quanh điện tử đủ lợng sau lạnh đi, để vợt lớp cách điện Chúng đợc giữ lại thời gian dài (khoảng 10 năm) Để xóa thông tin, phải chiếu tia tử ngoại vào chip nhớ Những điện tử đợc hấp thụ lơng nhảy lên mức lợng cao, chúng rời cửa nh cách thâm nhập vào Trong chip EPROM có cửa sổ thạch anh ánh sáng tử ngoại ®i qua cÇn xãa sè liƯu bé nhí EEPROM (Electric Erasable PROM): Có cấu tạo tơng tự EPROM nhng nạp xoá điện Ký hiệu 28xxx (vớ dụ vi mạch EEPROM 2864, 28128) i m khác c a EEPROM lớp kênh màng mỏng ôxit vùng cửa trải xuống dới đế cực máng giữ vai trò quan trọng Các lớp cách điện lý tởng đợc, lớp điện tích mang thấm qua lớp phân cách với xác suất thấp Xác suất tăng lên bề dày lớp giảm điện hai cực hai mặt lớp cách điện tăng lên Muốn phóng điện tích vùng cửa nổi, điện (20V) đợc đặt vào cực cửa điều khiển cực máng Lúc điện tử âm cửa đợc chảy cực máng qua kênh màng mỏng ôxit số liệu lu giữ đợc xóa Điều ý phải lu ý cho dòng điện tích chảy không lâu, không vùng cửa lại trở nên điện tích dơng làm cho hoạt động trazito không đợc trạng thái bình thờng(1) Các chíp ROM có thời gian thâm nhập cỡ từ 120-150 ns dài nhiều thời gian chip nhớ RAM Flash ROM: Cấu tạo tơng tự EEPROM sử dụng với điện áp thÊp h¬n Ký hiƯu 29xxx, 39xxx Thái Ngun 8-2008 CuuDuongThanCong.com https://fb.com/tailieudientucntt Phạm Đức Long Bộ môn CNĐKTĐ Khoa CNTT - ĐHTN BÀI GIẢNG MÔN HỌC VI XỬ LÝ VÀ LẬP TRÌNH HỢP NGỮ 2.1.3 Bé nhí ®äc ghi (SRAM, DRAM) + Bé nhí RAM tÜnh lµ SRAM (Static RAM) thờng đợc xây dựng mạch điện tử flip flop + Bộ nhớ RAM động DRAM (Dynamic RAM) đợc xây dựng sở điện tích tụ điện Bộ nhớ phải đợc hồi phục nội dung đặn, không nội dung theo rò điện tích tụ EDORAM, VRAM, SDRAM, SGRAM RAM động Các nhớ DRAM thờng thoả mãn yêu cầu cần nhớ có dung lợng lớn Khi cần có tốc độ truy xuất lớn lại phải dùng nhớ SRAM với giá thành đắt hơn; hai loại b mt thụng tin nguồn điện nuôi bị mất, Vì lý này, chơng trình dùng cho việc khởi động PC nh BIOS thờng phải nạp nhớ ROM 2.1.4 Bé nhí ngoµi Bé nhí chÝnh b»ng vËt liệu bán dẫn mạch lu trữ khối lợng lớn thông tin, cần phải có thêm thiết bị nhớ bên nh băng giấy đục lỗ băng cassette, trống từ, đĩa từ, đĩa quang laser Những thiết bị lu trữ liệu nh đợc gọi nhí khèi (mass storage) hay gäi lµ nhí ngoµi ThiÕt bị nhớ khối thông dụng đĩa từ Đĩa từ đĩa tròn mỏng làm chất dẻo mylar, thủy tinh cứng kim loại cứng, có phủ lớp bột từ tính ôxit sắt từ Đĩa từ sử dụng kỹ thuật ghi từ để lu trữ giữ liệu, việc định hớng domain từ để tạo bit thông tin Khi ghi lên đĩa, liệu tồn cắt điện PC Tuy nhiên giống nh băng từ, liệu cũ xóa thay liệu nhiỊu lÇn Kỹ thuật điện tử tương lai cho phép có khối nhớ dung lượng lớn hồn tồn vi mạch thay đĩa từ- có mạch nhớ bán dẫn với dung lượng tới vài GB 2.2 Ph©n cÊp bé nhí CPU Cache Registers Bộ nhớ Bộ nhớ Bộ nhớ ảo: Trong hệ VXL đại đợc tạo nên Cache, M vµ Bé nhí ngoµi Thái Ngun 8-2008 CuuDuongThanCong.com 10 https://fb.com/tailieudientucntt Phạm Đức Long Bộ môn CNĐKTĐ Khoa CNTT - ĐHTN BÀI GIẢNG MÔN HỌC VI XỬ LÝ VÀ LẬP TRÌNH HỢP NGỮ • RS 232 Standard: Chn RS 232 lµ giao diƯn phỉ biÕn EIA( Electro Industrie American ) đa từ năm 1969 Do tính thuận tiện nên hầu hết thiết bị cần giao diƯn ghÐp nèi m¸y tÝnh ng−êi ta hay sư dơng RS232, nã cã mỈt rÊt nhiỊu thiÕt bị Tốc độ truyền : 50, 75, 110, 150, 300, 600, 1200, 2400, 4800, 9600, 19.200 Th−êng dïng nhÊt lµ 4800 9600 baud Mức tín hiệu logic nằm khoảng 12V đến +12V Mức 1: -3 V ®Õn – 12V Møc 0: Tõ +3V ®Õn + 12 V Khoảng cách truyền: Tuỳ thuộc tốc độ truyền chất lợng đờng truyền( Môi trờng truyền có nhiễu ? Chất lợng dây sao? có mối nối không ? ) Nói chung không vợt 30m ( 100feet) Conector: Dùng loại DB9 DB29 Male Female DB9 DB25 20 22 Chức DCD- Data Carrier Detect RxD Receive Data TxD – Transmit Data DTR – Data Terminal Ready GND – Nèi ®Êt DSR - Data Set Ready RTS – Request to Send CTS – Clear to Send RI – Ring Indicator Lèi vµo Lèi vµo Lèi Lèi Lối vào Lối Lối vào Lối vào Các đờng dây dẫn thực tế không đầy đủ, cần dây thực đợc việc truyền tin theo sơ đồ nối sau: Thái Nguyên 8-2008 CuuDuongThanCong.com 138 https://fb.com/tailieudientucntt Phạm Đức Long Bộ mơn CNĐKTĐ Khoa CNTT - ĐHTN BÀI GIẢNG MƠN HỌC VI XỬ LÝ VÀ LẬP TRÌNH HỢP NGỮ 3 GND 4.4.2 Mạch thu phát thông tin nối tiếp UART 8250A Là vi mạch thu phát không đồng vạn (Universal Asynchronous ReceiverTransmitter) - Khác với vi mạch thu phát đồng bộ/không đồng vạn USART 8251A (Universal Synchronous-Asynchronous Receiver Transmitter) Trong máy tÝnh IBM sư dơng vi m¹ch 8250A cho phèi ghÐp với cổng nối tiếp sau nâng cấp 6450 vi mạch 16450 64750, 64850 Các vi mạch có nhiệm vụ biến đổi liệu dạng song song thành liệu dạng nối tiếp, gắn bit Start Stop cần thiết vào phục vụ cho việc gởi tin Các vi mạch làm nhiệm vụ ngợc lại thu gói tin: có nghĩa nhận bit liệu, tháo khung tin, chuyển đổi thành liệu song song( byte) CÊu t¹o chi tiÕt cđa vi m¹ch ta tham khảo sách kỹ thuật vi mạch nhiêù nh Đo lờng điều khiển máy tính Ngô Diên Tập Vi xử lý Văn Thế Minh D0-D7 Đệm bus liệu Đệm phát // Sout Tín hiệu phát X - tal 1,2 Nối thạch anh A0 A1 A2 RD WR CS2 CS0 CS1 Master RESET (MS) Logic ° ®iỊu ° khiĨn ° ghi ®äc ° Điều khiển thu phát modem Baud out RxClk nhịp phát thu Out RTS CTS Out DTR DSR RLSD( Thu đợc sóng mang) RI ( Báo chuông) Đệm thu // INTRPT( Yêu cầu ngắt) Sơ đồ khối UART 8250A Thái Nguyên 8-2008 CuuDuongThanCong.com 139 https://fb.com/tailieudientucntt Phạm Đức Long Bộ mơn CNĐKTĐ Khoa CNTT - ĐHTN BÀI GIẢNG MƠN HỌC VI XỬ LÝ VÀ LẬP TRÌNH HỢP NGỮ Vi m¹ch 8250A( HiƯn - 7/2007 - ®ang sư dơng máy PC 82850) đợc dùng rộng rãi máy tính IBM PC vi mạch ghép cổng trun tin nèi tiÕp (Cỉng COM) theo chn RS 232C Nhiệm vụ vi mạch là: Chuyển tín hiệu thông tin song song thành nối tiếp ngợc lại Kiểm tra lỗi truyền tin ( Kiểm tra Parity) Thiết lập tốc độ thu phát Có tín hiệu gây ngắt dùng để điều khiển máy tính Mạch 8250A có tín hiệu chọn vỏ tạo điều kiện thuận lợi cho ngời sử dụng việc giải mã địa X tal chân để cắm thạch anh dùng cho mạch dao động bên 8250A Trong trờng hợp sử dụng tín hiệu đồng hồ chuẩn từ bên ta đa xung đồng hồ vào chân X tal1 bỏ lửng X tal2 Chân RLSD( receive line signal detect) chân tín hiệu báo tìm thấy sóng mang (CD DCD theo tiêu chuẩn RS232 SYNDET 8251A) tức thiết lập đợc đờng trun − RI( Ring indicator) còng lµ tÝn hiƯu chn RS232C để modem thông báo có xung réo chuông INTRPT tín hiệu để yêu cầu ngắt CPU Các đầu phụ Out1 Out2 dành cho ngời sử dụng ứng dụng không tơng thích với chuẩn RS 232C Chân MS( Master Reset) chỗ nối vào tín hiệu reset hệ thống, có tác dụng xoá tất ghi 8250A trừ ghi đệm thu, ghi đệm phát ghi LSB, MSB cđa sè chia − Tèc ®é truyền tính đợc nhờ vào việc chọn xung đồng hồ vào X tal1 việc chọn số chia tần số này( Để ghi LSB MSB) Ví dụ ta dùng tần số đồng hồ 1.8432 MHz X tal1 ta muốn tốc độ phát 9600 baud ta tìm số chia để ghi vào LSB MSB nh sau: Số chia = Tần số vào/( Tốc ®é ph¸t x 16) = 1.8432.106/(9600*16) = 12 Thái Nguyên 8-2008 CuuDuongThanCong.com 140 https://fb.com/tailieudientucntt Phạm Đức Long Bộ môn CNĐKTĐ Khoa CNTT - ĐHTN BÀI GIẢNG MÔN HỌC VI XỬ LÝ VÀ LẬP TRÌNH HỢP NGỮ Vi m¹ch cã ghi, với nhiều chức DL A 0 1 x x x x x x A2 A1 A0 Chän 0 0 0 1 1 1 1 Thanh ghi đệm thu, Thanh ghi giữ phát(XF8) Thanh ghi cho phép tạo yêu cầu ngắt (IER) XF9 Thanh ghi cho sè chia phÇn thÊp(LSB) Thanh ghi cho số chia phần cao(MSB) Thanh ghi nhận dạng nguồn gốc yêu cầu ngắt Thanh ghi điều khiển đờng dây (LSR – XFB) Thanh ghi ®iỊu khiĨn modem (MCR) Thanh ghi trạng thái đờng dây (LSR XFD) Thanh ghi trạng thái modem Thanh ghi nháp dành cho CPU sử dông 0 0 1 0 1 Trong ứng dụng thu phát thông thờng , sư dơng Topology Point – To – Point None Modem sử dụng dây ghi đợc sử dụng là: - Thanh ghi địa sở XF8 - Thanh ghi LSR địa XFD Ta giới thiệu ghi Thanh ghi địa sở ghi ta nhận liệu đến từ hệ vi xử lý( máy tính) khác phát liệu Vùng đệm có độ lớn byte Đây vùng đệm kép, bao gồm đệm giữ đệm phát: Trong ký tự đợc truyền đệm phát ký tự khác đợc đa từ CPU sang đệm giữ Trong máy tính PC có cổng truyền tin nối tiếp Địa sở c¸c cỉng nh− sau: - COM1: 3F8-3FFh dïng IRQ4 - COM2: 2F8-2FFh dïng IRQ3 - COM3: 3E8-3EFh dïng IRQ4 - COM4: 2E8-2EFh dïng IRQ3 Trong c¸c Mainboard th−êng chØ cã sẵn cổng COM1 COM2 Muốn sử dụng COM3 COM4 ta phải cắm thêm card phối ghép I/O ngoµi Thái Nguyên 8-2008 CuuDuongThanCong.com 141 https://fb.com/tailieudientucntt Phạm Đức Long Bộ môn CNĐKTĐ Khoa CNTT - ĐHTN BÀI GIẢNG MƠN HỌC VI XỬ LÝ VÀ LẬP TRÌNH HỢP NGỮ • Thanh ghi ®iỊu khiĨn ®−êng trun LCR (Line Control Register): Là ghi định khuôn dạng liệu Cú địa ĐCCS +3 D5 D7 D6 D4 D3 D2 D1 D0 D7: Bit DLAB truy nhËp sè chia D7 = truy nhËp sè chia D7 = Truy nhập ghi DCCS DCCS+1 D6: Bit điều khiển gián đoạn =1 Buộc Sout =0 = không hoạt động D5: Đảo parity =1 đảo parity = không hoạt động D4: Chọn tạo kiểm tra parity chẵn D3: Cho phép tạo/kiểm tra parity =1 parity chẵn = cho phÐp =0 parity lỴ = cÊm D2: Sè bit stop D1, D0: Sè bit truyÒn =0 bit 00: =1 1.5 hc 01: 10:7 11:8 Thanh ghi trạng thái đờng truyền LSR( Line Status Register) : có địa = Địa së +5 D¹ng thøc cđa ghi D7 D6 D5 D4 D3 D2 D1 D0 D0: RxDR: Receiver data ready: =1 nhận đợc1 liệu để ghi đệm thu RBR bit bị xoá CPU đọc liệu RBR D1: OR - Lỗi thu đè D2: PE - Lỗi Parity D3: FE - Lỗi khung D4: BI Có gián đoạn truyÒn Thái Nguyên 8-2008 CuuDuongThanCong.com 142 https://fb.com/tailieudientucntt Phạm Đức Long Bộ môn CNĐKTĐ Khoa CNTT - ĐHTN BÀI GIẢNG MƠN HỌC VI XỬ LÝ VÀ LẬP TRÌNH HỢP NGỮ D5: THRE: Transmitter holding register empty( Thanh ghi ph¸t rỗng) = ký tự đợc chuyển từ THR sang TSR bit bị xoá CPU đa ký tù tíi ghi THR D6: TSRE – Thanh ghi dịch phát rỗng D7 Các ghi phục vụ cho ngắt Nguồn gây ngắt 8250A mức u tiên: Có thể cấm cho phép ngắt 8250A ghi ĐCCS +1 bit DLAB =0 Khuôn dạng ghi cho phép ngắt (IER Interrupt enable register) 0 0 MODEM RLINE TxEMPTY RxRDY MODEM = Cho phép thay đổi trạng thái modem gây ngắt RLINE = Cho phép tín hiệu trạng thái báo đờng dây thu gây ngắt TxEMPTY = Cho phép gây ngắt đệm giữ phát rỗng RxRDY = Cho phép gây ngắt đệm thu đầy 8250A có đầu tác động ngắt đến CPU nguồn gây ngắt cần sử dụng ghi nhận dạng nguồn ngắt IIR - Interrupt Indentification Register 0 0 ID1 ID2 ID0 ID0 = Cã yêu cầu ngắt = Không có Tổ hợp ID1 ID2 mã hoá yêu cầu ngắt có mức u tiên cao chờ đợc phục vụ Thỏi Nguyờn 8-2008 CuuDuongThanCong.com 143 https://fb.com/tailieudientucntt Phạm Đức Long Bộ môn CNĐKTĐ Khoa CNTT - ĐHTN ID2 ID1 Mø c BÀI GIẢNG MƠN HỌC VI XỬ LÝ VÀ LẬP TRÌNH HỢP NGỮ Tên loại ngắt 1 Trạng thái đờng thu Đệm thu đầy Đệm giữ phát rỗng 0 Trạng thái modem Nguồn gốc ngắt IDi bị xoá Lỗi khung, thu đè, lỗi parity, gián Đọc LSR đoạn thu Đệm thu đầy Đọc RBR Đọc IIR ghi Đệm giữ phát rỗng THR ∆CTS, ∆DSR, ∆ §äc MSR RI, ∆RLSD ViƯc trun tin qua c¸c cỉng nèi tiÕp cđa m¸y tÝnh PC đợc tiến hành theo cách Dùng kỹ thuật hỏi vòng: - Init cổng : Tên cổng truyền/nhận), tốc độ phát/thu, khuôn dạng gói tin - Test ghi LSR với bit trạng thái tơng ứng để định gửi, nhận liệu theo giao thức ®ã Tèc ®é trun qua cỉng COM sư dơng c¸c vi mạch kế thừa 8250 đợc tính nhờ việc chọn xung đồng hồ X tal1 việc chọn số chia tần số này( để ghi LSB MSB) Ví dụ: đoạn chơng trình khởi đầu cho COM2: mov al, 80h mov dx, 2fbh out dx, al mov al,24 ; tèc ®é 4800 mov dx, 2f8h out dx, al mov al, mov dx, 2f9h out dx, al mov al, 1ah; từ khuôn dạng liệu: Parity ch½n, bit stop, bit m· mov dx, 2fb out dx, al NÕu dïng Pascal: Thái Nguyên 8-2008 CuuDuongThanCong.com 144 https://fb.com/tailieudientucntt Phạm Đức Long Bộ môn CNĐKTĐ Khoa CNTT - ĐHTN BÀI GIẢNG MÔN HỌC VI XỬ LÝ VÀ LẬP TRÌNH HỢP NGỮ (* Chuong trinh doi thu ky tu tu PC khac den 11/14/2000*) uses crt,dos; var kytu:byte; i,j:longint; BEGIN clrscr; port[$3fb]:=$80; port[$3f8]:=12; port[$3f9]:=0; port[$3fb]:=2; i:=1;j:=0; Repeat clrscr; port[$3fd]:= port[$3fd] and $01; if port[$3fd]$01 then { DOI THU } begin gotoxy(30,12);writeln(' Dang doi thu tin hieu '); delay(50); end else { THU KY TU } begin kytu:=port[$3f8]; writeln('Ky tu nhan duoc: ',chr(kytu),' So ky tu thu duoc :',i );delay(10);{port[$3f8]:=$5;} i:=i+1; end; { PHAT TRA LAI } asm @1:mov dx,03fdh in al,dx and al,20h cmp al,20h je @2 Thái Nguyên 8-2008 CuuDuongThanCong.com 145 https://fb.com/tailieudientucntt Phạm Đức Long Bộ mơn CNĐKTĐ Khoa CNTT - ĐHTN BÀI GIẢNG MƠN HỌC VI XỬ LÝ VÀ LẬP TRÌNH HỢP NGỮ jmp @1 @2:mov al,kytu mov dx,3f8h out dx,al end; Until keypressed;{writeln( ' So ky tu nhan sai',j);} END uses crt,dos; const a=$2f8; var kt_phat,kt_thu:byte; begin clrscr; {writeln; writeln; Write(' Dang phat chu U ');} port[a+3]:=$80; port[a]:=12; {9600} port[a+1]:=0; port[a+3]:=2;{none parity, 7} {i:=1;j:=0;} repeat port[a]:=$55;delay(1); Repeat port[$3fd]:= port[$3fd] and $01; until port[$3fd]=$01; kt_thu:=port[$3f8]; writeln(' Thu duoc ',chr(kt_thu)); until keypressed; end Thái Nguyên 8-2008 CuuDuongThanCong.com 146 https://fb.com/tailieudientucntt Phạm Đức Long Bộ môn CNĐKTĐ Khoa CNTT - ĐHTN BÀI GIẢNG MÔN HỌC VI XỬ Lí V LP TRèNH HP NG Dùng ngắt Trình tự chơng trình thu/ phát dùng ngắt + Cấm báo ngắt cứng + Xoá nguồn báo ngăt + Đặt khuôn dạng truyền + Đặt số chia + DLAB=0 + Xoá báo ngắt phát + Xoá báo ngắt nhận + Đặt nguồn ngắt thu hay phát + Bảo vệ ngắt cũ + Thay vectơ ngắt + Cho phép báo ngắt cứng Các lệnh thu hay nhận liệu đợc viết chơng trình dới dạng chơng trình phục vụ ngắt Khi có ngắt (thu hay nhận) chơng trình phục vụ ngắt này thực hiƯn thu hay nhËn d÷ liƯu 4.5 Phèi ghÐp víi thiết bị vào/ra qua cổng song song 4.5.1 Ghép nối song song đơn giản Có nhiều vi mạch tổ hợp cỡ vừa đợc dùng làm cổng phối ghép với vi xử lý để vào/ra liệu Các mạch cổng thờng đợc cấu tạo nên từ mạch chốt bit có đầu trạng thái nh 74373(kích theo mức) 74374 (kích theo sờn) D0 Q0 DQ ° ° G D7 Q7 OC G D0 Q0 ° D7 Q7 ° OC1 OC2 Thái Nguyên 8-2008 CuuDuongThanCong.com 147 https://fb.com/tailieudientucntt Phạm Đức Long Bộ môn CNĐKTĐ Khoa CNTT - ĐHTN BÀI GIẢNG MÔN HỌC VI XỬ LÝ VÀ LẬP TRÌNH HỢP NGỮ 4.5.2 M¹ch phèi ghÐp vào/ra song song lập trình đợc PPI 8255A Mạch 8255A thờng đợc gọi mạch phối ghép vào lập trình đợc(programmable peripheral interface - PPI) Cấu tạo: 8255 có cổng (thanh ghi) đợc lập trình thành vào hay Khi ghép vào hệ vi xử lý, địa cổng PA địa sở (ĐCCS) Địa PB ĐCCS+1 Địa PC ĐCCS+2 Để lập trình cần ®−a tõ ®iỊu khiĨn vµo ghi tõ ®iỊu khiĨn CWR (có địa ĐCCS+3) Các chân Reset, WR, RD, A0, A1, CS Bus néi bé §iỊu khiĨn nhãm A D0 - D7 §Ưm bus D RD WR A0 A1 Reset CS Logic điều khiển ghi/đọc Điều khiÓn nhãm B Nhãm A PA PA0 - PA7 Nhãm A PCH PC4 - PC7 Nhãm B PCL PC0 - PC3 Nhóm B PB PB0 - PB7 Sơ đồ cấu trúc bên 8255A Từ điều khiển 8255A D7 D6 D5 D0: PCL 1=lèi vµo D4: PA 0= lèi D1: PB 1=lèi vµo D5 – D6 0= lèi Mode D4 D3 1=lèi vµo 0= lèi 00= Mode 01= Mode D2 D1 D2: Mode 1= Mode 0= Mode 1=lèi vµo D3: PCH 0= lèi Thái Nguyên 8-2008 CuuDuongThanCong.com D0 148 https://fb.com/tailieudientucntt Phạm Đức Long Bộ môn CNĐKTĐ Khoa CNTT - ĐHTN BÀI GIẢNG MÔN HỌC VI XỬ LÝ VÀ LẬP TRèNH HP NG 1x= Mode Các chế độ làm việc 8255A: + Chế độ 0: "Vào sở": + Chế độ 1: "Vào có xung cho phép" + Chế độ 2: "Vào chiều" + Lập xoá bit PCi VD lập trình 8255A: D7: Mode = Active Đầu thu hồng ngoại Đèn báo hiệu Điều khiển băng tải Cho sơ đồ ghép nối 8255A với máy tính nh sau địa sở 300h Tín hiệu đếm sản phẩm (=1 có sản phẩm) dây chuyền sản xuất đa vào PA0 Đóng cắt dây chuyền PC0 ( = : Dây chuyền dừng lại) Viết chơng trình ®iỊu khiĨn ®Ĩ s¶n xt ®đ 5000 s¶n phÈm dây chuyền dừng lại đèn báo hiệu bật s¸ng (PB0 = 1) Thái Nguyên 8-2008 CuuDuongThanCong.com 149 https://fb.com/tailieudientucntt Phạm Đức Long Bộ môn CNĐKTĐ Khoa CNTT - ĐHTN BÀI GIẢNG MƠN HỌC VI XỬ LÝ VÀ LẬP TRÌNH HỢP NGỮ Ch−¬ng ThiÕt kÕ hƯ thèng vi xư lý 5.1 ThiÕt kÕ phÇn cøng Nhắc lại vi điều khiển 89C51/52 Hệ vi xử lý bao gồm phần cứng + phần mềm Vẽ hình cấu tạo vi điều khiển 51/52 Vẽ hình nguyên lý vi điều khiển 51/52 - Giải thích cổng, chân tín hiệu EA, PSEN, RST, mạch điện kèm theo 5.2 ThiÕt kÕ phần mềm ROM Mapping Thiết kế vùng nhớ cho ROM: + Vùng chứa chơng trình khởi động hệ thống + Chơng trình kiểm tra nhớ, thiết bị ngoại vi + Vùng chứa chơng trình phục vụ ngắt + Vùng chứa bảng chuyển đổi số liệu mã ASCII, mã 7segment + Vùng số hiệu ngày tháng đặc điểm vi mạch ROM RAM Mapping Thiết kế vïng nhí cho RAM: + Vïng chun giao d÷ liƯu truyền tin + Ngăn xếp + Vùng tính toán Khoỏ van AD C KĐ Phôi liệu Ur Loa d ll Hệ vi xử lý đơn giản sử dụng vi điều khiển Thái Nguyên 8-2008 CuuDuongThanCong.com 150 https://fb.com/tailieudientucntt Phạm Đức Long Bộ mơn CNĐKTĐ Khoa CNTT - ĐHTN BÀI GIẢNG MƠN HỌC VI XỬ LÝ VÀ LẬP TRÌNH HỢP NGỮ MAX 232 sử dụng truyền tin nối tiếp Mạch nguồn nuôi Thái Nguyên 8-2008 CuuDuongThanCong.com 151 https://fb.com/tailieudientucntt Phạm Đức Long Bộ mơn CNĐKTĐ Khoa CNTT - ĐHTN BÀI GIẢNG MƠN HỌC VI XỬ LÝ VÀ LẬP TRÌNH HỢP NGỮ 5.3 Thiết kế chơng trình hệ thống Khi thiết kế hệ vi xử lý nhỏ, chơng trình thờng đợc viết nạp ROM Với chơng trình nhë cã thĨ sư dơng ROM vi ®iỊu khiĨn ROM Cũng tơng tự, với ứng dụng nhỏ RAM đáp ứng nhu cầu sử dụng Nếu cần dung lợng lớn ta phải sử dụng RAM 5.4 Thiết kế chơng trình ứng dụng Tuỳ theo yêu cầu cụ thể mà hệ vi xử lý phải đảm nhiệm Các chơng trình còng cã thĨ chØ cÇn chøa ROM nÕu kích thớc nhỏ, ROM có kích thớc lớn Tài liệu tham khảo [1] [2] [3] [4] Văn Thế Minh, K thut vi xử lý, NXBGD, 1997 Đỗ Xuân Tiến, Kỹ thuật vi xử lý lập tr×nh assembly cho hƯ vi xư lý, NXBKHKT, 2001 Ytha yu & charles marut, Lập trình hợp ngữ máy vi tÝnh IBM-PC, NXBGD, 1998 John Uffenbeck, The 80x86 family - Design, Programming, and Interfacing, Prentice Hall, 1998 Thái Nguyên 8-2008 CuuDuongThanCong.com 152 https://fb.com/tailieudientucntt ... GIẢNG MƠN HỌC VI XỬ LÝ VÀ LẬP TRÌNH HỢP NGỮ Ch−¬ng CÁC BỘ VI XỬ LÝ VÀ VI ĐIỀU KHIỂN 3.1 Giíi thiƯu bé vi xư lý bit tỉng qu¸t 3.2 Bé vi xư lý bit (8086/8088) 3.2.1 Sơ đồ khối vi xử lý bit Bus địa... xư lý − Bé vi xư lý lµ thành phần thiếu đợc để xây dựng hƯ thèng tÝnh to¸n, m¸y vi tÝnh Nh−ng bé vi xử lý phải kết hợp với thành phần khác để tạo nên hệ vi xử lý Sơ đồ dới sơ đồ tổng quát hệ vi. .. Bộ mơn CNĐKTĐ Khoa CNTT - ĐHTN BÀI GIẢNG MƠN HỌC VI XỬ LÝ VÀ LẬP TRÌNH HỢP NGỮ Bé gi¶i mã địa giúp ta chọn đợc ô nhớ vi mạch để làm vi c Đầu vào giải mã có n bit địa phân biệt đợc 2n trạng thái

Ngày đăng: 23/12/2019, 13:14

Từ khóa liên quan

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

Tài liệu liên quan