Giống như các bộ vi điều khiển khác, nó có các chân GPIO, ba bộ địnhthời 16 bit, một cổng giao tiếp UART song công truyền tín hiệu theo cả 2 hướng, ba bộ định thời 16 bit, bộ tạo dao độn
TỔNG QUAN VỀ BẢNG LED ĐIỆN TỬ HIỂN THỊ HÌNH TRÁI TIM
Giới thiệu đề tài
Bảng LED điện tử là hệ thống hiển thị sử dụng công nghệ LED (Light Emitting Diode) để truyền tải thông tin hoặc hình ảnh qua các điểm sáng Công nghệ này được áp dụng rộng rãi trong quảng cáo, thông báo và trang trí nhờ vào tính năng tiết kiệm năng lượng, độ bền cao và khả năng tạo ánh sáng sắc nét Trong các ứng dụng sáng tạo, bảng LED có thể hiển thị hình ảnh động, tạo hiệu ứng sống động và thu hút sự chú ý.
Bảng LED hiển thị hình trái tim là một ứng dụng đặc biệt, tượng trưng cho tình yêu và cảm xúc tích cực Hình trái tim truyền tải thông điệp tình cảm một cách dễ dàng và được sử dụng phổ biến trong các sự kiện, lễ hội, trang trí quà tặng và quảng cáo Thiết kế bảng LED với hình trái tim không chỉ tạo ra sản phẩm đẹp mắt mà còn mang đến trải nghiệm thú vị và sinh động cho người xem thông qua các hiệu ứng hình ảnh động.
Thành phần chính
Bảng led điện tử hiển thị hình trái tim gồm 3 phần chủ yếu sau:
Mạch điều khiển trung tâm dùng vi điều khiển AT89S52.
Mạch hiển thị trạng thái đèn.
Nguyên lý hoạt động
Để điều khiển các LED, các chân của vi điều khiển AT89S52 được kết nối với LED hoặc ma trận LED thông qua các điện trở giới hạn dòng Trạng thái bật hoặc tắt của từng LED được điều chỉnh thông qua các chân I/O của vi điều khiển này.
+ Lập trình để mỗi chân của AT89S52 bật/tắt các LED một cách có trật tự, tạo ra hiệu ứng hình trái tim.
Có thể lập trình để điều khiển các LED nhấp nháy và thay đổi màu sắc, đặc biệt là khi sử dụng LED RGB Ngoài ra, bạn cũng có thể tạo hiệu ứng chuyển động cho hình trái tim, như phóng to, thu nhỏ hoặc nhấp nháy, mang lại trải nghiệm hình ảnh sống động.
Phần mềm lập trình và mô phỏng
Keil uVision là phần mềm phát triển hàng đầu cho vi điều khiển 8051, như AT89S52 Phần mềm này cung cấp môi trường lập trình mạnh mẽ với các công cụ hỗ trợ biên dịch mã, kiểm tra và tạo file HEX để nạp vào vi điều khiển.
Ngôn ngữ lập trình: Keil hỗ trợ lập trình bằng C và Assembly.
Phần mềm Proteus là công cụ mô phỏng mạch điện phổ biến, hỗ trợ người dùng trong việc mô phỏng vi điều khiển và thiết bị điện tử Với Proteus, bạn có thể mô phỏng mạch AT89S52, nạp chương trình vào vi điều khiển và kiểm tra hoạt động của mạch mà không cần sử dụng phần cứng thực tế.
Proteus là phần mềm hỗ trợ mô phỏng vi điều khiển, cho phép người dùng mô phỏng nhiều loại vi điều khiển khác nhau, trong đó có AT89S52 Ngoài ra, Proteus còn cung cấp tính năng nạp chương trình trực tiếp từ file HEX, giúp tối ưu hóa quy trình phát triển và kiểm tra ứng dụng.
Thiết kế mạch điện giúp bạn dễ dàng tạo ra và xây dựng các mạch điện sử dụng các linh kiện điện tử như LED, điện trở, tụ điện, transistor và nhiều linh kiện khác.
Mô phỏng lập trình cho phép người dùng kiểm tra chương trình đã viết trong Keil hoặc các phần mềm lập trình khác, đồng thời quan sát hiệu ứng trên mạch điện, ví dụ như LED phát sáng theo hình dạng trái tim.
Giao diện thân thiện: Giao diện đồ họa trực quan, dễ sử dụng.
KHẢO SÁT VI ĐIỀU KHIỂN AT89S52
Tổng quan
AT89S52 là một bộ vi điều khiển CMOS 8 bit nổi bật của Atmel, sở hữu bộ nhớ Flash 8KB và 256 byte RAM, được sử dụng rộng rãi trong các ứng dụng điện tử.
Nó có khả năng hoạt động ở tần số tối đa 33MHz nhờ vào bộ dao động bên ngoài Tương tự như các bộ vi điều khiển khác, thiết bị này được trang bị các chân GPIO, ba bộ định thời 16 bit, một cổng giao tiếp UART song công cho phép truyền tín hiệu theo cả hai hướng, cùng với bộ tạo dao động tích hợp trên chip Ngoài ra, nó còn sở hữu 40 chân kết nối, mang lại nhiều tùy chọn cho người sử dụng.
32 chân GPIO AT89S52 cũng có bộ đếm thời gian Watchdog có sẵn để vận hành chế độ tối ưu năng lượng cho bộ vi điều khiển
Bộ vi điều khiển này ứng dụng trong thiết bị gia đình đến ngành công nghiệp cung cấp khả năng điều khiển digital cho các hệ thống nhúng.
Giới thiệu Vi điều khiển AT89S52
Bộ vi điều khiển 8 bit này có công suất thấp và hiệu suất cao, được phát triển dựa trên công nghệ CMOS, với dải tần hoạt động từ 0 đến 33MHz Chip có khả năng hoạt động ở hai chế độ lựa chọn nguồn điện khác nhau.
Thiết bị này trang bị 32 chân GPIO, cho phép sử dụng linh hoạt như chân đầu vào và đầu ra digital, đồng thời có thể đảm nhận các chức năng thay thế trên cùng một chân.
Sơ đồ chân của vi điều khiển 8-bit AT89S52 được hiển thị bên dưới:
Hình 2.2 Sơ đồ chân AT89S52
Bộ vi điều khiển 8-bit AT89S52 có ba loại package, tuy nhiên sơ đồ chân của cả ba loại đều giống nhau Thông tin chi tiết về cấu hình chân được trình bày trong bảng dưới đây.
Số chân Tên chân Đặc điểm
32-39 Port 0 8 chân Địa chỉ và Dữ liệu / GPIO
18 XTAL2 Chân đầu ra của bộ tạo dao động bên ngoài
19 XTAL1 Chân đầu vào bộ tạo dao động bên ngoài
31 EA / VPP Kích hoạt truy xuất bên ngoài / chân cấp nguồn kích hoạt Flash
30 ALE /PROG Chân chốt địa chỉ / Chân lập trình flash
29 PSEN Chân cho phép lưu chương trình
Tất cả các cổng của AT89S52 đều là 8-bit, cho phép mỗi port có 8 chân đa chức năng Các chân này có thể được cấu hình cho nhiều chức năng khác nhau thông qua việc thiết lập các thanh ghi cấu hình.
Khi ở trạng thái mức thấp, các chân này hoạt động như đầu vào trở kháng cao hai chiều Ngược lại, khi được kéo lên mức cao, chúng sẽ chuyển sang chức năng đầu ra digital.
Các chân Port0 trên vi điều khiển AT89S52 không chỉ được dùng để cập nhật các byte thấp trong mã đến bộ nhớ chương trình nội bộ mà còn để xác nhận mã đã được cập nhật Để lập trình qua các chân này, cần phải kết nối chúng với các điện trở kéo lên bên ngoài.
Port 1 tương tự như Port 0, với các chân dữ liệu 2 chiều 8 bit và điện trở kéo lên bên trong Một số chân GPIO của Port 1 được sử dụng cho giao tiếp lập trình hệ thống trong mạch, trong khi những chân khác đảm nhận chức năng thay thế cho ba chân bộ định thời/bộ đếm 16 bit.
Giống như Port 1, Port 2 cũng sở hữu các chân dữ liệu 2 chiều 8 bit với điện trở kéo lên bên trong Một số chân GPIO trong Port 2 được sử dụng cho giao tiếp lập trình hệ thống trong mạch, trong khi một số chân khác đảm nhận chức năng thay thế cho ba chân.
Bộ định thời / Bộ đếm 16 bit.
Các chân Port2 trên vi điều khiển AT89S52 không chỉ được sử dụng để cập nhật các byte cao trong mã lên bộ nhớ chương trình bên trong, mà còn để xác nhận rằng mã đã được cập nhật thành công Khi lập trình qua các chân này, cần thiết phải kết nối chúng với các điện trở kéo lên bên ngoài để đảm bảo hoạt động ổn định.
Port 3 cũng là một cổng 8-bit và có 8 chân GPIO Ngoài chức năng nhập / xuất, các chân này còn có một số tính năng đặc biệt
Cổng 3 cũng được sử dụng để truyền dữ liệu nối tiếp UART, ngắt ngoài và thực hiện các thao tác đọc / ghi bộ nhớ dữ liệu bên ngoài.
Tất cả các chân dữ liệu trong mạch đều là chân hai chiều, tương thích với chuẩn TTL Chúng có thể hoạt động như nguồn dòng sink hoặc source, và mỗi chân đều được trang bị điện trở kéo lên bên trong để đảm bảo xác định chính xác trạng thái.
Chân PSEN (program store enable) cho phép điều khiển truy xuất bộ nhớ chương trình ngoài của vi điều khiển AT89C51 Khi AT89C51 thực thi chương trình từ bộ nhớ ngoài, tín hiệu PSEN được kích hoạt hai lần trong mỗi chu kỳ máy, ngoại trừ trường hợp hai tác động của PSEN bị bỏ qua trong mỗi lần truy xuất bộ nhớ dữ liệu ngoài.
Xung ngõ ra cho phép chốt địa chỉ ALE (address latch enable) nhằm giữ byte thấp của địa chỉ trong quá trình truy xuất bộ nhớ ngoài Đồng thời, chân này còn được sử dụng làm ngõ vào xung lập trình (PROG) trong thời gian lập trình cho Flash.
Khi hoạt động bình thường, xung ngõ ra ALE có tần số bằng 1/6 tần số mạch dao động trên chip, phục vụ cho định thời từ bên ngoài và tạo xung clock Cần lưu ý rằng mỗi chu kỳ truy xuất bộ nhớ dữ liệu ngoài sẽ bỏ qua một xung ALE.
Chân EA (external access enable) cần được nối với GND để chip vi điều khiển có thể truy xuất lệnh từ bộ nhớ ngoài, với địa chỉ bắt đầu từ 0000H đến FFFFH Cần chú ý rằng nếu bit khóa 1 (lock bit 1) được lập trình, EA sẽ bị chốt bên trong khi thực hiện reset.
EA nên nối với Vcc để thực thi chương trình bên trong chip.
Chân EA/Vpp cho phép lập trình điện áp Vpp trong quá trình lập trình Flash, cung cấp điện áp 12V cho các bộ phận yêu cầu.
Ngõ vào RST (chân 9) Mức cao trên chân này trong 2 chu kỳ máy trong khi bộ dao động đang hoạt động sẽ reset AT89S52.
XTAL1 ngõ vào đến mạch khuếch đại đảo của mạch dao động và ngõ vào đến mạch tạo xung clock bên trong chip.
XTAL2 ngõ ra từ mạch khuếch đại đảo của mạch dao động
Các Bộ định thời/Bộ đếm
Bộ vi điều khiển 8051 được trang bị 3 bộ định thời/bộ đếm, bao gồm Bộ định thời/Bộ đếm 0, Bộ định thời/Bộ đếm 1 và Bộ định thời/Bộ đếm 2 Các bộ này có khả năng hoạt động linh hoạt, có thể sử dụng như bộ định thời hoặc bộ đếm tùy theo nhu cầu.
Chế độ hoạt động của các Bộ định thời/Bộ đếm được cất trong thanh ghi TMOD
2.3.1 Bộ định thời/Bộ đếm 0, Bộ định thời/Bộ đếm 1
Bộ định thời/Bộ đếm 0 và Bộ định thời/Bộ đếm 1 trong vi điều khiển AT89S52 hoạt động tương tự như các bộ định thời/bộ đếm trong AT89C51 và AT89C52.
Nếu bit GATE bị xóa, các Bộ định thời/Bộ đếm sẽ hoạt động khi bit TR# trong thanh ghi TCON được thiết lập Ngược lại, nếu GATE được thiết lập, các Bộ định thời/Bộ đếm chỉ hoạt động khi các chân INT# tương ứng ở mức thấp Bit C/T# quyết định chế độ hoạt động của bộ đếm hoặc bộ định thời; khi được thiết lập, nó hoạt động theo chế độ đếm sự kiện với nguồn xung từ chân T# (chân 14, 15) Nếu bị xóa, nó sẽ hoạt động theo chế độ định thời với nguồn xung được tạo ra từ bộ tạo dao động trên chip sau khi chia 12.
Các bit M0, M1 dùng để xác dịnh chế độ đếm cho các bộ đếm:
Sự hoạt động của các Bộ định thời/Bộ đếm được điều khiển bởi thanh ghi TCON:
TF1 TR2 TF0 TR0 IE1 IT1 ITE IE0 IT0
Các bit TR# cho phép Bộ định thời/Bộ đếm hoạt động (nếu được thiết lập) hoặc không cho phép chúng hoạt động (nếu bị xóa)
Các bit TF# là cờ tràn liên quan đến các Bộ định thời/Bộ đếm, được thiết lập khi xảy ra tràn và xóa bằng phần cứng khi bộ xử lý chuyển đến chương trình phục vụ ngắt Bit IT# là bit ngắt, với việc thiết lập IT# tạo ra chế độ ngắt cạnh, nhận diện ngắt khi có sườn âm (↓) của tín hiệu vào Khi xóa IT#, chế độ ngắt mức được kích hoạt, cho phép ngắt được tạo ra liên tục khi tín hiệu vào ở mức thấp (0) cho đến khi tín hiệu chuyển lên mức cao hoặc IT# được thiết lập lại Bit IE# là cờ ngắt cạnh, được thiết lập khi phát hiện ngắt cạnh.
2.3.2 Bộ định thời/Bộ đếm 0
TF1 Cờ tràn bộ định thời 2 được thiết lập bởi bộ định thời tràn 2 và cần phải được xóa bằng phần mềm TF2 sẽ không được thiết lập khi RCLK bằng 1.
Cờ EXF2 bên ngoài của Bộ định thời 2 được kích hoạt khi có sự chuyển đổi âm trên T2EX và EXEN2 = 1, dẫn đến việc chụp hoặc tải lại Khi ngắt Bộ định thời 2 được bật, EXF2 = 1 sẽ khiến CPU chuyển sang quy trình ngắt tương ứng Để xóa EXF2, cần thực hiện qua phần mềm, và lưu ý rằng EXF2 không tạo ra ngắt khi ở chế độ bộ đếm tăng/giảm (DCEN = 1).
Khi kích hoạt đồng hồ nhận của RELK, cổng nối tiếp sử dụng xung tràn từ Bộ định thời 2 ở Chế độ 1 và 3 Khi RCLK = 0, bộ định thời 1 sẽ được sử dụng cho đồng hồ nhận.
TCLK kích hoạt đồng hồ truyền, cho phép cổng nối tiếp sử dụng xung tràn của Bộ định thời 2 trong Chế độ 1 và 3 Khi TCLK = 0, cổng nối tiếp sẽ sử dụng xung tràn của Bộ định thời 1 cho đồng hồ truyền.
EXEN2 cho phép kích hoạt bộ hẹn giờ 2 bên ngoài, cho phép chụp hoặc tải lại khi có chuyển đổi âm trên T2EX Nếu bộ định thời 2 không được sử dụng để tạo xung nhịp cho cổng nối tiếp, đặt EXEN2 = 0 sẽ khiến bộ định thời 2 bỏ qua các sự kiện ở T2EX.
TR2 điều khiển chức năng khởi động và dừng cho Bộ hẹn giờ 2, với TR2 = 1 để khởi động bộ hẹn giờ C/T2 cho phép người dùng chọn giữa bộ hẹn giờ hoặc bộ đếm cho Bộ hẹn giờ 2, trong đó C/T2 = 0 dành cho chức năng hẹn giờ và C/T2 = 1 dành cho bộ đếm sự kiện bên ngoài với kích hoạt cạnh rơi.
CP/RL2 là một tham số quan trọng trong việc điều khiển quá trình bắt giữ và tải lại trong hệ thống Khi CP/RL2 = 1, việc bắt giữ sẽ xảy ra trên các chuyển tiếp âm tại T2EX nếu EXEN2 = 1 Ngược lại, khi CP/RL2 = 0, việc tải lại tự động sẽ diễn ra khi bộ đếm thời gian 2 tràn hoặc có các chuyển đổi âm tại T2EX với EXEN2 = 1 Ngoài ra, khi RCLK hoặc TCLK = 1, bit này sẽ bị bỏ qua, và bộ định thời sẽ tự động tải lại khi bộ định thời 2 tràn.
Bộ định thời 2 là một bộ định thời/Bộ đếm 16 bit có khả năng hoạt động như bộ định thời hoặc bộ đếm sự kiện, với chế độ hoạt động được xác định bởi bit C/T2 trong SFR T2CON Nó có ba chế độ hoạt động chính: chụp, tự động tải lại (đếm lên hoặc xuống) và tạo tốc độ baud Bộ định thời 2 bao gồm hai thanh ghi 8 bit, TH2 và TL2, trong đó thanh ghi TL2 được tăng lên sau mỗi chu kỳ máy Lưu ý rằng một chu kỳ máy tương ứng với 12 chu kỳ dao động, do đó tốc độ đếm là 1/12 tần số dao động.
Các tính năng và thông số kỹ thuật của AT89S52
Các tính năng và ngoại vi Khả dụng
Kiến trúc vi xử lý PIC 8 bit
Bộ nhớ chương trình 8 KBytes
Bộ tạo dao động bên trong Không
Số lượng chân I / O có thể lập trình 32
Bộ hẹn giờ Watchdog Không
Tần số dao động bên ngoài 23 MHz (tối đa) Độ phân giải của PWM Không
Số bộ hẹn giờ 16 bit 3
Loại bộ nhớ chương trình Flash
Cặp con trỏ dữ liệu Có Điện áp hoạt động 4V - 5,5 V
Một số tính năng chi tiết nổi bật được liệt kê dưới đây:
Là bộ vi điều khiển công nghệ CMOS hiệu suất cao tích hợp công nghệ Flash
Hoạt động ở dải điện áp rộng 4 - 5.5V, vì vậy nó là một IC công suất thấp.
Thiết bị hỗ trợ lập trình bên trong ở cả chế độ page và byte của bộ nhớ Flash.
Tần số hoạt động lên đến 33MHz nhưng có thể thay đổi để tiết kiệm năng lượng.
Module có thời gian lập trình nhanh với 10.000 chu kỳ đọc / ghi.
Giao tiếp nối tiếp thông qua module UART song song
Nó có một chân reset, ba bộ định thời 16 bit và tám bộ ngắt.
AT89S52 có hai chế độ nguồn: chế độ nhàn rỗi, trong đó thiết bị xử lý ngừng hoạt động nhưng các ngoại vi vẫn hoạt động, và chế độ tắt nguồn, tạm dừng bộ dao động cùng các chức năng khác, đồng thời lưu trữ nội dung RAM.
Bộ đếm thời gian Watchdog có khả năng khởi động thiết bị từ chế độ ngủ, đồng thời cho phép người dùng kích hoạt hoặc hủy kích hoạt chức năng này thông qua lập trình.
Ứng dụng
Vi điều khiển AT89S52 được sử dụng rộng rãi trong một loạt các ứng dụng nhúng và hệ thống điều khiển :
Điều khiển thiết bị gia đình: Điều khiển đèn, quạt và các thiết bị gia đình thông qua các công tắc hoặc điều khiển từ xa.
Tạo ra các hệ thống đo lường và điều khiển nhiệt độ, độ ẩm trong nhà.
Hệ thống đèn và cảm biến trong ô tô. Điều khiển các chức năng như khóa cửa tự động, điều khiển động cơ.
Thiết bị đo và theo dõi dấu hiệu sinh học như nhịp tim, huyết áp.
Hệ thống kiểm soát dược phẩm và điều trị tự động.
Ứng dụng trong công nghiệp:
Hệ thống tự động hóa trong quá trình sản xuất. Điều khiển và giám sát thiết bị công nghiệp như máy khoan, máy cắt.
Thiết bị điện tử tiêu dùng: Điều khiển các chức năng trong các thiết bị như TV, máy nghe nhạc, điều hòa không khí.
Tạo ra các sản phẩm IoT như các bộ cảm biến thông minh, thiết bị kết nối mạng
Hệ thống điều khiển và đo lường:
Hệ thống đo lường và kiểm soát trong các ứng dụng như nông nghiệp, môi trường, và năng lượng tái tạo.
Robotics: Điều khiển các chức năng của robot như cảm biến, động cơ và hành động.
Thiết bị IoT và kết nối mạng:
Xây dựng các thiết bị IoT như cảm biến thông minh, hệ thống giám sát từ xa, hệ thống nhà thông minh.
Tạo ra các thiết bị kết nối mạng như máy tính điều khiển từ xa, hệ thống đo lường trực tuyến.
NỘI DUNG THIẾT KẾ BẢNG LED ĐIỆN TỬ HIỂN THỊ HÌNH TRÁI TIM
Giới thiệu linh kiện được sử sụng trong mạch
AT89S52 là một vi điều khiển 8 bit nổi bật từ Atmel, được ưa chuộng trong các ứng dụng điện tử nhúng nhờ vào chi phí thấp, tính dễ sử dụng và nhiều tính năng hữu ích.
AT89S52 xử lý dữ liệu 8 bit mỗi lần, giúp nó tiết kiệm năng lượng và chi phí sản xuất.
AT89S52 được trang bị 8KB bộ nhớ chương trình Flash và 128 byte RAM, cho phép lập trình và xóa nhiều lần Điều này mang lại tính linh hoạt cao trong việc phát triển và cập nhật phần mềm.
AT89S52 có 32 cổng I/O đa chức năng, cho phép kết nối với nhiều thiết bị ngoại vi khác nhau.
AT89S52 có 3 bộ đếm thời gian/bộ đếm 16 bit, có thể được sử dụng để tạo xung, đo thời gian, v.v.
AT89S52 hỗ trợ giao tiếp nối tiếp USART, cho phép nó giao tiếp với các thiết bị khác qua cổng RS232.
Hình 3.1 Sơ đồ chân AT89S52
LED, viết tắt của diode phát sáng, là loại diode có khả năng phát ra ánh sáng, tia hồng ngoại và tử ngoại Cấu trúc của LED tương tự như diode, bao gồm một khối bán dẫn loại p kết hợp với một khối bán dẫn loại n.
3.1.3 Điện trở Điện trở là một linh kiện điện tử thụ động có chức năng chính là cản trở dòng điện chạy qua nó Giá trị điện trở được đo bằng đơn vị ohm (ký hiệu: Ω). Điện trở được chế tạo từ nhiều vật liệu khác nhau, phổ biến nhất là kim loại (như đồng, nhôm, crom), carbon và gốm Mỗi loại vật liệu có đặc tính điện trở khác nhau, dẫn đến sự đa dạng về giá trị và ứng dụng của điện trở.
Thạch anh, một linh kiện điện tử quan trọng, được cấu tạo từ SiO2 dưới dạng tinh thể mài phẳng và chính xác Vai trò chính của thạch anh là tạo ra các xung dao động, nhờ vào hiệu ứng áp điện Khi áp dụng điện áp lên hai bề mặt của thạch anh, nó sẽ biến dạng, trong khi việc tạo áp lực lên bề mặt sẽ phát ra điện áp.
Tụ điện là linh kiện điện tử quan trọng, có chức năng lưu trữ và giải phóng năng lượng điện qua trường điện Nó bao gồm hai bản dẫn điện được cách ly bởi một chất cách điện, hay còn gọi là dielectric.
Khi điện áp được áp dụng lên tụ điện, các điện tích dương và âm sẽ tập trung ở hai bản dẫn, tạo ra một trường điện trong chất cách điện.
Tụ điện được chia làm hai loại chính:
Tụ điện có phân cực tính dương và âm.
Tụ điện không phân cực tính
Tụ hóa là loại tụ điện có phân cực dương và âm, với bản cực làm từ lá nhôm và điện môi là các lớp nhôm ôxit mỏng được hình thành qua phương pháp điện phân Điện dung của tụ hóa rất lớn, dao động từ luF đến 10.000uF.
Tụ điện không phân cực là loại tụ được chế tạo từ chất điện môi gốm, thường có hình dạng tròn dẹt Bề mặt của tụ được tráng bạc để tạo thành bản tụ, giúp cải thiện hiệu suất điện.
Nguồn adapter, hay còn gọi là bộ nguồn, củ sạc, cục nguồn, là thiết bị điện tử quan trọng dùng để chuyển đổi điện áp từ nguồn điện xoay chiều (AC) 220V (hoặc 110V) thành điện áp một chiều (DC).
Trong mạch này em sử dụng nguồn Adapter 5V/2A có thông số kĩ thuật sau :
Điện áp đầu vào: AC100 - 240V, 50/60HZ.
Chiều dài dây đầu ra: 1m.
Kết nối: Jack cắm DC: 5.5 x 2.1mm.
Nút nhấn, hay còn gọi là công tắc nhấn, là thiết bị điện tử hoặc cơ học dùng để kích hoạt hoặc tắt các mạch điện và thiết bị Loại nút này thường được áp dụng trong việc điều khiển thiết bị, kích hoạt mạch điện, và tương tác với các thiết bị điện tử.
Thiết kế phần cứng
3.2.1 Mạch tạo dao động thạch anh
Tinh thể thạch anh (Quartz Crytal) là loại đá trong mờ trong thiên nhiên, chính là dioxyt silicium (SiO2).
Tinh thể thạch anh được sử dụng trong mạch dao động là các lát mỏng cắt từ tinh thể, có đặc tính khác nhau tùy thuộc vào mặt cắt Các lát thạch anh có diện tích từ nhỏ hơn 1cm² đến vài cm², được mài mỏng và phẳng (khoảng vài mm), với hai mặt song song Hai mặt này được mạ kim loại và có chân nổi ra ngoài để thuận tiện khi sử dụng.
Tính chất đặc trưng của tinh thể thạch anh là hiệu ứng áp điện, cho phép tạo ra điện thế xoay chiều khi lực được áp lên hai mặt của lát thạch anh Khi chịu tác động của điện thế xoay chiều, thạch anh sẽ rung với tần số không đổi, tạo ra điện thế xoay chiều ổn định Tần số rung động phụ thuộc vào kích thước, đặc biệt là độ dày của lát thạch anh, và mặc dù thay đổi theo nhiệt độ, tần số này vẫn ổn định hơn nhiều so với các mạch dao động không sử dụng thạch anh.
Chức năng chính của mạch giao động thạch anh:
Thạch anh cung cấp tần số dao động chính xác, đóng vai trò là nguồn tham chiếu thời gian cho vi điều khiển Điều này giúp vi điều khiển thực hiện các chức năng quan trọng như đếm thời gian, tạo xung và thực hiện các phép toán hiệu quả.
Việc đảm bảo hoạt động ổn định cho vi điều khiển là rất quan trọng Tần số dao động cao và ổn định của thạch anh giúp vi điều khiển hoạt động chính xác và hiệu quả, ngay cả trong môi trường có nhiễu và biến đổi nhiệt độ.
Mạch giao động thạch anh tiêu thụ ít điện năng hơn so với các phương pháp tạo xung nhịp khác, giúp tiết kiệm điện năng và kéo dài thời gian sử dụng pin cho thiết bị.
Hình 3.9 Mạch dao động thạch anh
Mạch reset trong 89S52 rất quan trọng cho việc khởi động lại vi điều khiển, giúp đưa nó về trạng thái ban đầu và khởi động chương trình đã được lưu trong bộ nhớ Flash.
Mạch reset thường bao gồm một nút nhấn và một số linh kiện điện tử khác như điện trở, tụ điện.
Nút nhấn được kết nối với chân Reset (thường là chân số 9) của vi điều khiển 89S52.
Khi nút nhấn được ấn, nó sẽ kết nối chân Reset với nguồn (thường là 5V).
Việc kết nối này gây ra sự thay đổi điện áp trên chân Reset, từ đó kích hoạt quá trình reset vi điều khiển.
Quá trình reset sẽ xóa tất cả các thanh ghi của vi điều khiển, đưa nó về trạng thái khởi động ban đầu.
Sau khi quá trình reset hoàn tất, vi điều khiển sẽ bắt đầu thực hiện chương trình được ghi trong bộ nhớ Flash.
Tác dụng của mạch reset:
Khi chương trình gặp lỗi hoặc bị treo, người dùng có thể khởi động lại vi điều khiển bằng cách sử dụng nút nhấn reset, giúp khôi phục hoạt động bình thường của chương trình.
Trong quá trình phát triển và thử nghiệm chương trình, việc sử dụng nút nhấn reset để khởi động lại vi điều khiển nhiều lần là rất hữu ích Điều này giúp người dùng dễ dàng theo dõi và gỡ rối các vấn đề phát sinh trong chương trình.
Tăng tính linh hoạt: Mạch reset giúp người dùng có thể can thiệp vào hoạt động của vi điều khiển khi cần thiết.
Hình 3.11 Mạch hiển thị led Địa chỉ điều khiển các đèn LED đơn
Sử dụng các LED đơn với anode chung, trong đó các chân cathode được kết nối với điện trở R Hệ thống này được điều khiển thông qua các chân P0.0 đến P0.7, P1.0 đến P1.7, P2.0 đến P2.7 và P3.0 đến P3.7.
Vì LED đơn có dòng hoạt động khoảng 10mA trở lên nên ta có thể chọn điện trở
Mạch nạp và cấp nguồn cho vi điều khiển
• Sử dụng mạch nạp USB ISP ver 2.0:
Giao tiếp và cấp nguồn cho VĐK qua cổng USB 5VDC.
Cổng nạp chuẩn SPI 10pins.
• Sơ đồ nối chân giữa mạch nạp và VĐK:
Mạch nạp USB ISP IC AT89S52
MOSI Chân số 6 của VĐK
RST Chân số 9 của VĐK
SCK Chân số 8 của VĐK
MISO Chân số 7 của VĐK
Bảng 3.1 Sơ đồ nối chân giữa mạch nạp và VĐK
Hình 3.12 Hình ảnh mạch nạp USB ISP
Hình 3.13 Sơ đồ chân của mạch nạp
Phần lập trình và mô phỏng
The provided assembly code initializes several registers and utilizes a series of loops to manipulate data across multiple ports It begins by setting all ports (P0, P1, P2, P3) to zero, then calls a delay function The code subsequently retrieves and displays values from specific data locations (DL and DL1) through a series of loops, incrementing counters and checking conditions to control flow The program also includes routines for displaying patterns and colors by writing specific values to the ports Finally, it loops back to the start, creating a continuous cycle of operations.
W2: mov R2,#246 djnz R2,$ djnz R1,W2 djnz R0,W1 ret
DL: db feh,0fch,0f8h,0f0h,0e0h,0c0h,80h,00h,80h,0c0h,0e0h,0f0h,0f8h,0fch,0feh,0ffh DL1: db 7fh,3fh,1fh,0fh,07h,03h,01h,00h,01h,03h,07h,0fh,1fh,3fh,7fh,0ffh End
Hình 3.14 Sơ đồ mô phỏng