Trường ĐH SPKT Luận văn tốt nghiệp GVHD: Nguyễn Đình Phú SVTH: Nguyễn Trung Dũng cao nằm trong khoảng – 3V và – 12V và mức thấp nằm trong khoảng từ + 3Vvà +12V . Trạng thái tónh trên đường dẫn có mức điện áp – 12V. Bằng tốc độ baud ta thiết lập tốc độ truyền dữ liệu các giá trò thông thường là 300, 600, 1200, 2400, 4800, 9600, và 19200 baud, Ký hiệu baud là số lượng bit truyền trong 1s. Còn một vấn đề nữa là khuôn mẫu (Format) truyền dữ laệu cần phải được thiết lập như nhau cả bên gửi cũng như bên nhận các thông số truyền có thể được thiết lập trên máy tính PC bằng các câu lệnh trên DOS. Ngày nay Windows cũng có các chương trình riêng để sử dụng, khi đó các thông số truyền dữ liệu như: tốc độ baud, số bit dữ liệu, số bit dừng, bit chẵn lẻ (parity) có thể được thiết lập một cách rất đơn giản. 2. SỰ TRAO ĐỔI CỦA CÁC ĐƯỜNG TÍN HIỆU: Cũng như ở cổng máy in, các đường dẫn tín hiệu riêng biệt cũng cho phép trao đổi qua lại các đòa chỉ trong máy tính PC. trong trường hợp này người ta thường sử dụng những vi mạch có độ tích hợp cao để có thể hợp nhất nhiều chức năng trên 1 chip. Ở máy tính PC thường có một bộ phát/nhận không đồng bộ vạn năng gọi tắt là UART: Universal Asynchronous Receiver/Transmister. Để điều khiển sự trao đổi thông tin giữa máy tính và các thiết bò ngoại vi. phổ biến nhất là vi mạch 8250 của hãng NSC hoặc các thiết bò tiếp theo, chẳng hạn như 16C550. Bộ AURT này có 10 thanh ghi để điều khiển tất cả chức năng của việc nhập vào, xuất ra dữ liệu theo cách nối tiếp liên quan đến nội dung của phần này chỉ đề cập đến `ai điều đáng quan tâm đó là: thanh ghi điều khiển modem và thanh ghi trạng thái modem. a. Thanh ghi điều khiển modem: D7 D6 D5 D4 D3 D2 D1 D0 0 0 0 LOOP OUT2 UOT1 RTS DTR D0 =1 đưa /DTR =0 D0 =0 đưa /DTR =1 D1 =1 đưa /RTS =0 D1 =0 đưa /RTS =1 OUT1 và OUT2 điều khiển đầu ra phụ b)Thanh ghi trạng thái modem: (đòa chỉ cơ bản +6) RLSD RI DSR CTS RLSD RI DSR CTR 1 nếu RI có biến đổi 1: nếu có sự thay đổ các tín hiệu tương ứng Có các giá trò của các bít out 2 out 1 , DTR, RTS, trong MCR khi bit LOOP = 1 Click to buy NOW! P D F - X C h a n g e V i e w e r w w w . d o c u - t r a c k . c o m Click to buy NOW! P D F - X C h a n g e V i e w e r w w w . d o c u - t r a c k . c o m . . Trường ĐH SPKT Luận văn tốt nghiệp GVHD: Nguyễn Đình Phú SVTH: Nguyễn Trung Dũng Lại cũng giống như ở cổng ghép nối với máy in, các Thanh ghi được trao đổi qua ô nhớ trong vùng vào/ra (input/output). Đòa chỉ đầu tiên có thể tới được của cổng nối tiếp gọi là đòa chỉ cơ bản (basic Address) các đòa chỉ của các thanh ghi tiếp theo được đạt tới bằng việc cộng thêm số thanh ghi đã gặp của bộ UART vào đòa chỉ cơ bản. Đòa chỉ cơ bản của cổng nối tiếp của máy tính PC được tóm tắt trong bảng sau: CỔNG ĐỊA CHỈ CƠ BẢN COM 1 COM 2 COM 3 COM 4 3F8H 2F8H 3E8H 2E8H Click to buy NOW! P D F - X C h a n g e V i e w e r w w w . d o c u - t r a c k . c o m Click to buy NOW! P D F - X C h a n g e V i e w e r w w w . d o c u - t r a c k . c o m . . Trường ĐH SPKT Luận văn tốt nghiệp GVHD: Nguyễn Đình Phú SVTH: Nguyễn Trung Dũng CHƯƠNG IV: GIỚI THIỆU HỆ THỐNG KIT VI XỬ LÝ 8085 I. GIỚI THIỆU CẤU TRÚC PHẦN CỨNG KIT VI XỬ LÝ 8085: 1. Tần số làm việc: + Vi xử lý 8085 của Intel với tần số hoạt động 6MHz. + Các chương trình về thời gian được viết tương ứng tại đòa c`ỉ này. 2. Tổ chức bộ nhớ: a. Bộ nhớ EPROM: Có dung lượng 16kbyte sử dụng 2 EPROM 2764, chương trình hệ thống chứa ở EPROM thứ nhất, EPROM thứ 2 chưa sử dụng được thiết kế ở dạng socket. Socket của EPROM thứ 2 có thể sử dụng được cho EPROM có dung lượng 2 kbyte, 4kbyte, 8kbyte và có thể sử dụng cho bộ nhớ RAM có dung lượng 8kbyte bằng cách chuyển đổi các Jump trên mainboard. + EPROM 1 có đòa chỉ từ 0000h – 1FFFh. + EPROM 2 có đòa chỉ từ 2000h – 3FFFh. Cách sử dụng các Jump trên main: + Khi sử dụng EPROM có dung lượng 2kbyte (IC 2716): hãy kết nối chân số 2 và chân số 3 của Jump 1. Vùng đòa chỉ của EPROM là 2000h – 27FFh. + Khi sử dụng EPROM có dung lượng 4kbyte (IC 2732): hãy kết nối chân số 2 và chân số 1 của Jump 1. Vùng đòa chỉ của EPROM là 2000h – 2FFFh. + Khi sử dụng EPROM có dung 8kbyte ( IC 2764): hãy kết nối chân số 2 và chân số 1 của Jump 1, kết nối chân số 2 và chân số 3 của Jump 2. Vùng đòa chỉ của EPROM là 2000h – 3FFFh. + Khi sử dụng RAM có dung lượng 8kbyte (IC 6264): hãy kết nối chân số 2 và chân số 1 của Jump 1, kết nối chân số 2 và chân số 1 của Jump 2. Vùng đòa chỉ của RAM là 2000h –3FFFh. b. Bộ nhớ RAM: Bộ nhớ RAM có dung lượng 16kbyte sử dụng 2 IC 6264. + RAM 1 có đòa chỉ từ 6000h – 7FFFh. +ø RAM 2 có đòa chỉ từ 8000h – 9FFFh. + Các vùng nhớ RAM đã sử dụng có đòa chỉ là 87F8h đến 87FFh. Chương trình có thể sữ dụng toàn bộ các vùng nhớ RAM còn lại. 3. Các IC ngoại vi: Trong hệ thống có sử dụng 3 IC 8255A dùng để giao tiếp với thiết bò ngoại vi Bảng đồ ô nhớ của 3 IC 8255: Đòa chỉ của các port 8255 - 1 8255 - 2 8255 - 3 Port A 00H 10H 20H Port B 01H 11H 21H Port C 02H 12H 22H Thanh ghi điều khiển 03H 13H 23H Click to buy NOW! P D F - X C h a n g e V i e w e r w w w . d o c u - t r a c k . c o m Click to buy NOW! P D F - X C h a n g e V i e w e r w w w . d o c u - t r a c k . c o m . . Trường ĐH SPKT Luận văn tốt nghiệp GVHD: Nguyễn Đình Phú SVTH: Nguyễn Trung Dũng a p g f e d b c + IC 8255 –3 dùng để quét bàn phím cho hệ thống máy. + Các ngõ ra của IC 8255 –1, 8255-2 được đưa ra bên ngoài bằng connect 64 chân có sơ đồ chân tra ở bảng tra. Mỗi IC 8255 có 3 port, mỗi port có 8 chân điều khiển nên số chân đưa ra bên ngoài để điều khiển là 48. 4. Khối giải mã hiển thò sử dụng IC 8279: Gồm có 8 led với thứ tự led 1 tới led 8 theo hướng từ phải sang trái như hình 4.2. LED8 LED7 LED6 LED5 LED4 LED3 LED2 LED1 Vùng đòa chỉ sử dụng của IC 8279 là A000H-A001H, trong đó: + Đòa chỉ A000H là đại chỉ dùng để gửi dữ liệu cần hiển thò. + Đòa chỉ A001H là đòa chỉ dùng để gởi từ điều khiển ra IC 8279. a. Cấu trúc byte dữ liệu của led: dp g f e d c b a Hệ thống sử dụng led loại Anode chung nên muốn đoạn nào sáng thì bit dữ liệu tương ứng với đoạn đó bằng 1. Đoạn nào tắt thì bit tương ứng với đoạn đó bằng 0. Ví dụ muốn sáng số "9" thì byte dữ liệu gửi ra led là: 0 1 1 0 1 1 1 1 Tương ứng với số HEX là 6FH. Sau đây là mã 7 đoạn của một số chữ số và chữ cái: P g f e d c b a Hex Số 0 0 0 1 1 1 1 1 1 3F Số 1 0 0 0 0 0 1 1 0 06 Số 2 0 1 0 1 1 0 1 1 5B Số 3 0 1 0 0 1 1 1 1 4F Số 4 0 1 1 0 0 1 1 0 66 Số 5 0 1 1 0 1 1 0 1 6D Số 6 0 1 1 1 1 1 0 1 7D Số 7 0 0 0 0 0 1 1 1 07 Số 8 0 1 1 1 1 1 1 1 7F Số 9 0 1 1 0 1 1 1 1 6F Hì nh 4.2 Click to buy NOW! P D F - X C h a n g e V i e w e r w w w . d o c u - t r a c k . c o m Click to buy NOW! P D F - X C h a n g e V i e w e r w w w . d o c u - t r a c k . c o m . . Trường ĐH SPKT Luận văn tốt nghiệp GVHD: Nguyễn Đình Phú SVTH: Nguyễn Trung Dũng Chữ A 0 1 1 1 0 1 1 1 77 Chữ B 0 1 1 1 1 1 0 0 7C Chữ C 0 0 1 1 1 0 0 1 39 Chữ D 0 1 0 1 1 1 1 0 5E Chữ E 0 1 1 1 1 0 0 1 79 Chữ F 0 1 1 1 0 0 0 1 71 Chữ P 0 1 1 1 0 0 1 1 73 Chữ H 0 1 1 1 0 1 1 0 76 Chữ U 0 0 1 1 1 1 1 0 3E Có thể tìm các mã tương ứng còn lại. b. Có 2 cách hiển thò dữ liệu các led: + Cách 1: khi gửi dữ liệu mới ra đòa chỉ A000H thì dữ liệu này sữ hiển thò ở led 1, dữ liệu trước đó của led sẽ dòch sang trái theo chiều mũi tên trong hình 3. Riêng byte dữ liệu trước của led 8 sẽ dòch mất đi. Mũi tên nằm ngang chỉ chiều nhận dữ liệu từ vi xử lý đưa đến led 1, các mũi tên vòng cung chỉ dòch chuyển dữ liệu. Nếu muốn xoá hết màn hình 8 led thì gởi 8 byte 00 liên tiếp ra A000h. + Cách 2: Kiểu gởi dữ liệu ở cách 1 còn được gọi là kiểu dòch chuyển dữ liệu tuần tự. Bên cạnh đó 8279 còn cho phép gởi dữ liệu trực tiếp đến bất kỳ led nào trong 8 led, tổ chức của led không có gì thay đay đổi đòa chỉ gởi dữ liệu vẫn là A000H nhưng mổi led còn có thêm một đòa chỉ điều khiển như trong hình 4.4. đòa chỉ của led phải gởi ra đòa chỉ A001H trước khi gởi dữ liệu ra đòa chỉ A000H. LED8 LED7 LED6 LED5 LED4 LED3 LED2 LED1 Hình 4.3 Click to buy NOW! P D F - X C h a n g e V i e w e r w w w . d o c u - t r a c k . c o m Click to buy NOW! P D F - X C h a n g e V i e w e r w w w . d o c u - t r a c k . c o m . . Trường ĐH SPKT Luận văn tốt nghiệp GVHD: Nguyễn Đình Phú SVTH: Nguyễn Trung Dũng 5. Khối giải mã bàn phím dùng 8255: Chương trình con giải mã bàn phím được viết tại đòa chỉ 0223H, sử dung các thanh ghi B, D, E, A, khi gọi chương trình con 0223H: + Nếu không ấn phím thì sau khi thực hiện xong chương trình sẽ trở về chương trình chính với nội dung thanh ghi A = FFH. + Nếu có ấn phím thì mã của phím ấ chứa trong A. Chương trình nầy nếu có ấn phím hoặc không có ấn phím điều trở về sau khi thực hiện xong và phải cất dữ liệu trong các thanh ghi khi gọi chương trình con này. Bảng mã các phím số: LED8 LED7 LED6 LED5 LED4 LED3 LED2 LED1 Hình 4.3 80H 81H 82H 83H 84H 85H 86H 87H Phím Mã 0 00 1 01 2 02 3 03 Phím Mã 4 04 5 05 6 06 7 07 Phím Mã C 0C D 0D E 0E F 0F Phím Mã 8 08 9 09 A 0A B 0B Bảng mã c ác phím số: Bảng mã các phím chức năng: Phím Mã T 10 G 11 R 12 13 Phím Mã S 14 15 P 16 K 17 Click to buy NOW! P D F - X C h a n g e V i e w e r w w w . d o c u - t r a c k . c o m Click to buy NOW! P D F - X C h a n g e V i e w e r w w w . d o c u - t r a c k . c o m . . Trường ĐH SPKT Luận văn tốt nghiệp GVHD: Nguyễn Đình Phú SVTH: Nguyễn Trung Dũng CHƯƠNG V: GIAO TIẾP NỐI TIẾP DÙNG VI MẠCH 8251 I. TRUYỀN THÔNG TIN NỐI TIẾP Việc truyền thông tin giữa các bộ phận nằm gần nhau trong hệ vi xử lý có thể được thực hiện thông qua bus song song mở rộng hoặc các mạch phối ghép song song. Trong đó các byte hoặc các từ được chuyển từ bộ phận này sang bộ phận khác trên một tập các đường mạch in hoặc dây cáp. Trong trường hợp cần phải truyền thông tin ở các thiết bò cách xa nhau làm sao tiết kiệm được số đường dây dẫn cần thiết cho việc truyền. Từ yêu cầu trên đã ra đời phương pháp truyền thông tin nối tiếp. Ở đầu phát dữ liệu song song đầu tiên được chuyển thành dữ liêu dạng nối tiếp sau đó được truyền đi liên tiếp trên một đường dây. Ở đầu thu, tín hiệu nối tiếp sẽ được biến đổi ngược lại để tái tạo tín hiệu dạng song song t`ích hợp cho việc xử lý tiếp theo. Trong thực tế có 2 phương pháp truyền thông tin kiểu nối tiếp: truyền đồng bộ và truyền không đồng bộ. Trong phương pháp truyền đồng bộ, dữ liệu được truyền theo từng mảng với tốc độ xác đònh. Mảng dữ liệu trước khi được truyền đi sẽ được gắn thêm ở đầu và ở cuối mảng các byte hoặc một nhóm bit đònh dấu đặc biệt. Ở hình 5.1 biểu diễn một bản tin để truyền đồng bộ theo giao thức BISYNC (giao thức truyền thông tin hệ 2 đồng bộ, binary synchronous communication protocal) đây thực chất là giao thức điều khiển theo byte, vì các byte (ký tự) đặc biệt được dùng để đánh dấu các phần khác nhau của bản tin. Trong cách truyền không đồng bộ, dữ liệu được truyền đi theo từng ký tư. Ký tự cần truyền đi được gắn thêm một bit đánh dấu ở đầu để báo bắt đấu ký tự (start) và 1 hoặc 2 bit đánh dấu cuối để báo kết thúc ký tự (stop)ï. Vì cuối ký tự được fhận dạng riêng biệt nên nó có thể được truyền đi theo phương pháp không đồng bộ, được thể hiện trên hình 5.1. SYN SYN SOH STX TEXT ETX hay ETB BCC HEADER SYN : Ký tự đồng bộ SOH : Ký tự bắt đầu phần mào đầu HEADER : Phần mào đầu STX : Ký tự bắt đầu văn bản TEXT :Thân văn băn ETX : Ký tự kết thúc văn bản ETB : Ký tự kết thúc văn bản BCC : Ký tự kiểm tra khối HÌNH 5.1 Click to buy NOW! P D F - X C h a n g e V i e w e r w w w . d o c u - t r a c k . c o m Click to buy NOW! P D F - X C h a n g e V i e w e r w w w . d o c u - t r a c k . c o m . . Trường ĐH SPKT Luận văn tốt nghiệp GVHD: Nguyễn Đình Phú SVTH: Nguyễn Trung Dũng Tuỳ theo loại mã được chọn dùng trong khi truyền (Baudot, Ascii,… ) độ dài cho mã ký tự có thể là 5 , 6 , 7, 8 bit. Tuỳ theo hệ thống truyền tin, bên cạnh các bit dữ liệu còn có thể tuỳ chọn có hay không có 1 bit parity để kiểm tra lỗi khi truyền có thể tuỳ chọn 1 hoăc 2 bit stop, nhưng bắt buộc phải có một bit start. Như vậy để truyền một ký tự theo phương pháp không đồng bộ, ngoài ký tự mang tin ta buộc phải truyền thêm ít nhất 2 và nhiều nhất là 4 bit phụ để tạo ra khung cho ký tự đó, vì thế phương pháp nầy tuy đơn giản nhưng có hiệu suất không cao. Tốc độ truyền dữ liệu theo phương pháp nối tiếp được đo bằng bit/s. Ngoài ra người ta cũng hay dùng đơn vò baud, đó là giá trò ngòch đảo của thời gian giữa các lần thay đổi mức tín hiệu, với dữ liệu chỉ có hai mức (0 và 1)ø và mỗi thay đổi mức tín hiệu chỉ mã hóa một bit thì có thể hiểu baud = bit/s, các tốc độ truyền thường gặp trong thực tế là 11, 300, 600, 1200, 2400, 4800, 9600, 19200 baud. Để tạo điều kiện dể dàng cho việc phối ghép đường truyền nối tiếp với hệ vi xử lý và để giảm tối đa các mạch phụ thêm ở bên ngoài người ta đã chế tạo ra các vi mạch tổ hợp cỡ lớn lập trình được có khả năng hoàn thành phần lớn các công việc cần thiết trong khi phối ghép. Đó là các mạch thu phát di bộ vạn năng IN8250/16450 của National và mạch thu phát đồng bộ – dò bộ vạn năng 8251 của Intel. II. VI MẠCH USART 8251: Trong phần này ta sẽ giới thiệu mạch 8251A đó là vi mạch USART có thể dùng cho cả hai kiểu truyền thông tin nối tiếp đồng bộ, dò bộ. Sơ đồ chân và sơ đồ thanh ghi được trình bày ở hình 5.3 1. Sơ đồ chân và sơ đồ khối a. nhóm tín hiệu ghép nối với vi xử lý gồm: - /CS nối với bộ giải mã đòa chỉ A1 An để chọn 2 thanh ghi. (A0 = 1điều khiển trạng thái, A0 = 0 đệm số liệu). - C/D nối với đường dây đòa chỉ A0 để một trong 2 cặp thanh ghi trên. - /WR nối với chân /WR của vi xử lý. - /RD nối với chân /RD của vi xử lý. - CLK nối với đường dây CLK của vi xử lý. Chiều của dòng ký tự Luôn ở mức cao Luôn ở mức thấp Start D0 D1 D2 D3 D4 D5 D6 Parity Stop Stop Mã của ký tự cần truyền HÌNH 5.2 : Khung của một ký tự để truyền không đồng bộ . . Trường ĐH SPKT Luận văn tốt nghiệp GVHD: Nguyễn Đình Phú SVTH: Nguyễn Trung Dũng - Reset nối với đường dây reset của vi xử lý. - D0 … D7 nối với các đường dẫn D0…D7 của VXL. b. Nhóm tín hiệu ghép nối vối Modem - /DTR - /DSR - /RTS - /CTS c. Nhóm tín hiệu gép nối với đường dây truyền – nhận và KGN: - TxEMTY thanh ghi đệm truyền rỗng. - TxR cho số liệu truyền. - TxRDy báo số liệu truyền đã sẵn sàng. - RxRDy báo số liệu nhận đã sẵn sàng. - Syn det/Break : chỉ đồng bộ/đứt dòng tin. d. Nhóm tín hiệu ghép nối với máy phát xung nhòp. - TxD : nhòp truyền. - RxC : nhòp nhận. . . Trường ĐH SPKT Luận văn tốt nghiệp GVHD: Nguyễn Đình Phú SVTH: Nguyễn Trung Dũng 1 2 3 4 5 6 7 8 9 10 11 12 13 14 28 27 26 25 24 23 22 21 20 19 18 17 16 15 8251A D1 D0 Vcc /RxC /DTR /RTS /DSR Reset CLK TxD TxEMPTY /CTS Syndet/BR TxRDY D2 D3 RxD GND D4 D5 D6 D7 /TxC /WR /CS C/D /RD RxRDY /CS /RD /WR C/D D0 D1 D2 D3 D4 D5 D6 D7 CLK RST RxRDY TxRDY TxEMTy Vcc GND /DS R /DTR /CTS /RTS Syn/BRK TxC RxC Thanh ghi truyền Thanh ghi đệm truyền Thanh ghi nhận Thanh ghi đệm nhận Thanh ghi chế độ Thanh ghi lệnh Thanh ghi trạng thái TxD RxD Hình 5.3 : Sơ đồ chân (a) và các thanh ghi (b) của 8251A (a) (b) /CS chíp chọn vi mạch /RD read – đọc /WR write – viết C/D control/data - điều khiển số liệu CLK – clock – nhòp D0 D7 data O/I – bus dữ liệu vào ra /TxC – transmit clock - nhòp truyền RxC – receiver clock RST – reset /DTR dada terminal ready /DSR – data set ready /RTS request to send /CTS clear to send TxD – transmit data RxD – receiver data TxRDy – transmit ready RxRDy – receiver ready TxEMTY – transmist register empty Syn/BRK- Break detect . . . XỬ LÝ 8085 I. GIỚI THIỆU CẤU TRÚC PHẦN CỨNG KIT VI XỬ LÝ 8085: 1. Tần số làm việc: + Vi xử lý 8085 của Intel với tần số hoạt động 6MHz. + Các chương trình về thời gian được viết tương ứng. chân số 3 của Jump 2. Vùng đòa chỉ của EPROM là 2000h – 3FFFh. + Khi sử dụng RAM có dung lượng 8kbyte (IC 6264): hãy kết nối chân số 2 và chân số 1 của Jump 1, kết nối chân số 2 và chân số 1 của. 3FFFh. Cách sử dụng các Jump trên main: + Khi sử dụng EPROM có dung lượng 2kbyte (IC 2716): hãy kết nối chân số 2 và chân số 3 của Jump 1. Vùng đòa chỉ của EPROM là 2000h – 27FFh. + Khi sử dụng