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
Hãng nào tùy thích thôi bác! bây giờ các hãng đều hỗ trợ xem qua máy tính hay điện thoại đều được. Gắn Trước tiên mua về cắm nguồn set ip hết xong hãy lắp lên, cam poe chỉ cần 4 lõi là hoạt động bình thường nên 1 dây kéo cho 2 cam vẫn ok
Con số đấy biểu thị gần đúng thôi, cái đồng hồ đó có đảm bảo chính xác hay không? pin có cục lên 4v4 vẫn bình thường. Cái gì cũng có sai số trong phạm vi không quá lớn thì không ảnh hưởng gì đâu, bàn ngay ngón ngắn ngón dài mà
Có lẽ nguồn viết bài này chỉ mang tính định tính để nói rằng cần thay đổi tổng trở tải để có Pmax chứ trình bày chưa chi tiết và thấu đáo một cách định lượng. Công thức tổng quát phải có mặt L mới được, và nói là "tổng...
Càng ngày, CNTT càng trở nên lôi thôi , rách việc.
Cái AI và Ge... trên trình duyệt chỉ tổ làm vướng mắt, mất thì gian.
Tôi toàm phải mất cộng tắt nó đi.
Em có con amply 12 sò D 718 và e688 , biến áp 15A, 30v 0 30 v, một kênh thì hoạt động bình thường, kênh còn lại nổ bụp bụp, sột sột, đèn tín hiệu nhảy lên vạch max, khoảng 4 đến 5 giây, sau đó đèn tín hiệu trả về mức không, Em thấy như...
Comment