..........................................................................................................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 !
Trang 1ĐẠI HỌC THÁI NGUYÊNTRƯỜ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 7 ĐOẠN
Sinh viên thực hiện: Nguyễn Quốc Thịnh
Chuyên ngành : Điện – Điện tử
Thái Nguyên, năm 2019
Trang 2MỤC LỤC LỜI NÓI
ĐẦU 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
Trang 3LỜ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 !
Trang 4
CHƯƠNG 1 TỔNG QUAN VỀ HỌ VI ĐIỀU KHIỂN 8051
1.1.1 Giới thiệu chung
MCS-51 là họ vi điều khiển của Intel Các nhà sản xuất khác như Siemens,Advanced Micro Devices, Fujitsu và Philips được cấp phép làm nhà cung cấp thứ hai chocác chip của họ MCS-51
Vi mạch tổng quát của họ MCS-51 là chip 8051, linh kiện đầu tiên của họ này đượcđưa ra thị trường Chip 8051 có các đặc trưng sau:
- Có 4/8/12/20 Kbyte bộ nhớ FLASH ROM bên trong để lưu chương trình Nhờ vậy
Vi điều khiển có khả năng nạp xoá chương trình bằng điện đến 10000 lần
- 128 Byte RAM nội
- 4 Port xuất/nhập 8 bit
- Từ 2 đến 3 bộ định thời 16-bit
- Có khả năng giao tiếp truyền dữ liệu nối tiếp
- Có thể mở rộng không gian nhớ chương trình ngoài 64KByte (bộ nhớ ROM ngoại)
- Có thể mở rộng không gian nhớ dữ liệu ngoài 64KByte (bộ nhớ RAM ngoại)
- Bộ xử lí bit (thao tác trên các bit riêng rẽ), 210 bit có thể truy xuất đến từng bit
- Nhân/chia trong 4µs
Trang 51.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 của họ vi điều khiển 8051 1.1.3 Mô tả chức năng cá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 như hai hàng chân DIP dạng vỏ dẹt vuông QFP và dạng chíp không có chân đỡ LLC và đều
có 40 chân cho các chức năng khác nhau như vào ra I/0, đọc , ghi , địa chỉ, dữ liệu và ngắt Tuy nhiên, vì hầu hết các nhà phát triển chính dụng chíp đóng vỏ 40 chân với hai hàng chân DIP, nên chúng ta cùng khảo sát Vi điều khiển với 40 chân dạng DIP
Trang 6Hình 1.2 Sơ đồ chân
- Chân VCC: Chân số 40 là VCC cấp điện áp nguồn cho Vi điều khiển
Nguồn điện cấp là +5V±0.5
- Chân GND:Chân số 20 nối GND(hay nối Mass)
- Port 0 (P0) Port 0 gồm 8 chân (từ chân 32 đến 39) có hai chức năng:
+ Chức năng xuất/nhập :các chân này được dùng để nhận tín hiệu từ bên ngoài vào để xử lí, hoặc dùng để xuất tín hiệu ra bên ngoài, chẳng hạn xuất tín hiệu để điều khiển led đơn sáng tắt
+ Chức năng là bus dữ liệu và bus địa chỉ (AD7-AD0) : 8 chân này (hoặc Port 0) còn làm nhiệm vụ lấy dữ liệu từ ROM hoặc RAM ngoại (nếu có kết nối với bộ nhớ ngoài), đồng thời Port 0 còn được dùng để định địa chỉ của bộ nhớ ngoài
- Port 1 (P1) Port P1 gồm 8 chân (từ chân 1 đến chân 8), chỉ có chức năng làm các đường xuất/nhập, không có chức năng khác
- Port 2 (P2) Port 2 gồm 8 chân (từ chân 21 đến chân 28) có hai chức năng:
+ Chức năng xuất/nhập
+ Chức năng là bus địa chỉ cao (A8-A15): khi kết nối với bộ nhớ ngoài có dung lượng lớn,cần 2 byte để định địa chỉ của bộ nhớ, byte thấp do P0 đảm nhận, byte cao do P2 này đảm nhận
Trang 7Port 3 (P3) Port 3 gồm 8 chân (từ chân 10 đến 17):
+ Chức năng xuất/nhập
+ Với mỗi chân có một chức năng riêng thứ hai như trong bảng sau
P3
0RxD Ngõ vào nhận dữ liệu nối tiếp
P3
1TxD Ngõ xuất dữ liệu nối tiếp
P3
2INT0 Ngõ vào ngắt cứng thứ 0
P3
3INT1 Ngõ vào ngắt cứng thứ 1
P3
4T0 Ngõ vào của Timer/Counter thứ 0
P3
5T1 Ngõ vào của Timer/Counter thứ 1
P1
1T2X Ngõ Nạp lại/thu nhận của Timer/Counter thứ 2
- Chân RESET (RST): Ngõ vào RST ở chân 9 là 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 sẽ được thiết lập lại các giá trị ban đầu nếu ngõ này ở mức 1 tối thiểu 2 chu kì máy
- Chân XTAL1 và XTAL2: Hai chân này có vị trí chân là 18 và 19 được sử dụng để nhận nguồn xung clock từ bên ngoài để hoạt động, thường được ghép nối với thạch anh
và các tụ để tạo nguồn xung clock ổn định
Trang 8- Chân cho phép bộ nhớ chương trình PSEN
PSEN tín hiệu được xuất ra ở chân 29 dùng để truy xuất bộ nhớ chương trình ngoài Chân này thường được nối với chân OE của ROM ngoài
Khi vi điều khiển làm việc với bộ nhớ chương trình ngoài, chân này phát ra tín hiệu kích hoạt ở mức thấp và được kích hoạt 2 lần trong một chu kì máy
Khi thực thi một chương trình ở ROM nội, chân này được duy trì ở mức logic không tích cực (logic 1) (Không cần kết nối chân này khi 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 bộ nhớ từ bên ngoài, port 0 vừa có chức năng là bus địa chỉ, vừa có chức năng là bus dữ liệu do đó phải tách các đường dữ liệu và địa chỉ 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 chỉ và các đường dữ liệu khi 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 được lấy từ ROM nội hay ROM ngoại
Khi EA nối với logic 1(+5V) thì Vi điều khiển thực hiện chương trình lấy từ bộ nhớ nội Khi EA nối với logic 0(0V) thì Vi điều khiển thực hiện chương trình lấy từ bộ nhớ ngoại
1.4 Vi điều khiển AT89S52
1.4.1 Giới thiệu
AT89S52 cung cấp những đặc tính chuẩn như: 8 KByte bộ nhớ chỉ đọc có thể xóa và lập trình nhanh (EPROM), 128 Byte RAM, 32 đường I/O, 3 TIMER/COUNTER 16 Bit, 6 vectơ ngắt có cấu trúc 2 mức ngắt, một Port nối tiếp bán song công, 1 mạch dao động tạo
xung Clock và bộ dao động ON-CHIP
Các đặc điểm của chip AT89S52 được tóm tắt như sau:
• 8 KByte bộ nhớ có thể lập trình nhanh, có khả năng tới 1000 chu kỳ ghi/xoá
• Tần số hoạt động từ: 0Hz đến 24 MHz
• 3 mức khóa bộ nhớ lập trình
• 3 bộ Timer/counter 16 Bit 128 Byte RAM nội
Trang 9• 4 Port xuất /nhập I/O 8 bit Giao tiếp nối tiếp
• 64 KB vùng nhớ mã ngoài
• 64 KB vùng nhớ dữ liệu ngoại
• 4 s cho hoạt động nhân hoặc chia
1.4.2 Sơ đồ chân và chức năng các chân của AT89S52
Sơ đồ chân của AT89S52
Hình 2.17 Sơ đồ chân của 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 như hai hàng chân DIP (Dual InLine Pakage), dạng vỏ dẹt vuông QPF (Quad Flat Pakage) và dạng chip không có chân đỡ LLC (Leadless Chip Carrier) thì chúng đều có 40 chân cho các chức năng
khác nhau như vào ra I/O, đọc RD , ghi WR , địa chỉ, dữ liệu và ngắt Cần phải lưu ý một số hãng cung cấp một phiên bản 8051 có 20 chân với số cổng vào ra ít hơn cho các ứng dụng yêu cầu thấp hơn Tuy nhiên vì 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 chỉ tập trung mô tả phiên bản này
Trang 10CHƯƠNG 2 CÁC LINH KIỆN LIÊN QUAN
2.1 Tìm hiểu về IC thời gian thực DS1307
2.1.1 Giới thiệu
DS1307 là chip đồng hồ thời gian thực ( RTC: Real-time clock ), khái niệm thời gian thực
ở đây được dùng với ý nghĩa thời gian tuyệt đối mà con người đang sử dụng tính bằng giây, phút, giờ… DS1307 là sản phẩm của Dallas Semiconductor (một công ty thuộc Maxim Integrated Products ) Chip này có 7 thanh ghi 8 bit chứa thời gian là: giây, phút, giờ, thứ (trong tuần), ngày, tháng, năm Ngoài ra chip này còn có một thanh ghi điều khiển ngõ ra phụ
và 56 thanh ghi trống có thể dùng như Ram DS1307 được đọc và ghi thông qua giao tiếp nốitiếp I2C nên cấu tạo bên ngoài rất đơn giản DS1307 xuất hiện ở hai gói SIOC và DIP có 8 chân
Hình 2.1 Các dạng đóng gói của chip DS1307 2.1.2 Sơ đồ và chức năng các chân
Hình 2.2 Sơ đồ chân của DS1307
• X1 và X2: là hai ngõ kết nối với 1 thạch anh 32.768kHz làm nguồn tạo dao động cho chip
• Vbat: cực dương của một nguồn Pin 3V nuôi chip
Trang 11• GND: chân mass chung cho cả Pin 3V và Vcc
• Vcc: nguồn cho giao diện I2C, thường là 5V dùng chung với vi điều khiển
• SQW/OUT: một ngõ phụ tạo xung vuông ( Square Ware / Output Driver ), tần số của xungđược tạo có thể được lập trình Chân này có thể phát đi 1 trong 4 tần số (1Hz, 4kHz , 8kHz,32kHz) Như vậy chân này hầu như không liên quan đến chức năng của DS1307 là đồng hồthời gian thực, có thể bỏ trống chân này khi nối mạch
• SCL và SDA : là hai đường giao xung nhịp và dữ liệu của giao diện I2C * Nếu Vcc không
được cấp nguồn nhưng Vbat được cấp thì DS1307 vẫn hoạt động (nhưng không ghi và đọc được)
* Chân SQW/OUT hoạt động được khi cả Vcc và Vbat được cấp
Có thể kết nối DS1307 bằng một mạch điện đơn giản như sau:
Hình 2.3 Sơ đồ mắc cơ bản của DS1307 2.1.3 cách xuất nhập dữ liệu vào DS1307
Cấu tạo bên trong của DS1307 bao gồm một số thành phần như mạch nguồn, mạch dao động, mạch điều khiển logic, mạch giao diện I2C, con trỏ địa chỉ và các thanh ghi (hay Ram ) Do đa số các thành phần bên trong DS1307 là thành phần cứng nên chúng ta không cóquá nhiều việc khi sử dụng DS1307 Sử dụng DS1307 chủ yếu là việc đọc và ghi các thanh ghi của chip này Vì thế cần hiểu rõ hai vấn đề cơ bản đó là cấu trúc các thanh ghi và cách truy xuất các thanh ghi này thông qua giao diện I2C
Bộ nhớ DS1307 có tất cả 64 thanh ghi 8 bit được đánh địa chỉ từ 0 đến 63 ( từ 0x00 đến 0x3f) Tuy nhiên, thực chất chỉ có 8 thanh ghi đầu là dùng cho chức năng “đồng hồ” ( RTC ) còn lại 56 thanh ghi bỏ trống có thể được dùng chứa biến tạm như Ram nếu muốn Bảy thanhghi đầu tiên chứa thông tin về thời gian của đồng hồ bao gồm giây (SECONDS), phút
(MINUETS), giờ (HOURS), thứ (DAY), ngày (DATE), tháng (MONTH), Năm (YEAR) Việc ghi giá trị vào 7 thanh ghi này tương đương với việc “cài đặt” thời gian khởi động cho RTC Việc đọc giá trị từ 7 thanh ghi là đọc thời gian thực mà chip tạo ra
Tổ chức bộ nhớ của DS1307 được trình bày như sau:
Trang 12Hình 2.4 Sơ đồ cấu trúc của các thanh ghi trong DS1307
Vì 7 thanh ghi đầu tiên quan trọng nhất trong hoạt động của DS1307, nên khảo sát các thanh ghi này một cách chi tiết
Điều đầu tiên cần chú ý là giá trị thời gian lưu trong các thanh ghi theo dạng BCD BCD là viết tắt của cụm từ Binary-Coded Decimal, tạm dịch là các số thập phân theo mã nhị phân
Ví dụ: muốn cài đặt cho thanh ghi MINUTES giá trị 42 Nếu quy đổi 42 sang mã thập lục phân thì thu được 42= 0x2A Theo cách hiểu thông thường thì cần gán giá trị MINUTES=
42 Nhưng vì các thanh ghi này chứa các giá trị BCD lên mọi chuyện sẽ khác
Hình 2.5 Cách cập nhật dữ liệu cho DS1307
Với số 42, trước hết nó tách thành hai chữ số 4 và 2 Mỗi chữ số sau đó được đổi thành mã nhị phân 4 bit Chữ số 4 được đổi thành mã nhị phân 4 bit là 0100 trong khi 2 đổi thành 0010.Ghép mã nhị phân của hai chữ số lại thu được một số 8 bit, đó là số BCD Với trường hợp này, số BCD thu được là 01000010 ( nhị phân )=66 Như vậy, để đặt số phút 42 cho DS1307 cần ghi vào thanh ghi MINUTES giá trị 66 ( mã BCD của 42 ) Tất cả các phần mềm lập trình hay các thanh ghi của chip điều khiển đều sử dụng mã nhị phân thông thường, không phải mã BCD, do đó cần phải viết các chương trình con để quy đổi từ số thập lục phân (hoặc thập phân thường) sang BCD
Trang 13Hình 2.6 Tổ chức theo bit của các thanh ghi
Tổ chức các thanh ghi thời gian:
• Thanh ghi giây ( SECONDS ): thanh ghi này là thanh ghi đầu tiên trong bộ nhớ củaDS1307, địa chỉ của nó là 0x00 Bốn bit thấp của thanh ghi này chứa mã BCD 4-bit của chữ
số hàng đơn vị của giá trị giây Do giá trị cao nhất của chữ số hàng chục là 5 (không có giây60) nên chỉ cần 3 bit (các bit SECONDS 6:4) là có thể mã hóa được (số 5 =101, 3 bit) Bitcao nhất, bit 7, trong thanh ghi này là 1 điều khiển có tên CH (Clock halt – treo đồng hồ ),nếu bit này được set bằng 1 bộ dao động trong chip bị vô hiệu hóa, đồng hồ không hoạt động.Vậy, nhất thiết phải reset bit này xuống 0 ngay từ đầu
• Thanh ghi phút (MINUTES): có địa chỉ 01H, chứa giá trị phút của đồng hồ Tương tựthanh ghi SECONDS, chỉ có 7 bit của thanh ghi này được dùng lưu mã BCD của phút, bit 7luôn luôn bằng 0
• Thanh ghi giờ (HOURS): có thể nói đây là thanh ghi phức tạp nhất trong DS1307.Thanh ghi này có địa chỉ 02H Trước hết 4-bit thấp của thanh ghi này được dùng cho chữ sốhàng đơn vị của giờ Do DS1307 hỗ trợ 2 loại hệ thống hiển thị giờ (gọi là mode) là 12h (1hđến 12h) và 24h (1h đến 24h), bit 6 (hình 2.6) xác lập hệ thống giờ Nếu bit 6= 0 thì hệ thống24h được chọn, khi đó 2 bit cao 5 và 4 dùng mã hóa chữ số hàng chục của giá trị giờ Do giátrị lớn nhất của chữ số hàng chục trong trường hợp này là 2 ( = 10, nhị phân) nên 2 bit 5 và 4
là đủ để mã hóa Nếu bit 6= 1 thì hệ thống 12h được chọn, với trường hợp này chỉ có bit 4
Trang 14dùng mã hóa chữ số hàng chục của giờ, bit 5 (màu orange trong hình 2.6) chỉ buổi trongngày, AM hoặc PM Bit 5=0 là AM và bit 5=1 là PM Bit 7 luôn bằng 0
• Thanh ghi thứ ( DAY – ngày trong tuần ): nằm ở địa chỉ 03H Thanh ghi DAY chỉmang giá trị từ 1 đến 7 tương ứng từ Chủ nhật đến thứ 7 trong 1 tuần Vì thế, chỉ có 3 bit thấptrong thanh ghi này có nghĩa
• Các thanh ghi còn lại có cấu trúc tương tự, DATE chứa ngày trong tháng (1 đến 31),MONTH chứa tháng (1 đến 12) và YEAR chứa năm (00 đến 99) Chú ý, DS1307 chỉ dùngcho 100 năm, nên giá trị năm chỉ có 2 chữ số , phần đầu của năm do người dùng tự thêm vào(ví dụ 20xx) Ngoài các thanh ghi trong bộ nhớ, DS1307 còn có một thanh ghi khác nằmriêng gọi là con trỏ địa chỉ hay thanh ghi địa chỉ (Address Register) Giá trị của thanh ghi này
là địa chỉ của thanh ghi trong bộ nhớ mà người dùng muốn truy cập
Cấu trúc của DS1307 như sau:
Hình 2.7 Sơ đồ cấu trúc bên trong của DS1307
Trang 152.5 Led 7 đoạn
2.5.1 Giới thiệu
Trong các thiết bị, để báo trạng thái hoạt động của thiết bị đó cho người sử dụng với thông
số chỉ là các dãy số đơn thuần, thường người ta sử dụng “ led 7 đoạn” Led 7 đoạn được sử dụng khi các dãy số không đòi hỏi quá phức tạp, chỉ cần hiển thị số là đủ, chẳng hạn led 7 đoạn được dùng để hiển thị nhiệt độ phòng, trong các đồng hồ treo tường bằng điện tử, hiển thị số lượng sản phẩm được kiểm tra sau một công đoạn nào đó…
Led 7 đoạn có cấu tạo bao gồm 7 led đơn có dạng thanh xếp theo hình và có thêm mộtled đơn hình tròn nhỏ thể hiện dấu chấm tròn ở góc dưới, bên phải của led 7 đoạn
7 led đơn trên led 7 đoạn có Anode (cực +) hoặc Cathode (cực -) được nối chung với nhau vào một điểm, được đưa chân ra ngoài để kết nối với mạch điện 8 cực còn lại trên mỗi led đơn được đưa thành 8 chân riêng, cũng được đưa ra ngoài để kết nối với mạch điện Nếu led 7 đoạn có Anode (cực +) chung, đầu chung này được nối với +Vcc, các chân còn lại dùng để điều khiển trạng thái sáng tắt của các led đơn, led chỉ sáng khi tín hiệu đặt vào các chân này ở mức 0.Nếu led 7 đoạn có Cathode (cực -) chung, đầu chung này được nối xuống Ground (hay Mass), các chân còn lại dùng để điều khiển trạng thái sáng tắt của các led đơn, led chỉ sáng khi tín hiệu đặt vào các chân này ở mức 1
Vì led 7 đoạn chứa bên trong nó các led đơn, do đó khi kết nối cần đảm bảo dòng qua mỗi led đơn trong khoảng 10mA-20mA để bảo vệ led Nếu kết nối với nguồn 5V có thể hạn dòng bằng điện trở 330Ω trước các chân nhận tín hiệu điều khiển
Hình 2.25 Sơ đồ chân 7 SEG-COM-ANODE và hình ảnh minh họa
2.5.2 Kết nối với vi điều khiển
Ngõ nhận tín hiệu điều khiển của led 7 đoạn có 8 đường, vì vậy có thể dùng 1 Port nào
đó của Vi điều khiển để điều khiển led 7 đoạn Như vậy led 7 đoạn nhận một dữ liệu 8 bit từ
Vi điều khiển để điều khiển hoạt động sáng tắt của từng led đơn trong nó, dữ liệu được xuất
Trang 16ra điều khiển led 7 đoạn thường được gọi là "mã hiển thị led 7 đoạn" Có hai kiểu mã hiển thịled 7 đoạn: mã dành cho led 7 đoạn có Anode (cực +) chung và mã dành cho led 7 đoạn có Cathode (cực -) chung Chẳng hạn, để hiển thị số 1 cần làm cho các led ở vị trí b và c sáng, nếu sử dụng led 7 đoạn có Anode chung thì phải đặt vào hai chân b và c điện áp là 0V (mức 0) các chân còn lại được đặt điện áp là 5V (mức 1), nếu sử dụng led 7 đoạn có Cathode chungthì điện áp (hay mức logic) hoàn toàn ngược lại, tức là phải đặt vào chân b và c điện áp là 5V
(mức 1)
Phần cứng được kết nối với 1 Port bất kì của Vi điều khiển, để thuận tiện cho việc xử
lí về sau phần cứng nên được kết nối như sau: Px.0 nối với chân a, Px.1nối với chân b, lần lượt theo thứ tự cho đến Px.7 nối với chân h
Trang 17CHƯƠNG 3 : PHẦN MỀM MÔ PHỎNG MẠCH ĐIỆN PROLTEUS
3.1.Giới thiệu chung về phần mềm Proteus
• Proteus là bộ công cụ chuyên về mô phỏng mạch điện tử Các phần mềm (công cụ) trong
bộ là:ISIS Schematic Capture:
• Proteus là phần mềm cho phép mô phỏng hoạt động của mạch điện tử bao gồm phần thiết
kế mạch và viết chương trình điều khiển cho các họ vi điều khiển như MCS-51, PIC, AVR, … Proteus là phần mềm mô phỏng mạch điện tử của Lancenter Electronics, mô phỏng cho hầu hết các linh kiện điện tử thông dụng, đặc biệt hỗ trợ cho cả các MCU như PIC, 8051, AVR,
Motorola
• Phần mềm bao gồm 2 chương trình: ISIS cho phép mô phỏng mạch và ARES dùng để vẽ mạch in Proteus là công cụ mô phỏng cho các loại Vi Điều Khiển khá tốt, nó hỗ trợ các dòng VĐK PIC, 8051, PIC, dsPIC, AVR, HC11, MSP430, ARM7/LPC2000 … các giao tiếp I2C, SPI,CAN, USB, Ethenet,… ngòai ra còn mô phỏng các mạch số, mạch tương tự một cách hiệu quả.SIS đã được nghiên cứu và phát triển trong hơn 12 năm và có hơn 12000 người dùng trên khắp thế giới Sức mạnh của nó là có thể mô phỏng hoạt động của các hệ vi điều khiển mà khôngcần thêm phần mềm phụ trợ nào Sau đó, phần mềm ISIS có thể xuất file sang ARES hoặc các phần mềm vẽ mạch in khác
Trong lĩnh vực giáo dục, ISIS có ưu điểm là hình ảnh mạch điện đẹp, cho phép ta tùy chọn đường nét, màu sắc mạch điện, cũng như thiết kế theo các mạch mẫu (templates)
• Những khả năng khác của ISIS là:
+ Chạy trên nền Windows 98/Me/2k/XP/Win7
+ Tự động sắp xếp đường mạch và vẽ điểm giao đường mạch
+ Chọn đối tượng và thiết lập thông số cho đối tượng dễ dàng
+ Xuất file thống kê linh kiện cho mạch
+Xuất ra file Netlist tương thích với các chương trình làm mạch in thông dụng
+ Đối với người thiết kế mạch chuyên nghiệp, ISIS tích hợp nhiều công cụ giúp cho việc quản lý mạch điện lớn, mạch điện có thể lên đến hàng ngàn linh kiện
+ Thiết kế theo cấu trúc (hierachical design)
+ Khả năng tự động đánh số linh kiện
ARES (Advanced Routing and Editing Software) là phần mềm vẽ mạch in PCB Nó vẽ mạch dựa vào file nestlist cùng các công cụ tự động khác
Trang 18• Đặc điểm chính:
• Có cơ sở dữ liệu 32 bit cho phép độ chính xác đến 10nm, độ phân giải góc 0.10 và kích thước board lớn nhất là +/- 10 mét ARES hỗ trợ mạch in 16 lớp
• Làm việc thông qua các menu ngữ cảnh tiện lợi
• File netlist từ phần mềm vẽ mạch nguyên lý ISIS
• Tự động cập nhật ngược chỉ số linh kiện, sự đổi chân, đổi cổng ở mạch in sang mạch nguyên lý
• Công cụ kiểm tra lỗi thiết kế
• Thư viện đầy đủ từ lỗ khoan mạch đến linh kiện dán
• PROTEUS VSM là sự kết hợp giữa chương trình mô phỏng mạch điện theo chuẩn công nghiệp SPICE3F5 và mô hình linh kiện tương tác động (animated model) Nó cho phép người dùng tự tạo linh kiện tương tác động và thực ra có rất nhiều linh kiện loại này được tạo ra mà không cần code lập trình Do đó, PROTEUS VSM cho phép người dùng thực hiện các “mô phỏng có tương tác” giống như hoạt động của một mạch thật
Thêm nữa, chương trình cung cấp cho chúng ta rất nhiều mô hình linh kiện có chức năng mô phỏng, từ các vi điều khiển thông dụng đến các linh kiện ngoại vi như LED, LCD, keypad, cổng RS232
Trang 19
Khởi động phần mềm xong Tiếp tục chọn vào biểu tượng schematic capture trên thanh công cụ để khởi động giao diện để vẽ mạch mô phỏng mạch điện.
Giao diện như hình bên dưới:
Trang 20Phần mềm cung cấp cho chúng ta nhiều nút lệnh hữu ích, tiện lợi khi vẽ mạch , sau đây
là một số nút thường dùng trong khi vẽ mạch:
Create a new design: Tạo một bản thiết kế mới
Open a design: Mở một bản thiết kế đã có sẵn
Save: Lưu lại bản thiết kế
Sample a project: Mở một bản thiết kế mẫu
Enable / Disable grid dot display: Cho phép hiện hay ẩn các loại lưới điểm
Junction dot: Điểm Nối
Trang 21Copy tagged objects: Sao chép đối tượng đã chọn.
Move tagged objects: Di chuyển đối tượng đã chọn
Rotate all tagged objects: Xoay tất cả đối tượng đã chọn
Delete all tagged objects: Xóa tất cả các đối tượng đã chọn
Create a new root sheet: Tạo trang vẽ mới
Remove curent sheet: Xóa trang vẽ hiện hành
PCB layout: Giao diện vẽ mạch 3D
3D visualizer: Xem dưới dạng 3D mạch thực
Code sample: Code mẫu
Instant edid mode: Chọn linh kiện để thay đổi thuộc tính
Device pin: Linh Kiện đã chọn
Wire lable / ate: tạo chú thích
Text script: Kiểm tra bản vẽ
Bus: Vẽ bus
Sub-circuit: tạo mạch phụ
Inter-sheet terminal: Lấy nguồn (VCC), nối đất (GND), Vào / ra (in/out) Simulation Graph: Đồ thị mô phỏng
Generator: Các dạng tạo sóng
Vonmeter/ Current probe: Dụng cụ đo điện áp và dòng diện
Virtual instruments: Các dạng đồng hồ đo
Pick device: Mở thư viện linh kiện
Manage libraries: Quản lý thư viện
Set rotation: Xoay trái 90o
Set rotation: Xoay phải 90o
Horizontal reflection: Đảo theo chiều ngang
Vertical reflection: Đảo theo chiều đứng
• Ưu điểm và nhược điểm của phần mềm này: