Nếu đây là lần đầu tiên đến với Điện Tử Việt Nam, bạn có thể đọc phần Hỏi đáp bằng cách nhấn vào liên kết. Có thể bạn cần đăng kí trước khi có thể gửi bài . Để bắt đầu xem bài viết, chọn diễn đàn bạn muốn thăm dưới đây.
Thông báo
Collapse
No announcement yet.
Bộ nhớ chương trình, bộ nhớ dữ liệu, ngăn xếp, cơ chế ngắt và SFR của 8051
Các bác cho em hỏi, khi VXL (AT89C51) bị treo do bị nhiễu có cách nào hoặc mạch nào để nó tự reset không?
con 89c51 bên trong không trang bị whatdogtime nên nếu bạn muốn reset lại nó khi nó bị treo thì có thể tự thiết kế một mạch whatdog bên ngoài bằng một mạch định thời 555 chẳng hạn, sau một thời gian nào đấy do bạn tự đặt thì bộ giao động này gửi tới chân reset và reset lại vi điều khiển, chỉ ngăn chặn được xung này bằng phần mềm điều khiển do con 89c51 tạo ra, bạn có thể dùng ngắt để xoá whatdog ngoài này thông qua các mạhc AND, OR, NOT , khi con 89c51 bị treo thì nó không thể gửi ra xung xoá whatdog và thể là sau một thời gian bạn cài đặt cho whatdog là nó tự động reset vi điều khiển . Trong lập trình các VDK có whatdog rồi thì phải xoá whatdog thường xuyên hoặc cấm nó từ đầu nếu không muốn bị reset VDK .
con 89c51 bên trong không trang bị whatdogtime nên nếu bạn muốn reset lại nó khi nó bị treo thì có thể tự thiết kế một mạch whatdog bên ngoài bằng một mạch định thời 555 chẳng hạn, sau một thời gian nào đấy do bạn tự đặt thì bộ giao động này gửi tới chân reset và reset lại vi điều khiển, chỉ ngăn chặn được xung này bằng phần mềm điều khiển do con 89c51 tạo ra, bạn có thể dùng ngắt để xoá whatdog ngoài này thông qua các mạhc AND, OR, NOT , khi con 89c51 bị treo thì nó không thể gửi ra xung xoá whatdog và thể là sau một thời gian bạn cài đặt cho whatdog là nó tự động reset vi điều khiển . Trong lập trình các VDK có whatdog rồi thì phải xoá whatdog thường xuyên hoặc cấm nó từ đầu nếu không muốn bị reset VDK .
con 89c51 bên trong không trang bị whatdogtime nên nếu bạn muốn reset lại nó khi nó bị treo thì có thể tự thiết kế một mạch whatdog bên ngoài bằng một mạch định thời 555 chẳng hạn, sau một thời gian nào đấy do bạn tự đặt thì bộ giao động này gửi tới chân reset và reset lại vi điều khiển, chỉ ngăn chặn được xung này bằng phần mềm điều khiển do con 89c51 tạo ra, bạn có thể dùng ngắt để xoá whatdog ngoài này thông qua các mạhc AND, OR, NOT , khi con 89c51 bị treo thì nó không thể gửi ra xung xoá whatdog và thể là sau một thời gian bạn cài đặt cho whatdog là nó tự động reset vi điều khiển . Trong lập trình các VDK có whatdog rồi thì phải xoá whatdog thường xuyên hoặc cấm nó từ đầu nếu không muốn bị reset VDK .
Dùng con AT89S51 đi. Cần gì phải phức tạp thế.
AVR đã quay trở lại: ATMEGA32: 66k, ATMEGA8A: 30k, ATMEGA48: 30k.
Xem thêm tại Online Store ---> Click here
Mob: 0982.083.106
xin các bác giải thích giúp em vấn đề này nhé: khi mở rộng bộ nhớ ngoài(Rom hay Ram gì tuỳ) khi này thì chân EA phải nối mass, khi ta viết chương trình chính, chương trình này sẽ nạp vào trong IC89, nhưng mà khi gắn IC89 vào mạch để chạy thì chân EA đang nối mass như vậy thì làm sao chương trình của chúng ta chạy được,(vì theo như trong sách nói là EA nối lên 5v thì VĐK sẽ truy suất bộ nhớ trong), chẳng lẻ lúc này VĐK có thể làm việc cùng lúc bộ nhớ nội và bộ nhớ ngoại hay là gì đó mà ..... em nhờ các bác giải thích hộ nhé. cám ơn các bác nhiều.
xin các bác giải thích giúp em vấn đề này nhé: khi mở rộng bộ nhớ ngoài(Rom hay Ram gì tuỳ) khi này thì chân EA phải nối mass, khi ta viết chương trình chính, chương trình này sẽ nạp vào trong IC89, nhưng mà khi gắn IC89 vào mạch để chạy thì chân EA đang nối mass như vậy thì làm sao chương trình của chúng ta chạy được,(vì theo như trong sách nói là EA nối lên 5v thì VĐK sẽ truy suất bộ nhớ trong), chẳng lẻ lúc này VĐK có thể làm việc cùng lúc bộ nhớ nội và bộ nhớ ngoại hay là gì đó mà ..... em nhờ các bác giải thích hộ nhé. cám ơn các bác nhiều.
Cậu đọc kỹ lại đi nhé. Chỉ có dùng ROM ngoài thì EA mới nối đất. Còn dùng RAM ngoài thì chẳng liên quan gì đến EA cả.
Khi EA nối đất thì chương trình chính được nạp vào ROM chứ không phải VXL nhé.
AVR đã quay trở lại: ATMEGA32: 66k, ATMEGA8A: 30k, ATMEGA48: 30k.
Xem thêm tại Online Store ---> Click here
Mob: 0982.083.106
Nhờ các bác xem hộ em cấu trúc đoạn chương trình sau đây nhé:em ko viết hết toàn bộ chương trình vì em chỉ muốn hỏi về cấu trúc chương trình thôi(nếu các bác thấy cần thiết thì em sẽ viết hết chương trình lên sau nhé)
xxxxxxxxxxxxxxxxxxxxxxxxxxx
ORG 500H ;Khai báo vùng nhớ lưu mã 7d
ma7d: DB 0c0h,0f9h,0a4h,0b0h,099h,092h
ORG 0000H ; Bat dau chuong trinh chinh
sjmp main
main: ................ ;
.................;một số lệnh gì đó ko quan trọng
mov dptr,#500h
mov A,11h
MOVC A,@A+dptr
..................
..................
end
xxxxxxxxxxxxxxxxxxxxxxxxx
em chỉ muốn hỏi là có phải chương trình này được viết có sử dụng bộ nhớ Rom ngoài phải ko (vì em thấy có dptr và lệnh MOVC A,@A+dptr). Nếu đúng như vậy thì địa chỉ khai báo 500h làm sao ta giải mã địa chỉ ra được như vậy?.
à còn nửa là cách sử dụng kiểu khai báo lệnh ''DB'' như vậy có đúng ko các bác, sao trong sách tống văn on em ko thấy nói lệnh này. Đoạn chương trình này là chương trình đếm sản phẩm và hiển thị led 7d, của một bạn trên mạng chỉ em làm nhưng mà làm hoài mà ko chạy được(phần cứng của em ko có bộ nhớ ngoài) nên em mới có vài nghi ngờ chỉ còn biết nhờ các bác.
{hỏi một câu dốt trong chốc lác còn hơn không hỏi sẻ dốt nát cã đời kekekek}
Cậu đọc kỹ lại đi nhé. Chỉ có dùng ROM ngoài thì EA mới nối đất. Còn dùng RAM ngoài thì chẳng liên quan gì đến EA cả.
Khi EA nối đất thì chương trình chính được nạp vào ROM chứ không phải VXL nhé.
cám ơn bác VNarmy,em đã đọc lại rồi thật đúng là như bác nói, như vậy là ta phải cần có một mạch nạp Rom phải ko bác, chương trình ta sẽ viết và biên dịch bình thường nhưng mà lúc này sẻ nạp vào con rom ngoài.
Nhờ các bác xem hộ em cấu trúc đoạn chương trình sau đây nhé:em ko viết hết toàn bộ chương trình vì em chỉ muốn hỏi về cấu trúc chương trình thôi(nếu các bác thấy cần thiết thì em sẽ viết hết chương trình lên sau nhé)
xxxxxxxxxxxxxxxxxxxxxxxxxxx
ORG 500H ;Khai báo vùng nhớ lưu mã 7d
ma7d: DB 0c0h,0f9h,0a4h,0b0h,099h,092h
ORG 0000H ; Bat dau chuong trinh chinh
sjmp main
main: ................ ;
.................;một số lệnh gì đó ko quan trọng
mov dptr,#500h
mov A,11h
MOVC A,@A+dptr
..................
..................
end
xxxxxxxxxxxxxxxxxxxxxxxxx
em chỉ muốn hỏi là có phải chương trình này được viết có sử dụng bộ nhớ Rom ngoài phải ko (vì em thấy có dptr và lệnh MOVC A,@A+dptr). Nếu đúng như vậy thì địa chỉ khai báo 500h làm sao ta giải mã địa chỉ ra được như vậy?.
à còn nửa là cách sử dụng kiểu khai báo lệnh ''DB'' như vậy có đúng ko các bác, sao trong sách tống văn on em ko thấy nói lệnh này. Đoạn chương trình này là chương trình đếm sản phẩm và hiển thị led 7d, của một bạn trên mạng chỉ em làm nhưng mà làm hoài mà ko chạy được(phần cứng của em ko có bộ nhớ ngoài) nên em mới có vài nghi ngờ chỉ còn biết nhờ các bác.
{hỏi một câu dốt trong chốc lác còn hơn không hỏi sẻ dốt nát cã đời kekekek}
AT89S51 có ROM nội dung lượng 4K tương đương với 12 bit địa chỉ. Như vậy địa chỉ 500h vẫn có thể nằm trong ROM nội.
Còn về khai báo DB thì cậu cứ dịch thử. Nếu sai chương trình dịch sẽ ra thông báo lỗi.
AVR đã quay trở lại: ATMEGA32: 66k, ATMEGA8A: 30k, ATMEGA48: 30k.
Xem thêm tại Online Store ---> Click here
Mob: 0982.083.106
À, sản phẩm họ thiết kế ra, họ yêu cầu mình chứng minh là sau chỉnh sửa thì 1 là gỡ jump cắm lại không hư mạch, 2 là gỡ jump thì 220Vdc vẫn dùng được led áp thấp 20V mà không hư led như mình báo, nên họ hiểu rõ mà....
Bài học kiểu trực tuyến dù là loại đơn giản bậc nhất cũng vẫn cần chú tâm. Chỉ bật tai nghe lên thì không có loại nào thấm nổi đâu. Cách hay hơn, dễ hơn là kiếm phim tiếng Anh nào đó xem, ban đầu bật phụ đề tiếng Việt, nghe và...
Ha ha !
Thay đổi cách nghĩ thì sẽ nghĩ ra.
.
.
.
Một thứ cần kiểm soát dòng + nhiệt + công suất tiêu tán. Nhưng lại dùng tư duy ổn áp. Làm sao mà giải quyết được.
Nó là mạch ổn dòng.
Vì thế các anh nước lạ không thèm quan tâm là phải....
Vì cứ phải chỉnh sửa cho mỗi dải điện áp, quên chỉnh thì hư chíp phải bảo hành nên em thấy bất tiện, mới cần cái mạch 1 dải áp cao dùng cho tất cả loại đèn đó bác!...
Mình thỉnh thoảng cũng làm việc với người nước ngoài nói tiếng Anh thì toàn ghép nhặt từ, cộng với quơ tay quơ chân để diễn tả, hix. Nỗi khổ là không biết cách để mô tả sự việc. Tôi muốn tìm các bài giảng tiếng anh nào phù hợp...
Trước khi có đủ thực lực thì chỉ làm vì mình thôi đừng nghĩ đến chuyện khác cái mạch toàn dãi tiện sử dụng nhưng tỷ lệ hư hỏng phải bảo hành cũng cao hơn ,lợi bất cập hại .
Comment