TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA ĐIỆN TỬ ĐỒ ÁN MÔN HỌC THIẾT KẾ HỆ ĐIỀU HÀNH THỜI GIAN THỰC TRÊN HỌ VĐK 8051 Lời nói đầu. Trường ĐH công nghiệpHà Nội tiền thân là trường cao đẳng công nghiệp Hà Nội được hình thành và phát triển với một bề dầy lịch sử, là cái nôi đào tạo công nhân kĩ thuật cao . Cùng với sự phát triển và đi lên của nhà trường, khoa Điện tử -Tự động hóa măc dù là một khoa mới được thành lập nhưng đã đóng góp không nhỏ vào thành công của nhà trường . Trong thời đại ngày nay đất nước ta đang trên đường hội nhập quốc tế đặc biệt là hội nhậpWTO. Đất nước ta đang trên đà phát triển mạnh mẽ để bắt kịp thế giới chúng ta phải thực hiện chính sách đi tắt đón đầu .Như chúng ta đã biết thế kỷ 21 là thế kỷ của công nghệ thông tin và tự động hóa cả hai ngành này đều liên quan mật thiết đến Điện tử. Ngành công nghiệp Điện tử đang phát triển rất mạnh mẽ trên thế giới ở những nước công nghiệp phát triển ,ở nước ta điện tử là một ngành thực sự là mới mẻ nhưng được nhà nước quan tâm đặc biệt . Tại trường ĐH công nghiệp Hà Nội, khoa Điện tử- Tự động hóa tổ chức đào tạo ba ngành: điện tử công nghiệp , điện tử viễn thông, điện tử máy tính. Vi Điều Khiển là môn học trực thuộc bộ môn điện tử công nghiệp, TBĐKCN đã và đang dần được số hóa. Được sự phân công và hướng dẫn của thầy Nguyễn Anh Dũng, nhóm em gồm:Nguyễn Công Đạt, Nguyễn Văn Tân, Nguyễn Công Đạt, đã nghiên cứu đề tài về điều khiển từ xa dùng cảm biến hồng ngoại. Mặc dù cố gắng rât nhiều trong việc tìm hiểu tài liệu và được sự hướng dẫn nhiệt tình của thầy giáo nhưng do còn nhiều hạn chế nên không tránh khỏi những thiếu sót về tài liệu, về ngôn ngữ, cách trình bày Chúng em rất mong được thông cảm và góp ý của thầy. Cuối cùng chúng em xin chân thành cảm ơn! Hà Nội Ngày: 1/2/2010 Nhóm sinh viên: Nguyễn Công Đạt . Nguyễn Duy Thanh Nguyễ Văn Tân Giíi thiÖu tæng quan vÒ hä 8051 Vi điều khiển 8051 – M« tả phần cứng Vi điều khiển 8051 lµ một trong những họ vi điều khiển 8bit th«ng dụng nhất trªn thế giới. Vi điều khiển nµy được chế tạo lần đầu tiªn bởi h·ng Intel, sau đã được c¸c h·ng kh¸c chế tạo dưới dạng c¸c dẫn xuất kh¸c nhau. C¸c dẫn xuất nµy đều cã chung một kiến tróc giống với vi điều khiển 8051 kinh điển. Thªm vµo đó, tïy theo từng loại mµ c¸c chip dẫn xuất được tÝch hợp thªm c¸c ngoại vi kh¸c nhau (như ADC, SPI, EEPROM, capture/compare channels…), tÝnh năng cũng được n©ng cao để phï hợp với c¸c ứng dụng ngµy cµng phức tạp. Trước hết xin giới thiệu một số tÝnh năng của họ vi điều khiển 8051 (lưu ý là những tÝnh năng nµy lµ của vi điều khiển 8051 kinh điển): - CPU 8bit được thiết kế tối ưu cho c¸c ứng dụng điều khiển. - Cã c¸c khả năng xử lý bit l ogic. - Kh ông gian bộ nhớ chương trình 64Kbyte. - Kh ông gian bộ nhớ dữ liệu 64 Kbyte. - T ích hợp 4Kbyte bộ nhớ chương tr×nh trªn chip. - T ích hợp 128byte bộ nhớ RAM trªn chip. - Cã 32 đường vµo/ra 2 chiều cã thể định địa chỉ đến từng bit. - T ích hợp 02 timer 16bit. - T ích hợp UART song c«ng. - Cấu tróc ngắt với 06 nguồn/05 vector ở 02 mức ưu tiªn kh¸c nhau. - TÝch hợp mạch bộ dao động trªn chip. Vi điều khiển đợc giới thiệu ở đây đợc sản xuất theo công nghệ CMOS. Một số loại vi điều khiển thông dụng thuộc họ 8051 có thể kể ra nh: AT89C2051( 20 chân), AT89C4051( 20 chân), AT89C51( 40 chân), AT89C52 ( 40 chân), AT89S51( 40 chân), AT89S52( 40 chân), AT89S53( 40 chân) Sau đây là sơ đồ khối tổng quan của 8051 I-Cấu trúc phần cứng họ 8051( AT 89S52) Sơ đồ chân AT 89S52 Bộ vi điều khiển AT89S52 gồm các khối chức năng chính sau đây: CPU( Central Processing Unit) bao gồm: - Thanh ghi tích luỹ A - Thanh ghi tích luỹ phụ B, dùng cho phép nhân và phép chia - Đơn vị logic học( ALU: Arithmetic Logical Unit) - Từ trạng thái chơng trình( PSW: Progam Status Word) - Bốn băng thanh ghi - Con trỏ ngăn xếp Bộ nhớ chơng trình( Bộ nhớ ROM) gồm 8Kb Flash. Bộ nhớ dữ liệu( Bôn nhớ RAM) gồm 256 bytes. Bộ UART( Universal Ansynchronous Receiver and Tranmitter) làm chức năng truyền nhận nối tiếp, nhờ khối này, AT89S52 có thể giao tiếp với máy tính qua cổng COM. 3 bộ Timer /Counter 16 bít thực hiện các chức năng định thời và đếm sự kiện. WDM( Watch Dog Timer) đợc dùng để phục hồi lại hoạt động của CPU khi nó bị treo bởi một nguyên nhân nào đó. WDM ở AT89S52 gồm một bộ Timer 14 bít, một bộ Timer 7 bít, thanh ghi WDTPRG( WDT programable) điều khiển Timer 7 bit và một thanh ghi chớc năng WDTRST( WDM register). Bình thờng WDT không hoạt động( bị cấm), để cho phép WDT, các giá trị 1EH và E1H cần phải đợc ghi liên tiếp vào thanh ghi WDTRST. Timer 14 bit của WDT sẽ đếm tăng dần sau mỗi chu kỳ đồng hồ cho đến giá trị 16383 thì xảy ra tràn. Khi xảy ra tràn, chân RTS sẽ đợc đặt ở mức cao trong thời gian 96.Tosc (Tossc=1/Fosc) và AT89S52 sẽ đợc reset. Khi WDT hoạt động, ngoại trừ reset phần cứng và reset do WDT tràn thì không có cách nào cấm đợc WDT, vì vậy khi sử dụng WDT thì các đoạn mã chơng trình phải đợc đặt trong các khe thời gian từ khi giữa các lần WDT đ- îc khëi t¹o l¹i Hình: Sơ đồ khối của bộ vi điều khiển 89S52 II- Sơ đồ các chân và chức năng 1.Port 0(P0.0-P0.7 hay từ chân 32 đến chân 39): Gồm 8 chân, ngoài chức năng xuất nhập ra, Port 0 còn là Bus đa hợp dữ liệu và địa chỉ( AD0- AD7), chức năng này sẽ đợc sử dụng khi AT89S52 giao tiếp với thiết bị ngoài có kiến trúc Bus 2.Port 1( P1.0-P1,7 hay từ chân 1 đến chân 8) : Có chức năng xuất nhập theo bit và byte. Ngoài ra, 3 chân P1.5, P1.6, P1.7 đợc dùng để nạp ROM theo chuẩn ISP, 2 chân P1.0 và P1.1 đợc dùng cho bộ Timer 2 3.Port 2( P2.0- P2.7 hay từ chân 21 đến chân 28): Là một port có công dụng kép: là đờng xuất nhập hoặc là byte cao của bus địa chỉ đối với các thiết kế dùng bộ nhớ mở rộng. 4.Port 3( P3.0- P3.7 hay từ chân 10 đến chân 17): Mỗi chân trên port 3 ngoài chức năng xuất nhập ra còn có một chức năng riêng: Bit Tên Chức năng P3.0 RXD Dữ liệu nhận cho port nối tiếp P3.1 TXD Dữ liệu phát cho port nối tiếp P3.2 INT0 Ngắt 0 bên ngoài P3.3 INT1 Ngắt 1 bên ngoài P3.4 T 0 Ngõ vào của Timer/Counter 0 P3.5 T 1 Ngõ vào của Timer/Counter 1 P3.6 WR Xung ghi bộ nhớ dữ liệu bên ngoài P3.7 RD Xung đọc bộ nhớ dữ liệu bên ngoài [...]... đặt ở mức logic cao(+5V), bộ vi điều khiển sẽ thực hiện chơng trình trong ROM nội bắt đầu từ địa chỉ 0000H Số lần ghi cho bộ nhớ này khoảng 1000 lần( trên lý thuyết) Khi chân EA đợc đặt ở mức thấp, bộ vi điều khiển sẽ thực hiên chơng trình ở bộ nhớ chơng trình ngoài (EPROM ngoài), tuy nhiên để có ợc điều này thì phải có một mạch phối ghép AT89S52 với EPROM đợc lựa chọn Hình dới là một vi mach chốt... 39 38 37 36 35 34 33 32 IV- Hoạt động định thời AT89S52 có 3 timer 16 bits, mỗi timer có 4 chế đọ hoạt động Ngời ta sử dụng các timer để: Định khoảng thời gian đếm sự kiện hoặc tạo tốc độ baud cho port nối tiếp Trong các ứng dụng định khoảng thời gian, ngời ta lập trình timer ở một khoảng đều đặn và đặt cờ tràn timer Cờ đợc dùng để đồng bộ hoá chơng trình để thực hiện một tác động nh kiểm tra trạng thái... xung nhịp đều đặn của timer để đo thời gian trôi qua giữa 2 sự kiện Giả sử số bớc đếm là k ==> t định thời= k*t clock=k/fclock= k 12k 1 = f f óc óc 12 Đếm sự kiện dùng để xác định số lần xảy ra của các sự kiện Trong ứng dụng này, ngời ta tìm cách quy các sự kiện thành các sự chuyển mức trên chân T0, T1, T2 để dùng các timer đếm các sự kiện đó 1 Các thanh ghi của bộ định thời( Timer 0,1) + Thanh ghi chế... đếm sự kiện =0: Định thời M0M1=00 : Timer 13 bit, mode 0 =01 : Timer 16 bit, mode 1 =10 : Timer 8 bit nạp tự động, mode 2 =11 : Timer tách riêng, mode 3 GATE=0: Hoạt động của Timer bị điều khiển bởi mức Logic ở chân /INT =1: Hoạt động của Timer không bị điều khiển bởi mức Logic ở chân /INT 2 Các thanh ghi điều khiển Timer(Timer 0,1) Thanh ghi TCON chứa các bit trạng thái và các bit điều khiển cho Timer... GND) Nếu ở mức cao, bộ vi điều khiển thi hành chơng trình từ ROM nội Nếu ở mức thấp, chơng trinh chỉ đợc thi hành từ bộ nhớ mở rộng 8.ALE( Address Latch Enable): ALE là tín hiệu để chốt địa chỉ vào một thanh ghi bên ngoài trong nửa đầu của chu kỳ bộ nhớ Sau đó các đờng port 0 dùng để xuất hoặc nhập dữ liệu trong nửa chu kỳ sau của bộ nhớ 9.PSEN( Program Store Enable): PSEN là điều khiển để cho phép bộ... thừi gian đọc lệnh Các mã nhị phân của chơng trình đợc đọc từ EPROM qua Bus và đợc chốt vào thanh ghi lệnh của bộ vi điều khiển để giải mã lệnh Khi thi hành chơng trình trong ROM nội, PSEN sẽ ở mức thụ động( mức cao) 10.Vcc, GND: AT89S52 dùng nguồn một chiều có dải điện áp từ 4V-5.5V đợc cấp qua chân 40(+) và chân 20(-) III- Tổ chức bộ nhớ của AT89S52 1.Bộ nhớ chơng trình AT89S52 có 8Kb Flash Rom trên. .. truy xuất đến Port nối tiếp: SBUF và SCON Thanh ghi điều khiển Port nối tiếp( SCON- Serial Controller) Thanh ghi điều khiển Port nối tiếp SCON ở địa chỉ 98H là thanh ghi có điịnh địa chỉ bit, chứa các bit trạng thái và các bit để đièu khiển liên quan tới port nối tiếp Các bit điều khiển đặt chế độ hoạt động cho Port nối tiếp, các bit trạng thái báo cáo kết thúc việc phát hoặc thu một ký tự Các bit trạng... thanh ghi chứa giá trị của các bộ định thời( Timer 0,1) Các timer 0 và timer 1 đều là các timer 16 bit, mỗi timer có 2 thanh ghi 8 bit dùng để chứa các giá trị khởi tạo hoặc giá trị hiện thời của các timer Cụ thể timer 0 có TH0 và TL0, timer 1 có TH1 và TL1 Các thanh ghi này không có địa chỉ bit Lu ý: các thanh ghi ở timer 2 khác timer 0,1 4 Các chế độ của bộ đinh thời Timer 2 ở chế độ Capture( thu nhận)... yếu của một port nói tiếp là thực hiện chuyển đổi song song sang nối tiếp với dữ liệu xuất ra và chuyển đổi nói tiếp sang song song với dữ liệu nhập để có thể giao tiếp với máy tính qua cổng nối tiếp hoặc các thiết bị tơng tự AT89S52 Bộ chuyển đổi mức Máy Cổng tính COM Mô tả hoạt động của Port nối tiếp Port nối tiếp có thể hoạt động song công( full duplex: thu và phát đồng thời) và đệm lúc thu( receiver... Reset- chân 9): Mức tích cực của chân này là mức 1, để reset ta phải đa mức 1(5V) đến chân này với thời gian tối thiểu 2 chu kỳ máy( tơng đơng 2uS đối với thạch anh 12MHz Trạng thái của các thanh ghi khi reset, khi reset thì trạng thái của các thanh ghi không thay đổi 6.XTAL1, XTAL2: AT89S52 có một bộ dao động trên chip, nó thờng đợc nồi với một bộ dao động thạch anh có tần số lớn nhất là 33MHz, thông thờng . TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA ĐIỆN TỬ ĐỒ ÁN MÔN HỌC THIẾT KẾ HỆ ĐIỀU HÀNH THỜI GIAN THỰC TRÊN HỌ VĐK 8051 Lời nói đầu. Trường ĐH công nghiệpHà Nội. thiệu một số tÝnh năng của họ vi điều khiển 8051 (lưu ý là những tÝnh năng nµy lµ của vi điều khiển 8051 kinh điển): - CPU 8bit được thiết kế tối ưu cho c¸c ứng dụng điều khiển. - Cã c¸c khả năng. thành cảm ơn! Hà Nội Ngày: 1/2/2010 Nhóm sinh viên: Nguyễn Công Đạt . Nguyễn Duy Thanh Nguyễ Văn Tân Giíi thiÖu tæng quan vÒ hä 8051 Vi điều khiển 8051 – M« tả phần cứng Vi điều khiển 8051