Đề tài Thiết kế hệ thống tự động đo, điều khiển và hiển thị nhiệt độ khí sấy nông sản dạng hạt sử dụng vi điều khiển họ 8051

Tài liệu Đề tài Thiết kế hệ thống tự động đo, điều khiển và hiển thị nhiệt độ khí sấy nông sản dạng hạt sử dụng vi điều khiển họ 8051: Mở đầu N−ớc ta thuộc nhóm các n−ớc đang phát triển với một nền kinh tế nông nghiệp truyền thống. Qua nhiều thập niên trở lại đây nền nông nghiệp của Việt Nam ngày càng phát triển vững mạnh. Hiện nay, khi nền kinh tế thế giới đang chuyển mạnh sang các ngành công nghiệp, dịch vụ... thì Việt Nam nông nghiệp vẫn là một ngành có đóng góp đáng kể vào tổng thu nhập quốc dân. Chính vì vậy mà Đảng và Nhà n−ớc luôn coi trọng công cuộc công nghiệp hoá, hiện đại hoá sản xuất nông nghiệp nông thôn, nhờ đó mà ngành nông nghiệp đã có những b−ớc phát triển v−ợt bậc, sản l−ợng thu hoạch từ các loại nông sản qua các mùa vụ ngày càng đ−ợc nâng cao. Sản xuất nông nghiệp tăng, đòi hỏi công nghệ sau thu hoạch phải phát triển mạnh để có thể bảo quản tốt sản phẩm làm ra. Hầu hết các sản phẩm nông nghiệp dạng hạt nh− lúa, ngô, đậu, vừng... sau khi thu hoạch thì cần sấy khô kịp thời tránh h− hỏng do nấm mốc, mối, mọt đồng thời đáp ứng yêu cầu cho quá trình chế biến tiếp theo. Tr−ớc...

pdf100 trang | Chia sẻ: hunglv | Lượt xem: 1548 | Lượt tải: 5download
Bạn đang xem trước 20 trang mẫu tài liệu Đề tài Thiết kế hệ thống tự động đo, điều khiển và hiển thị nhiệt độ khí sấy nông sản dạng hạt sử dụng vi điều khiển họ 8051, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Mở đầu N−ớc ta thuộc nhóm các n−ớc đang phát triển với một nền kinh tế nông nghiệp truyền thống. Qua nhiều thập niên trở lại đây nền nông nghiệp của Việt Nam ngày càng phát triển vững mạnh. Hiện nay, khi nền kinh tế thế giới đang chuyển mạnh sang các ngành công nghiệp, dịch vụ... thì Việt Nam nông nghiệp vẫn là một ngành có đóng góp đáng kể vào tổng thu nhập quốc dân. Chính vì vậy mà Đảng và Nhà n−ớc luôn coi trọng công cuộc công nghiệp hoá, hiện đại hoá sản xuất nông nghiệp nông thôn, nhờ đó mà ngành nông nghiệp đã có những b−ớc phát triển v−ợt bậc, sản l−ợng thu hoạch từ các loại nông sản qua các mùa vụ ngày càng đ−ợc nâng cao. Sản xuất nông nghiệp tăng, đòi hỏi công nghệ sau thu hoạch phải phát triển mạnh để có thể bảo quản tốt sản phẩm làm ra. Hầu hết các sản phẩm nông nghiệp dạng hạt nh− lúa, ngô, đậu, vừng... sau khi thu hoạch thì cần sấy khô kịp thời tránh h− hỏng do nấm mốc, mối, mọt đồng thời đáp ứng yêu cầu cho quá trình chế biến tiếp theo. Tr−ớc đây các sản phẩm nông nghiệp dạng hạt sau khi thu hoạch về đều đ−ợc làm khô bằng ph−ơng pháp phơi nắng. Nh−ng ph−ơng pháp đó chỉ hiệu quả khi mùa thu hoạch là mùa khô, còn khi thu hoạch về mà thời tiết cứ m−a liên tục kéo dài thì sản phẩm sẽ không đ−ợc phơi khô dẫn đến nảy mầm và ảnh h−ởng rất lớn đến chất l−ợng sản phẩm. Vì vậy có một ph−ơng pháp khác đã ra đời để làm khô sản phẩm kịp thời trong mọi tình hình thời tiết đó là ph−ơng pháp sấy. Hiện nay trên thế giới đã có rất nhiều loại thiết bị sấy hiện đại, có công suất lớn nh−ng giá thành lại quá cao và đòi hỏi kỹ thuật vận hành phức tạp nên không thể đ−a các loại máy đó vào cho sản xuất nông nghiệp n−ớc ta. Trên thị tr−ờng n−ớc ta hiện nay cũng đã xuất hiện các thiết bị sấy, nh−ng các thiết bị này cồng kềnh, nhiệt độ sấy không ổn định đồng thời không thể tự động thay đổi đ−ợc nhiệt độ sấy khi cần thiết vì mỗi một loại hạt ta cần chọn nhiệt độ sấy thích hợp nhằm đạt năng suất cao, chất l−ợng tốt và tiết kiệm năng l−ợng. Đặc biệt là nông sản dạng hạt mà làm hạt giống thì yêu cầu về độ ổn định nhiệt độ càng cao trong suốt quá trình sấy. Mặt khác để dễ dàng cho ng−ời sử dụng trong việc theo dõi nhiệt độ sấy cũng nh− thay đổi nhiệt độ sấy thì nhiệt độ sấy và nhiệt độ đặt cần phải đ−ợc hiển thị. Ngoài ra hệ thống sấy còn phải có giá thành rẻ mới phù hợp với nền kinh tế nông nghiệp n−ớc ta hiện nay. Nắm bắt đ−ợc yêu cầu đó chúng tôi tiến hành nghiên cứu và phát triển đề tài: “Thiết kế hệ thống tự động đo, điều khiển và hiển thị nhiệt độ khí sấy nông sản dạng hạt sử dụng vi điều khiển họ 8051”. Đề tài gồm sáu ch−ơng: Ch−ơng 1: Tổng quan chung về sấy nông sản dạng hạt. Ch−ơng 2: Họ vi điều khiển 8051. Ch−ơng 3: Thiết kế hệ thống tự động điều khiển nhiệt độ khí sấy, đo và hiển thị trên LCD sử dụng vi điều khiển AT89C52. Ch−ơng 4: Tổng hợp hệ thống điều chỉnh nhiệt độ khí sấy. Ch−ơng 5: Phần lập trình. Ch−ơng 6: Kết luận và đề nghị. Ch−ơng 1 Tổng quan chung về sấy nông sản dạng hạt 1.1. Công nghệ sấy nông sản dạng hạt 1.1.1 Cơ sở vật lý của quá trình sấy. Sấy là quá trình n−ớc từ vật liệu ẩm khuếch tán, bốc hơi ra không khí xung quanh nó. Quá trình này đ−ợc thực hiện do sự chênh lệch áp suất hơi n−ớc ở bề mặt của vật liệu và môi tr−ờng xung quanh. Để làm cho l−ợng ẩm trên bề mặt sản phẩm bốc hơi cần có điều kiện: Pm >Pk Pm - Pk = ΔP Pm : áp suất hơi n−ớc trên bề mặt vật liệu Pk : áp suất riêng phần của hơi n−ớc trong không khí ΔP: Động lực của quá trình sấy Trị số ΔP càng lớn thì l−ợng ẩm chuyển sang môi tr−ờng xung quanh càng mạch và quá trình sấy đ−ợc thực hiện nhanh hơn. Nh− vậy, quá trình bốc hơi n−ớc ra không khí xung quanh phụ thuộc vào cả Pm và Pk, trong đó Pm phụ thuộc vào nhiệt độ sấy, độ ẩm ban đầu của vật liệu và tính chất liên kết của n−ớc trong vật liệu, còn Pk phụ thuộc chủ yếu vào l−ợng hơi n−ớc có mặt trong không khí. Trong vật liệu ẩm n−ớc tồn tại ở hai trạng thái: liên kết và tự do. ở cả hai dạng ẩm đó, n−ớc đều có thể khuếch tán và bốc hơi ra không khí. N−ớc liên kết do đ−ợc giữ bởi lực liên kết hoá học rất lớn nên rất khó bay hơi. N−ớc này chỉ bay hơi khi vật liệu đ−ợc đốt nóng ở nhiệt độ cao và trong quá trình bay hơi th−ờng gây nên sự biến đổi cấu trúc phân tử của vật liệu. Do tính chất hút, nhả ẩm của vật liệu trong không khí nên giữa độ ẩm trong không khí và trong vật liệu luôn có quá trình cân bằng động: Nếu Pm >Pk thì l−ợng ẩm trên bề mặt sản phẩm bốc hơi vào trong không khí làm cho áp suất hơi trên bề mặt vật liệu Pm giảm xuống. Từ trong vật liệu n−ớc sẽ đ−ợc khuếch tán ra bề mặt và bốc hơi thiết lập cân bằng mới giữa áp suất bề mặt và độ ẩm. Độ ẩm của vật liệu đ−ợc giảm dần theo quá trình sấy. Theo mức độ khô của vật liệu, sự bốc hơi chậm dần và tới khi độ ẩm còn lại của vật liệu đạt tới một một giá trị nào đó, còn gọi là độ ẩm cân bằng Wcb, khi đó ΔP = 0, nghĩa là Pm = Pk thì quá trình sấy dừng lại. NếuPm < Pk thì ng−ợc lại vật liệu sẽ hút ẩm và quá trình này đ−ợc gọi là quá trình hấp thụ n−ớc, nó đ−ợc diễn ra cho đến khi độ ẩm của vật liệu đạt tới trị số độ ẩm cân bằng thì dừng lại. Quá trình n−ớc từ vật liệu ẩm bay hơi, kèm theo sự thu nhiệt. Vì thế nếu không có sự đốt nóng, cung cấp nhiệt từ ngoài vào thì nhiệt độ của vật liệu giảm xuống. Khi nhiệt độ giảm sẽ làm giảm áp suất hơi trên bề mặt, dẫn đến làm chậm tốc độ bốc hơi n−ớc. Do đó, muốn sấy nhanh, phải cung cấp l−ợng nhiệt từ ngoài vào để làm tăng nhiệt độ của vật liệu sấy. Quy luật thay đổi độ ẩm đ−ợc đánh giá bằng tốc độ sấy, đó là tốc độ khuếch tán của n−ớc từ vật liệu ra không khí. Tốc độ sấy đ−ợc xác định bằng l−ợng n−ớc bốc hơi từ 1m3 bề mặt hay từ 1kg vật liệu ẩm trong một đơn vị thời gian: t s F WU = hay t s G WU = Us - Tốc độ sấy, kg/m 2.h hay (kg/kg.h). W - L−ợng hơi n−ớc bốc hơi từ bề mặt vật liệu có diện tích F(m2) hay từ G(kg) vật liệu trong thời gian t(h). Khi tốc độ sấy cao, nghĩa là thời gian làm khô vật liệu ngắn, năng suất thiết bị sấy cao. Cho tới nay vẫn ch−a có ph−ơng pháp hoàn chỉnh để tính toán lựa chọn tốc độ sấy, vì nó chịu ảnh h−ởng của rất nhiều yếu tố biến đổi trong quá trình sấy. Ng−ời ta chỉ có thể tính toán t−ơng đối chính xác trên cơ sở các đ−ờng cong sấy đ−ợc vẽ theo kết quả thực nghiệm cho từng loại vật liệu trong những điều kiện nhất định nh−: nhiệt độ, độ ẩm, tốc độ chuyển động của tác nhân sấy, bề dày của vật liệu sấy … Mặc dù vậy quy luật thay đổi nhiệt , ẩm của phần lớn các loại nông sản đều có dạng chung nh− trên đồ thị hình I.1.1. Hình I.1.1 - Đồ thị quá trình sấy. Căn cứ vào sự biến thiên của tốc độ sấy, có thể chia quá trình sấy thành 2 giai đoạn chủ yếu: Giai đoạn 1 (tốc độ sấy không đổi) và giai đoạn 2 (tốc độ sấy giảm). Nếu căn cứ theo trình tự thời gian thì quá trình sấy đ−ợc chia theo 3 giai đoạn: Giai đoạn đầu làm nóng vật liệu, ứng với thời gian rất ngắn t0 nhằm đ−a vật liệu sấy từ nhiệt độ thấp lên nhiệt độ cao có thể bay hơi đ−ợc. ở giai đoạn này nhiệt độ vật liệu tvl tăng nhanh đồng thời tốc độ sấy Us cũng tăng nhanh đồng thời tốc độ sấy Us cũng tăng nhanh nh−ng độ ẩm vật liệu wvl giảm không đáng kể (đoạn AB). Giai đoạn thứ hai ứng với thời gian t1 ở giai đoạn này tốc độ sấy không đổi. Toàn bộ nhiệt từ không khí truyền vào cho vật liệu dùng để bốc hơi n−ớc. Nhiệt độ của vật liệu hầu nh− không đổi và bằng nhiệt độ hơi n−ớc bốc ra, độ ẩm vật liệu giảm xuống rất nhanh (đoạn BC). Tốc độ sấy không đổi là do trong vật liệu còn nhiều n−ớc, l−ợng ẩm rời đến bề mặt vật liệu để bốc hơi t−ơng ứng với l−ợng ẩm đã bốc hơi trên bề mặt. Giai đoạn này chủ yếu làm tách l−ợng n−ớc tự do trong vật liệu, n−ớc bay hơi ra khỏi bề mặt t−ơng tự nh− khi bay hơi từ mặt n−ớc tự do. Giai đoạn cuối ứng với thời gian t2. ở giai đoạn này tốc độ sấy giảm, độ ẩm của vật liệu cũng giảm dần (đoạn CD), trong khi đó nhiệt độ vật liệu tăng dần. Giai đoạn này diễn ra cho đến khi vật liệu có độ ẩm cân bằng (ứng với điểm D) thì tốc độ sấy bằng 0, quá trình sấy dừng lại. Nguyên nhân làm cho vận tốc sấy giảm là do vật liệu đã khô hơn, tốc độ khuếch tán ẩm trong vật liệu nhỏ hơn tốc độ bay hơi n−ớc trên bề mặt do phải khắc phục trở lực khuếch tán, đồng thời trên bề mặt vật liệu đ−ợc phủ một lớp màng cứng làm cản trở việc thoát ẩm. Cuối giai đoạn này, l−ợng ẩm liên kết bền nhất bắt đầu đ−ợc tách ra. Nhiệt cung cấp một phần để n−ớc tiếp tục bốc hơi, một phần để vật liệu tiếp tục nóng lên. Nhiệt độ vật liệu sấy đ−ợc tăng lên cho đến khi vật liệu đạt đ−ợc độ ẩm cân bằng thì nhiệt độ vật liệu bằng nhiệt độ tác nhân sấy (t−ơng ứng với điểm E). Vì vậy, ở giai đoạn này cần giữ nhiệt độ tác nhân sấy không v−ợt quá nhiệt độ cho phép của vật liệu. Trong quá trình sấy khô sản phẩm, các tính chất sinh học, lý hoá, cấu trúc cơ học và các tính chất khác của sản phẩm cần phải đ−ợc giữ nguyên hoặc thay đổi rất ít, bởi vì những tính chất này có ý nghĩa quan trọng, xác định chỉ tiêu phẩm chất của nó. Để đạt đ−ợc những yêu cầu trên cần phải thực hiện đúng chế độ sấy, nghĩa là phải đảm bảo đ−ợc giá trị thích hợp về nhiệt độ, thời gian và tốc độ giảm ẩm đối với mỗi loại vật liệu và không đ−ợc quá giới hạn cho phép. Vì vậy trong quá trình sấy cần chú ý một số đặc điểm sau: Nhiệt độ sấy cho phép là nhiệt độ tối đa ch−a làm ảnh h−ởng tới chất l−ợng của nó. Nếu nhiệt độ cao các thành phần dinh d−ỡng có trong hạt bị biến đổi. Protein trong hạt bị ng−ng tụ, các chất bột bị hồ hoá, dầu bị oxy hoá …, dẫn đến giảm giá trị dinh d−ỡng của sản phẩm, giảm sức nảy mầm đối với hạt giống,… Yêu cầu kỹ thuật khi sấy là nhiệt độ hạt khi sấy không quá 600C đối với hạt l−ơng thực và 500C đối với hạt giống. Khi độ ẩm đạt tới 25%, nhiệt độ chất mang nhiệt cho phép có thể tới 700C, khi độ ẩm hạt cao hơn 25%, nhiệt độ chất mang nhiệt không đ−ợc quá 800C. Tốc độ giảm ẩm cho phép là giới hạn tối đa của tốc độ giảm ẩm trung bình ch−a gây ra h− hỏng chất l−ợng của sản phẩm trong quá trình sấy. Quá trình giảm ẩm khi sấy kèm theo những biến đổi tính chất vật lý, hoá học và cấu trúc sản phẩm. Ví dụ nh−: trọng l−ợng riêng, độ bền cơ học tăng, kích th−ớc và hình dáng cũng biến đổi gây ra sự co kéo, dịch chuyển giữa các bộ phận cấu trúc bên trong, biến dạng cấu trúc tế bào, phá vỡ các mô,…Nếu sấy với tốc độ quá nhanh, những biến đổi nói trên xảy ra mãnh liệt sẽ gây rạn nứt đối với những sản phẩm dạng hạt. Từ đó làm giảm chất l−ợng của sản phẩm, giảm độ an toàn khi bảo quản và giảm giá trị cảm quan ,… Thời gian sấy cho phép là thời gian đ−ợc phép thực hiện quá trình sấy nằm trong giới hạn không dài tới mức làm giảm chất l−ợng hạt do nhiệt và không ngắn quá mức làm giảm chất l−ợng hạt do tốc độ giảm ẩm quá nhanh. 1.1.2. Các ph−ơng pháp sấy. Để tách ẩm ra khỏi sản phẩm, ng−ời ta có thể dùng nhiều ph−ơng pháp khác nhau nh−: ph−ơng pháp cơ học (ép trên các máy ép hay máy ly tâm, hút ẩm bằng các máy bơm), ph−ơng pháp hoá lý (dùng các chất hút ẩm canxi clorua, axit sunfuric, silicagen,...) và ph−ơng pháp nhiệt (tách ẩm trong vật liệu sang dạng hơi nhờ có tác dụng của nhiệt). Ph−ơng pháp tách ẩm bằng cơ học đơn giản và rẻ tiền nhất nh−ng khó có thể tách hết đ−ợc l−ợng ẩm đạt yêu cầu bảo quản và th−ờng làm biến dạng sản phẩm. Sấy bằng hoá lý là ph−ơng pháp rất phức tạp, tốn kém và phải dùng các chất hấp thụ t−ơng đối đắt tiền. Vì vậy trong thực tế sản xuất ph−ơng pháp sấy bằng nhiệt đ−ợc áp dụng có hiệu quả nhất. Sấy bằng nhiệt đ−ợc chia làm 2 ph−ơng pháp : sấy tự nhiên và sấy nhân tạo. 1.1.2.1. Sấy tự nhiên. Là ph−ơng pháp làm khô đơn giản nhất, bao gồm hong gió tự nhiên và phơi nắng. * Hong gió tự nhiên th−ờng áp dụng cho tr−ờng hợp sản phẩm mới thu hoạch có độ ẩm cao với khối l−ợng không lớn. Do có độ ẩm cao nên áp suất hơi n−ớc trên bề mặt sản phẩm lớn hơn so với áp suất hơi n−ớc riêng phần trong không khí làm cho n−ớc trong sản phẩm bốc hơi ra bên ngoài. Thời tiết càng khô ráo (áp suất hơi n−ớc trong không khí càng thấp) thì tốc độ bay hơi n−ớc càng mạnh và ng−ợc lại. Vì vậy khi độ ẩm t−ơng đối của không khí quá lớn đặc biệt khi s−ơng mù thì việc hong gió sẽ không có hiệu quả. Ph−ơng pháp này có −u điểm là đơn giản nh−ng tốc độ bay hơi chậm, thời gian kéo dài và khó giảm đ−ợc độ ẩm tới mức cần thiết để bảo quản. Do đó ph−ơng pháp này chỉ đ−ợc áp dụng để làm giảm ẩm sơ bộ cho sản phẩm mới thu hoạch khi ch−a kịp phơi sấy để tránh sẩy ra thối mốc hay mọc mầm. * Phơi nắng là ph−ơng pháp sấy tự nhiên lợi dụng nhiệt bức xạ của mặt trời để làm khô sản phẩm. Nguyên lý của ph−ơng pháp sấy bằng ánh nắng mặt trời là sản phẩm hấp thụ năng l−ợng bức xạ của các tia mặt trời làm tăng nhiệt độ và áp suất hơi trên bề mặt do đó sảy ra quá trình bốc hơi n−ớc từ hạt vào không khí làm hạt khô dần. Ph−ơng pháp này có −u điểm là đơn giản, tận dụng đ−ợc nguồn năng l−ợng thiên nhiên nh−ng có nh−ợc điểm là luôn phụ thuộc vào điều kiện thời tiết, sản phẩm khô không đ−ợc đồng đều, tốn nhiều công sức và không cơ khí hoá đ−ợc. 1.1.2.2. Sấy nhân tạo. Sấy nhân tạo đ−ợc thực hiện nhờ có tác nhân sấy đốt nóng (khói lò hoặc không khí…), chúng tiếp xúc trực tiếp hoặc gián tiếp với vật liệu, đốt nóng và hút n−ớc của nó. Quá trình này tốn nhiều năng l−ợng. Tuy vậy ph−ơng pháp này là ph−ơng pháp duy nhất có thể làm khô một khối l−ợng sản phẩm lớn trong một thời gian ngắn với bất kỳ điều kiện thời tiết nào hoặc có thể tách hết độ ẩm liên kết bền vững ra khỏi sản phẩm khi cần thiết. 1.1.3. Hệ thống sấy nông sản dạng hạt. 1.1.3.1. Đặc điểm chung của hệ thống sấy nông sản dạng hạt. Hệ thống sấy nông sản dạng hạt cũng giống nh− hệ thống sấy nông sản khác, gồm các bộ phận chính: bộ phận tạo áp và cấp nhiệt cho quá trình sấy, bộ phận lọc làm sạch và hoà trộn hỗn hợp khí nóng tr−ớc khi khí nóng đ−ợc đ−a vào buồng sấy và đi qua sản phẩm sấy, buồng sấy. Hình 1.1 sau là sơ đồ cấu trúc của hệ thống sấy nông sản dạng hạt: Hình 1.1 - Sơ đồ cấu trúc hệ thống sấy nông sản dạng hạt. * Bộ phận cấp nhiệt Đây là khâu cấp nhiệt cho hệ thống sấy, nguồn năng l−ợng cung cấp cho khâu này rất nhiều và đa dạng vì vậy tuỳ thuộc vào thế mạnh của từng vùng mà chọn dạng năng l−ợng phù hợp. Việc tận dụng, sử dụng các phế thải trong sản xuất nông nghiệp, công nghiệp nh− vỏ trấu, bã mía, gỗ vụn, mùn c−a, than làm nguồn cung cấp năng l−ợng sẽ thuận lợi vì chúng ta sẵn có hay có thể mua đ−ợc với giá rẻ, chính những phế thải trong sản xuất này giúp đẩy nhanh quá trình sản xuất và hạ giá hành sản phẩm của nông sản khi sấy. Với những yếu tố thuận lợi nh− trên Khâu cấp nhiệt Khâu tạo áp ( quạt gió) Buồng sấy Bộ phận làm sạch và hoà trộn hỗn hợp chúng ta có thể chọn làm nguồn năng l−ợng sấy nh−ng cũng không thể đem áp dụng ngay đ−ợc mà phải xét đến tính kỹ thuật, xa hơn là tác động tới môi tr−ờng, do có nh−ợc điểm là không thể đảm bảo khói bụi trong các tác nhân sấy, hiệu suất nhiệt không cao, khó khăn trong việc điều chỉnh nhiệt độ sấy, gây ảnh h−ởng xấu đến chất l−ợng nông sản. Ta cũng có thể sử dụng than bùn hoặc Angtraxit làm nguồn năng l−ợng. Nó có −u điểm nổi bật hơn so với sử dụng phế thải nông công nghiệp nh− ít bụi hơn, dễ dàng cho việc lọc bụi và hoà trộn với không khí sạch đi vào buồng sấy. Mặt khác việc sử dụng nguồn năng l−ợng này rất kinh tế và có sẵn, giá thành hợp lý có thể chấp nhận đ−ợc, song độ đồng đều của quá trình sấy không cao. Ngoài ra hiện nay cũng đã có nhiều thiết bị sấy sử dụng nguồn năng l−ợng nh− gas, điện… và hệ thống sẽ không cần bộ phận làm sạch khí sấy nữa nên hệ thống sấy sẽ đơn giản hơn nh−ng đều bất lợi là thiết bị sấy này yêu cầu vận hành cao, đầu t− lớn, cho nên chỉ phù hợp với sản suất công nghiệp hay thử nghiệm trong phòng thí nghiệm ch−a thể áp dụng rộng rãi vào trong sản xuất. Tóm lại thiết bị sấy nằm đơn lẻ , không sử dụng th−ờng xuyên, năng suất không lớn thì dùng điện, gas làm nguồn năng l−ợng. Nếu thiết bị sấy nằm trong vùng nông thôn, vùng xa xôi hẻo lánh, công suất điện hạn chế nên dùng than đá hay phế liệu nông nghiệp làm nguồn năng l−ợng. * Bộ phận làm sạch và hoà trộn khí sấy. Bộ phận này làm cho hỗn hợp khí sấy đảm bảo tiêu chuẩn về nhiệt độ và nồng độ bụi. Đây là bộ phận cần thiết với thiết bị sấy sử dụng năng l−ợng từ than đá hay phế liệu nông nghiệp bộ phận còn đối với thiết bị sử dụng năng l−ợng điện và gas thì bộ phận này không cần. * Bộ phận tạo áp. Để đẩy khí nóng từ bộ phận tạo nhiệt vào buồng sấy thì cần phải có bộ phận tạo áp. áp suất tạo ra từ bộ phận tạo áp phải đủ lớn để đẩy đ−ợc dòng khí qua các kênh dẫn đồng thời phải thắng đ−ợc trở lực của khối hạt sấy. Giải pháp hữu hiệu cho vấn đề trên là sử dụng quạt gió để làm bộ phận tạo áp. Có hai quạt th−ờng dùng để tạo áp: • Quạt ly tâm. Không khí đi vào theo chiều dọc trục hoành theo ph−ơng tiếp tuyến với cánh quạt. Quạt có đặc điểm là có miền áp suất điều tiết cao tạo ra tốc độ gió lớn, cho nên th−ờng áp dụng loại quạt gió này cho các hệ thống sấy lớn. • Quạt h−ớng trục. Không khí đ−ợc thổi theo chiều dọc trục trục cánh quạt. Đây là loại quạt có miền áp suất điều tiết nhỏ, th−ờng đ−ợc dùng cho các loại máy sấy cỡ vừa và nhỏ. *Buồng sấy. Buồng sấy chính là nơi diễn ra quá trình sấy hay quá trình trao đổi nhiệt ẩm giữa khí sấy với nông sản. Tuỳ theo nguyên tắc hoạt động mà buồng sấy có hệ thống các kênh dẫn khí phân phối và làm đều dòng khí sấy thổi qua hạt sấy. 1.1.3.2. Tính chất chung của vật liệu sấy. Để qúa trình sấy đạt hiệu quả cao, không làm giảm chất l−ợng của nông sản sau khi sấy ta cần tìm hiểu các tính chất chung làm ảnh h−ởng đến quá trình sấy của hạt . * Sự hô hấp của nông sản dạng hạt. Nông sản dạng hạt có tính chất nh− một cơ thể sống, ở trạng thái độ ẩm cao, nhiệt độ môi tr−ờng lớn, hạt sẽ hô hấp mạnh. Quá trình này diễn ra làm ôxi hoá các chất hữu cơ trong hạt và sinh ra nhiệt, làm hạt bị nóng lên, phôi sẽ phát triển thành hạt mầm. Kết quả của quá trình hô hấp hạt là giảm khối l−ợng, chất l−ợng của hạt, thậm chí hạt có thể hỏng hoàn toàn. Vì vậy không những sau khi thu hoạch về cần sấy khô ngay hạt mà trong quá trình bảo quản cũng cần th−ờng xuyên theo dõi nhiệt độ nơi bảo quản và tiến hành sấy khô kịp thời để làm ngừng sự hô hấp của hạt. Đại l−ợng đặ tr−ng cho sự hô hấp của hạt là c−ờng độ hô hấp. * Độ ẩm của hạt. Khi hạt có độ ẩm d−ới độ ẩm bảo quản thì c−ờng độ hô hấp không đáng kể. Khi độ ẩm tăng thì c−ờng độ hô hấp cũng tăng dần. Độ ẩm hạt tăng đến một giới hạn nhất định thì c−ờng độ hô hấp đột nhiên tăng lên. Sự tăng đột biến c−ờng độ hô hấp là do quá trình sinh học trong sản phẩm biểu hiện là đã xuất hiện l−ợng n−ớc tự do trong các tế bào của hạt. Độ ẩm ứng với tế bào hạt xuất hiện l−ợng n−ớc tự do đ−ợc gọi là độ ẩm giới hạn. Với những hạt nh− ngô, thóc thì độ ẩm giới hạn để bảo quản là 13 - 13,5%, với những hạt có dầu nh− vừng, lạc thì độ ẩm giới hạn là 7 - 9%. * Nhiệt độ hạt. Khi nhiệt độ tăng thì c−ờng độ hô hấp của hạt cũng tăng lên, nh−ng ảnh h−ởng của nhiệt độ th−ờng kém hiệu lực hơn so với ảnh h−ởng của độ ẩm. Khi nhiệt độ tăng quá nhiệt độ giới hạn thì c−ờng độ hô hấp yếu đi và chức năng sống khác bị chậm lại. Nếu tiếp tục tăng nhiệt độ thì hạt ngừng hô hấp (mất hoạt động sống). Cho nên, nhiệt độ sấy quá lớn sẽ làm ảnh h−ởng đến quá trình nảy mầm và phát triển của hạt sau này do đó quá trình sấy nhiệt độ hạt luôn phải nhỏ hơn nhiệt độ cho phép. Ví dụ nhiệt độ cho phép đối với ngô giống là 500C và đối với ngô thịt là 50 - 550C. Hình 1.2 là bảng nhiệt độ sấy cho phép và độ ẩm giới hạn để bảo quản của một số loại hạt. Tên hạt Nhiệt độ sấy cho phép (0C) Độ ẩm giới hạn bảo quản (%) Thóc 35 13 – 13,5 Ngô 50 13 – 13,5 Đỗ t−ơng 30 11 - 12 Vừng 50 7 - 8 Lạc 50 8 - 9 Hình 1.2 - Bảng nhiệt độ sấy cho phép và độ ẩm giới hạn. 1.2. Khảo sát một số thiết bị sấy. 1.2.1. Thiết bị sấy ở Việt Nam. 1.2.1.1. Thiết bị sấy kiểu hầm. Hình 1.3 - Thiết bị sấy kiểu hầm. 1 - phễu đ−a nguyên liệu 2 - Cửa thoát khí ẩm 3 - Nguyên liệu 4 - L−ới sàng 5 - Cửa lấy nguyên liệu 6 - quạt 7 - Buồng sấy 8 - Buồng đốt 9 - Van dẫn h−ớng Vật liệu ẩm đ−ợc đ−a vào buồng sấy 7 thông qua phễu 1, trong thùng sấy có đặt l−ới sàng 4. Tác nhân sấy (không khí hoặc khói lò) đ−ợc quạt 6 thổi vào buồng đốt 8 sau đó khí nóng đ−ợc đ−a vào buồng sấy và qua sàng 4 len vào khe hở của các hạt sấy và làm khô hạt. Hơi ẩm đ−ợc đ−a ra cùng với khí nóng qua cửa 2. Sau khi sấy khô sản phẩm đ−ợc vận chuyển ra ngoài qua cửa thoát 5. Đây là ph−ơng pháp sấy đ−ợc sử dụng nhiều nhất hiện nay. Tuy nhiên độ đồng đều không cao vì nhiệt độ đáy thùng bao giờ cũng lớn hơn nhiệt độ bên trên miệng thùng. 1.2.1.2. Thiết bị sấy băng tải Hình 1.4 - Thiết bị sấy kiểu băng tải 1- Phễu đổ nhiên liệu 2- Buồng sấy 3- Băng tải 4- Quạt đẩy 5- calorife 6- Cửa xả nguyên liệu 7- Cửa thoát khí thải Bên trong buồng sấy 2 ng−ời ta đặt nhiều băng tải 3 cái lọ trên cái kia, các băng tải đ−ợc làm bằng vải hoặc l−ới kim loại đ−ợc chuyển động ng−ợc chiều nhau. Vật liệu từ thùng chứa 1 chảy xuống băng tải phía trên, di chuyển dọc theo buồng sấy 2 và đổ xuống băng tải đặt ở d−ới. Tốc độ băng tải khoảng 1m/s. Quạt gió 4 đẩy không khí qua calorife 5 vào buồng sấy 2, và thoát ra ngoài ra cửa 7. Sản phẩm sấy đ−ợc thoát ra ngoài qua cửa 6. Do nguyên liệu đổ xuống nhiều l−ợt từ băng tải này đến băng tải khác và đ−ợc xáo trộn nhiều lần nên quá trình sấy đ−ợc đồng đều. Tuy nhiên đây là ph−ơng pháp sấy với hạt sấy l−u động nên cần một hệ thống cung cấp nguyên liệu liên tục và hệ thống băng tải lớn cho nên giá thành cao. 1.2.2. Thiết bị sấy trên thế giới Hình 1.5 - Thiết bị sấy băng tải của Mĩ. 1 - Phiễu chứa nhiên liệu 2 - Băng tải 3 - Buồng đốt 4 - Vít tải 5, 7 - Quạt hút 6 - T−ờng chắn Thiết bị sấy băng tải do Mĩ sản xuất có cấu tạo gồm 2 buồng nóng và lạnh ngăn cách bởi t−ờng chắn 6. Hạt ẩm vào phễu 1 đ−ợc dàn mỏng trên băng tải 2 và chuyển động. Không khí đ−ợc đốt nóng bằng nhiên liệu lỏng đ−ợc đốt ở buồng đốt 3. Không khí nóng và khô đ−ợc hút đi qua lớp hạt trên băng nhờ quạt hút 7. Qua hết vùng nóng hạt đ−ợc sấy khô đến độ ẩm cần thiết, sau đó đi vào vùng lạnh đ−ợc làm nguội trực tiếp bằng không khí do quạt hút 5. Hạt nguội đ−ợc rơi xuống vít tải 4 và đi ra ngoài máy. Tốc độ sấy, độ giảm ẩm của máy đ−ợc điều chỉnh bằng cách thay đổi tốc độ băng tải và chiều dày lớp hạt. Điều chỉnh nhiệt độ bằng cách tăng giảm nhiên liệu đốt. Máy này cấu tạo rất phức tạp và giá thành rất cao. Nh− vậy theo khảo sát ta có thể nhận xét rằng hiện nay có 2 loại thiết bị sấy là sấy động và sấy tĩnh. Sấy động là sấy mà sản phẩm sấy chuyển động ng−ợc chiều với chuyển động của khí sấy. Thiết bị này có khả năng sấy đều rất cao nh−ng cần một hệ thống dây truyền tự động rất hiện đại và phức tạp nên giá thành rất cao. Còn thiết bị sấy tĩnh là hạt sấy không di chuyển, khí sấy sẽ đi vào các khe hở của các hạt và làm khô hạt. Thiết bị này rất đơn giản tuy nhiên khả năng sấy đều không cao. Với nền kinh tế của n−ớc ta hiện nay thì th−ờng dùng thiết bị sấy tĩnh là phổ biến. 1.3. Kết luận và giải pháp. Qua những phân tích trên cơ sở lý thuyết trên ta thấy nông sản dạng hạt sau khi thu hoạch cần đ−ợc sấy khô kịp thời trong mọi tình hình thời tiết. Tuy nhiên để đảm bảo không bị thay đổi dinh d−ỡng trong quá trình sấy thì mỗi loại nông sản cần một nhiệt độ sấy nhất định. Đặc biệt với những hạt dùng làm hạt giống thì cần có nhiệt độ sấy rất ổn định trong suốt quá trình sấy. Mặt khác dựa vào tình hình hiện nay của n−ớc ta, thiết bị sấy ch−a nhiều hoặc ch−a đảm bảo về mặt chất l−ợng sản phẩm sau khi sấy, thiết bị trên thế giới thì giá thành rất cao không phù hợp với sản suất nông nghiệp của n−ớc ta. Thực tế hiện nay n−ớc ta sử dụng ph−ơng pháp phơi khô tự nhiên là chủ yếu và nh− vậy phụ thuộc rất nhiều vào tình hình thời tiết. Vì vậy chúng tôi tiến hành phát triển mô hình sấy trong phòng thí nghiệm với mong muốn có thể tạo ra một thiết bị sấy phù hợp với yêu cầu bảo quản hạt sau thu hoạch của n−ớc ta. Với đề tài này chúng tôi chủ yếu đi sâu vào thiết kế phần đo và khống chế nhiệt (phần điều khiển) còn phần thiết kế cơ khí chúng tôi không đi sâu nên chọn mô hình cơ khí đã có sẵn. Hình 1.6 là mô hình hệ thống sấy trong phòng thí nghiệm. Hình 1.6 - Mô hình hệ thống sấy trong phòng thí nghiệm. 1 - Quạt đẩy 2 - Dây nung 3 - Buồng đốt 4 - Cảm biến nhiệt 5 - Buồng sấy Vì thiết kế hệ thống sấy trong phòng thí nghiệm nên năng l−ợng dùng cho quá trình sấy đ−ợc cung cấp bởi nguồn điện xoay chiều, tác nhân sấy là khí nóng và ở đây ta dùng quạt đẩy để tạo áp suất cao, thổi l−ợng khí lớn qua dây nung trong buồng đốt và đ−a vào buồng sấy, thiết bị sấy dùng là sấy tĩnh. Để điều khiển nhiệt độ sấy thì hiện nay có rất nhiều thiết bị điều khiển nh− PLC, mạch số rời rạc, vi điều khiển… nh−ng để có một thiết bị rẻ tiền mà vẫn đảm bảo yêu cầu của quá trình sấy chúng tôi chọn sử dụng vi điều khiển. Ch−ơng tiếp theo sẽ giới thiệu chung về vi điều khiển. Ch−ơng 2 Họ vi Điều khiển 8051 2.1. Giới thiệu chung về vi điều khiển. Ngày nay các bộ vi điều khiển đang có ứng dụng ngày càng rộng rãi và thâm nhập ngày càng nhiều trong các lĩnh vực kỹ thuật và đời sống xã hội. Hầu hết các thiết bị kỹ thuật từ phức tạp đến đơn giản nh− thiết bị điều khiển tự động (điều khiển động cơ, máy tính hành trình, điều hoà nhiệt độ…), thiết bị văn phòng (máy tính, máy in, Fax…) cho đến các thiết bị trong gia đình (đồ điện trong nhà, ti vi, trò chơi điện tử…) đều có dùng các bộ vi điều khiển. Có bốn họ vi điều khiển chính, đó là: 6811 của Motola, 8051 của Intel, Z8 của Zilog và PIC 16x của Microchip technology. Mỗi loại trên cũng có tập lệnh và thanh ghi riêng nên chúng không t−ơng thích lẫn nhau. Mỗi một nhà thiết kế, khi thiết kế một hệ thống thì cần phải lựa chọn một loại vi điều khiển cho mình sao cho tr−ớc hết phải đáp ứng yêu cầu về tính toán một cách hiệu quả và kinh tế. Do vậy cần xem xét bộ vi điều khiển 8 bit, 16 bit hay 32 bit là thích hợp. Ngoài ra một số tham số kỹ thuật cần cân nhắc khi lựa chọn là: * Tốc độ: Tốc độ lớn nhất mà bộ vi điều khiển hỗ trợ là bao nhiêu. * Kiểu đóng vỏ: Kiểu đóng vỏ quan trọng khi có yêu cầu về không gian, kiểu lắp ráp và tạo mẫu thử cho sản phẩm cuối cùng. Các kiểu đóng vỏ có thể lựa chọn là kiểu 40 chân DIP (vỏ dạng 2 hàng chân), kiểu QFP (vỏ vuông dẹt) hay là kiểu đóng vỏ khác. * Công suất tiêu thụ: Là một tiêu chuẩn cần đặc biệt l−u ý nếu sản phẩm dùng pin hoặc ắc quy. * Dung l−ợng bộ nhớ RAM hoặc ROM trên chip. * Số chân vào ra và bộ định thời trên chip. * Khả năng dễ dàng nâng cao hiệu suất cao hoặc giảm công suất tiêu thụ. * Giá thành trên một đơn vị khi mua số l−ợng lớn: Đây là vấn đề có ảnh h−ởng đến giá thành cuối cùng của sản phẩm . Tiêu chuẩn thứ hai khi lựa chọn bộ vi điều khiển là khả năng phát triển các sản phẩm nh− thế nào. Ví dụ khả năng có sẵn các trình hợp dịch, gỡ rối, biên dịch ngôn ngữ C , mô phỏng, điều kiện hỗ trợ kỹ thuật cũng nh− khả năng sử dụng trong nhà và bên ngoài môi tr−ờng. Tiêu chuẩn thứ ba là khả năng sẵn sàng đáp ứng về số l−ợng ở hiện tại cũng nh− ở t−ơng lai. Hiện nay, trong các họ vi điều khiển 8 bit hàng đầu thì 8051 có số l−ợng lớn nhất, giá thành rẻ nhất và đ−ợc đông đảo ng−ời dùng yêu thích. Đồng thời chúng cũng đáp ứng đ−ợc rất nhiều những ứng dụng vừa và nhỏ. 2.2. Tổng quan về họ 8051. 2.2.1 Lịch sử phát triển của họ 8051. Năm 1981, hãng Intel cho ra mắt bộ vi điều khiển đ−ợc gọi là 8051. Bộ vi điều khiển này có 128 byte RAM, 4K byte ROM, hai bộ định thời, một cổng nối tiếp và bốn cổng 8 bít. Tất cả đều đ−ợc tích hợp trên một chip. Lúc bấy giờ bộ vi điều khiển nh− vậy đ−ợc gọi là một “hệ thống trên chip”. 8051 là bộ xử lý 8 bít nghĩa là CPU chỉ có thể làm việc với 8 bít dữ liệu. Dữ liệu lớn hơn 8 bit đ−ợc chia thành các dữ liệu 8 bít để xử lý. 8051 có tất cả 4 cổng vào ra , mỗi cổng rộng 8 bit. 8051 có thể có một ROM trên chíp cực đại là 64Kbyte Tuy nhiên vào thời điểm đó nhà sản xuất mới cho xuất x−ởng chỉ 4Kbyte ROM trên chíp. 8051 đã trở nên phổ biến sau khi Intel cho phép các nhà sản xuất khác sản xuất và bán bất kỳ dạng biến thể nào của 8051 mà họ muốn với điều kiện họ phải để mã ch−ơng trình t−ơng thích với 8051. Từ đó dẫn đến sự ra đời của nhiều phiên bản 8051 với các tốc độ khác nhau và dung l−ợng ROM trên chíp khác nhau. Tuy nhiên, điều quan trọng là tuy có nhiều biến thể của 8051, nh− khác nhau về tốc độ và dung l−ợng nhớ ROM trên chip khác nhau, nh−ng các lệnh đều t−ơng thích với 8051 ban đầu. Điều đó có nghĩa là nếu ch−ơng trình đ−ợc viết cho một phiên bản 8051 nào đó thì cũng có thể chạy đ−ợc với mọi phiên bản khác không phụ thuộc vào hãng sản xuất . Hình 2.1 là một số phiên bản của 8051. Ký hiệu ROM RAM Chân I/O Timer Ngắt Vcc Đóng vỏ AT89C51 4K 128 32 2 6 5V 40 AT89LV51 4K 128 32 2 6 3V 40 AT89C1051 1K 64 15 1 3 3V 20 AT89C2051 2K 128 15 2 6 3V 20 AT89C52 8K 128 32 3 8 5V 40 AT89LV52 8K 128 32 3 8 3V 40 Hình 2.1 - Các phiên bản 8051 của Atmel (Flash ROM). 2.2.2. Sơ đồ khối của bộ vi điều khiển 8051. Hình 2.2 - Sơ đồ khối của bộ vi điều khiển 8051. Trong các phiên bản trên thì hiện nay AT89C52 là phiên bản đang đ−ợc sử dụng rộng rãi. Với những tính năng −u việt của nó và phù hợp với mô hình TXD RXD Bus điều khiển 4 cổng vào ra Bộ tạo dao động Cổng nối tiếp ROM on chip ch−ơng trình RAM on chip Ngắt ngoài Điều khiển ngắt CPU điều khiển hệ thống vừa và nhỏ với giá thành t−ơng đối rẻ, ta nên chọn phiên bản này. Sau đây là những khái quát chung về vi điều khiển AT89C52. 2.3. Vi điều khiển AT89C52 Do họ MCS- 51TM đã trở thành chuẩn công nghiệp nên có rất nhiềt hãng sản xuất ra nó, điển hình là ATMEL Corporation. Hãng này đã kết hợp rất nhiều tính năng dựa trên nền tảng kỹ thuật của mình để tạo ra các vi điều khiển t−ơng thích với MCS-51TMnh−ng mạnh mẽ hơn. AT89C52 là một vi điều khiển 8 bit do ATMEL sản xuất, chế tạo theo công nghệ CMOS, có chất l−ợng cao, công suất tiêu thụ thấp với 8Kbyte bộ nhớ Flash có khả năng xoá và lập trình lại . Chíp đ−ợc sản xuất theo kỹ thuật nhớ không mất nội dung mật độ cao của ATMEL và t−ơng thích với chuẩn công nghiệp MCS-51TM về tập lệnh và các chân vào ra. Flash on-chip cho phép bộ nhớ lập trình đ−ợc trong hệ thống bởi một trình viên bình th−ờng. Bằng cách nối 1 CPU 8 bit với 1 Flash trên chip đơn, AT89C52 là một vi điều khiển mạnh, có tính mềm dẻo cao, giá rẻ, phù hợp ứng dụng vi điều khiển. Các đặc điểm chủ yếu của AT89C52: * T−ơng thích hoàn toàn với họ MCS-51TMcủa Intel. * Bộ nhớ ch−ơng trình 8Kbytes bên trong có khả năng lập trình lại. * Độ bền 1000lần ghi/xoá. * Tần số hoạt động : 0Hz đến 24MHz. * 3 chế độ khoá bộ nhớ. * 128 x 8 - Bits RAM nội. * 32 đ−ờng I/O lập trình đ−ợc (4port). * 3 bộ Timer/Couter 16 bits. * Hỗ trợ 8 nguồn ngắt. * Chế độ nguồn thấp (không làm gì IDLE) và chế độ nguồn giảm. Để hiểu một cách khái quát về cấu tạo, các thành phần bên trong của vi điều khiển, tiếp theo sẽ giới thiệu sơ đồ khối của bộ vi điều khiển. 2.3.1. Sơ đồ khối. Hình 2.3 - Sơ đồ khối của vi điều khiển. 2.3.2. Mô tả chức năng các chân. Hình 2.4 - Cấu tạo chân của AT89C52. * VCC: cung cấp điện áp nguồn 5V cho chip. * GND: là chân đất. * XTAL1 và XTAL2: 8051 có một bộ dao động trên chíp nh−ng vẫn cần một có bộ đồng hồ bên ngoài để kích hoạt. Bộ dao động thạch anh ngoài th−ờng đ−ợc nối tới các chân vào XTAL1 và XTAL2. Khi mắc vào dao động thạch anh cần có 2 tụ điện 33pF, một đầu mỗi tụ này nối tới các chân vào XTAL1 và XTAL2, còn đầu kia nối đất nh− hình 2.5: C4 33 XTAL2 XTAL1 Y1 11.0592M C5 33 GND Hình 2.5 - Sơ đồ bộ dao động ngoài sử dụng bộ dao động thạch anh. * RST: chân khởi động lại (RESET) . Bình th−ờng chân này ở mức thấp, khi có xung cao đặt tới chân này thì bộ vi điều khiển sẽ kết thúc mọi hoạt động hiện tại và tiến hành khởi động lại. Quá trình xảy ra hoàn toàn t−ơng tự khi bật nguồn. Khi RESET mọi giá trị trên thanh ghi sẽ bị xoá. Khi RESET giá trị bộ đếm ch−ơng trình PC bằng 0 và nh− vậy CPU nhận mã lệnh đầu tiên tại địa chỉ 0000 của bộ nhớ ROM. Do đó tại địa chỉ này phải có lệnh đầu tiên ch−ơng trình nguồn của ROM. Để RESET hiệu quả, chân RST cần duy trì trạng thái tích cực (mức cao ) tối thiểu 2 chu kỳ. RST R6 4.7K R5 100 SW1 +5V C3 10uF Hình 2.6 - Mạch nối chân reset của 8051 * EA /Vpp: truy cập bộ nhớ ngoài (External Access) là chân vào. Chân này có thể đ−ợc nối tới 5 V (logic 1) hoặc với GND (logic 0). Nếu chân này nối đến 5V thì 89C52 thực thi ch−ơng trình trong ROM nội. Nếu chân này nối với GND (và chân PSEN cũng ở logic 0), thì ch−ơng trình cần thực thi chứa ở bộ nhớ ngoài. * PSEN : là chân cho phép bộ nhớ ch−ơng trình (Promgram Store Enable). Đây là tín hiệu cho phép ta truy xuất bộ nhớ ch−ơng trình ngoài. Chân này đ−ợc nối tới chân OE (Output Enable) của EPROM hoặc ROM) để cho phép đọc các byte lệnh. Tín hiệu PSEN ở logic 0 trong suốt thời gian tìm nạp lệnh. Khi thực thi một ch−ơng trình chứa ở ROM nội, PSEN đ−ợc duy trì ở logic không tích cực (logíc 1) * ALE / PROG : cho phép chốt địa chỉ (Address Latch Enable) , là chân ra có mức tích cực cao. Khi port 0 đ−ợc sử dụng làm bus địa chỉ/ dữ liệu đa hợp, chân ALE xuất tín hiệu để chốt địa chỉ vào một thanh ghi ngoài trong suốt nửa đầu chu kỳ của bộ nhớ. Sau khi điều này đã đ−ợc thực hiện, các chân của port 0 sẽ xuất/ nhập dữ liệu hợp lệ trong suốt nửa sau chu kỳ của bộ nhớ. * Nhóm chân cổng vào/ra. Bốn cổng P0, P1, P2, P3 đều có 8 chân và tạo thành cổng 8 bit. Tất cả các cổng khi reset đều đ−ợc cấu hình làm cổng ra. Để làm đầu vào thì cần đ−ợc lập trình. • Cổng P0: Cổng P0 có 8 chân. Bình th−ờng đây là cổng ra. Để có thể vừa làm cổng ra vừa làm cổng vào thì cần nối tới điện trở kéo 10KΩ bên ngoài vì cổng P0 có dạng cực máng hở. Đây là điểm khác với các cổng P1, P2, P3. Khi có điện trở kéo ngoài thì khi khởi động lại, cổng P0 đ−ợc cấu hình làm cổng ra để P0 tạo thành cổng vào thì cần phải lập trình bằng cách ghi 1 tới tất cả các bit của cổng. P0 ngoài chức năng chuyển địa chỉ còn đ−ợc dùng để chuyển 8 bit địa chỉ AD0 -AD7. Khi nối 8051 tới bộ nhớ ngoài, thì cổng P0 cung cấp cả địa chỉ và dữ liệu bằng cách dồn kênh để tiết kiệm số chân. Chân ALE sẽ báo P0 có địa chỉ hay dữ liệu. Nếu ALE = 0 thì P0 cấp dữ liệu D0 - D7, còn nếu ALE = 1 thì là địa chỉ • Cổng P1 Cổng P1 cũng có 8 chân và có thể sử dụng làm đầu vào hoặc ra, cổng P0 không có điện trở kéo vì nó đã có các điện trở kéo bên trong. Khi Reset, cổng P1 đ−ợc cấu hình làm cổng ra. Để chuyển cổng P1 thành đầu vào thì cần lập trình bằng cách ghi 1 lên tất cả các bit của cổng Hơn nữa, P1.0 và P1.1 có thể đ−ợc dùng nh− là đầu vào bộ đếm Timer/Counter 2 bên ngoài (P1.0/T2 ) và xung kích (P1.1/T2EX ). • Cổng P2 Cổng P2 cũng có 8 chân, có thể đ−ợc sử dụng làm đầu vào hoặc đầu ra. Cũng giống nh− P1, cổng P2 không cần điện trở kéo lên vì bên trong đã có điện trở kéo. Khi Reset thì cổng P2 đ−ợc cấu hình làm đầu ra. Để P2 làm đầu vào thì cần lập trình bằng cách ghi 1 vào tất cả các bit của cổng • Cổng P3 Cổng P3 chiếm 8 chân, cổng này cũng có thể đ−ợc sử dụng làm đầu vào hoặc đầu ra. Cũng nh− P1 và P2, cổng P3 cũng không cần điện trở kéo. Khi Reset cổng P3 đ−ợc cấu hình làm một cổng ra, tuy nhiên đây không phải là một ứng dụng chủ yếu. Cổng P3 có chức năng quan trọng khác là cung cấp một số tín hiệu đặc biệt, chẳng hạn nh− tín hiệu ngắt. Hình 2.7 - Bảng các chức năng khác của cổng P3. Bit P3.0 và P.1 đ−ợc dùng để thu và phát dữ liệu trong truyền thông nối tiếp. Bit P3.2 và P3.3 đ−ợc dùng cho ngắt. Bit Tên Địa chỉ bit Chức năng thay thế P3.0 RXD B0H Nhận dữ liệu cho port nối tiếp P3.1 TXD B1H Truyền dữ liệu cho port nối tiếp P3.2 0INT B2H Ngắt ngoài 0 P3.3 1INT B3H Ngắt ngoài 1 P3.4 0T B4H Ngõ ngoài từ bên ngoài cho timer / couter 0 P3.5 1T B5H Ngõ ngoài từ bên ngoài cho timer / couter 1 P3.6 WR B6H Xung ghi bộ nhớ dữ liệu ngoài P3.7 RD B7H Xung đọc bộ nhớ dữ liệu ngoài Bit 3.4 và P3.5 đ−ợc dùng cho bộ định thời 0 và 1. Bit P3.6 và P3.7 đ−ợc dùng để ghi và đọc các bộ nhớ ngoài. 2.3.3. Tổ chức bộ nhớ. Họ 8051 có bộ nhớ riêng cho ch−ơng trình và dữ liệu. Cả 2 bộ nhớ ch−ơng trình và bộ nhớ dữ liệu đều đặt bên trong chip, tuy nhiên ta có thể mở rộng bộ nhớ ch−ơng trình và bộ nhớ dữ liệu bằng cách sử dụng các chip nhớ bên ngoài bằng với dung l−ợng tối đa là 64K cho bộ nhớ ch−ơng trình (hay bộ nhớ mã) và 64K cho bộ nhớ dữ liệu. Bộ nhớ nội trong chip bao gồm ROM và RAM trên chip. RAM trên chip bao gồm vùng RAM đa chức năng (nhiều công dụng), vùng RAM với từng bit đ−ợc định địa chỉ (gọi tắt là vùng RAM định địa chỉ bit), các dãy (bank) thanh ghi và các thanh ghi chức năng đặc biệt SFR (special function register ). Không gian nhớ nội này đ−ợc chia thành các dãy thanh ghi (00h-1Fh), vùng RAM định địa chỉ bit (20h-2Fh),vùng RAM đa mục đích (30h-7Fh) và các thanh ghi chức năng đặc biệt (80h-FFh). Sau đây ta sẽ nghiên cứu cụ thể từng vùng. * Các dãy thanh ghi 32 vị trí thấp nhất của bộ nhớ nội chứa các dãy thanh ghi và đ−ợc chia thành 4 bank. Các lệnh của 8051 hỗ trợ 8 thanh ghi tức R0 - R7 thuộc dãy 0 (bank 0 ). Đây là dãy mặc định sau khi reset hệ thống. Các thanh ghi này ở các địa chỉ từ 00h- 07h. Các lệnh sử dụng các thanh ghi từ R0 - R7 là các lệnh ngắn và thực hiện nhanh hơn so với các lệnh t−ơng đ−ơng sử dụng kiểu định địa chỉ trực tiếp. Dãy thanh ghi đang đ−ợc sử dụng là dãy thanh ghi tích cực. Dãy thanh ghi tích cực có thể đ−ợc thay đổi bằng cách thay đổi các bit chọn dãy trong từ trạng thái ch−ơng trình PSW (là thanh ghi đặc biệt sẽ đ−ợc giới thiệu sau). * Vùng RAM định địa chỉ bit 8051 chứa 210 vị trí bit đ−ợc định địa chỉ trong đó 128 bit chứa trong các byte ở địa chỉ từ 20h - 2Fh (16byte x 8bit) = 128 bit và phần còn lại chứa trong các thanh ghi chức năng đặc biệt. Các địa chỉ này truy xuất các byte hay các bit tuỳ vào lệnh cụ thể. * Vùng RAM đa mục đích Vùng RAM đa mục đích có 80 byte đặt ở địa chỉ từ 30h-7Fh. Bất kỳ vị trí nhớ nào trong RAM đa mục đích đều có thể đ−ợc truy xuất tự do bằng cách sử dụng định địa chỉ trực tiếp hoặc gián tiếp. * Các thanh ghi chức năng đặc biệt (SFR ). Cũng nh− các thanh ghi từ R0-R7, ta có 2 thanh ghi chức năng đặc biệt SFR chiếm phần trên của Ram nội từ địa chỉ 80h - FFh. Không phải tất cả 128 địa chỉ từ 80h - FFh đều đ−ợc định nghĩa mà chỉ có 21 địa chỉ đ−ợc định nghĩa. Hầu hết các thanh ghi chức năng đặc biệt đ−ợc truy xuất bằng kiểu định địa chỉ trực tiếp. Một số thanh ghi chức năng đặc biệt đ−ợc định địa chỉ từng bit và định địa chỉ từng byte. • Từ trạng thái ch−ơng trình (PSW ). Bit Ký hiệu Địa chỉ Mô tả bit PSW.7 CY D7h Cờ nhớ PSW.6 AC D6h Cờ nhớ phụ PSW.5 F0 D5h Cờ không PSW.4 RS1 D4h Chọn dãy thanh ghi (bit 1) PSW.3 RS0 D3h Chọn dãy thanh ghi (bit 0 ) PSW.2 OV D2h Cờ tràn PSW.1 -- D1h Dự trữ PSW.0 P D0h Cờ kiểm tra chẵn lẻ Để chọn dãy thanh ghi thì căn cứ vào 2 bit PSW.4 và PSW.3 00 = bank 0 Địa chỉ từ 00h-07h 01 = bank 1 Địa chỉ từ 08h-0Fh 10 = bank 2 Địa chỉ từ 10h-17h 11 = bank 3 Địa chỉ từ 18h-1Fh • Thanh ghi A Thanh ghi tích luỹ Acc trong lập trình ta gọi tắt là thanh ghi A. Đây là thanh ghi quan trọng nhất trong bộ vi điều khiển, nó dùng l−u trữ các toán hạng, thực hiện các phép toán đồng thời l−u kết quả các phép toán. Thanh ghi này có địa chỉ 0E0h. • Thanh ghi B. Thanh ghi B ở địa chỉ 0F0h đ−ợc dùng chung với thanh chứa A trong các phép toán nhân, chia. Thanh ghi B còn đ−ợc xử lý nh− 1 thanh ghi nháp. Các bit đ−ợc định địa chỉ của thanh ghi B có địa chỉ từ F0h - F7h • Thanh ghi con trỏ stack. Con trỏ Stack SP (Stack pointer ) là một thanh ghi 8 bit ở địa chỉ 81h chứa địa chỉ của dữ liệu hiện đang ở đỉnh của Stack. Các lệnh liên quan đến Stack bao gồm lệnh cất dữ liệu vào Stack và lệnh lấy dữ liệu ra khỏi Stack. Việc cất vào Stack làm tăng SP tr−ớc khi ghi dữ liệu và việc lấy dữ liệu ra khỏi Stack sẽ giảm SP. Vùng Stack của 8051 đ−ợc giữ trong Ram nội và đ−ợc giới hạn đến các địa chỉ truy xuất bởi kiểu định địa chỉ gián tiếp. Nếu ta bắt đầu vùng Stack ở địa chỉ 60h bằng lệnh MOV SP #5Fh vùng Stack đ−ợc giới hạn 32byte vì địa chỉ cao nhất của RAM trên chip là 7Fh. • Thanh ghi con trỏ dữ liệu DPTR. Con trỏ dữ liệu DPTR đ−ợc dùng để truy xuất bộ nhớ ch−ơng trình ngoài hoặc bộ nhớ dữ liệu ngoài. DPTR là một thanh ghi 16 bit có địa chỉ là 82h (DPL, byte thấp) và (DPH, byte cao). Ví dụ, 3 lệnh sau đây ghi 55H vào RAM ngoài ở địa chỉ 1000H: Mov a,#55H Mov DPTR, #1000H Mov @DPTR,A Lệnh đầu tiên sử dụng kiểu định địa chỉ tức thời để nạp hằng dữ liệu 55H vào thanh chứa A. Lệnh thứ hai cũng sử dụng kiểu định địa chỉ tức thời, lệnh là nạp hằng địa chỉ 16 bit 1000H cho con trỏ dữ liệu DPTR. Lệnh thứ ba sử dụng kiểu định địa chỉ gián tiếp di chuyển giá trị 55H chứa trong thanh chứa A đến RAM ngoài tại địa chỉ chứa trong DPTR (1000H). • Các thanh ghi port. Các port xuất nhập của 8051 bao gồm port 0 tại địa chỉ 80h, port 1 tại địa chỉ 90h, port 2 tại địa chỉ A0h và port 3 tại địa chỉ B0h. Các port 0, 2, 3 không đ−ợc dùng để xuất nhập nếu ta sử dụng thêm bộ nhớ ngoài hoặc có thêm một số đặc tính của 8051 đ−ợc sử dụng (nh− là ngắt port nối tiếp). P1.2 đến P1.7 ng−ợc lại luôn luôn là đ−ờng xuất / nhập đa mục đích hợp lệ. Tất cả các port đều đ−ợc định địa chỉ từng bit nhằm cung cấp các khả năng giao tiếp mạnh. • Các thanh ghi định thời . AT89C52 có 3 bộ đếm định thời (Timer/ Counter) 16 bit để định các khoảng thời gian hoặc đếm các sự kiện Hoạt động của bộ định thời đ−ợc thiết lập bởi thanh ghi chế độ định thời TMOD và thanh ghi điều khiển định thời TCON (đối với Timer/ Counter 1, 2), T2CON đối với Timer 2. Hoạt động của các thanh ghi này sẽ đ−ợc giới thiệu ở phần sau. • Các thanh ghi của port nối tiếp . Bên trong 8051 có một port nối tiếp để truyền thông với các thiết bị nối tiếp nh− các thiết bị đầu cuối hoặc modem hoặc để giao tiếp với các IC khác có mạch giao tiếp nối tiếp. Một thanh ghi đ−ợc gọi là bộ đệm dữ liệu nối tiếp SBUF ở địa chỉ 99h l−u dữ liệu truyền đi và dữ liệu nhận về. Việc ghi lên SBUF sẽ nạp dữ liệu để truyền và việc đọc SBUF sẽ lấy dữ liệu đã nhận đ−ợc. Các chế độ hoạt động khác nhau đ−ợc lập trình thông qua thanh ghi điều khiển port nối tiếp SCON . • Các thanh ghi ngắt. Ngắt là sự đáp ứng các sự kiện bên trong hoặc bên ngoài nhằm thông báo cho bộ vi điều khiển biết thiết bị đang cần đ−ợc phục vụ. AT89C52 có một cấu trúc ngắt với 2 mức −u tiên và 8 nguyên nhân ngắt. Ngắt bị và vô hiệu hoá khi reset hệ thống và sau đó đ−ợc cho phép ghi vào thanh ghi cho phép ngắt IE. Mức −u tiên ngắt đ−ợc thiết lập qua thanh ghi −u tiên ngắt IP. Cả 2 thanh ghi này đều đ−ợc định địa chỉ từng bit. Hoạt động của các ngắt sẽ đ−ợc giới thiệu cụ thể trong phần sau. • Thanh ghi điều khiển nguồn. Thanh ghi điều khiển nguồn PCON chứa các bit điều khiển chế độ nguồn. Bit SMOD (bit 7) tăng gấp đôi tốc độ baud của port nối tiếp khi port này hoạt động ở chế độ 1,2 hoặc 3. Các bit 4,5,6 của PCON không đ−ợc định nghĩa. Các bit 2 và 3 là các bit cờ đa mục đích dành cho ứng dụng của ng−ời sử dụng . Các bit điều khiển nguồn, nguồn giảm PD (bit 1) và nghỉ IDL (bit 0). Lệnh thiết lập bit PD =1 sẽ là lệnh cuối cùng đ−ợc thực thi tr−ớc khi đi vào chế độ nguồn giảm. ở chế độ nguồn giảm: + Mạch dao động trên chip ngừng hoạt động. + Mọi chức năng ngừng hoạt động . + Nội dung của Ram trên chíp đ−ợc duy trì. + Các chân port duy trì mức logic của chúng. + ALE và PSEN đ−ợc giữ ở mức thấp. + Chỉ ra khỏi chế độ này bằng cách reset hệ thống. Trong suốt thời gian chế độ nguồn giảm ,Vcc có điện áp 2V. Cần phải giữ cho Vcc có điện áp không thấp hơn sau khi đạt đ−ợc chế độ nguồn giảm cần phục hồi Vcc = 5V tối thiểu 10 chu kỳ dao động tr−ớc khi chân RST đạt mức thấp lần nữa. Lệnh thiết lập bit IDL =1 sẽ là lệnh sau cùng đ−ợc thực thi tr−ớc khi đi vào chế độ nghỉ. ở chế độ nghỉ, tín hiệu clock nội đ−ợc khoá không cho đến CPU nh−ng không khoá đối với các chức năng ngắt, định thời và port nối tiếp. Trạng thái CPU đ−ợc duy trì và nội dung của tất cả các thanh ghi cũng đ−ợc giữ không đổi. Các chân port cũng đ−ợc duy trì các mức logic của chúng. ALE và PSEN đ−ợc giữ ở mức cao. Chế độ nghỉ kết thúc bằng cách cho phép ngắt hoặc bằng cách reset hệ thống. 2.3.4. Bộ đếm, bộ định thời của AT89C52. AT89C52 có ba bộ định thời/ bộ đếm, chúng có thể đựợc dùng làm bộ định thời để tạo trễ thời gian hoặc làm bộ đếm để đếm các sự kiện xảy ra bên ngoài bộ vi điều khiển. • Timer 0 và Timer 1 Cả hai bộ định thời Timer 0 và Timer 1 đều có độ dài 16 bit. Do AT89C52 có cấu trúc 8 bit nên mỗi bộ định thời đ−ợc truy nhập d−ới dạng hai thanh ghi độc lập là byte thấp TL0 (đối với Timer 0), TL1 (đối với Timer1) và byte cao TH0,TH1. Để vi điều khiển xác định xem sử dụng Timer nào cũng nh− xác định việc dùng nó làm bộ định thời hay bộ đếm thì thông qua thanh ghi TMOD. Thanh ghi TMOD là thanh ghi 8 bit gồm có 4 bit thấp dành cho bộ Timer 0 và 4 bit cao dành cho Timer 1. Trong đó hai bit thấp của chúng dùng để thiết lập chế độ của bộ định thời, còn hai bít cao dùng để xác định phép toán. GATE C/T M1 M0 GATE C/T M1 M0 Hình 2.8 - Các bit của thanh ghi TMOD Sau đây ta sẽ tìm hiểu chức năng của các bit trong thanh ghi này. • GATE (bit cổng gate). Mỗi bộ định thời đều có cách khởi động và dừng khác nhau. Một số bộ định thời đều có cách khởi động và dừng khác nhau. Một số bộ định thời thực hiện điều này bằng phần mềm, một số khác bằng phần cứng và một số khác nữa kết hợp cả phần cứng và phần mềm. Chính bộ định thời 89C52 dùng ph−ơng pháp kết hợp. Nếu thực hiện khởi động và dừng bộ định thời bằng phần mềm thì bit GATE = 0. Nếu dùng phần cứng thì bit GATE = 1. • Bit C/T (đồng hồ, bộ định thời). Là bit của thanh ghi TMOD dùng để xác đinh bộ định thời đ−ợc sử dụng làm bộ tạo trễ hay bộ đếm sự kiện. Nếu bit C/T=0 thì đó là bộ tạo trễ. Nguồn đồng hồ cho chế độ trễ thời gian là tần số thạch anh của 8051. Nếu C/T=1 thì đó là bộ đếm sự kiện và nhận các xung bên ngoài của 8051. • Bit M1, M0. M0, M1 là các bit chế độ dùng để chọn chế độ 0, 1, 2 của các bộ Timer 0 và Timer 1. Chế độ 0 là bộ định thời 13bit, chế độ 1 là bộ định thời 16bit, chế độ 2 là bộ định thời 8 bit. M1 M0 Mode Chế độ 0 0 0 Chế độ bộ định thời 13 bit 0 1 1 Chế độ bộ định thời 16 bit 1 0 2 Chế độ 8 bit tự nạp lại 1 1 3 Chế độ bộ định thời chia tách Th−ờng thì chế độ 1 và chế độ 2 đ−ợc sử dụng nhiều hơn chế độ 0 và chế độ 3 + Chế độ 1. Đó là bộ định thời 16 bit, do đó các giá trị từ 0000 đến FFFFH có thể đ−ợc nạp vào thanh ghi TL và TH của bộ định thời. Sau khi TL và TH đ−ợc nạp giá trị ban đầu 16 bit thì bộ định thời đ−ợc khởi động nhờ lệnh SETB TR0 (với Timer 0) và SETB TR1 (với Timer 1). Bộ định thời sau khi đ−ợc khởi động thì bắt đầu thực hiện đếm tăng. Bộ định thời đếm lên cho đến khi đạt giá trị định thời FFFFH. Khi đó bộ định thời sẽ quay vòng từ FFFFH về 0000 và bật cờ bộ định thời TF lên mức cao. Khi bộ định thời đ−ợc thiết lập thì để dừng bộ định thời bằng phần mềm có thể sử dụng lệnh CLR TR0 (cho Timer 0) và CLR TR1 (cho Timer 1). Bộ định thời sau khi đạt giá trị tới hạn thì thực hiện quay vòng về 0. Để lặp lại quá trình đếm của bộ định thời, các thanh ghi TH và TL phải đ−ợc nạp lại giá trị ban đầu và cờ TF cần đ−ợc xoá về 0. Để tạo ra độ trễ thời gian khi dùng chế độ 1 của bộ định thời thì cần phải thực hiện các b−ớc d−ới đây: 1- Nạp giá trị cho thanh ghi TMOD xác đinh bộ đinh thời nào và chế độ nào đ−ợc chọn. 2- Nạp giá trị đếm ban đầu cho các thanh ghi TL và TH. 3- Khởi động bộ định thời. 4- Kiểm tra trạng thái bật của cờ bộ định thời TF bằng lệnh “JNB TFx,dich”. Thoát vòng lặp khi TF đ−ợc bật lên cao. 5- Dừng bộ định thời. 6- Xoá cờ TF cho vòng kế tiếp. 7- Quay trở lại TF để nạp lại TF và TH. + Chế độ 2: Đó là bộ định thời 8 bit, do đó chỉ cho phép các giá trị từ 00H đến FFH đ−ợc nạp vào thanh ghi TH của bộ định thời. Sau khi TH đ−ợc nạp giá trị thì 8051 sao nội dung đó vào TL và bộ định thời đ−ợc khởi động. Bộ định thời sau khi đ−ợc khởi động thì thực hiện đếm tăng bằng cách tăng thanh ghi TL. Bộ định thời đếm cho đến khi đạt giá trị tới hạn là FFh. Khi quay vòng từ FFH trở về 00 thì cờ bộ định thời TF đ−ợc thiết lập. Khi thanh ghi TL quay từ FFh trở về 0, cờ TF đ−ợc bật lên 1 thì thanh ghi TL tự động nạp lại giá trị ban đầu đ−ợc giữ ở thanh ghi TH. Để lặp lại quá trình chỉ cần xoá cờ TF mà không cần nạp lại giá trị ban đầu. Do đó chế độ 2 đ−ợc gọi là chế độ tự nạp lại. Để tạo ra độ trễ thời gian khi dùng chế độ 2 của bộ định thời thì ta làm t−ơng tự nh− ở chế độ 1 chỉ khác là b−ớc 7 là ta quay trở về b−ớc 4 vì chế độ 2 là chế độ tự nạp lại. • Timer 2. Khác với các phiên bản tr−ớc đó của 8051, AT89C52 có thêm một bộ định thời Timer2, tuy nhiên bộ định thời này không đ−ợc sử dụng nhiều nhất là trong các ứng dụng đơn giản nên ở đây chúng tôi không giới thiệu nhiều. Timer 2 là bộ định thời/ đếm 16bits. Nó có thể hoạt động ở 2 chế độ định thời hoặc đếm thông qua bit C/ 2T của thanh ghi T2CON và giá trị của nó đ−ợc ghi trong 2 thanh ghi 8 bits là TH2 và TL2. Bộ định thời Timer có 3 chế độ làm việc: Đ−ợc giữ lại (Capture), Tự động nạp lại (auto reload) và Thiết lập tốc độ baud (Baud Rate Generator). Việc lựa chọn các chế độ này thông qua các bit trong thanh ghi T2CON. Hình 2.9 là bảng lựa chọn các chế độ của bộ định thời Timer2. RCLK+TCLK CP/ RL2 TR2 Chế độ 0 0 1 Tự động nạp lại 0 1 1 Đ−ợc giữ lại 1 x 1 Thiết lập tốc độ baud x x 0 Tắt Timer2 Hình 2.9 - Bảng lựa chọn chế độ của bộ định thời Timer2. Timer 2 có riêng cho mình thanh ghi định chế độ T2MOD và thanh ghi điều khiển T2CON. Thanh ghi T2CON có địa chỉ là 0C8H và các bit có ký hiệu nh− sau: TF2 EXF2 RCLK TCLK EXEN2 TR2 C/ 2T CP/ RL2 7 6 5 4 3 2 1 0 Hình 2.10 - Các bit của thanh ghi T2CON. Chức năng của các bit đ−ợc thể hiện trong bảng: Ký hiệu Chức năng TF2 Cờ tràn Timer 2, thiết lập khi Timer 2 tràn và phải đ−ợc xoá bằng phaàn meàm. TF2 sẽ không thiết lập khi RCLK = 1 hoặc TCLK = 1. EXF2 Cờ ngoài của Timer 2, set khi T2EX xuống thấp và EXEN2 = 1. Nếu ngắt Timer 2 đ−ợc kích hoạt, EXF2 = 1 sẽ làm CPU trỏ đến ISR cuả Timer 2. EXF2 phải đ−ợc xóa bằng phaàn meàm. EXF2 không gây nên ngắt trong chế độ đếm lên/xuống (DCEN = 1). RCLK Kích hoạt xung clock bộ thu. Khi set, các xung tràn Timer 2 sẽ là xung clock cho bộ thu port nối tiếp trong mode 1 và 3. RCLK = 0 thì bộ thu port nối tiếp sẽ dùng các xung tràn cuả Timer 1. TCLK Kích hoạt xung clock bộ phát. Khi set, các xung tràn Timer 2 sẽ là xung clock cho bộ phát port nối tiếp trong mode 1 và 3. TCLK = 0 thì bộ phát port nối tiếp sẽ dùng các xung tràn của Timer 1. EXEN2 Kích hoạt bên ngoài. EXEN2 = 0 làm cho Timer 2 bỏ qua các sự kiện trên T2EX. TR2 Khởi động/Dừng Timer 2. TR2 = 1 làm khởi động Timer 2. C/ 2T Bit lựa chọn Timer hay Counter. C/ 2T = 0 : Timer. C/ 2T = 1 : Counter - đếm sự kiện bên ngoài . CP/ RL2 Lựa chọn capture hay reload. CP/ RL2 = 1: Capture xảy ra khi T2EX xuống thấp nếu EXEN2 = 1. CP/ RL2 = 0 : reload xảy ra khi Timer 2 tràn hoặc khi T2EX xuống thấp nếu EXEN2 = 1. Nếu TCLK hay RCLK = 1, bit này bị bỏ qua và timer bị ép vào chế độ reload khi Timer 2 tràn. Hình 2.11 - Chức năng các bit trong thanh ghi T2CON. Thanh ghi T2MOD có địa chỉ là 0C9H và các bit đ−ợc cho bởi bảng: - - - - - - T2OE DCEN 7 6 5 4 3 2 1 0 Hình 2.12 - Các bit của thanh ghi T2MOD. T2OE : Bit cho phép ra của Timer2. DCEN: Khi bit này thiết lập thì cho phép đặt/ xoá Couter. 2.3.5. Ngắt của 8051. Một bộ vi điều khiển có thể phục vụ một số thiết bị. Có hai ph−ơng pháp phục vụ thiết bị đó là sử dụng ngắt và ph−ơng pháp thăm dò. ở ph−ơng pháp ngắt mỗi khi có một thiết bị cần đ−ợc phục vụ thì thiết bị sẽ báo cho bộ vi điều khiển bằng cách gửi một tín hiệu ngắt. Khi nhận đ−ợc tín hiệu này bộ vi điều khiển ngừng mọi công việc đang thực hiện đang thực hiện để chuyển sang phục vụ thiết bị. Đối với ph−ơng pháp thăm dò, bộ vi điều khiển liên tục kiểm tra tình trạng của thiết bị và khi điều kiện đ−ợc đáp ứng thì tiến hành phục vụ thiết bị. Sau đó bộ vi điều khiển chuyển sang phục vụ trạng thái của thiết bị tiếp theo cho đến khi tất cả đều đ−ợc phục vụ. Điểm mạnh của ph−ơng pháp ngắt là bộ vi điều khiển có thể phục vụ đ−ợc nhiều thiết bị, nh−ng dĩ nhiên là không cùng một thời điểm. Mỗi thiết bị có thể đ−ợc bộ vi điều khiển phục vụ dựa theo mức −u tiên đ−ợc gán. ở ph−ơng pháp thăm dò thì không thể gán mức −u tiên cho thiết bị đ−ợc vì bộ vi điều khiển kiểm tra thiết bị theo kiểu hỏi vòng. * Trình phục vụ ngắt. Mỗi ngắt luôn có một trình phục vụ ngắt. Khi một ngắt đ−ợc kích hoạt thì bộ vi điều khiển chạy trình phục vụ ngắt. Trình phục vụ ngắt của mỗi ngắt có một vị trí cố định trong bộ nhớ để giữ địa chỉ ISR. Tập hợp các ô nhớ l−u giữ địa chỉ của của tất cả các ISR đ−ợc gọi là bảng vector ngắt. Ngắt Địa chỉ ROM (Hexa) Chân RESET 0000 9 Ngắt phần cứng ngoài (INT0) 0003 12 (P3.2) Ngắt bộ TIMER 0 (TF0) 000B Ngắt phần cứng ngoài (INT1) 0013 13 (P3.3) Ngắt bộ TIMER 1 (TF1) 001B Ngắt COM nối tiếp (RI và TI) 0023 Ngắt bộ TIMER 2 002B Hình 2.13 - Bảng vector ngắt của AT89C52. * Trình tự thực hiện ngắt. Khi một ngắt đ−ợc kích hoạt, trình tự thực hiện của bộ vi điều khiển nh− sau: • Kết thúc lệnh hiện tại và l−u trữ địa chỉ kế tiếp (PC) vào ngăn xếp. • L−u lại trạng thái hiện hành của tất cả các ngắt vào bên trong (nghĩa là không l−u vào ngăn xếp). • Nhảy đến một vị trí cố định trong bộ nhớ đ−ơc gọi là bảng vvector ngắt, nơi l−u trữ địa chỉ của trình phục vụ ngắt. • Nhận địa chỉ ISR từ bảng vector ngắt rồi nhảy tới địa chỉ đó và bắt đầu thực hiện trình phục vụ ngắt cho đến lệnh cuối cùng của ISR là RETI. • Kết thúc trình phục vụ ngắt, bộ vi điều khiển gặp lệnh RETI và trở về nơi nó đã bị ngắt. Tr−ớc hết hai byte của đỉnh ngăn xếp đ−ợc nạp vào bộ đếm ch−ơng trình PC, tiếp theo bộ đếm ch−ơng trình thực hiện lệnh tại địa chỉ đó. * Cho phép ngắt và không cho phép ngắt. Mỗi một nguyên nhân ngắt đ−ợc cho phép hoặc không cho phép riêng rẽ hoặc thông qua thanh ghi chức năng định địa chỉ bit, thanh ghi cho phép ngắt IE (Interrupt Enable) có địa chỉ byte là OA8H. Mỗi bit của thanh ghi này cho phép hoặc không cho phép từng nguyên nhân ngắt riêng rẽ đồng thời còn có một bit toàn cục cho phép hoặc không cho phép tất cả các ngắt. Bit Kí hiệu Địa chỉ Bit Mô tả (0 không cho phép,1 cho phép) IE.7 EA AFH Cho phép/ không cho phép toàn cục IE.6 - AEH Không sử dụng IE.5 ET2 ADH Cho phép ngắt do bộ định thời 2 IE.4 ES ACH Cho phép ngắt do port nối tiếp IE.3 ET1 ABH Cho phép ngắt do bộ định thời 1 IE.2 EX1 AAH Cho phép ngắt từ bên ngoài 1 IE.0 EX0 A8H Cho phép ngắt từ bên ngoài 0 IE.1 ET0 A9H Cho phép ngắt do bộ định thời 0 Hình 2.14 - Bảng thanh ghi cho phép ngắt IE. Vậy trong cùng một lúc nếu có 2 ngắt xuất hiện thì vi điều khiển sẽ thực hiện ngắt nào tr−ớc và nh− vậy sẽ phải có chế độ −u tiên. * Ưu tiên ngắt. Mỗi một nguyên nhân ngắt đ−ợc lập trình riêng rẽ và đ−ợc −u tiên thông qua thanh ghi chức năng đặc biệt đ−ợc định địa chỉ bit, thanh ghi −u tiên ngắt IP, thanh ghi này có địa chỉ byte là 0B8H. Bit Kí hiệu Địa chỉ Mô tả IP.7 - Không sử dụng IP.6 - Không sử dụng IP.5 PT2 0BDH Ưu tiên cho ngắt do bộ định thời 2 IP.4 PS 0BCH Ưu tiên cho ngắt do port nối tiếp IP.3 PT1 0BBH Ưu tiên cho ngắt do bộ định thời 1 IP.2 PX1 0BAH Ưu tiên cho ngắt do bên ngoài ( ngắt ngoài 1) IP.1 PT0 0B9H Ưu tiên cho ngắt do bộ định thời 0 IP.0 PX0 0B8H Ưu tiên cho ngắt do bên ngoài (Ngắt ngoài 0) Hình 2.15 - Bảng thanh ghi −u tiên ngắt IP. Khi hệ thống đ−ợc thiết lập lại trạng thái ban đầu, thanh ghi IP sẽ mặc định đặt tất cả các ngắt ở mức −u tiên thấp. Chế độ −u tiên cho phép một trình phục vụ ngắt đ−ợc tạm dừng bởi một ngắt khác nếu ngắt mới này có mức −u tiên cao hơn mức −u tiên của ngắt hiện đang đ−ợc phục vụ. Nếu có ngắt với −u tiên cao xuất hiện trình phục vụ cho ngắt có mức −u tiên thấp phải tạm dừng (nghĩa là bị ngắt). Ta không thể tạm dừng một ngắt có mức −u tiên cao. Ch−ơng trình chính do đ−ợc thực thi ở mức nền và không đ−ợc kết hợp với một ngắt nào nên luôn luôn bị ngắt bởi các ngắt dù cho ngắt này ở mức −u tiên thấp hay cao. Nếu có hai ngắt với các ngắt có mức −u tiên thấp hay cao xuất hiện đồng thời, ngắt có mức −u tiên cao sẽ đ−ợc phục vụ tr−ớc. * Ngắt ngoài INT0 và INT1. Chỉ có hai ngắt phần cứng ngoài là INT0 và INT1. Hai ngắt này đ−ợc bố trí trên chân P3.2 và P3.3 và địa chỉ trong bẳng vector ngắt là 0003H và 0013H. Các ngắt này đ−ợc phép và bị cấm bởi thanh ghi IE. Có 2 cách kích hoạt ngắt phần cứng ngoài là theo mức và theo s−ờn. • Ngắt kích phát mức. ở chế độ kích phát theo mức, các chân INT0 và INT1 bình th−ờng ở mức cao, giống nh− tất cả các chân của cổng I/O. Nếu có tín hiệu mức thấp cấp tới thì tín hiệu này kích hoạt ngắt. Khi đó bộ vi điều khiển ngừng tất cả công việc đang làm và nhảy đến bảng vector ngắt và thực hiện ngắt. Ngắt kích hoạt theo ph−ơng pháp này gọi là kích phát mức hay kích hoạt mức và là chế độ mặc định khi reset 8051. Tr−ớc khi thực hiện lệnh cuối cùng của trình phục vụ ngắt RETI, thì mức thấp tại chân INT phải chuyển sang cao, nếu không sẽ tạo ra một ngắt khác. Nói cách khác, nếu vẫn duy trì mức thấp khi ISR kết thúc thì 8051 sẽ hiểu là có một ngắt mới và nhảy đến bảng vector ngắt để thực hiện ISR. Tuy nhiên nếu chân INT đ−ợc đ−a trở lại mức cao tr−ớc khi bắt đầu thực hiện ISR thì sẽ chẳng thực hiện ngắt nào. Vì vậy cần duy trì mức thấp trong một khoảng thời gian cho đến khi ISR bắt đầu thực hiện. • Ngắt kích phát s−ờn. Khi reset thì 8051 đặt ngắt INT0 và INT1 ở chế độ kích phát mức thấp. Để đổi các ngắt thành kích phát s−ờn thì cần phải viết ch−ơng trình cho các bit của thanh ghi TCON. Thanh ghi TCON có các bit cờ IT0 và IT1 xác định chế độ kích phát s−ờn hay kích phát mức của các ngắt phần cứng. Nếu chuyển các bit IT0 (TCON.0) và IT1 (TCON.2) lên cao thì các ngắt phần cứng ngoài INT0 và INT1 trở thành các ngắt kích phát s−ờn. Khi đó nếu có một tín hiệu chuyển từ cao xuống thấp cấp cho chân P3.3 thì bộ vi đièu khiển sẽ bị ngắt và buộc nhảy đến bảng véctor ngắt tại địa chỉ 0013H để thực hiện trình phục vụ ngắt. Đối với tr−ờng hợp kích phát s−ờn, nguồn ngắt ngoài phải đ−ợc giữ ở mức cao tối thiểu là một chu kỳ máy, và sau đó duy trì mức thấp cũng tối thiểu một chu kỳ máy để đảm bảo bộ vi điều khiển nhận biết đ−ợc quá trình chuyển s−ờn xung từ cao xuống thấp. S−ờn xuống của xung đ−ợc chốt lại và l−u ở thanh ghi TCON. Các bit TCON.1 và TCON.3 giữ các s−ờn đ−ợc chốt của chân INT0 và INT1 t−ơng ứng. Các bit này hoạt động nh− các cờ “ngắt đang đ−ợc phục vụ” bật lên thì nó báo cho thiết bị bên ngoài biết rằng ngắt hiện nay đang đ−ợc xử lý và trên chân INTn sẽ không có ngắt nào đ−ợc đáp ứng chừng nào ngắt này ch−a đ−ợc phục vụ xong. Khi các trình phục vụ ngắt kết thúc, nghĩa là khi thực hiện lệnh RETI, các bit TCON.1 và TCON.3 đ−ợc xoá để báo rằng 8051 sẵn sàng đáp ứng các ngắt khác trên chân đó. Để có thể nhận đ−ợc một ngắt khác thì tín hiệu trên chân đó phải trở lại mức cao sau đó xuống thấp để tạo nên một kích phát s−ờn. * Ngắt truyền thông nối tiếp. Nh− ta đã biết, các cờ ngắt phát TI đ−ợc bật lên 1 khi bit cuối cùng của khung dữ liệu, bit Stop đ−ợc phát đi báo rằng thanh ghi SBUF sẵn sàng phát byte kế tiếp. Trái lại cờ ngắt thu RI đ−ợc bật lên 1 khi toàn bộ khung dữ liệu kể cả bít Stop đã đ−ợc nhận. Đối với ph−ơng pháp thăm dò, chúng ta phải đợi cho cờ TI hay RI bật lên và trong lúc chờ đợi thì bộ vi điều khiển không thể làm đ−ợc việc gì khác. Còn đối với ph−ơng pháp ngắt, thì mỗi khi 8051 vừa nhận đ−ợc một byte hoặc đã sẵn sàng để gửi byte tiếp theo thì đều đ−ợc thông báo, do vậy chúng ta có thể làm đ−ợc việc khác trong thời gian chờ truyền thông nối tiếp phục vụ. ở 8051 chỉ có một ngắt dành riêng cho truyền thông nối tiếp. Ngắt này dùng cho cả phát và thu dữ liệu. Nếu biết ngắt trong thanh ghi IE (là bit IE.4) đ−ợc phép khi RI và TI bật lên, thì 8051 nhận đ−ợc ngắt và nhảy đến địa chỉ trình phục vụ ngắt dành cho truyền thông nối tiếp 0023H trong bảng vector ngắt và thực hiện nó. Lúc đó chúng ta cần kiểm tra cờ TI và RI để xem cờ nào gây ngắt để có đáp ứng phù hợp. ở phần lớn các ứng dụng, ngắt nối tiếp chủ yếu đ−ợc sử dụng để nhận dữ liệu và không dùng để phát dữ liệu. Vấn đề này cũng t−ơng tự nh− chuông báo nhận điện thoại. Để báo có cuộc gọi đến, điện thoại đổ chuông, còn để gọi điện thoại thì có nhiều cách khác chứ không cần đến đổ chuông. Tuy nhiên nếu điện thoại đã đổ chuông thì dù bạn đang bận hay rỗi thì đều phải nhấc máy ngay nếu không sẽ mất cuộc gọi. T−ơng tự nh− vậy ngắt nối tiếp đ−ợc dùng để nhận dữ liệu. * Ngắt bộ định thời. ở phần tr−ớc chúng ta đã biết, cờ bộ định thời TF đ−ợc đặt lên cao khi bộ định thời đạt giá trị cực đại và quay trở về 0. Chúng ta đã dùng lệnh JNB TF, đích để kiểm tra trạng thái cờ TF. Ph−ơng pháp này có nh−ợc điểm là trong quá trình kiểm tra cờ TF, bộ vi điều khiển không thể làm đ−ợc việc gì khác. Để khắc phục nh−ợc điểm này, ng−ời ta sử dụng ph−ơng pháp ngắt. Nếu bit ngắt bộ định thời ở thanh ghi IE đ−ợc phép thì mỗi khi bộ định thời quay về 0, cờ TF đ−ợc bật lên và bộ vi điều khiển ngừng mọi công việc đang thực hiệnvà nhảy đến bảng vector ngắt để phục vụ ISR. Bằng cách đó bộ vi điều khiển có thể làm đ−ợc các công việc khác cho đến khi nào thông báo rằng bộ định thời đã quay về 0. 2.3.6. Tập lệnh của 8051. Mỗi một họ vi điều khiển đều có một tập lệnh riêng. Tập lệnh của 8051 đ−ợc chia thành 4 nhóm: * Số học. * Logic. * Chuyển dữ liệu. * Chuyển điều khiển. Tr−ớc khi đi vào tìm hiểu tập lệnh của vi điều khiển ta cần hiểu một số khái niệm sau: • Dữ liệu trực tiếp: là dữ liệu nằm trong ô nhớ của RAM • Dữ liệu gián tiếp là dữ liệu trong ô nhớ mà ô nhớ đó đ−ợc có địa chỉ nằm trong một thanh ghi nào đó. • Dữ liệu tức thời: là một giá trị cụ thể đ−ợc đặt sau dấu # (#data) ví dụ #20H 2.3.6.1. Nhóm lệnh xử lý số học. ADD A, Rn (1 byte, 1 chu kỳ máy): Cộng nội dung thanh ghi Rn vào thanh ghi A ADD A, @Ri (1,1) : Cộng gián tiếp nội dung Ram chứa tại địa chỉ đ−ợc khai báo trong Ri vào thanh ghi A. ADD A, Data (2,1) : Cộng trực tiếp một byte vào thanh ghi A. ADD A, #Data (2,1) : Cộng dữ liệu tức thời vào thanh ghi A . ADDC A, Rn (1,1) : Cộng thanh ghi và cờ nhớ vào A. ADDC A, @Ri (1,1) : Cộng trực tiếp byte dữ liệu có địa chỉ nằm trong thanh ghi Ri và cờ nhớ vào A. ADDC A, Data (2,1) : Cộng trực tiếp byte dữ liệu và cờ nhớ vào thanh ghi A ADDC A, #Data (2,1) : Cộng dữ liệu tức thời và cờ nhớ vào thanh ghi A SUBB A, Rn (1, 1) : Trừ nội dung thanh ghi A cho nội dung thanh ghi Rn và cờ nhớ. SUBB A, Data (2, 1) : Trừ trực tiếp nội dung thanh ghi A cho một số và cờ nhớ. SUBB A, @Ri (1, 1) : Trừ gián tiếp A cho một số và cờ nhớ. SUBB A, #Data (2, 1) : Trừ gián tiếp nội dung thanh ghi A cho một số tức thời và cờ nhớ. INC A (1,1) : Tăng nội dung thanh ghi Alên 1. INC Rn (1,1) : Tăng nội dung thanh ghi Rn lên 1. INC Data (2,1) : Tăng dữ liệu trực tiếp lên 1. INC @Ri (1,1) : Tăng trực tiếp nội dung vùng Ram lên 1. DEC A (1,1) : Giảm nội dung A xuống 1. DEC Rn (1,1) : Giảm nội dung Rn xuống 1. DEC Data (2,1) : Giảm dữ liệu trực tiếp xuống 1. DEC @Ri (1,1) : Giảm gián tiếp nội dung vùng Ram xuống 1. INC DPTR (1,2) Tăng nội dung con trỏ dữ liệu lên 1. MUL AB (1,4) : Nhân nội dung thanh ghi A với nội dung thanh ghi B. DIV AB (1,4) : Chia nội dung thanh ghi A cho nội dung thanh ghi B. DA A (1,1) : Hiệu chỉnh thập phân thanh ghi A. 2.3.6.2. Nhóm lệnh logic. ANL A, Rn (1,1) And nội dung A với nội dung Rn. ANL A, Data (2,1) And nội dung A với dữ liệu trực tiếp. ANL A, @Ri (1,1) And nội dung A với dữ liệu gián tiếp trong Ram. ANL A, #data (2,1) And nội dung A với dữ liệu trực tiếp. ANL data, #data (3,2) And một dữ liệu trực tiếp với dữ liệu tức thời. ANL C, bit (2,2) And cờ nhớ với 1 bit trực tiếp. ANL C, /bit (2,2) And cờ nhớ với bù 1 bit trực tiếp. ORL A, Rn (1,1) OR thanh ghi A với thanh ghi Rn. ORL A, Data (2,1) OR thanh ghi A với một dữ liệu trực tiếp. ORL A, @Ri (1,1) OR thanh ghi A với một dữ liệu gián tiếp. ORL A, #data (2,1) OR thanh ghi A với dữ liệu tức thời. ORL Data, A (2,1) OR dữ liệu trực tiếp với thanh ghi A. ORL Data, #data (3,1) OR dữ liệu trực tiếp với dữ liệu tức thời. ORL C, bit (2,2) OR cờ nhớ với 1 bit trực tiếp. ORL C, /bit (2,2) OR cờ nhớ với bù 1 bit trực tiếp. XRL A, Rn (1,1) XOR thanh ghi A với thanh ghi Rn. XRL A, Data (2,1) XOR thanh ghi A với dữ liệu trực tiếp. XRL A, @Ri (1,1) XOR thanh ghi A với một dữ liệu gián tiếp. XRL A, #data (2,1) XOR thanh ghi A với một dữ liệu tức thời. XRL data, A (2,1) XOR dữ liệu tức thời với thanh ghi A . XRL data, #data (3,1) XOR dữ liệu trực tiếp với dữ liệu tức thời. SETB bit (2,1) : Đặt một bit trực tiếp. SETB C (1,1) : Đặt cờ nhớ. CLR A (1,1) : Xoá thanh ghi A. CLR C (1,1) : Xoá cờ nhớ. CPL A (1,1) : Bù nội dung thanh ghi A. CPL C (1,1) : Bù cờ nhớ. CPL bit (2,1) : Bù một bit trực tiếp. RL A (1,1) : Quay trái nội dung thanh ghi A. RLC A (1,1) : Quay trái nội dung thanh ghi A qua cờ nhớ. RR A (1,1) : Quay phải nội dung thanh ghi A. RRC A (1,1) : Quay phải nội dung thanh ghi A qua cờ nhớ. SWAP (1, 1) Quay trái nội dung thanh ghi A 1 nibble (1/2byte). 2.3.6.3. Nhóm chuyển dữ liệu. MOV A, Rn (1,1) : Chuyển nội dung Rn sang A. MOV A, data (2,1) : Chuyển dữ liệu trực tiếp vào A. MOV A, @Ri (1, 1) : Chuyển dữ liệu gián tiếp vào A. MOV A, #data (2,1) : Chuyển dữ liệu tức thời vào A. MOV Rn, data (2, 2) : Chuyển dữ liệu trực tiếp vào Rn. MOV Rn, #data (2, 1) : Chuyển dữ liệu tức thời vào Rn. MOV data, A (2, 1) : Chuyển nội dung A vào dữ liệu tức thời. MOV data, Rn (2, 2) : Chuyển nội dung Rn vào dữ liệu trực tiếp. MOV data, data (3, 2) : Chuyển dữ liệu trực tiếp vào dữ liệu trực tiếp. MOV data, @Ri (2, 2) : Chuyển dữ liệu gián tiếp vào dữ liệu trực tiếp. MOV data, #data (3, 2) : Chuyển dữ liệu tức thời vào dữ liệu trực tiếp. MOV @Ri, A (1,1) : Chuyển nội dung A vào dữ liệu gián tiếp. MOV @Ri, data (2, 2) : Chuyển dữ liệu trực tiếp vào dữ liệu gián tiếp. MOV @Ri, #data (2,1) : Chuyển dữ liệu tức thời vào dữ liệu gián tiếp. MOV DPTR, #data (3 ,2) : Chuyển 1 hằng số 16 bit vào thanh ghi con trỏ dữ liệu. MOV C, Bit (2,1) : Chuyển 1 bit trực tiếp vào cờ nhớ. MOV bit, C (2, 2) : Chuyển cờ nhớ sang 1 bit trực tiếp. MOV A, @A+DPTR (1, 2): Chuyển byte bộ nhớ ch−ơng trình có địa chỉ là @A+DPTR vào A. MOVC A, @A+PC (1, 2): Chuyển byte bộ nhớ ch−ơng trình có địa chỉ là @A+PC vào A. MOVX A, @Ri (1, 2): Chuyển dữ liệu ngoài (8bit địa chỉ ) vào thanh ghi A. MOVX A, @DPTR (1, 2): Chuyển dữ liệu ngoài (16 bit địa chỉ ) vào thanh ghi A . MOVX @Ri, A (1, 2): Chuyển nội dung A ra dữ liệu ngoài (8 bit địa chỉ). MOVX @DPTR, A(1,2): Chuyển nội dung A ra dữ liệu bên ngoài (16 bit địa chỉ ). PUSH data (2,2): Chuyển dữ liệu trực tiếp vào ngăn xếp và tăng SP. POP data (2,2): Chuyển dữ liệu từ ngăn xếp ra vùng nhớ và giảm SP. XCH A, Rn (1,1): Trao đổi dữ liệu giữa thanh ghi Rn và A. XCH A, data (2,1): Trao đổi dữ liệu giữa thanh ghi A và dữ liệu trực tiếp. XCH A, @Ri (1,1): Trao đổi dữ liệu giữa thanh ghi A và dữ liêu trực tiếp. XCHD A, @Ri (1,1): Trao đổi dữ liệu giữa nửa byte thấp (LSN) của thanh ghi A và LSN của dữ liệu gián tiếp. 2.3.6.4. Nhóm lệnh chuyển điều khiển. ACALL addr11 (2, 2) : Gọi ch−ơng trình con dùng địa chỉ tuyệt đối. LCALL addr16 (3, 2) : Gọi ch−ơng trình con dùng địa chỉ dài . RET (1, 2): Trở về từ lệnh gọi ch−ơng trình con. RET 1 (1, 2) : Trở về từ lệnh gọi ngắt. AJMP addr11 (2, 2): Nhảy tuyệt đối. LJMP addr16 (3, 2): Nhảy dài. SJMP rel (2, 2): Nhảy ngắn. JMP @A+DPTR (1, 2): Nhảy gián tiếp từ con trỏ dữ liệu. JZ rel (2, 2): Nhảy nếu A= 0. JNZ rel (2, 2): Nhảy nếu A # 0. JC rel (2, 2): Nhảy nếu cờ nhớ đ−ợc đặt. JNC bit, rel (3, 2): Nhảy nếu cờ nhớ không đ−ợc đặt. JB bit, rel (3, 2): Nhảy t−ơng đối nếu bit trực tiếp đ−ợc đặt. JNB bit, rel (3, 2): Nhảy t−ơng đối nếu bit trực tiếp không đ−ợc đặt. JBC bit, rel (3, 2): Nhảy t−ơng đối nếu bit trực tiếp đ−ợc đặt, rồi xoá bit. CJNE A, data, rel (3, 2): So sánh dữ liệu trực tiếp với A và nhảy nếu không bằng. CJNE Rn, #data, rel (3, 2): So sánh dữ liệu tức thời với nội dung thanh ghi Rn và nhảy nếu không bằng. CJNE @Ri, #data, rel (3, 2): So sánh dữ liệu tức thời với dữ liệu trực tiếp và nhảy nếu không bằng. DJNZ Rn, rel (2, 2): Giảm thanh ghi Rn và nhảy nếu không bằng. DJNZ data,rel (3, 2): Giảm dữ liệu trực tiếp và nhảy nếu không bằng. Ch−ơng 3 Thiết kế hệ thống đo, hiển thị và điều khiển nhiệt độ khí sấy sử dụng vi điều khiển AT89C52 3.1 Sơ đồ khối của hệ thống . Hình 3.1 - Sơ đồ khối của hệ thống đo, hiển thị và điều khiển nhiệt độ khí sấy Hệ hoạt động theo ch−ơng trình nạp trên ROM của vi điều khiển. Phần cảm biến nhiệt đặt ở nơi ta muốn đo, nó sẽ đo tín hiệu nhiệt và chuyển thành tín hiệu điện sau đó đ−a vào ADC để tạo ra tín hiệu số đ−a vào vi điều khiển. Trên cơ sở ch−ơng trình nạp trên ROM và tín hiệu đo đ−ợc vi điều khiển sẽ cho phép thiết bị ngoại vi hoạt động nh− hiển thị nhiệt độ đo đ−ợc và nhiệt độ cần đạt đ−ợc. Sau đây chúng ta sẽ tìm hiểu cụ thể chức năng và hoạt động của từng khối. 3.1.1. Khối xử lý trung tâm. Đứng ở vị trí trung tâm là vi điều khiển AT89C52, chịu trách nhiệm về tất cả các hoạt động của mạch. Nó xử lý các thông tin nhận vào và đ−a ra các Bàn phím Mã hoá Khối xử lý trung tâm Mạch Công suất ể Chuyển đổi ADC Mạch đo nhiệt độ (Cảm biến ) Mạch hiển thị quyết định điều khiển. Cấu tạo, hoạt động của AT89C52 đã đ−ợc giới thiệu ở ch−ơng 2. 3.1.2. Chuyển đổi ADC. Nh− chúng ta đã biết, máy tính số làm việc trên các giá trị nhị phân. Nh−ng trong thực tế, các đại l−ợng vật lý đều ở dạng t−ơng tự (liên tục ). Nhiệt độ, độ ẩm, áp suất, tốc độ là một trong các đại l−ợng của thế giới thực mà ta th−ờng gặp hàng ngày. Một đại l−ợng vật lý đ−ợc chuyển đổi về dòng điện hoặc điện áp qua một thiết bị đ−ợc gọi là bộ biến đổi. Bộ biến đổi cũng có thể đ−ợc xem là bộ cảm biến. Các bộ cảm biến nhiệt, tốc độ, áp suất, ánh sáng và nhiều đại l−ợng tự nhiên khác đều có một điểm chung là cho ra các tín hiệu dòng điện hoặc điện áp ở dạng liên tục. Do vậy cần một bộ chuyển đổi t−ơng tự, số (ADC) để bộ vi điều khiển có thể đọc đ−ợc chúng. Chíp ADC đ−ợc sử dụng rộng rãi hiện nay đó là ADC804. Chip ADC804 là bộ chuyển đổi t−ơng tự số thuộc họ ADC800 của hãng National Semiconductor. Chip này cũng đ−ợc nhiều hãng khác sản xuất. ADC 0804 có các đặc điểm sau: * Độ phân giải 8 bit. * Lối vào điện áp so sánh vi phân. * T−ơng thích TTL. * Thời gian chuyển đổi: 100μs. * Tín hiệu vào 0 - 5V khi nguồn nuôi là 5V. * Bộ phát xung nhịp trên chíp. * Nguồn nuôi 5V. Để hiểu về sơ đồ nối chân của ADC trong mạch điều khiển chúng ta cần tìm hiểu về ý nghĩa của các chân của ADC. Hình III.1.2 giới thiệu sơ đồ chân của ADC804. U1 ADC0804 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 4 5 1 2 3 +IN -IN A G N D VREF/2 G N D DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 CLKR VCC/VREF CLKIN INTR CS RD WR Hình 3.2 - Sơ đồ chân của ADC 0804. • CS (Chip select ) - chọn chíp. Đây là chân chọn chip, đầu vào tích cực mức thấp đ−ợc sử dụng để kích hoạt ADC804. Để truy cập ADC 804 thì chân này phải ở mức thấp. • RD (Read) - đọc. Đây là một tín hiệu vào, tích cực mức thấp. Các bộ ADC chuyển đổi đầu vào t−ơng tự thành số nhị phân và giữ nó ở một thanh ghi trong. RD đ−ợc sử dụng để thông báo có dữ liệu đ−ợc chuyển tới đầu ra của ADC804. Khi CS = 0, nếu có một xung cao xuống thấp áp đến chân RD thì dữ liệu ra dạng số 8 bit đ−ợc đ−a tới các chân dữ liệu DB0 - DB7. Chân RD còn gọi là cho phép đầu ra. • WR (Write ) - ghi. Tên chính xác là “ bắt đầu chuyển đổi”. Đây là chân vào tích cực mức thấp đ−ợc dùng để báo cho ADC804 bắt đầu quá trình biến đổi. Nếu CS = 0 khi WR tạo ra xung cao xuống thấp thì bộ biến đổi ADC804 bắt đầu tiến hành chuyển đổi giá trị đầu vào t−ơng tự Vin về số nhị phân 8 bit. L−ợng thời gian cần thiết để chuyển đổi phụ thuộc vào tần số đ−a đến chân CLKIN và CLKR. Khi việc chuyển đổi dữ liệu đ−ợc hoàn tất thì chân INTR đ−ợc ADC804 hạ xuống thấp. • CLKIN và CLKR CLKIN là chân vào, nối tới đồng hồ ngoài thì đồng hồ ngoài đ−ợc sử dụng để tạo thời gian. Tuy nhiên, ADC804 cũng có một bộ xung đồng hồ trên chip. Để dùng đồng hồ trong (cũng đ−ợc gọi là đồng hồ riêng ) của ADC804 thì các chân CLKIN và CLKR đ−ợc nối tới một tụ điện và một điện trở nh− hình 3.3 10K 150pF Thuong mo +5V 10K START U1 ADC0804 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 4 51 2 3 +IN -IN AGND VREF/2 GND DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 CLKR VC C CLKIN INTRCS RD WR Hình 3.3 - Sơ đồ mạch ngoài của ADC804. Trong tr−ờng hợp này tần số đồng hồ đ−ợc xác định bằng biểu thức: f=1/1.1RC Giá trị thông th−ờng của các đại l−ợng trên là R=10 kΩ C=150pF và tần số nhận đ−ợc là f=606 KHz có thời gian chuyển đổi là 110μs • Ngắt INTR (Interrupt). Ngắt hay còn gọi là “ kết thúc việc chuyển đổi”. Đây là chân tích cực mức thấp. Bình th−ờng chân này ở trạng thái cao và khi việc chuyển đổi hoàn tất thì nó xuống thấp để báo cho biết là dữ liệu đ−ợc chuyển đổi đã sẵn sàng để lấy đi. Sau khi INTR xuống thấp, cần đặt CS = 0 và gửi đi một xung cao xuống thấp tới chân RD để đ−a dữ liệu ra. • +in và -in. Đây là 2 đầu vào t−ơng tự vi sai Và ta có Vin =+in - (-)in. Thông th−ờng - in đ−ợc nối xuống đất và +in đ−ợc dùng làm đầu vào t−ơng tự . • VCC là chân nguồn +5V. Chân này còn đ−ợc dùng làm điện áp tham chiếu khi đầu vào VREF/2 (chân 9 ) để hở. • VREF/2: Chân 9 là điện áp đầu vào t−ơng tự đ−ợc dùng làm điện áp tham chiếu. Nếu chân này hở (không đ−ợc nối) thì điện áp đầu vào t−ơng tự cho ADC 804 nằm trong dải 0 đến 5V (giống nh− chân Vcc). Tuy nhiên có nhiều ứng dụng mà đầu vào t−ơng tự áp đến Vin khác với dải 0 đến 5V. Chân VREF/2 đ−ợc dùng để thực hiện các điện áp đầu vào có dải khác với 0 - 5V. Ví dụ nếu dải đầu vào t−ơng tự cần biến đổi từ 0 đến 4V thì VREF/2 đ−ợc nối với +2V Hình 3.4 là biểu diễn dải điện áp Vin đối với các đầu vào VREF/2 khác nhau VREF/2(V) Vin(V) Kích th−ớc b−ớc(mV) Hở 0 đến 5 5/256=19.53 2.0 0 đến 4 4/256=15.62 1.5 0 đến 3 3/256=11.71 1.28 0 đến 2.56 2.56/256=10 1.0 0 đến 2 2/256=7.81 0.5 0 đến 1 1/256=3.90 Hình 3.4 - Bảng quan hệ điện áp VREF/2 với Vin. • DB0 – DB7 là các chân ra dữ liệu số (DB7 là bit cao nhất và DB0 là bit thấp nhất LSB). Các chân này đ−ợc đệm ba trạng thái và dữ liệu đã đ−ợc chuyển đổi chỉ đ−ợc truy cập khi chân CS = 0 và chân RD đ−a xuống thấp. Từ những trình bày trên, ta có thể tóm tắt các b−ớc khi ADC804 thực hiện chuyển đổi dữ liệu là: 1 . Bật CS = 0 và gửi một xung thấp lên cao tới chân WR để bắt đầu chuyển đổi. 2 . Duy trì kiểm tra chân INTR . Nếu chân INTR xuống thấp thì việc chuyển đổi đ−ợc hoàn tất và có thể chuyển sang b−ớc tiếp theo. Nếu INTR còn có mức cao thì tiếp tục thăm dò cho đến khi nó xuống thấp. 3 . Sau khi chân INTR xuống thấp, bật CS = 0 và gửi một xung cao xuống thấp đến chân RD để nhận dữ liệu từ chip ADC804. Phân chia thời gian cho quá trình này đ−ợc trình bày trên hình 3.5 CS WR Bắt đầu chuyển đổi INTR Kết thúc chuyển đổi RD Bắt đầu đọc dữ liệu D0-D7 Ra dữ liệu Hình 3.5 - Phân chia thời gian đọc và ghi của ADC804. 3.1.3. Khối đo nhiệt độ. Đo nhiệt độ là một ph−ơng thức đo l−ờng không điện, đo nhiệt độ đ−ợc chia thành nhiều dải: * Đo nhiệt độ thấp. * Đo nhiệt độ trung bình. * Đo nhiệt độ cao. Việc đo nhiệt độ đ−ợc tiến hành nhờ các dụng cụ hỗ trợ chuyên biệt nh−: • Cặp nhiệt điện. • Nhiệt điện kế kim loại. • Nhiệt điện trở kim loại. • Các IC cảm biến nh− LM35, LM135, LM335. • …. Việc sử dụng các IC cảm biến nhiệt để đo nhiệt độ là một ph−ơng pháp thông dụng hiện nay. Và trong đề tài này chúng tôi cũng dùng một loại IC cảm biến nên trong đồ án này chỉ giới thiệu về IC cảm biến. * Nguyên lý hoạt động chung của IC đo nhiệt độ. IC đo nhiệt độ là một mạch tích hợp nhận tín hiệu nhiệt độ chuyển thành tín hiệu điện d−ới dạng dòng điện hay điện áp. Dựa vào đặc tính rất nhạy của các bán dẫn với nhiệt độ, tạo ra điện áp hoặc dòng điện, tỉ lệ thuận với nhiệt độ tuyệt đối. Đo tín hiệu điện ta biết đ−ợc giá trị của nhiệt độ cần đo. Sự tác động của nhiệt độ tạo ra điện tích tự do và các lỗ trống trong chất bán dẫn. Bằng sự phá vỡ các phân tử, bức xạ các electron thành dạng tự do di chuyển qua vùng cấu trúc mạng tinh thể tạo sự xuất hiện các lỗ trống. Làm cho tỉ lệ điện tử tự do và lỗ trống tăng lên theo qui luật hàm mũ với nhiệt độ. ở đây để đo nhiệt độ khí sấy chúng tôi chọn đầu đo LM35. LM35 là họ cảm biến nhiệt, mạch tích hợp, chính xác cao có điện áp đầu ra tỷ lệ tuyến tính với nhiệt độ theo thang độ Celsius. Họ cảm biến này không yêu cấu căn chỉnh ngoài vì vốn nó đã đ−ợc căn chỉnh rồi. Họ này cho điện áp ra thay đổi 10mV ứng với thay đổi nhiệt độ là 10C . Hình 3.6 là bảng giới thiệu một số thông số kỹ thuật chính của họ LM35. Mã sản phẩm Dải nhiệt độ Độ chính xác Đầu ra LM35A -550C to +1500C +1.00C 10mV/0C LM35 -550C to +1500C +1.50C 10mV/0C LM35CA -440C to +1100C +1.00C 10mV/0C LM35C -440C to +1100C +1.50C 10mV/0C LM35D 00C to +1000C +2.00C 10mV/0C Hình 3.6 - Bảng giới thiệu một số thông số kỹ thuật chính của họ LM35. Và sau đây là một số tính chất riêng của LM35: • LM35 có độ biến thiên theo nhiệt độ: 10mV / 1oC. • Độ chính xác cao, tính năng cảm biến nhiệt độ rất nhạy, ở nhiệt độ 250C nó có sai số không quá 1%. Với tầm đo 00C-1280C, tín hiệu ngõ ra tuyến tính liên tục với những thay đổi của tín hiệu ngõ vào. • Thông số kỹ thuật: + Tiêu tán công suất thấp. + Dòng làm việc từ 400μA đến 5mA. + Dòng ng−ợc 15mA. + Dòng thuận 10mA. • Độ chính xác: Khi làm việc ở nhiệt độ 250C với dòng làm việc 1mA thì điện áp ngõ ra từ 2,94V - 3,04V. • Đặc tính điện: Theo thông số của nhà sản xuất LM35, quan hệ giữa nhiệt độ và điện áp ngõ ra là nh− sau: Vout = 0,01ìToK = 2,73 + 0,01ToC. Vậy ứng với tầm hoạt động từ 0oC - 100oC ta có sự biến thiên điện áp ngõ ra là: ở 00C thì điện áp ngõ ra Vout = 2,73 (V). ở 50C thì điện áp ngõ ra Vout = 2,78 (V). ................. ở 1000C thì điện áp ngõ ra Vout = 3,73 (V). Tầm biến thiên điện áp t−ơng ứng với nhiệt độ từ 0oC - 100oC là 1V (nghĩa là khi nhiệt độ thay đổi 10C thì điện áp thay đổi 10 mV). Hình 3.7 là sơ đồ thiết kế với LM35. Trong đó Vin là chân nối với đầu vào của ADC, điện trở 75Ω và tụ 1μF đ−ợc tra trong datasheet của nó. Vin 1uf GND LM35 1 2 3 Vcc VOUT G N D +5V 75 Hình 3.7 - Sơ đồ mạch ngoài của LM35. 3.1.4. Khối hiển thị. Trong những năm gần đây, màn hình tinh thể lỏng LCD (Liqqid Crystal Display) ngày càng đ−ợc sử dụng rộng rãi và đang dần thay thế các đèn LED (7 đoạn và nhiều vạch ). Đó là vì: * Màn hình tinh thể có giá thành ngày càng hạ. * Khả năng hiển thị số, ký tự và đồ hoạ tốt hơn nhiều so với đèn LED (đèn LED chỉ hiển thị đ−ợc số và một số ký tự ). * Sử dụng thêm một bộ điều khiển làm t−ơi LCD và nh− vậy giải phóng CPU khỏi công việc này. Còn đối với các đèn LED luôn cần CPU hoặc bằng cách nào đó để duy trì việc hiển thị dữ liệu. * Dễ dàng lập trình các ký tự và đồ hoạ. ở đây để đáp ứng đ−ợc mục đích hiển thị ta chọn LCD loại 16x2 (2 dòng, mỗi dòng 16 ký tự). D 7 14 D 6 13 D 5 12 D 4 11 D 3 10 D 2 9 D 1 8 D 0 7 E 6 R W 5 R S 4 V SS 1 V D D 2 V EE 3 LCD Hình 3.8 - Mô tả chân của LCD 16x2. LCD có 14 chân, chức năng các chân đ−ợc trình bày sau đây: • VSS,VDD là chân nguồn +5V và chân đất • VEE đ−ợc dùng để điều khiển độ t−ơng phản của màn hình. • RS (Register Select) - chọn thanh ghi. Có 2 thanh ghi rất quan trọng bên trong LCD. Chân RS đ−ợc dùng để chọn các thanh ghi này. Nếu RS = 0 thì thanh ghi mã lệnh đ−ợc chọn, cho phép ng−ời dùng gửi mã lệnh chẳng hạn nh− xoá màn hình, đ−a con trỏ về đầu dòng. Nếu RS =1 thì thanh ghi dữ liệu đ−ợc chọn và cho phép ng−ời dùng gửi dữ liệu cần hiển thị lên LCD. • R/W (Read/Write) - Chân đọc ghi. Chân vào đọc/ ghi cho phép ng−ời dùng đọc/ ghi thông tin từ/ lên LCD. R/W=0 thì đọc, còn R/W=1 thì ghi. • E (Enable) - Chân cho phép. Chân cho phép E đ−ợc LCD sử dụng để chốt thông tin hiện có trên chân dữ liệu. Khi dữ liệu đ−ợc cấp đến chân dữ liệu thì một xung mức cao xuống thấp đ−ợc áp đến chân E để LCD chốt dữ liệu trên chân dữ liệu. Xung này phải rộng tối thiểu 450ns. • D0 - D7. Đây là 8 chân dữ liệu 8 bít, đ−ợc dùng để gửi thông tin lên LCD hoặc đọc nội dung của các thanh ghi trong LCD. Để hiển thị chữ cái và con số, mã ASCII của các chữ cái từ A đến Z, a đến z và các con số từ 0 đến 9 đ−ợc gửi đến các chân này khi RS = 1. Cũng có các mã lệnh đ−ợc gửi đến LCD để xoá màn hình hoặc đ−a con trỏ về đầu dòng hoặc nhấp nháy con trỏ . Hình 3.9 - Bảng các mã lệnh của LCD. 3.1.5. Khối phím và mã hoá. Với hệ thống điều khiển nhiệt độ này, ta cần đặt nhiệt độ cần thiết của buồng sấy để so sánh với nhiệt độ thực tế của phòng để từ đó đ−a ra quyết định điều khiển. Vì vậy cần phải có các phím để tăng giảm thông số đặt vào để đặt đ−ợc nhiệt độ cần. ở đây tôi sử dụng 4 phím: một phím để tăng nhiệt độ đặt, một phím để giảm nhiệt độ đặt, một phím xác nhận lựa chọn và một phím dự trữ. Để vi xử lý nhận tín hiệu từ các phím này cần có bộ mã hoá để chuyển tín hiệu của phím thành tín hiệu số đ−a vào bộ vi xử lý. Bộ mã hoá ở đây tôi sử dụng IC74148. Mã (Hexa ) Lệnh đến thanh ghi của LCD Mã (Hexa ) Lệnh đến thanh ghi của LCD 1 Xoá màn hình hiển thị E Bật hiển thị, nhấp nháy con trỏ 2 Trở về đầu dòng F Tắt con trỏ, nhấp nháy con trỏ 4 Dịch con trỏ sang trái 10 Dịch vị trí con trỏ sang trái 6 Dịch con trỏ sang phải 14 Dịch vị trí con trỏ sang phải 5 Dịch hiển thị sang phải 18 Dịch toàn bộ hiển thị sang trái 7 Dịch hiển thị sang trái 38 Hai dòng và ma trận 5x7 8 Tắt con trỏ, tắt hiển thị 1C Dịch toàn bộ hiển thị sang phải A Tắt hiển thị, bật con trỏ 80 Đ−a con trỏ về đầu dòng thứ nhất C Bật hiển thị, tắt con trỏ C0 Đ−a con trỏ về đầu dòng thứ hai U3 74148 Dip 16 10 11 12 13 1 2 3 4 5 9 7 6 14 15 16 8 D0 D1 D2 D3 D4 D5 D6 D7 EI Q0 Q1 Q2 GS EO VC C G N D Hình 3.10 - Mô tả chân của IC74148. * 0D – 7D : là các tín hiệu vào. * 0Q , 1Q , 2Q : là các chân ra số. * EI : Enable Input: Cho phép vào. * GS , EO : Enable Output: Cho phép ra. Hình 3.11 là bảng chân lý của 74148. INPUTS OUTPUTS EI 0D 1D 2D 3D 4D 5D 6D 7D 2Q 1Q 0Q GS EO H L L L L L L L L L X X X X X X X X H H H H H H H H X X X X X X X L X X X X X X L H X X X X X L H H X X X X L H H H X X X L H H H H X X L H H H H H X L H H H H H H L H H H H H H H H H H H H H L L L L L H L H L L H H H L L H L H H H L H H H H H H L L H L H L H L H L H L H L H L H Hình 3.11 - Bảng chân lý của 74148. Dựa vào bảng chân lý trên ta thấy khi chân EI ở mức thấp (mức tích cực) thì khi có một tín hiệu vào ở mức thấp thì các bít đầu ra sẽ thay đổi, chân GS sẽ chuyển từ mức cao xuống thấp và EO sẽ chuyển từ thấp lên cao. Mặt khác ta đã thấy chân INT1 của AT89C52 cũng tích cực mức thấp nên khi nối chân GS của IC74148 vào chân INT1 thì khi có một phím đ−ợc nhấn thì sẽ có một ngắt đ−ợc tác động. Trong đề tài này chúng tôi sử dụng 4 phím nhấn nên đầu ra sẽ có 2 tín hiệu ra (2 chân ra đ−ợc sử dụng). Và chân EI là chân cho phép vào tích cực mức thấp nên sẽ đ−ợc nối đất thông qua một điện trở 1KΩ. Các đầu vào bình th−ờng ở mức cao nên sẽ đ−ợc nối với nguồn nuôi. Các phím nhấn sẽ đ−ợc nối với các đầu vào đ−ợc sử dụng của vi điều khiển. Hình 3.12 là sơ đồ thiết kế các phím nhấn. C11 104 R8 1K Q0 SW2 SW5 +5V R7 10K 1 23456789 +5V Q1 C13 104 C14 104 INT1 SW4 SW3 U3 74148 Dip 16 10 11 12 13 1 2 3 4 5 9 7 6 14 15 16 8 D0 D1 D2 D3 D4 D5 D6 D7 EI Q0 Q1 Q2 GS EO V C C G N D C12 104 Hình 3.12 - Sơ đồ nguyên lý của phím nhấn. 3.1.6. Mạch công suất. Nh− ta đã biết, không khí đ−ợc thổi bằng quạt vào buồng đốt trong buồng đốt có phần tử đốt nóng sử dụng điện. ở đây không xét đến tốc độ của quạt gió nên nhiệt độ của lò sấy sẽ thay đổi theo nhiệt l−ợng toả ra của phần tử đốt nghĩa là thay đổi theo dòng điện chạy qua phần tử đốt. Vì vậy muốn điều khiển nhiệt độ ta phải điều khiển đ−ợc độ lớn dòng điện đi qua phần tử đốt nóng. Có nhiều cách để điều khiển nh−ng ph−ơng pháp điều khiển bằng 2 Thyristor nối song song ng−ợc đ−ợc sử dụng nhiều. Nh−ng nguyên tắc làm việc của 2 Thyristor nối song song ng−ợc t−ơng tự nh− Triac nên ng−ời ta th−ờng thay 2 Thyristor nối song song ng−ợc bằng Triac. Khi có xung điều khiển tác động vào cực cổng của Triac thì Triac sẽ mở cho dòng đi qua, ta có thể điều khiển góc mở của Triac đảm bảo điện áp cung cấp cho phần tử đốt trong lò sấy thay đổi từ 0 tới giá trị lớn nhất. Và trong hệ thống điều khiển ta phải có tín hiệu đồng pha và tín hiệu điều khiển. Trong sơ đồ nguyên lý từ điện áp hình sin ta tạo ra đ−ợc một xung vuông trên chân P3.2 (INT0) đồng pha với sóng hình sin. Xung vuông này sẽ được đưa đến vi điều khiển để xử lý. Xung vuông này sẽ gây ra ngắt trong vi điều khiển. Với ngắt này vi điều khiển đó có thể biết thời điểm bắt đầu một chu kỳ sin. ta thấy góc mở α chính là thời gian trễ của xung điều khiển so với gốc hình sin. Để tạo ra được gúc mở α, sau khi dùng ngắt phát hiện gốc hình sin ta chỉ cần nạp cho Timer của vi điều khiển một giá trị tương ứng với góc mở. Việc điều khiển góc mở cho Triac sẽ đ−ợc lập trình trong vi điều khiển. 3.2. Sơ đồ nguyên lý và sơ đồ mạch in của hệ thống. Để vẽ mạch nguyên lý và mạch in chúng tôi sử dụng phần mềm orcad 9.2. Đây là một phần mềm rất tiện dụng cho việc thiết kế mạch. Phần mềm orcad gồm 2 phần chính: Capture CIS (Thiết kế mạch nguyên lý) và Layout plus (Tạo mạch in). Với việc làm mạch in, vì mạch có nhiều dây nối nên chúng tôi sử dụng mạch in 2 lớp. Sơ đồ nguyên lý và sơ đồ mạch in của hệ thống nh− sau: 3.2.1. Sơ đồ nguyên lý. Nguon +5V +5V +5V AC2 D4 LED RW_LCD TU B IE N AP AC2 VO C16 104 R11 22K RS_LCD D3 C22 104 +5V C23 104 U6 L7805/TO220 1 2 3 VIN G N D VOUT P1.5 - + D3 BRIDGE 2 1 3 4 75 R13 3K CA M BI EN J6 CON3 1 2 3 J2 CON9 1 2 3 4 5 6 7 8 9 PH AN T U DO T C15 100uF INT0 R17 Temp C18 104 P3.4 AC1 D7 R15 3K D6 J5 CON2 1 2 J7 CON2 1 2 R3 20K Di en t ro ke o +5V D5 P3.5 +5V R18 Enable_LCD 1uF U7 4N35 1 6 2 5 4 +5V D4 +5V +5VU8 4N35 1 6 2 5 4 J1 CON16A Female 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 J4 CON1 1 C17 1000uF Q3 TRIAC AC1 +5V D0 P3.6 D2 C21 104 INT0 D1 Hình 3.13 - Sơ đồ nguyên lý mạch nguồn, LCD và công suất. SW3 D7 Temp Q1 Key 1 Key 4 R1 630 SCL D6 SDA Key 3 INT1 Key 3 +5V Y1 11.0592M P3.7 DB2 C8 1uF Q0 Key 4 P3.5 Vref Vref D2 Key 2 R5 100 RST SW4 RxD C13 104 R8 1K +5V +5V +5V D3 DB7 +5V C9 1uF SW1 C14 104 WR_ADC DB3 CS_ADC Key 2 Serial Eprom C2 150p C5 33 C7 1uF P1 CONNECTOR DB9 Male 5 9 4 8 3 7 2 6 1 Key 2 RD_ADC Key 5 Key 7 TxD RS232 RST Q0 R9 4.7k WR_ADC 2.5V 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 G N D PSEN ALE/PROG EA/VPP V C C 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 TxD D5 C3 10uF U3 74148 Dip 16 10 11 12 13 1 2 3 4 5 9 7 6 14 15 16 8 D0 D1 D2 D3 D4 D5 D6 D7 EI Q0 Q1 Q2 GS EO V C C G N D DB6 P3.4 Q1 SW5 Key 1 U4 MAX232 DIP 16 1 3 4 5 16 15 2 6 12 9 11 10 13 8 14 7 C1+ C1- C2+ C2- VC C G N D V+ V- R1OUT R2OUT T1IN T2IN R1IN R2IN T1OUT T2OUT R2 10K J3 SIP 8 1 2 3 4 5 6 7 8 U5 24C16 4 5 6 7 8 1 2 3 G N D SDA SCL PP VC CS0 S1 S2 U1 ADC0804 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 4 5 1 2 3 +IN -IN AG N D VREF/2 G N D DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 CLKR VCC/VREF CLKIN INTR CS RD WR +5V DB1 +5V +5V DB5 +5V Key 4 R7 10K 1 2 3 4 5 6 7 8 9 C12 104 INT0 R4 10K R10 4.7k Key 1 SW2 D0DB0 R6 4.7K SCL RD_ADC DB4 C6 104 D1 C10 1uF C11 104 +5V Key 6 INT1 CS_ADC Key 3 C4 33 Key 8 P1.5 INT0 D4 RxD D2 5.1V P3.6 C1 104 D1 1N4148 Hình 3.14 - Sơ đồ nguyên lý của hệ thống điều khiển sấy nông sản dạng hạt (mạch chính). 3.2.2. Sơ đồ mạch in. Hình 3.15 - Sơ đồ mạch in. 3.3. Một số thành phần khác 3.3.1. Nguồn nuôi. Nguồn nuôi cho hệ thống bộ xử lý là thành phần không thể thiếu đ−ợc bởi vì không có một hệ thống điện tử hoặc thiết bị điện nào có thể hoạt động mà không có nguồn nuôi. Có nhiều cách khác nhau để thiết kế một nguồn nuôi tuỳ thuộc vào từng mạch điện cụ thể. Tr−ớc hết là thiết bị sẽ hoạt động theo kiểu sách tay hay để bàn để quyết định dùng nguồn nuôi bằng pin hay chỉnh l−u từ điện áp l−ới. Đối với hệ thống này chúng tôi sử dụng nguồn từ l−ới điện. * Nguồn nuôi từ l−ới điện: Sử dụng bộ nắn từ mạng l−ới điện cũng là một khả năng lựa chọn để có một nguồn nuôi thay thế cho pin. Những bộ phận quan trọng của nguồn nuôi lấy từ l−ới điện là bộ chỉnh l−u và khối lọc. • Bộ chỉnh l−u có thể lắp ráp từ các điôt riêng lẻ (Nh− loại 1N4007) hoặc sử dụng loại đã lắp sẵn thành một cầu hoàn chỉnh. • Bộ ổn định điện áp. Khi có tải thì điện áp nguồn th−ờng tụt xuống. Các bộ ổn định điện áp đóng một vai trò quan trọng đối với hoạt động của vi mạch điều khiển vì nó cho phép tạo ra một điện áp ổn định dùng cho bộ xử lý và mạch liên quan ngay cả khi điện áp lối vào có thể thay đổi. Ngày nay các nhà sản xuất đã cung cấp nhiều loại vi mạch ổn định điện áp với giá rất rẻ. Ng−ời ta có xu h−ớng lựa chọn bộ ổn định điện áp loại 78xx với 3 chân ra. Bộ ổn định điện áp kiểu này đ−ợc rất nhiều nhà sản xuất cung cấp và cũng có nhiều dạng đóng vỏ khác nhau. Để cấp điện áp nguồn nuôi cho bộ xử lý 8051 ta chọn bộ ổn định điện áp loại 7805 để nhận đ−ợc điện áp +5V ở lối ra. Các vi mạch 7805 thông th−ờng có thể chịu đ−ợc dòng điện lối ra đến 1A và có thể đ−ợc nuôi bằng điện áp lối 1 chiều trong khoảng 9 đến 20V. Vì vậy trong mạch nguồn, điện áp 220V sẽ đ−ợc chỉnh l−u bằng cầu chỉnh l−u và cho qua bộ ổn định điện áp 7805 và đầu ra của 7805 ta sẽ đ−ợc điện áp 5V. 3.3.2. Bộ nhớ đặc biệt. ở một số tr−ờng hợp bộ nhớ của vi xử lý không đủ để l−u giữ ch−ơng trình nên ta phải sử dụng thêm bộ nhớ ngoài. Ch−ơng trình điều khiển này chỉ là một ứng dụng nhỏ nên không cần sử dụng thêm bộ nhớ ngoài này. Nh−ng trong mạch vẫn thiết kế thêm bộ nhớ ngoài (Serial Eprom - 24C16) để sử dụng cho phần phát triển sau này. 3.3.3. RS232 và MAX232. Để một thiết bị giao tiếp với máy tính ta cần thông qua cổng COM trên máy tính, vì vậy trên mạch cần có chân cắm RS232. Cổng COM trên máy làm việc với điện áp -12V đến +12V mà vi điều khiển lại làm việc với điện áp trong khoảng 0 - 5V. Vì vậy cần có bộ phận để t−ơng thích chúng và đó là MAX 232.Trong khuôn khổ của đề tài không sử dụng đến việc giao tiếp với máy tính nên ở đây chúng tôi không giới thiệu nhiều. ChƯƠng 4 Tổng hợp hệ thống điều chỉnh nhiệt độ khí sấy Một hệ thống điều khiển tự động đều đ−ợc xây dựng theo sơ đồ khối hình 4.1 Hình 4.1 - Sơ đồ khối hệ thống điều khiển tự động. X: Tín hiệu vào. Y: Tín hiệu ra. U: Tín hiệu điều khiển tác động lên đối t−ợng. E: Sai lệch điều khiển. Z: Tín hiệu phản hồi. Muốn tổng hợp bộ đ−ợc điều khiển cho đối t−ợng để hệ kín có đ−ợc chất l−ợng nh− mong muốn thì tr−ớc tiên phải hiểu về đối t−ợng, tức là phải có một mô hình toán học mô tả đối t−ợng. Ta không thể điều khiển đối t−ợng khi không hiểu biết hoặc hiểu sai lệch về nó. Kết quả tổng hợp bộ điều khiển phụ thuộc rất nhiều vào mô hình mô tả đối t−ợng. 4.1. Mô hình toán học mô tả đối t−ợng. Thông th−ờng để xây dựng mô hình mô tả đối t−ợng ng−ời ta sử dụng hai ph−ơng pháp: ph−ơng pháp lý thuyết và ph−ơng pháp thực nghiệm. Ph−ơng pháp lý thuyết là ph−ơng pháp lập mô hình dựa trên các định luật có sẵn về quan hệ vật lý bên trong và quan hệ giao tiếp của môi tr−ờng bên ngoài. Các quan hệ này đ−ợc mô tả theo quy luật lý - hoá, quy luật cân bằng,… d−ới dạng những ph−ơng trình toán học. Ví dụ đối t−ợng là các loại động cơ, máy biến áp, máy phát điện, mạch khuếch đại, mạch tích phân, vi phân. Ph−ơng pháp thực nghiệm là dựa trên cơ sở quan sát tín hiệu ra y(t) của đối t−ợng khi đặt vào đối t−ợng một tín hiệu đầu vào u(t). Ph−ơng pháp này cần độ chính xác cao nên th−ờng áp dụng trong phòng thí nghiệm. U Z E X Đối t−ợng Y Bộ điều khiển Trong đề tài này đối t−ợng ở đây là nhiệt độ dòng khí. Khi có nguồn cấp cho sợi đốt, nhiệt độ của sợi đốt làm nóng nguồn không khí do quạt thổi tới. Trong khuôn khổ đề tài thực hiện trong phòng thí nghiệm nên ta thực hiện theo ph−ơng pháp thực nghiệm bằng cách: lắp mạch điều khiển vào đối t−ợng, khởi động quạt gió để cho nó hoạt động ở một tốc độ ổn định. Sau đó đóng trực tiếp nguồn điện 220V lên sợi đốt. Theo nguyên tắc điều khiển Triac thì điện áp trên tải thay đổi từ 0 đến 220V t−ơng ứng với góc mở thay đổi từ π về 00 nghĩa là thời gian kích xung sẽ thay đổi từ 10 - 0ms (do tần số điện áp xoay chiều đặt vào Triac là 50Hz nên chu kỳ là 1/50 = 0.02s = 20ms, suy ra nửa chu kỳ tức là từ 0 đến π là 10ms). Sau đó dùng đồng hồ bấm giây để đo tín hiệu đầu ra. Nh− ta đã biết, nếu tín hiệu đầu vào là hàm 1(t) thì tín hiệu đầu ra là hàm quá độ h(t). ở đây tín hiệu đầu vào là hàm 10*1(t) nên tín hiệu đầu ra là y(t). Tín hiệu ra thu đ−ợc khi làm thực nghiệm đ−ợc thể hiện trong bảng sau: Thời gian(s) Nhiệt độ(0C) Thời gian(s) Nhiệt độ(0C) Thời gian(s) Nhiệt độ(0C) 2.155 1 22.20 20 64.8 31 3.378 2 24.55 21 71.1 32 6.47 5 26.82 22 77.14 33 8 7 29.71 23 85.125 34 9.79 9 33.27 24 93.12 35 11.76 11 37.11 25 98.97 36 13.38 13 41.76 26 107.82 37 15.19 15 46.75 27 116.03 38 16.89 16 51.14 28 125.89 39 18.68 17 54.55 29 138.55 39 24.41 19 57.87 30 Hình 4.2 - Bảng giá trị đo đ−ợc khi làm thực nghiệm. Dựa trên số liệu đo đ−ợc bảng trên ta vẽ đ−ợc hàm quá độ thực nghiệm nh− sau: Hình 4.3 - Hàm quá độ thực nghiệm y(t). Dựa vào đồ thị trên, nếu dịch chuyển gốc toạ độ thì hàm y(t) ở đây giống hàm quá độ h(t) của khâu quán tính bậc một. Mặt khác theo kết quả nghiên cứu của một số đề tài thì nhiệt là quá trình có trễ nên hàm truyền của đối t−ợng sẽ là khâu quán tính bậc nhất có trễ. Với việc đo trên ta không thể biết chính xác đ−ợc thời gian trễ là bao nhiêu nên lấy thời gian trễ τ bằng cách lấy nhiệt độ thay đổi từ 0 - 10 bằng thời gian thay đổi từ 1 - 20 (tức là thời gian từ 0 5 10 15 20 25 30 35 40 45 0 50 100 150Thời gian N hi ệt đ ộ 0 - 10 = 3,378 - 2,155 = 1,223s) => τ = 2,155 - 1,223 = 0.8(s). Nh− vậy hàm truyền đạt của đối t−ợng có dạng: Ts ksG += 1)( e sτ− = Ts k +1 e s.8,0− Để xác định T và k ta làm nh− sau: * Khi tín hiệu vào là hàm 1(t) Từ H(s) = s sG )( chuyển đổi Laplace ng−ợc ta có h(t) = k(1- eT t− ). Và nh− vậy ở thời điểm T thì h(T)= )1( 1ek −− ≈ 0,632.k Nói cách khác, tại đúng thời điểm T hàm số h(t) sẽ đạt đ−ợc 63,2% giá trị cực đại. Ta đi đến xác định T nh− sau: • Kẻ đ−ờng tiệm cận với h(t) tại t = ∞ để có k = h(∞) • Xác định điểm có tung độ bằng 0,632.k của h(t). • Hoành độ của điểm vừa xác định chính là tham số T cần tìm. * Khi tín hiệu vào là hàm A*1(t). Do tín tuyến tính của đối t−ợng, đáp ứng y(t) tại thời điểm T cũng có giá trị đúng bằng 63,2% giá trị cực đại y(∞) của nó. Nh− vậy thuật toán trên vẫn đ−ợc áp dụng khi tín hiệu vào là hàm A*1(t) nh− sau: • Kẻ tiệm cận với y(t) tại t ->∞ để có y(∞), sau đó suy ra: k = A y )(∞ • Xác định điểm có tung độ bằng 0,632.y(∞) của y(t). • Hành độ của điểm cần xác định chính là tham số T cần tìm. Với đồ thị trên y(∞) = 39 => k = 39/10 = 3,9. Sau khoảng thời gian T, tín hiệu đầu ra y(t) sẽ đạt đ−ợc giá trị xấp xỉ bằng 63,2% giá trị cực đại y(∞) của nó, tức là khi đó nó có giá trị: 0,632.y(∞) = 24,468. => T = 36(s) Nh− vậy hàm truyền của đối t−ợng là: G(s) = e ss 8,0 361 9,3 − + 4.2. Chọn và xác định thông số bộ điều chỉnh. 4.2.1. Chọn bộ điều chỉnh. Mỗi một hệ thống điều khiển tự động đều cần phải ổn định và chính xác. Để hệ thống ổn định chúng ta phải tổng hợp hệ thống. Việc tổng hợp hệ thống có thể thực hiện bằng nhiều ph−ơng pháp nh− là thay đổi thông số của hệ thống hoặc thay đổi cấu trúc của hệ thống bằng cách lắp thêm vào đó các bộ điều chỉnh. Có những hệ thống điều khiển dù thay đổi thông số đến mức nào cũng không làm nó ổn định đ−ợc. Vì vậy ta nên sử dụng ph−ơng pháp thay đổi cấu trúc của hệ thống. Sau đây là một số bộ điều chỉnh điển hình đó: * Bộ điều chỉnh tỷ lệ (P). * Bộ điều chỉnh tích phân (I). * Bộ điều chỉnh tỷ lệ tích phân (PI). * Bộ điều chỉnh vi phân (D). * Bộ điều chỉnh tỷ lệ vi phân (PD). * Bộ điều chỉnh tỷ lệ vi tích phân (PID). Tr−ớc khi chọn bộ điều chỉnh ta cần hiểu khái niệm sai lệch tĩnh là gì. Sai lệch tĩnh xác định độ chính xác tĩnh của hệ. Sai lệch tĩnh đ−ợc tính theo định lý tới hạn: ( ) == ∞>− tee tss lim 0 )(.lim >−s sEs Hình 4.4 có nêu ảnh h−ởng của các bộ điều chỉnh khác nhau đối với sai lệch e(t) của hệ: Hình 4.4 - ảnh h−ởng của các bộ điều chỉnh đối với sai lệch e(t) a) Không có bộ điều chỉnh. b) Bộ điều chỉnh tỷ lệ P. c) Bộ điều chỉnh tích phân I. d) Bộ điều chỉnh tỷ lệ tích phân PI. e) Bộ điều chỉnh tỷ lệ vi phân PD. f) Bộ điều chỉnh tỷ lệ vi tích phân PID. Trong các bộ điều chỉnh trên thì bộ điều chỉnh tỷ lệ là đơn giản nhất, tác động nhanh nh−ng nó không triệt tiêu đ−ợc sai lệch tĩnh vì hệ số khuếch đại cao quá sẽ làm hệ thống mất ổn định. Với bộ điều chỉnh I thì nó có thể triệt tiêu đ−ợc sai lệch tĩnh. Nh−ng tín hiệu điều khiển chậm so với sai lệch 900 nên hệ thống mất ổn định. Vì vậy mà điều chỉnh I và P không đ−ợc sử dụng rộng rãi mà phải kết hợp P và I thành bộ điều chỉnh PI. Đối với bộ điều chỉnh vi phân thì cũng giống nh− bộ P là sẽ có sai lệch tĩnh và hệ thống sẽ mất ổn định khi có nhiễu tác động nên ta cũng không sử dụng bộ điều chỉnh D đơn thuần mà th−ờng kết hợp với bộ điều

Các file đính kèm theo tài liệu này:

  • pdfK46 Nguyen Thi Thu Hien - Say nong san.pdf