Mình dùng tính hiệu của 8051 để reset nó nhưng sao không được, nó cứ reset liên tục. Ví dụ mình code khi có logic 0 vào port 1.1 thì port 1.2 tạo ra tín hiệu, mình lấy tín hiệu đó để reset nó (có thể dùng wa relay), nhưng nó cứ bị reset liên tục.
Thông báo
Collapse
No announcement yet.
{HELP} Dùng VDK tạo reset cho chính nó !
Collapse
X
-
8051 (89C51) bị reset ở mức 1 và khi nó đang reset thì các PORT 1,2,3 ở mức cao.Nguyên văn bởi thanhlonguit Xem bài viếtMình dùng tính hiệu của 8051 để reset nó nhưng sao không được, nó cứ reset liên tục. Ví dụ mình code khi có logic 0 vào port 1.1 thì port 1.2 tạo ra tín hiệu, mình lấy tín hiệu đó để reset nó (có thể dùng wa relay), nhưng nó cứ bị reset liên tục.
Do đó nếu nối PORT1.2 vào chân Reset thì khi nó không thể thoát khỏi trạng thái reset được do PORT1.2 luôn là mức 1.
Có thể dùng kiểu khi có mức 0 ở chân P1.1 thì cho chạy lệnh ORG 0000H.
Comment
-
Vậy chưa phải là Reset vì các biến trong RAM, các ngoại vi sẽ không bị xóa... Rất có thể làm loạn chương trình...Nguyên văn bởi chung1608 Xem bài viếtreset cho VDK ko nhất thiết phải tác động vào chân reset, bạn có thể dùng lệnh nhảy lên đầu chương trình chính là xem như reset rồi
Bạn duong_act nói đúng 1 nửa (nửa trên)...Nguyên văn bởi duong_act Xem bài viết8051 (89C51) bị reset ở mức 1 và khi nó đang reset thì các PORT 1,2,3 ở mức cao.
Do đó nếu nối PORT1.2 vào chân Reset thì khi nó không thể thoát khỏi trạng thái reset được do PORT1.2 luôn là mức 1.
Có thể dùng kiểu khi có mức 0 ở chân P1.1 thì cho chạy lệnh ORG 0000H.
Nếu chỉ nhảy về đầu chương trình đã gọi là Reset thì sao người ta còn nghĩ ra Watchdog trong, Watchdog ngoài..
Cho triệt để nên dùng Watchdog ngoài. Đơn giản thì dùng mạch RC sao cho khi Reset Logic của chân PORT1.2 không tác động được vào chân Reset lập tức mà bị "hãm lại một chút", Xịn hơn thì dùng IC chuyên dụng, Vd MAX1232...Hôm nay trời nắng chang chang.
Mèo con đi học chẳng mang thứ gì.
Chỉ mang một cái bút chì.
Và mang một mẩu bánh mì con con.
Comment
-
89 khi đang chạy mà bị reset cứng thì nó chỉ trả giá trị 0000h cho thanh ghi PC để trở về địa chỉ ORG 0000h thôi, giá trị của RAM vẫn đc giữa nguyên chỉ có các thanh ghi port mới trở về mặc định 0xFF.Nguyên văn bởi Acxen_lupine Xem bài viếtVậy chưa phải là Reset vì các biến trong RAM, các ngoại vi sẽ không bị xóa... Rất có thể làm loạn chương trình...
Bạn duong_act nói đúng 1 nửa (nửa trên)...
Nếu chỉ nhảy về đầu chương trình đã gọi là Reset thì sao người ta còn nghĩ ra Watchdog trong, Watchdog ngoài..
Cho triệt để nên dùng Watchdog ngoài. Đơn giản thì dùng mạch RC sao cho khi Reset Logic của chân PORT1.2 không tác động được vào chân Reset lập tức mà bị "hãm lại một chút", Xịn hơn thì dùng IC chuyên dụng, Vd MAX1232...
Comment
-
1. Đồng ý với các bạn là RESET ngoài hay bằng Watchdog trong sẽ không làm thay đổi giá trị hiện thời của INTERNAL RAM... cái này tôi nhầm, tôi đã xem lại!!!
2. Tuy nhiên nếu nói như bạn chung68:
Sẽ là thiếu vì tất cả các SFRs (chứ không phải chỉ có các port) sẽ đồng loạt trở về giá trị mặc định sau 2 chu kỳ máy.Nguyên văn bởi chung1608 Xem bài viết89 khi đang chạy mà bị reset cứng thì nó chỉ trả giá trị 0000h cho thanh ghi PC để trở về địa chỉ ORG 0000h thôi, giá trị của RAM vẫn đc giữa nguyên chỉ có các thanh ghi port mới trở về mặc định 0xFF.
3. Xin trả lời bạn duong_act:
Nhu cầu về Watchdog trong hay ngoài là nhằm đồng loạt đưa hệ thống (bao gồm CPU, SFRs...) về trạng thái mặc định ban đầu nhằm thoát khỏi 1 trạng thái xung đột hay bế tắc nào đó. (vd: tràn ngăn xếp chẳng hạn)
4. Tóm lại, ý của tôi là nếu làm theo cách của các bạn đưa ra (chỉ cho PC trỏ về 0000h) thì:
- Chỉ đơn thuần là làm cho chương trình được chạy lại từ đầu.
- Không giải quyết được vấn đề hệ thống đang rối loạn.
- không đạt mục đích của RESET đôi khi còn gây phản tác dụng. Cái phản tác dụng nhất ở đây là ngăn xếp sẽ tiếp tục đầy lên... nếu ta không nhớ xóa nó khi mới bắt đầu chương trình.
Tôi xin nhắc lại cái đáng giá nhất của RESET là việc đồng loạt đưa .... về trạng thái mặc định ban đầu, kể cả con trỏ ngăn xếp (SP), Thanh ghi Interrupt, Timer/Couter...Hôm nay trời nắng chang chang.
Mèo con đi học chẳng mang thứ gì.
Chỉ mang một cái bút chì.
Và mang một mẩu bánh mì con con.
Comment
-
Nếu là 89s thì bác có thể dùng thẳng wdt của nóNguyên văn bởi thanhlonguit Xem bài viếtMình dùng tính hiệu của 8051 để reset nó nhưng sao không được, nó cứ reset liên tục. Ví dụ mình code khi có logic 0 vào port 1.1 thì port 1.2 tạo ra tín hiệu, mình lấy tín hiệu đó để reset nó (có thể dùng wa relay), nhưng nó cứ bị reset liên tục.
Còn nếu là 89c thì bác có thể mắc mạch 555 tạo xung, sau mỗi chu kỳ định sẵn thì đưa xung ra reset lại 555, nếu vì lý do nào đó mà 89 bị treo thì nó sẽ dc 555 reset lại- Mạch nạp vdk 8051, AVR, PIC, EEPROM
- Linh kiện điện tử cho sinh viên
Comment
-
Nhưng chủ top đâu có dùng để thoát trạng thái rối loạn hay mắc kẹt ở đâu đó mà là chủ ý reset khi có tác động mức 1 ở chân nào đó kia mà. Còn việc reset khi lỗi thì đượng nhiên là WDT rồi. Cái này thì không bàn cãi.Nguyên văn bởi Acxen_lupine Xem bài viết1. Đồng ý với các bạn là RESET ngoài hay bằng Watchdog trong sẽ không làm thay đổi giá trị hiện thời của INTERNAL RAM... cái này tôi nhầm, tôi đã xem lại!!!
2. Tuy nhiên nếu nói như bạn chung68:
Sẽ là thiếu vì tất cả các SFRs (chứ không phải chỉ có các port) sẽ đồng loạt trở về giá trị mặc định sau 2 chu kỳ máy.
3. Xin trả lời bạn duong_act:
Nhu cầu về Watchdog trong hay ngoài là nhằm đồng loạt đưa hệ thống (bao gồm CPU, SFRs...) về trạng thái mặc định ban đầu nhằm thoát khỏi 1 trạng thái xung đột hay bế tắc nào đó. (vd: tràn ngăn xếp chẳng hạn)
4. Tóm lại, ý của tôi là nếu làm theo cách của các bạn đưa ra (chỉ cho PC trỏ về 0000h) thì:
- Chỉ đơn thuần là làm cho chương trình được chạy lại từ đầu.
- Không giải quyết được vấn đề hệ thống đang rối loạn.
- không đạt mục đích của RESET đôi khi còn gây phản tác dụng. Cái phản tác dụng nhất ở đây là ngăn xếp sẽ tiếp tục đầy lên... nếu ta không nhớ xóa nó khi mới bắt đầu chương trình.
Tôi xin nhắc lại cái đáng giá nhất của RESET là việc đồng loạt đưa .... về trạng thái mặc định ban đầu, kể cả con trỏ ngăn xếp (SP), Thanh ghi Interrupt, Timer/Couter...
Comment
-
Thế thì bạn dạy người ta làm thế nào để Reset có chủ ý đi. Nhưng nhớ là họ cần reset chứ không phải chạy lại chương trình từ đầu đâu nhé... Hai khái niệm này hoàn toàn khác nhau.Nguyên văn bởi duong_act Xem bài viếtNhưng chủ top đâu có dùng để thoát trạng thái rối loạn hay mắc kẹt ở đâu đó mà là chủ ý reset khi có tác động mức 1 ở chân nào đó kia mà. Còn việc reset khi lỗi thì đượng nhiên là WDT rồi. Cái này thì không bàn cãi.
Hôm nay trời nắng chang chang.
Mèo con đi học chẳng mang thứ gì.
Chỉ mang một cái bút chì.
Và mang một mẩu bánh mì con con.
Comment
-
Hơ, cái này thì có khó gì đâu...Nguyên văn bởi duong_act Xem bài viếtỜ bạn chỉ tôi cách mà Reset không chạy lại chương trình từ đầu rồi tôi nói tiếp
Bạn thừa sức nghĩ ra mà... đúng 1 tháng nữa nếu bạn vẫn chưa nghĩ ra tôi sẽ lập 1 topic mới về vấn đề này. Nếu bạn nghĩ ra thì nhờ bạn dành chút thời gian để giảng giải cho những anh em chưa biết nhé.Hôm nay trời nắng chang chang.
Mèo con đi học chẳng mang thứ gì.
Chỉ mang một cái bút chì.
Và mang một mẩu bánh mì con con.
Comment
-
Tôi thì tôi gà nên tôi chịuNguyên văn bởi Acxen_lupine Xem bài viếtHơ, cái này thì có khó gì đâu...
Bạn thừa sức nghĩ ra mà... đúng 1 tháng nữa nếu bạn vẫn chưa nghĩ ra tôi sẽ lập 1 topic mới về vấn đề này. Nếu bạn nghĩ ra thì nhờ bạn dành chút thời gian để giảng giải cho những anh em chưa biết nhé.
Có gì cao kiến thì chia sẻ cùng anh em cái
Comment
Bài viết mới nhất
Collapse
-
Trả lời cho Nên mua máy phay CNC cũ, máy mới phổ thông hay máy chất lượng cao? Góc nhìn từ bài toán sản xuất thực tếbởi nguyendinhvanNgày trước, khi KT đang tăng trưởng, một cái máy tự động cũ tầm trung, thì khoảng 5 năm là hoàn vốn. Nhưng hiện tại, mọi việc đều chậm trễ, cạnh tranh, nên theo các xếp tính thì phải hơn 10 năm làm việc ngon lành thì mới hoàn vốn....
-
Channel: Máy công cụ
Hôm qua, 20:23 -
-
Trả lời cho cách làm led Hao Quang.có pro nào biết k nhỉ ???bởi StatusHello! I'm from Kazakhstan. Can anyone share the HEX file with me? The download link in post 50 doesn't work.
-
Channel: Vi điều khiển họ 8051
18-12-2025, 00:05 -
-
bởi mylinhattChào anh em cơ khí,
Trong quá trình tư vấn đầu tư thiết bị cho xưởng, mình gặp rất nhiều câu hỏi kiểu: “Nên mua máy phay CNC cũ để tiết kiệm, chọn máy mới phổ thông cho yên tâm, hay cố gắng lên máy chất lượng cao để làm hàng khó?”. Thực tế, đây không phải câu hỏi chỉ về...-
Channel: Máy công cụ
17-12-2025, 13:38 -
-
Trả lời cho Vấn đề về tốc độ quaybởi nguyendinhvanSử dụng động cơ servor, hoặc lắp thêm một cái encoder vào động cơ bước. Encoder sẽ kiểm soát động cơ có quay hoặc đứng im.
-
Channel: Điện tử truyền hình
14-12-2025, 19:50 -
-
bởi Andrea14Chào mọi người,
Tôi muốn mô phỏng sự thay đổi các mùa bằng cách từ từ nghiêng một quả địa cầu 16 inch bằng một động cơ bước nhỏ. Một động cơ bước khác sẽ quay quả địa cầu theo thời gian thực. Hệ thống truyền động...-
Channel: Điện tử truyền hình
12-12-2025, 12:42 -

Comment