Báo Cáo Đồng hồ thời gian thực dùng DS 1307

Thảo luận trong 'Chưa Phân Loại' bắt đầu bởi Thúy Viết Bài, 5/12/13.

  1. Thúy Viết Bài

    Thành viên vàng

    Bài viết:
    198,891
    Được thích:
    173
    Điểm thành tích:
    0
    Xu:
    0Xu
    Môn vi xử lý

    Đề tài : Đồng hồ thời gian thực dùng DS 1307

    Giáo viên hướng dẫn: ThS Hàn Huy Dũng
    Nhóm thực hiện: Sinh viên lớp điện tử 2-K48
    Các thành viên:
    + Lê Thị Hằng.
    + Đỗ Minh Châu.
    + Nguyễn Anh Tuấn.
    + Đinh Xuân Thuỷ.
    + Vũ Anh Tuấn.
    I, Chức năng của mạch điện:
    - Hiển thị : giờ ,phút,giây, ngày , tháng,năm,thứ trong tuần
    - giao tiếp với 4 phím : status-mode-increase-decrease. Phím status dùng để chuyển chế độ từ hiển thị
    giờ ,phút ,giây,thứ sang ngày ,tháng, năm. Phím mode dùng để điều chỉnh ngày, tháng, năm và giờ
    ,phút ,giây,th ứ
    II, Mô tả mạch:
    -Mạch sử dụng IC thời gian thực DS 1307 giao tiếp I2C với Pic.
    Pic16F877A
    - Dùng 8 led 7 thanh loại 4 led/1 con.
    - Dùng 8 Tranzito để điều khiển việc đóng ngắt các led.
    - Vi điều khiển được dùng là PIC 16F877A
    - Dùng thạch anh 20MHz để tạo dao động cho PIC.
    - Dùng một mạch tiny Bootloaderđể kết nối giữa pic và máy tính , nạp chương trình trực tiếp t ừ
    máy tính vào PIC mà không cần thông qua mạch nạp cho PIC.
    III/ Cơ bản về tiny bootloader:
    Đây là bootloader cho các vi điều khiển Microchip PIC
    * Nó là bootloader có kích thước nhỏ nhất, ít hơn 100 word bộ nhớ chương trình
    * Nó là bootloader duy nhất hỗ trợ tất cả các dòng PIC: 16F, 18F, dsPIC (những dòng có
    hỗ trợ chế độ self-programming - tự nạp lại).
    Đặc điểm của firmware:
    * Kích thước chỉ có khoảng 100word (cho tất cả các dòng 16F, 18F, dsPIC, thực ra là nó ít hơn
    100 word);
    * Có thể ghi vào flash, eeprom, và có thể ghi vào các bytes cài đăt (configuration bytes) của
    dòng 18F
    * Khi reset, đợi 1 giây để nhận chương trình nạp, nếu không nhận được thì chuyển qua chạy
    chương trình
    * File .asm của bootloader rất dễ để chỉnh sửa lại,cho phù hợp với từng chip, tốc độ truyền
    nhận.
    Đặc điểm của phần mềm trên máy tính
    * Có thể tải chương trình vào flash (trong phiên bản này của bootloader, cho phép cài đặt các
    byte cài đặt (configuration bytes) và có thể thay đổi dễ dàng theo từng loại PIC)
    * Làm việc với tất cả các dòng PIC đã nêu trên; tự động nhận ra nội dung file HEX và dòng PIC
    * Ghi nhớ cài đặt cuối (thuận tiện cho người dùng khi thao tác với một loại PIC)
    * Trong trường hợp lỗi, nó sẽ truyền một tín hiệu ngược lại cho máy tính để tái đồng bộ giữa
    máy tính và PIC;
    * Chế độ giao tiếp có thể được thay đổi, có thể dùng bất kỳ cổng COM nào với tốc độ baud nào
    Khái niệm chung về bootloader Một bootloader là một chương trình nằm trong vi điều khiển, và
    giao tiếp với máy tính (thông qua giao tiếp nối tiếp). Bootloader nhận một chương trình (đã được
    dịch ra thành file HEX) từ máy tính và ghi nó vào bộ nhớ flash của vi điều khiển thông qua một
    phần mềm trên máy tính, sau đó chạy chương trình đó trên vi điều khiển. Bootloader chỉ có th ể
    được dùng với những vi điều khiển nào cho phép ghi vào bộ nhớ flash thông qua phần mềm trên
    máy tính. Bản thân bootloader phải được ghi vào trong bộ nhớ flash bằng một mạch nạp khác. Đ ể
    bootloader hoạt động, sau khi nhấn reset, một lệnh "goto bootloader" phải nằm ở địa chỉ đầu tiên
    của chương trình vi điều khiển. Có 2 loại bootloader, một số loại đôi khi cần người dùng đặt lại địa
    chỉ các dòng lệnh đầu, một số khác thì tự bản thân nó đặt những dòng lệnh đầu của người dùng vào
    một địa chỉ khác khi mà bootloader đã nằm sẵn ở đó, và quay trở lại chương trình của người dùng
    khi kết thúc đoạn chương trình bootloader.
    Trong trường hợp này, tiny bootloader tự động đem các vị trí đầu của chương trình người viết, và
    đặt ở phía dưới cùng với chương trình bootloader (thực ra đoạn chương trình này chỉ tối đa có 4
    dòng lệnh). địa chỉ 0x0004 đã là địa chỉ bắt đầu ngắt. Chính vì vậy, nếu lập trình từ vị trí 0x0000
    thì cũng chỉ viết được tối đa 4 dòng lệnh, sau đó phải nhảy đến chương trình chính. Như vậy, tiny
    bootloader sẽ thực hiện thao tác, cắt 4 dòng đầu tiên từ 0x0000 đến 0x0003 , thay bằng dòng lệnh
    GOTO BOOTLOADER. Và nó tự động đặt 4 dòng lệnh nằm ngay phía trên chương trình
    bootloader .Sau đó, chạy chương trình tinybootloader phía bên dưới. Rồi nó quay lên chạy 4 dòng
    lệnh . Kết thúc 4 dòng này, nó lại trở về vị trí chương trình chạy bình thường ở bên trên phiên
     

    Các file đính kèm:

Đang tải...