Tài liệu mô tả đầy đủ cách ứng dụng vi điều khiển để chuyển đổi tương tự sang số và số sang tương tự
BỘ GIÁO DỤC VÀ ĐÀO TẠO ĐẠI HỌC QUỐC GIA TP.HCM TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT KHOA ĐIỆN – ĐIỆN TỬ BỘ MÔN ĐIỆN TỬ Đề tài : Đề tài : ỨNG DỤNG KIT 8051 ỨNG DỤNG KIT 8051 DÙNG ĐỂ CHUYỂN ĐỔI A/D & D/A DÙNG ĐỂ CHUYỂN ĐỔI A/D & D/A Sinh viên thực hiện : NGUYỄN VŨ ANH DUY Lớp : 95 KĐĐ Giáo viên hướng dẫn : LÊ THANH ĐẠO TPHCM, tháng 2-2000 LỜI CẢM ƠN Để hoàn thành được luận án này, đầu tiên em xin được gửi lời cám ơn đến Ban Giám Hiệu, các Thầy Cô đặc biệt là Thầy Cô trong bộ môn Điện tử thuộc Khoa Điện – Điện Tử trường Đại Học Sư Phạm Kỹ Thuật TP.HCM, đã tận tình chỉ dạy, truyền đạt kiến thức cũng như tạo điều kiện thuận lợi cho em trong suốt quá trình học tập vừa qua Em xin chân thành cảm ơn Thầy Lê Thanh Đạo đã quan tâm theo dõi, tận tình hướng dẫn và động viên em để thực hiện tốt luận án tốt nghiệp này Ngoài ra em cũng xin gửi lời cảm ơn đến tất cả các bạn bè cùng khóa và người thân chung quanh đã giúp đỡ về vật chất và tinh thần để em đạt được thành tích như ngày hôm nay. MỤC LỤC PHẦN DẪN NHẬP PHẦN I : GIỚI THIỆU TỔNG QUÁT Chương I: Biến đổi tương tự số và số tương tự Trang 1 A. Biến đổi tương tự số 1 I – Tổng quát 1 II – Các kỹ thuật AD 4 III – Giao tiếp phần mềm 11 IV – Giao tiếp phần cứng 11 B. Biến đổi số tương tự 12 I – Tổng quát 12 II – Giao tiếp với vi xử lý 13 Chương II : Giao tiếp ngoại vi 8255 A 14 I – Tổng quát 14 II – Mô tả chi tiết 15 III – Chế độ hoạt động 17 Chương III: Tổng quan về họ vi điều khiển MCS-51 24 I – Cấu trúc 8051 24 II – Sơ lược về các chân 25 III – Cấu trúc cổng xuất nhập 28 IV – Tổ chức bộ nhớ 29 V – Các thanh ghi có chức năng đặc biệt 31 VI – Bộ nhớ ngoài 36 VII – Hoạt động reset 41 Chương IV: Tóm tắt tập lệnh 43 I – Giới thiệu 43 II – Các mode đònh vò 43 Chương V: Giới thiệu về KIT vi điều khiển 8051 53 I- Chức năng của các phím 53 II- Giới thiệu cấu trúc phần cứng kit vi điều khiển 55 PHẦN II: THIẾT KẾ Chương I: Thiết kế phần cứng 60 I – Mạch chuyển đổi AD 60 II – Mạch DA 62 Chương II: Thiết kế phần mềm 68 I – Lưu đồ giải thuật chương trình 68 II – Chương trình 71 PHẦN III: PHỤ LỤC PHẦN DẪN NHẬP I – ĐẶT VẤN ĐỀ: Vào đầu những năm thập niên 60, kỹ thuật số đã đưa vào ứng dụng trong thực tế nhưng ở phạm vi nhỏ. Cho đến ngày hôm nay kỹ thuật số đã được phát triển một cách mạnh mẽ và được ứng dụng vào mọi lãnh vực của cuộc sống. Từ những chiếc máy vi tính (computer), máy CD, máy VDC, truyền hình số … cho đến các băng diã CD đã dần dần thay thế các máy và băng từ tín hiệu tương tự (analog) bởi bộ phân giải rộng, độ chính xác cao và dễ dàng trong quá trình xử lý tín hiệu. Tuy nhiên trong cuộc sống hằng ngày chúng ta lại thường tiếp xúc với những tín hiệu tương tự nhiều hơn. vd: Điện thoại, sóng đài truyền hình, dòng điện sinh hoạt, âm thanh … vì thế phải cần có một sự chuyển đổi từ tín hiệu tương tự (Analog) – số (Digital) để xử lý dữ liệu, sau đó lại chuyển đổi ngược lại từ số (Digital) – tương tự (Analog) để đưa vào điều khiển, khống chế thiết bò. Đó là những lý do để em thực hiện đề tài này. II – MỤC ĐÍCH YÊU CẦU CỦA ĐỀ TÀI Có rất nhiều phương pháp để thực thi việc chuyển đổi A/D và D/A • Sử dụng vi mạch số • Sử dụng vi xử lý • Sử dụng vi điều khiển Với đề tài này em sử dụng vi điều khiển để thực hiện việc chuyển đổi A/D và D/A Mục đích: Chuyển đổi tín hiệu Analog – Digital để xử lý, sau đó chuyển đổi ngược lại từ Digital – Analog để điều khiển, khống chế thiết bò Yêu cầu: Hiểu rõ về kỹ thuật số, các quá trình chuyển đổi A/D và D/A bên trong những vi mạch chuyên dụng (IC ADC 0809 và DAC 0808), nắm vững cách sử dụng kết nối phần cứng và phần mềm của KIT 8051. III – GIỚI HẠN ĐỀ TÀI Do sự chuyển đổi A/D và D/A để điều khiển và xử lý bằng KIT 8051 rất phong phú và đa dạng mà kiến thức của em thì còn rất nhiều hạn chế đặt biệt đối với vi điều khiển 8051 là phần không có trong chương trình giảng dạy của nhà trường, chủ yếu là em tự tìm tòi học hỏi, nghiên cứu là chính. Bên cạnh đó chỉ với thời gian 6 tuần để tìm hiểu, viết luận văn và thi công thì đề tài này em xin được trình bày và thực hiện một quá trình chuyển đổi A/D và D/A cơ bản nhất. Ngày 25 Tháng 02 Năm 2000 Sinh viên thực hiện Nguyễn Vũ Anh Duy PHAÀN I GIÔÙI THIEÄU TOÅNG QUAÙT Chương I BIẾN ĐỔI TƯƠNG TỰ – SỐ VÀ SỐ – TƯƠNG TỰ A – BIẾN ĐỔI TƯƠNG TỰ SỐ (ADC): Biến đổi tương tự – số (analog – digital) là thành phần cần thiết trong việc xử lý thông tin và các cách điều khiển sử dụng phương pháp số. Tín hiệu thực ở Analog. Một hệ thống tiếp nhận dữ liệu phải có các bộ phận giao tiếp Analog – Digital (A/D). Các bộ chuyển đổi tương tự số, viết tắt là ADC thực hiện hai chức năng cơ bản là lượng tử hóa và mã hóa. Lượng tử hóa là gán cho những mã nhò phân cho từng giá trò rời rạc sinh ra trong quá trình lượng tử hóa. I – TỔNG QUÁT 1 – Quan hệ In – Out: Biến đổi AD có tính chất tỉ lệ. Tín hiệu vào Analog được biến đổi thành một phân số X bằng cách so sánh với tín hiệu tham chiếu Vref. Đầu ra của bộ ADC là mã của phân số này. Bất kỳ một sai số tín hiệu Vref nào cũng sẽ dẫn đến sai số mức ra, vì vậy người ta cố gắn giữ cho Vref càng ổn đònh càng tốt. Vref Vin Digital output Hình 2.1 Quan hệ vào ra các khối ADC Nếu bộ ADC xuất mã ra gồm n bit thì số mức ra rời rạc là 2 n . Đối quan hệ tuyến tính, tần vào được lượng tử hóa theo đúng mức này. Mỗi mức như vậy là một tín hiệu Analog được phân biệt với hai mã kế tiếp nhau, nó chính là kích thước của LSB (Least Significant Bit). FS Q=LSB= 2 N Trong đó : Q : Lượng tử LSB : bit có trọng số thấp nhất FS : giá trò toàn thang ADC Tất cả các giá trò Analog của lượng tử Q được biểu diễn bởi mã số, mà mã này tương ứng với giá trò trung bình của lượng tử (có thể hiểu là giữa khoảng LSB) gọi là mức ngưỡng. Các giá trò Analog nằm trong khoảng từ mức ngưỡng sai biệt đi ± ½ LSB vẫn được thể hiện bằng cùng một mãù, đó là sai số lượng tử hóa. Sai số này có thể sẽ giảm đi bằng cách tăng số bit trong mã ra bộ ADC. 2 – Độ phân giải: Là giá trò biến đổi nhỏ nhất của tín hiệu vào ra được yêu cầu để thay đổi mã lên một mức. Độ phân giải được đưa ra với giả thiết lý tưởng. 3 – Độ chính xác: Sự sai biệt giữa các giá trò điện áp tín hiệu vào so với giá trò FS tương đương với mã xuất ra. Thường có ghi trong đặc tính của các bộ ADC thương mại. 4 – ADC: Tùy theo công nghệ chế tạo mà bộ ADC có đầu vào đơn cực hay lưỡng cực, đa số nằm trong khoảng 0…5V hoặc 0…10V đối với đơn cực và -5…+5V hoặc –10V… +10V đối với ADC lưỡng cực. Tín hiệu vào cần phù hợp với tầm vào xác đònh cho từng bộ ADC. Nếu đầu vào không hết thang sẽ tạo mã vô dụng ở đầu ra. Vấn đề này được giải quyết bằng cách chọn tầm đầu vào bộ ADC sau đó chỉnh độ lợi thích hợp cho đầu vào của nguồn Analog. Khi sử dụng bộ ADC đơn cực mà có tín hiệu vào là lưỡng cực trong khoảng ±Vpp thì ta cần phải cộng điện áp vào Vi với một điện áp nền bằng +Vpp, khi đó ta sẽ có Vi nằm trong khoảng 0 +2Vpp; tín hiệu này sẽ được đưa tới đầu vào bộ ADC. Nếu sử dụng ADC lưỡng cực thì không cần cộng tín hiệu và đầu ra ta sẽ nhận được mã lưỡng cực. 5 – Đầu ra bộ ADC: Đa số các ADC có đầu ra 8 Bits, 16 Bits … dù vậy cũng có loại 3½ Digit, mã BCD, 10 Bits, 14 Bits. Đầu các bộ ADC thường là mã nhò phân tự nhiên hoặc có dấu. ADC dùng cho máy đo chỉ thò số đa dụng thường là mã BCD. 5 – Tín hiệu tham chiếu Vr: Vi+ (EOC) End of Convertion Vi - OE (Output Enable) Vr Start Digital Output Clock Hình 2.3 Các ngõ vào, ra chính của bộ ADC Hình vẽ cho thấy đầu vào và đầu ra của bộ ADC. Mọi ADC đều yêu cầu có tín hiệu Vr. Bất kỳ một sai số nào trên Vr đều gây ra lỗi độ lợi ở đặc tính của AD. Vì vậy Vr là tín hiệu đảm bảo độ chính xác và ổn đònh của bộ AD. Dùng IC ổn áp có thể thỏa mãn điều này. 7 – Tín hiệu điều khiển: Mọi bộ ADC đều có tính xung Clock và tín hiệu điều khiển để hoạt động. Thiết bò ngoài giao tiếp với ADC sẽ khởi động quá trình AD bằng cách phát một xung Start vào đầu vào Start của ADC, ADC sẽ nhận biết cạnh lên của xung Start và ngay sau đó nó sẽ kéo đường EOC (End of Conversion) xuống thấp (không tích cực). Lúc này ADC đang thực hiện quá trình biến đổi, tương ứng với mỗi xung Clock đưa vào ADC sẽ thực hiện được một bước biến đổi, sau một bước nhất đònh tùy theo bộ ADC, thì quá trình biến đổi hoàn thành. Khi biến đổi xong, AD sẽ nâng đường EOC lên mức cao, tín hiệu này có thể dùng để kích một ngắt cứng của máy tính (nếu dùng giao tiếp với máy tính). Để đọc được dữ liệu đầu ra của bộ ADC thì phải nâng đường OE (Output Enable) của ADC lên mức cao, sau khi đọc xong thì lại trả đường này về mức thấp. ADC II – CÁC KỸ THUẬT AD: 1 – ADC có Vr dạng nấc thang: Analog Vht Vref input Vi Reference Comparateur Digital output Hình 2.4 Sơ đồ khối AD có Vr dạng nấc thang Counter: Bộ đếm tạo đầu ra cho bộ ADC bằng hoặc lớn hơn giá trò vào Vi. Nó được reset tại mọi thời điểm bắt đầu thực hiện AD và đếm dần lên sau mỗi xung Clock. Cứ mỗi lần đếm bộ DAC lại nâng lên mỗi nấc thang (1 LSB). Bộ so sánh sẽ dùng bộ đếm lại khi điện áp DAC (áp hồi tiếp) đạt tới giá trò vào Vi. Nhược điểm của phương pháp này là Tc (thời gian chuyển đổi) theo mức tín hiệu vào và đôi khi rất lâu. Tc=2ⁿ x T clock đối với bộ DAC n bit khi biến đổi một tín hiệu vào ở mức FS (Full Scale). Một cải tiến của phương này là “tracking” hay “servo” sử dụng bộ đếm thuận nghòch cho phép DAC đưa tín hiệu vào liên tục. Bằng sự khống chế bộ đếm từ bên ngoài tại một điểm nhất đònh ta dùng bộ DAC kiểu tracking như một bộ S & H (Sample and Hold). 2 – ADC thăng bằng liên tục: Sơ đồ khối giống như phương pháp trước, nhưng bộ đếm là bộ đếm thuận nghòch. Về cơ bản cũng giống như phương pháp trên nhưng bộ đếm hoạt động được ở chế độ thuận nghòch. Khi tín hiệu Vht < Vi thì bộ đếm sẽ đếm lên, ngược lại thì bộ đếm sẽ đếm xuống. Quá trình xác lập ghi nhận được khi giá trò Vht dao động xung quanh giá trò Vi. Tc cũng phụ thuộc vào Vi và nhược điểm sai số cũng giống phương pháp trên: sai số động phụ thuộc vào thời gian biến đổi và sai số tónh chủ yếu ở bộ biến đổi DA và bộ so sánh. ControlClock Counte r DAC 3 – Phương pháp biến đổi AD hàm dốc tuyến tính: (Phng pháp tích phân một độ dốc) Về bản chất thực hiện biến đổi trung gian từ điện áp ra khoảng thời gian sau đó đo khoảng thời gian theo phương pháp số. Quá trình biến đổi sẽ xảy ra như sau: Comparator Vi V1 Vs V2 Start Result Hình 2.6 Sơ đồ khối phương pháp ADC hàm dốc tuyến tính Sau thời gian kích khởi, bộ đếm sẽ bắt đầu đếm lên và mạch quét sẽ bắt đầu tạo ra tín hiệu tuyến tính thời gian. Tín hiệu quét và tín hiệu vào Vi được so sánh với nhau, khi hai tín hiệu này bằng nhau thì mạch so sánh sẽ đóng cổng không cho xung tới bộ đếm nữa. Như vậy nội dung của bộ đếm sẽ tỉ lệ với thời gian to, mà to lại tỉ lệ thuận với giá trò Vi nên nội dung bộ đếm tỉ lệ với Vi. Gate Clock Coute r Scan [...]... III TỔNG QUAN VỀ HỌ VI ĐIỀU KHIỂN MCS-51 Họ vi điều khiển Mcs – 51 ra đời từ năm 1980 bởi hãng Intel, với sản phẩm đầu tiên là 8051 Các IC này gọi là vi điều khiển vì chúng bao gồm cả ROM, RAM, timer, các cổng nối tiếp và song song Đây là đặc điểm chính để ta phân biệt giữa vi điều khiển và vi xử lý 8051 không được sử dụng trong máy tính nhưng được sử dụng rộng rãi trong công nghiệp và trong sản phẩm... Phần cứng cho giao tiếp dữ liệu song song hầu hết bao gồm ngõ ra đệm ba trạng thái mà ADC nối với Bus dữ liệu của vi xử lý Đòa chỉ giải mã và tín hiệu điều khiển ghi đọc của cho phép đệm truyền dữ liệu ADC vào µP Giải mã tương ứng và tín hiệu điều khiển của µP tạo thành lệnh bắt đầu cho bộ biến đổi Nó không cần dùng điều khiển R/W riêng biệt, dù sao vi c làm này cho phép đòa chỉ giống nhau cho vi c... ghi điều khiển và các cửa A, B, C ở mode nhận 3 – Điều khiển nhóm A và B: Cấu hình hoạt động của mỗi nhóm được lập trình bởi phần mềm, chủ yếu là CPU xuất phát từ điều khiển đến 8255 Từ điều khiển gồm các thông tin như chế độ (mode), bit set, bit reset, v.v … sẽ khởi động cấu hình hoạt động của 8255 Thanh ghi từ điều khiển chỉ có thể vi t vào mà không đọc ra 4 – Các cửa A, B, C: 8255 gồm 3 cửa A, B và. .. nhau cho vi c gởi lệnh đến ADC và để đọc ngõ ra ADC Các ADC mới hơn có bộ đệm ba trạng thái với mạch điều khiển của chúng Những ADC này có thể nối trực tiếp với Bus dữ liệu của vi xử lý Giao tiếp nhiều thiết bò, thì ta phải cung cấp giải mã và đôi khi phải một vài cổng quản lý tín hiệu điều khiển Giao tiếp với hệ thống µP thì đơn giản bởi vì µP cung cấp đòa chỉ Port trực tiếp và vi c giải mã đòa chỉ là... quả xử lý sẽ được đưa đến mạch DAC để xuất ra dữ liệu dạng tương tự Mạch DAC nhận ở đầu vào một giá trò số nhò phân tự nhiên và xuất ra ở ngõ ra một điện áp dạng tương tự có giá trò tỉ lệ với giá trò ngõ vào I – TỔNG QUÁT: 1 – Quan hệ vào ra: Vref V0 (I0) DAC Digital input Hình 2.15 Quan hệ vào ra bộ DAC Biến đổi DA có tính chất tỉ lệ Tín hiệu vào Digital N được biến đổi thành một điện áp (hoặc dòng... các bộ DAC có đầu vào 8 Bits, 10 Bits, 12 Bits, 16 Bits … Đầu vào các bộ DAC thường là các mã nhò phân tự nhiên hoặc có dấu Nếu mã đầu vào đầu vào có dấu thì tín hiệu tham chiếu Vref phải là tín hiệu lưỡng cực Bộ DAC sẽ liên tục biến đổi số ở ngõ vào thành giá trò tương tự ở ngõ ra, thời gian cho một lần biến đổi như vậy tùy theo bộ DAC Vì vậy để đảm bảo chính xác, người ta mắc thêm ở ngõ vào bộ DAC một... được dùng trong kỹ thuật biến đổi AD tốc độ cao – trung bình Nó cũng dùng một bộ DAC bên trong để tạo ra một điện áp bằng mức vào và của tín hiệu sau đúng bằng n chu kỳ xung Clock cho trường hợp ADC n bit Phương pháp này cho phép rút ngắn Tc rất nhiều và không phụ thuộc vào tín hiệu vào Vi Kỹ thuật này phụ thuộc vào sự xấp xỉ tín hiệu vào với mã nhò phân, sau đó thay đổi các bit trong mã này một cách... và mode 0 (in) : từ điều khiển : 11 XXX 01 1/0 Mode 2 và mode 1 (out) : từ điều khiển : 11 XXX 01 1/0 Mode 2 và mode 1 (in) : từ điều khiển : 11 XXX 00 X Mode 2 và mode 0 (in) : từ điều khiển : 11 XXX 10 X Sự kết hợp các mode đặc biệt: Có một số tổ hợp các mode mà không phải tất cả cửa C đều dùng làm điều khiển hay trạng thái, các bit còn lại được dùng như sau: Nếu lập trình là ngõ vào: Các bit ở phần... có tác động nhanh hơn nhiều, hầu hết các bộ vi xử lý cho phép DMA thực hiện đầy đủ bằng cách cấp điều khiển của Bus hệ thống cho khoảng đònh trước Điều khiển DMA lấy đòa chỉ yêu cầu và tín hiệu điều khiển Tại cuối khoảng, điều khiển Bus quay lại vi xử lý Truyền dữ liệu hoàn toàn có thể lấy nhiều chu kỳ DMA để thi hành IV – GIAO TIẾP PHẦN CỨNG: Thiết kế phần cứng theo mô hình dữ liệu song song hay nối... giữa bộ biến đổi với thiết bò cảm biến, một yêu cầu quan trọng trong các trạm kiểm soát và điều khiển các hệ thống điện cao áp Thực tế, kỹ thuật này phụ thuộc vào các vi mạch VFC thông dụng, rẻ tiền, có chất lượng tốt (tuyến tính và ổn đònh) 7 – ADC song song: Vr Vi R Encode r R R 2 Digital output 2n-1 Comparator Hình 2.14 Sơ đồ khối AD song song Được dùng trong kỹ thuật cần biến đổi AD tốc độ cao,