1. Trang chủ
  2. » Luận Văn - Báo Cáo

Nghiên cứu về vi điều khiển 8051. thiết kế mô hình đồng hồ thời gian thực hiển thị trên led 7 thanh

44 50 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

..........................................................................................................3 CHƯƠNG 1. TỔNG QUAN VỀ HỌ VI ĐIỀU KHIỂN 8051..............................4 1.1. Giới thiệu chung 1.2. Sơ đồ cấu trúc của họ vi điều khiển 8051 1.3. Mô tả chức năng các chân của 8051 1.4 Vi điều khiển AT89S52 1.4.1 Giới thiệu 1.4.2 Sơ đồ chân và chức năng các chân của AT89S52 CHƯƠNG 2. CÁC LINH KIỆN LIÊN QUAN .............................................10 2.1 Tìm hiểu về IC thời gian thực DS1307 2.1.1 Giới thiệu 2.1.2 Sơ đồ và chức năng các chân 2.1.3 cách xuất nhập dữ liệu vào DS1307 2.2 Led 7 đoạn 2.2.1 Giới thiệu CHƯƠNG 3 : PHẦN MỀM MÔ PHỎNG MẠCH ĐIỆN PROLTEUS...........17 3.1.Giới thiệu chung về phần mềm Proteus CHƯƠNG 4: PHẦN MỀM KEI C......................................................................29 4.1. Khái quát chung về phần mềm Keil C CHƯƠNG 5: PHẦN MỀM PL51M NẠP CHƯƠNG TRÌNH CHO IC NHỚ AT89S52 HIỂN THỊ THỜI GIAN TRÊN LED 7 ĐOẠN .................................38 LỜI NÓI ĐẦU Ngày nay ngành kỹ thuật điện tử có vai trò rất quan trọng trong cuộc sống của con người. Các hệ thống điện tử ngày nay rất đa dạng và đang thay thế các công việc hàng ngày của con người từ những công việc đơn giản đến phức tạp như điều khiển tín hiệu đèn giao thông, các biển quảng cáo, đo tốc độ động cơ hay các đồng hồ số… Các hệ thống này có thể thiết kế theo hệ thống tương tự, hệ thống số hay là dùng vi điều khiển. Tuy nhiên trong các hệ thống điện tử thông minh hiện nay người ta thường sử dụng vi điều khiển hơn là các hệ thống tương tự hay hệ thống số bởi một số ưu điểm vượt trội mà vi điều khiển mang lại đó là: độ tin cậy cao, giá thành thấp, dễ dàng thiết kế, lắp đặt và vận hành… Để làm được điều đó chúng ta phải có kiến thức về vi điều khiển, hiểu được cấu trúc và chức năng của nó. Sau gần 3 năm học tập và nghiên cứu tại trường, với sự giảng dạy của các thầy, cô giáo trong trường cùng với sự hướng dẫn tận tình của cô giáo Trần Thị Tuyết Lan, em đã chọn đề tài: “ Nghiên cứu về Vi điều khiển 8051. Thiết kế mô hình đồng hồ thời gian thực hiển thị trên Led 7 thanh” để làm đồ án tốt nghiệp với mong muốn áp dụng những kiến thức đã học vào thực tế phục vụ nhu cầu đời sống con người. Do kiến thức và trình độ năng lực còn hạn hẹp nên việc thực hiện đề tài này không thể tránh được thiếu sót, kính mong nhận được sự thông cảm và góp ý của tất cả các thầy, cô giáo và các bạn để đồ án này được hoàn thiện hơn. Em xin chân thành cảm ơn !

ĐẠI HỌC THÁI NGUYÊN TRƯỜNG CAO ĐẲNG KINH TẾ-KỸ THUẬT KHOA: KỸ THUẬT CÔNG NGHIỆP BÁO CÁO KẾT QUẢ THỰC TẬP TỐT NGHIỆP TÊN ĐỀ TÀI: NGHIÊN CỨU VỀ VI ĐIỀU KHIỂN 8051 THIẾT KẾ ĐỒNG HỒ THỜI GIAN THỰC HIỂN THỊ TRÊN LED ĐOẠN Sinh viên thực hiện: Nguyễn Quốc Thịnh Hệ đào tạo : Cao đẳng quy Chuyên ngành : Điện – Điện tử Khóa học : 2016 – 2019 Thái Nguyên, năm 2019 MỤC LỤC LỜI NÓI ĐẦU CHƯƠNG TỔNG QUAN VỀ HỌ VI ĐIỀU KHIỂN 8051 1.1 Giới thiệu chung 1.2 Sơ đồ cấu trúc của họ vi điều khiển 8051 1.3 Mô tả chức các chân của 8051 1.4 Vi điều khiển AT89S52 1.4.1 Giới thiệu 1.4.2 Sơ đồ chân chức các chân của AT89S52 CHƯƠNG CÁC LINH KIỆN LIÊN QUAN .10 2.1 Tìm hiểu về IC thời gian thực DS1307 2.1.1 Giới thiệu 2.1.2 Sơ đồ chức các chân 2.1.3 cách xuất nhập liệu vào DS1307 2.2 Led đoạn 2.2.1 Giới thiệu CHƯƠNG : PHẦN MỀM MÔ PHỎNG MẠCH ĐIỆN PROLTEUS 17 3.1.Giới thiệu chung về phần mềm Proteus CHƯƠNG 4: PHẦN MỀM KEI C 29 4.1 Khái quát chung về phần mềm Keil C CHƯƠNG 5: PHẦN MỀM PL51M NẠP CHƯƠNG TRÌNH CHO IC NHỚ AT89S52 HIỂN THỊ THỜI GIAN TRÊN LED ĐOẠN 38 LỜI NÓI ĐẦU Ngày ngành kỹ thuật điện tử có vai trị rất quan trọng sống của người Các hệ thống điện tử ngày rất đa dạng thay các công việc hàng ngày của người từ công việc đơn giản đến phức tạp điều khiển tín hiệu đèn giao thông, các biển quảng cáo, đo tốc độ động hay các đồng hồ số… Các hệ thống có thể thiết kế theo hệ thống tương tự, hệ thống số dùng vi điều khiển Tuy nhiên các hệ thống điện tử thông minh hiện người ta thường sử dụng vi điều khiển các hệ thống tương tự hay hệ thống số số ưu điểm vượt trội mà vi điều khiển mang lại là: độ tin cậy cao, giá thành thấp, dễ dàng thiết kế, lắp đặt vận hành… Để làm điều chúng ta phải có kiến thức về vi điều khiển, hiểu cấu trúc chức của Sau gần năm học tập nghiên cứu trường, với giảng dạy của các thầy, cô giáo trường với hướng dẫn tận tình của giáo Trần Thị Tuyết Lan, em chọn đề tài: “ Nghiên cứu Vi điều khiển 8051 Thiết kế mơ hình đồng hồ thời gian thực hiển thị Led thanh” để làm đồ án tốt nghiệp với mong muốn áp dụng kiến thức học vào thực tế phục vụ nhu cầu đời sống người Do kiến thức trình độ lực cịn hạn hẹp nên việc thực hiện đề tài khơng thể tránh thiếu sót, kính mong nhận thơng cảm góp ý của tất cả các thầy, cô giáo các bạn để đờ án hồn thiện Em xin chân thành cảm ơn ! CHƯƠNG TỔNG QUAN VỀ HỌ VI ĐIỀU KHIỂN 8051 1.1.1 Giới thiệu chung MCS-51 họ vi điều khiển của Intel Các nhà sản xuất khác Siemens, Advanced Micro Devices, Fujitsu Philips cấp phép làm nhà cung cấp thứ hai cho các chip của họ MCS-51 Vi mạch tổng quát của họ MCS-51 chip 8051, linh kiện của họ đưa thị trường Chip 8051 có các đặc trưng sau: - Có 4/8/12/20 Kbyte nhớ FLASH ROM bên để lưu chương trình Nhờ Vi điều khiển có khả nạp xoá chương trình điện đến 10000 lần - 128 Byte RAM nội - Port xuất/nhập bit - Từ đến định thời 16-bit - Có khả giao tiếp truyền liệu nối tiếp - Có thể mở rộng khơng gian nhớ chương trình ngồi 64KByte (bộ nhớ ROM ngoại) - Có thể mở rộng khơng gian nhớ liệu 64KByte (bộ nhớ RAM ngoại) - Bộ xử lí bit (thao tác các bit riêng rẽ), 210 bit có thể truy xuất đến bit - Nhân/chia 4µs 1.1.2 Sơ đờ cấu trúc của họ vi điều khiển 8051 Hình 1.1 Sơ đồ cấu trúc họ vi điều khiển 8051 1.1.3 Mô tả chức chân của 8051 Mặc dù các thành viên của họ MSC-51 có nhiều kiểu đóng vỏ khác nhau, chẳng hạn hai hàng chân DIP dạng vỏ dẹt vng QFP dạng chíp khơng có chân đỡ LLC đều có 40 chân cho các chức khác vào I/0, đọc , ghi , địa chỉ, liệu ngắt Tuy nhiên, hầu hết các nhà phát triển dụng chíp đóng vỏ 40 chân với hai hàng chân DIP, nên chúng ta khảo sát Vi điều khiển với 40 chân dạng DIP Hình 1.2 Sơ đồ chân - Chân VCC: Chân số 40 VCC cấp điện áp nguồn cho Vi điều khiển Nguồn điện cấp +5V±0.5 - Chân GND:Chân số 20 nối GND(hay nối Mass) - Port (P0) Port gồm chân (từ chân 32 đến 39) có hai chức năng: + Chức xuất/nhập :các chân dùng để nhận tín hiệu từ bên ngồi vào để xử lí, dùng để x́t tín hiệu bên ngồi, chẳng hạn x́t tín hiệu để điều khiển led đơn sáng tắt + Chức bus liệu bus địa (AD7-AD0) : chân (hoặc Port 0) làm nhiệm vụ lấy liệu từ ROM RAM ngoại (nếu có kết nối với nhớ ngồi), đờng thời Port dùng để định địa của nhớ ngồi - Port (P1) Port P1 gờm chân (từ chân đến chân 8), có chức làm các đường x́t/nhập, khơng có chức khác - Port (P2) Port gồm chân (từ chân 21 đến chân 28) có hai chức năng: + Chức xuất/nhập + Chức bus địa cao (A8-A15): kết nối với nhớ ngồi có dung lượng lớn,cần byte để định địa của nhớ, byte thấp P0 đảm nhận, byte cao P2 đảm nhận Port (P3) Port gồm chân (từ chân 10 đến 17): + Chức xuất/nhập + Với chân có chức riêng thứ hai bảng sau Bit Tên Chức P3 RxD Ngõ vào nhận liệu nối tiếp P3 TxD Ngõ xuất liệu nối tiếp P3 INT0 Ngõ vào ngắt cứng thứ P3 INT1 Ngõ vào ngắt cứng thứ P3 T0 Ngõ vào của Timer/Counter thứ P3 T1 Ngõ vào của Timer/Counter thứ P3 WR Ngõ điều khiển ghi liệu lên nhớ P3 RD Ngõ điều khiển đọc liệu từ nhớ bên P1 T2 Ngõ vào của Timer/Counter thứ P1 T2X Ngõ Nạp lại/thu nhận của Timer/Counter thứ - Chân RESET (RST): Ngõ vào RST chân ngõ vào Reset dùng để thiết lập trạng thái ban đầu cho vi điều khiển Hệ thống thiết lập lại các giá trị ban đầu ngõ mức tối thiểu chu kì máy - Chân XTAL1 XTAL2: Hai chân có vị trí chân 18 19 sử dụng để nhận ng̀n xung clock từ bên ngồi để hoạt động, thường ghép nối với thạch anh các tụ để tạo nguồn xung clock ổn định - Chân cho phép nhớ chương trình PSEN PSEN tín hiệu xuất chân 29 dùng để truy x́t nhớ chương trình ngồi Chân thường nối với chân OE của ROM Khi vi điều khiển làm việc với nhớ chương trình ngồi, chân phát tín hiệu kích hoạt mức thấp kích hoạt lần chu kì máy Khi thực thi chương trình ROM nội, chân trì mức logic khơng tích cực (logic 1) (Khơng cần kết nối chân không sử dụng đến) - Chân ALE (chân cho phép chốt địa chỉ-chân 30) Khi Vi điều khiển truy xuất nhớ từ bên ngoài, port vừa có chức bus địa chỉ, vừa có chức bus liệu phải tách các đường liệu địa Tín hiệu chân ALE dùng làm tín hiệu điều khiển để giải đa hợp các đường địa các đường liệu kết nối chúng với IC chốt - Chân EA Chân EA dùng để xác định chương trình thực hiện lấy từ ROM nội hay ROM ngoại Khi EA nối với logic 1(+5V) Vi điều khiển thực hiện chương trình lấy từ nhớ nội Khi EA nối với logic 0(0V) Vi điều khiển thực hiện chương trình lấy từ nhớ ngoại 1.4 Vi điều khiển AT89S52 1.4.1 Giới thiệu AT89S52 cung cấp đặc tính chuẩn như: KByte nhớ đọc có thể xóa lập trình nhanh (EPROM), 128 Byte RAM, 32 đường I/O, TIMER/COUNTER 16 Bit, vectơ ngắt có cấu trúc mức ngắt, Port nối tiếp bán song công, mạch dao động tạo xung Clock dao động ON-CHIP Các đặc điểm của chip AT89S52 tóm tắt sau: • KByte nhớ có thể lập trình nhanh, có khả tới 1000 chu kỳ ghi/xoá • Tần số hoạt động từ: 0Hz đến 24 MHz • • mức khóa nhớ lập trình Timer/counter 16 Bit  128 Byte RAM nội • Port xuất /nhập I/O bit  Giao tiếp nối tiếp • 64 KB vùng nhớ mã ngồi • 64 KB vùng nhớ liệu ngoại • s cho hoạt động nhân chia 1.4.2 Sơ đồ chân chức chân AT89S52 Sơ đồ chân AT89S52 Hình 2.17 Sơ đồ chân AT89S52 Mặc dù các thành viên của họ 8051 (ví dụ 8751, 89S52, 89C51, DS5000) đều có các kiểu đóng vỏ khác nhau, chẳng hạn hai hàng chân DIP (Dual InLine Pakage), dạng vỏ dẹt vuông QPF (Quad Flat Pakage) dạng chip khơng có chân đỡ LLC (Leadless Chip Carrier) chúng đều có 40 chân cho các chức khác vào I/O, đọc RD , ghi WR , địa chỉ, liệu ngắt Cần phải lưu ý số hãng cung cấp phiên bản 8051 có 20 chân với số cởng vào cho các ứng dụng u cầu thấp Tuy nhiên hầu hết các nhà phát triển sử dụng chíp đóng vỏ 40 chân với hai hàng chân DIP nên ta tập trung mô tả phiên bản CHƯƠNG CÁC LINH KIỆN LIÊN QUAN 2.1 Tìm hiểu IC thời gian thực DS1307 2.1.1 Giới thiệu DS1307 chip đồng hồ thời gian thực ( RTC: Real-time clock ), khái niệm thời gian thực dùng với ý nghĩa thời gian tuyệt đối mà người sử dụng tính giây, phút, giờ… DS1307 sản phẩm của Dallas Semiconductor (một công ty thuộc Maxim Integrated Products ) Chip có ghi bit chứa thời gian là: giây, phút, giờ, thứ (trong tuần), ngày, tháng, năm Ngồi chip cịn có ghi điều khiển ngõ phụ 56 ghi trống có thể dùng Ram DS1307 đọc ghi thông qua giao tiếp nối tiếp I2C nên cấu tạo bên ngồi rất đơn giản DS1307 x́t hiện hai gói SIOC DIP có chân Hình 2.1 Các dạng đóng gói chip DS1307 2.1.2 Sơ đồ chức chân Hình 2.2 Sơ đồ chân DS1307 • X1 X2: hai ngõ kết nối với thạch anh 32.768kHz làm nguồn tạo dao động cho chip • Vbat: cực dương của ng̀n Pin 3V nuôi chip 10 CHƯƠNG 4: PHẦN MỀM KEI C 4.1 Khái quát chung phần mềm Keil C Keil C phần mềm hỗ trợ cho người dùng việc lập trình cho vi điều khiển các dịng khác (Atmel, AVR, ) Keil C giúp người dùng soạn thảo biên dịch chương trình C hay cả ASM thành ngôn ngữ máy để nạp vào vi điều khiển giúp chúng ta tương tác vi điều khiển người lập trình Giao diện của phần mềm sau: 30 Sau cài đặt xong, mở Keil C lên để tạo project mới:ta chọn project chọn →close project→chọn new project sau tìm mục data base chọn Atmel rời thiết lập hình 31 32 Chuột phải vào Target mục output rời thiết lập hình chọn File-> New rời lưu file dưới tên c ví dụ test.c 33 phải chuột vào Source group rồi chọn add hình, bước để add fine led7thanh.c vừa tạo vào project 34 copy đoạn mã sau vào led7thanhok.c #include"main.h" #include" \lib\delay.h" #include" \lib\Soft_I2c.h" #include" \lib\Rtc_Ds1307.h" #include"Port.h" sbit L1 = P2^0; sbit L2 = P2^1; sbit L3 = P2^2; sbit L4 = P2^3; sbit up = P1^2; sbit down = P1^1; sbit menu = P1^0; unsigned char Led7Seg[] = {0x88, 0xDD, 0xA4, 0xC4, 0xD1, 0xC2, 0x82, 0xDC, 0x80, 0xC0}; // Hien thi led Anot unsigned char temp=0, mode=0, j; void delayled() /* Ham tre 4,5ms su dung Timer0 */ 35 { TH0 = 0xF4; TL0 = 0x48; TR0 = 1; while(TF0 == 0); TR0 = 0; TF0 = 0; /* Gia tri TH0 */ /* Gia tri TL0 */ /* Bat dau timer0 */ /* Doi den TF0=1*/ /* Dung timer0 */ /* Dat lai co tran TF0=0 */ } void disp(unsigned char hh, unsigned char mm, unsigned char _mode) thi led { unsigned char i; for (i=0;i

Ngày đăng: 07/12/2021, 11:37

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w