Nguyên văn bởi jimhawkins
Xem bài viết
Thông báo
Collapse
No announcement yet.
Các bạn giúp mình giải đáp một số vấn đề
Collapse
X
-
thanh ghi đếm tới 20 nó làm công việc đếm số lần tràn timer đúng ko. Timer tràn nó mới đếm, khi timer tràn thì xảy ra ngắt. Vậy theo trình tự, timer tràn, nhảy vào ngắt, đếm coi tràn bao nhiêu, tràn đủ thì reset lại bộ đếm, chưa đủ thì nhảy ra chờ tràn tiếp.
-
Bạn giúp mình giải thích chi tiết chỗ nó hoạt động thông qua từng đoạn code được không mình còn hơi mơ hồ về cái đoạn nó đếm đủ 1s thì xảy ra ngắt chưa ah,còn mấy cái hiển thị,điều chỉnh để tăng R0 thì mình hỉu rồi
START:
ACALL KHOI_TAO ;KHOI TAO CAC THANH GHI
MOV TH0,#03CH
MOV TL0,#0B0H
SETB TR0
SETB TF0
MOV R0,#0
MOV 30H,#0
LJMP $
RET
;-------------------------------------
NGAT_T0:
CLR TR0
MOV TH0,#03CH
MOV TL0,#0B0H ; dat lai thanh ghi timer
SETB TR0 ; bat TR0 cho timer hoat dong
ACALL HT_R0 ; goi ham hien thi
MOV R1,30H
CJNE R1,#20,TANG_30H ;say 20 lan thi tang gia tri cua o nho 30H len 1
MOV 30H,#0 ;neu toi 20 thi ve 0 tro lai
ACALL DC_R0 ; sau 20 lan goi timer la dc 1 giay, tien hanh dieu chinh R0 len 1
LJMP EXIT
TANG_30H:
INC 30H
EXIT:
RETI
Comment
-
Nói ngắn gọn là đoạn code trên hoạt động như sau:Nguyên văn bởi jimhawkins Xem bài viếtBạn giúp mình giải thích chi tiết chỗ nó hoạt động thông qua từng đoạn code được không mình còn hơi mơ hồ về cái đoạn nó đếm đủ 1s thì xảy ra ngắt chưa ah,còn mấy cái hiển thị,điều chỉnh để tăng R0 thì mình hỉu rồi
- Ban đầu là khởi tạo giá trị nạp cho các thanh ghi của bộ định thời 0, sau đó buộc ngắt đầu tiên xảy ra bằng lệnh SETB TF0. Khi có ngắt xảy ra, trình phục vụ ngắt được phục vụ. Nhiệm vụ của trình phục vụ ngắt là nạp lại giá trị định thời cho timer 0, khởi động lại bộ định thời, gọi hàm hiển thị. Đồng thời trình phục vụ ngắt thực hiện việc kiểm tra thanh ghi 30H (đoán không nhầm thì thanh ghi 30H ở đây dùng để đếm số lần tràn của timer), 30H chưa bằng 20 thì tăng lên 1 đơn vị rồi thoát khỏi ngắt, nếu bằng 20 thì xóa 30H về 0 (lúc này có nghĩa là timer đã tràn 20 lần và 1s đã trôi qua) và gọi chương trình tăng R0 lên 1 đơn vị (để đếm số giây đã trôi qua).
- Chương trình chính sau khi khởi động các giá trị nạp vào thanh ghi, buộc ngắt lần đầu rồi xóa các thanh ghi R0, 30H thì không làm gì cả. Công việc hoàn toàn là do trình phục vụ ngắt thực hiện.
P/S: Cần phải cho phép ngắt khi trước khi buộc ngắt lần đầu.
Comment
Bài viết mới nhất
Collapse
-
bởi chinhnguyen9· Thí nghiệm 1 (Mạch boost, Vcc=12V, kích bằng dao động PƯM, duty 10%):
* Không có snubber + không tải: Xuất hiện hiện tượng dao động tắt dần tại cực D Mosfet (ringing). Hình 1 cho thấy trong chu kỳ đầu, điện áp spike lên tới hàng trăm V, điện...-
Channel: Hướng dẫn sử dụng diễn đàn
Hôm qua, 09:16 -
-
bởi Nexus 6Pe dùng KiCad 9.0 và đã xuất được file PDF mạch in gòi bác...
-
Channel: Điện tử công suất
03-02-2026, 16:25 -
-
bởi bqvietBấm chuột vào các tệp sẽ bật ra chương trình tương ứng. Nên dùng bản KiCAD sau
https://kicad-downloads.s3.cern.ch/a...ll_version.exe-
Channel: Điện tử công suất
03-02-2026, 14:57 -
-
bởi Nexus 6Pe cài KiCAD 2012 khi mở ra nó chỉ hiện ntn...
-
Channel: Điện tử công suất
03-02-2026, 11:20 -
-
bởi bqvietThực tế bạn nào không tải được tệp nén thiết kế thì căn cứ theo ảnh sơ đồ mạch có thể vẽ lại sơ đồ bằng chương trình EDA nào đó rồi làm mạch được mà. Càng thêm quen thuộc với sơ đồ. Sau đó tùy ý chuyển sang TinySwitch-III hoặc TinySwitch-4.
-
Channel: Điện tử công suất
02-02-2026, 21:13 -
-
bởi Nexus 6PCó ai có bản in của mạch in không, cho em xin file để đi in với ạ
-
Channel: Điện tử công suất
02-02-2026, 14:37 -
-
bởi Nexus 6PLink hư rồi ạ, xin lại link của bản thiết kế cũ ạ...
-
Channel: Điện tử công suất
02-02-2026, 10:48 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi dinhthuong92Dạ, cảm ơn bác đã nghe qua và có lời khích lệ cháu ạ.
Thật lòng cháu không dám nhận hai danh hiệu Kỹ sư và Nhạc sĩ đâu ạ, vì phải thật hiểu sâu nắm vững cơ, chứ thực lực cháu đây chỉ là biết chút ít thôi à. Về phần...-
Channel: Tâm tình dân kỹ thuật
29-01-2026, 11:58 -
-
Trả lời cho Có mạch sạc nlmt nào có mppt không các bácbởi bqvietĐơn giản thì có trải nghiệm này
http://www.dientuvietnam.net/forums/...ch%C3%AA%CC%81
Chỉ phần cứng,...-
Channel: Điện tử công suất
27-01-2026, 21:32 -
-
Trả lời cho Có mạch sạc nlmt nào có mppt không các bácbởi Nexus 6Pphức tạp quá, nếu mà có mạch làm sẵn thì ngon, e dùng 2 tấm pv loại 18v 55w thôi bác
-
Channel: Điện tử công suất
26-01-2026, 08:52 -

Comment