ĐỒ ÁN TỐT NGHIỆP ĐIỆN TỬ Thiết kế mạch đếm sản phẩm và điều khiển động cơ
NỘI DUNG ĐỒ ÁN
Đề tài: Thiết kế mạch đếm sản phẩm và điều khiển động cơ
Mục đích :
- Xuất phát từ yêu cầu thực tế cũng như mục đích của nhóm là muốn nghiên cứu và học tập đạt hiệu quả cao (lý thuyết gắn liền với thực tế).
- Xuất phát từ yêu cầu làm bài tập lớn.
=> Vì vậy tập thể nhóm muốn phát triển thêm ý tưởng là: Thiết kế mạch đếm sản phẩm và điều khiển động cơ. Đây là ý tưởng theo đánh giá chủ quan của nhóm là có tính thực tế , có khả thi và có thể phát triển. Tuy đề tài đưa ra là không mới nhưng cũng là khó khăn đối với những người mới học. Chính vì vậy chúng em rất cần sự động viên và giúp đỡ của thầy để có thể thực hiện tốt đề tài này.
..............................................................
1. Khối xử lý:
Gồm cú IC89C51 và mạch dao động của nú.
IC 89C51 là một loại vi điều khiển trong họ 8051 với cấu trúc các thanh ghi , các bộ đệm và các bít cờ hoàn toàn được điều khiển bằng chương trình.
Chíp này có bộ nhớ RAM 2K rất thuận tiện cho các điều khiển cỡ lớn
Chương trình viết cho IC này rất phong phú như C, C++, Asembly , thậm chí cả những ngôn ngữ bậc cao như Visual C++, Java,.. tuy nhiên để nạp vào bộ nhớ điều khiển chúng ta phải chuyển chương trình viết từ các ngôn ngữ khác nhau sang file định dạng kiểu Hexa, rồi dùng bộ nạp để nạp.
Giới thiệu chung về chíp AT89C51
I. Giới thiệu AT89C51
AT89C51 là một bộ vi xử lý 8 bit, loại CMOS, có tốc độ cao và công suất thấp với bộ nhớ Flash có thể lập trình được. Nó được sản xuất với công nghệ bộ nhớ không bay hơi mật độ cao của hãng Atmel, và tương thích với họ MCS-51TM về chân ra và tập lệnh.
AT89C51 có các đặc trưng cơ bản như sau: 4 Kbyte Flash, 128 byte RAM, 32 đường xuất nhập, hai bộ định thời/đếm 16-bit, một cấu trúc ngắt hai mức ưu tiên và 5 nguyên nhân ngắt, một port nối tiếp song công, mạch dao động và tạo xung clock trên chip. AT89C51 được thiết kế với logic tĩnh cho hoạt động có tần số giảm xuống 0 và hỗ trợ hai chế độ tiết kiệm năng lượng được lựa chọn bằng phần mềm. Chế độ nghỉ dừng CPU trong khi vẫn cho phép RAM, các bộ định thời/đếm, port nối tiếp và hệ thống ngắt tiếp tục hoạt động. Chế độ nguồn giảm duy trì nội dung của RAM nhưng không cho mạch dao động cung cấp xung clock nhằm vô hiệu hoá các hoạt động khác của chip cho đến khi có reset cứng tiếp theo.
I.1 Mô tả các chân
ALE là một xung ngõ ra để chốt byte thấp của địa chỉ trong khi truy xuất bộ nhớ ngoài. Chân này cũng làm ngõ vào xung lập trình () trong thời gian lập trình cho Flash.
Khi hoạt động bình thường, xung ngõ ra ALE lu«n có tần số không đổi là 1/6 tần số của mạch dao động, có thể được dùng cho các mục đích định thời từ bên ngoài vào tạo xung clock. Tuy nhiên, lưu ý là một xung ALE sẽ bị bỏ qua trong mỗi một chu kỳ truy xuất bộ nhớ dữ liệu ngoài.
Khi cần, hoạt động ALE có thể được vô hiệu hoá bằng cách set bit 0 của thanh ghi chức năng đặc biệt có địa chỉ 8Eh. Khi bit này được set, ALE chỉ tích cực trong thời gan thực hiện lệnh MOVX hoặc MOVC. Ngược lại, chân này sẽ được kéo lên cao. Việc set bit không cho phép hoạt động chốt byte thấp của địa chỉ sẽ không có tác dụng nếu bộ vi điều khiển đang ở chế độ thực thi chương trình ngoài.
- (29)
(Program Store Enable) là xung điều khiển truy xuất bộ nhớ chương trình ngoài. Khi AT89C52 đang thực thi chương trình từ bộ nhớ chương trình ngoài, được kích hoạt hai lần mỗi chu kỳ máy, nhưng hai hoạt động sẽ bị bỏ qua mỗi khi truy cập bộ nhớ dữ liệu ngoài.
- /Vpp (31)
(External Access Enable) là chân cho phép truy xuất bộ nhớ chương trình ngoài (bắt đầu từ địa chỉ từ 0000H đến FFFFH).
= 0 cho phép truy xuất bộ nhớ chương trình ngoài, ngỵc l¹i =1 sẽ thực thi chương trình bên trong chip
Tuy nhiên, lưu ý rằng nếu bit khoá 1 (lock-bit 1) được lập trình, sẽ được chốt bên trong khi reset.
Chân này cũng nhận điện áp cho phép lập trình Vpp=12V khi lập trình Flash (khi đó ®iƯn áp lập trình 12V được chọn).
- XTAL1 và XTAL2
XTAL1 và XTAL2 là hai ngõ vào và ra của một bộ khuếch đại đảo của mạch dao động, được cấu hình để dùng như một bộ dao động trên chip.
Không có yêu cầu nào về chu kỳ nhiệm vụ của tín hiệu xung clock bên ngoài do tín hiệu này phải qua một flip-flop chia hai trước khi đến mạch tạo xung clock bên trong, tuy nhiên các chi tiết kỹ thuật về thời gian mức thấp và mức cao, điện áp cực tiểu và cực đại cần phải được xem xét.
I.2 C¸
Trong chế độ nghỉ, CPU tự đi vào trạng thái ngủ trong khi tất cả các ngoại vi bên trong chip vẫn tích cực. Chế độ này được điều khiển bởi phần mềm. Nội dung của RAM trên chip và của tất cả các thanh ghi chức năng đặc biệt vẫn không đổi trong khi thời gian tồn tại chế độ này. Chế độ nghỉ có thể được kết thúc bởi một ngắt bất kỳ nào được phép hoặc bằng cách reset cứng.
Ta cần lưu ý rằng khi chế độ nghỉ được kết thúc bởi một reset cứng, chip vi điều khiển sẽ tiếp tục bình thường việc thực thi chương trình từ nơi chương trình bị tạm dừng, trong vòng 2 chu kỳ máy trước khi giải thuật reset mềm nắm quyền điều khiển.
Ở chế độ nghỉ, phần cứng trên chip cấm truy xuất RAM nội nhưng cho phép truy xuất các chân của các port. Để tránh khả năng có một thao tác ghi không mong muốn đến một chân port khi chế độ nghỉ kết thúc bằng reset, lệnh tiếp theo yêu cầu chế độ nghỉ không nên là lệnh ghi đến chân port hoặc đến bộ nhớ ngoài.
I.2.2
Trong chế độ này, mạch dao động ngừng hoạt động và lệnh yêu cầu chế độ nguồn giảm là lệnh sau cùng được thực thi. RAM trên chip và các thanh ghi chức năng đặc biệt vẫn duy trì các giá trị của chúng cho đến khi chế độ nguồn giảm kết thúc. Chỉ có một cách ra khỏi chế độ nguồn giảm, đó là reset cứng.
Việc reset sẽ xác định lại các thanh ghi chức năng đặc biệt nhưng không làm thay đổi RAM trên chip. Việc reset không nên xảy ra (chân reset ở mức tích cực) trước khi Vcc được khôi phục lại mức điện áp bình thường và phải kéo dài trạng thái tích cực của chân reset đủ lâu để cho phép mạch dao động hoạt động trở lại và đạt trạng thái ổn định.
Trạng thái của các chân trong thời gian tồn tại chế độ nghỉ và chế độ nguồn giảm được cho trong bảng sau: