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
-
-
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
-
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
-
Trả lời cho nguồn switchingbởi bqvietCó thể, nhưng thường tốn rất nhiều công. Tối thiểu cũng phải thay tụ đầu vào, đèn công suất và đi-ốt đầu ra sang loại chịu điện áp cao hơn. Có thể còn thêm một mớ nữa tuỳ thiết kế cụ thể.
-
Channel: Nguồn!
hôm nay, 00:23 -
-
bởi mèomướpDạ cháu thấy bác vi... nói đúng ấy ạ. Cùng 1 vận tốc, đường kính, số lượng cánh, độ dày cánh quét không khí. Thì cánh lớn sẽ múc được nhìu hơn ạ. Nếu cánh lớn đến 1 mức độ nào đó thậm chí chồng lên nhau thì nó sẽ thành 1...
-
Channel: Điện tử gia dụng
Hôm qua, 20:37 -
-
bởi nguyendinhvanÔi hồi.
Đường hướng nghiên cứu như thế này, dễ trở thành nhà "khí động học" mất !...-
Channel: Điện tử gia dụng
Hôm qua, 20:17 -
-
bởi vi van phamSai lầm từ cơ bản.
Nguyên tắc cánh quạt là "múc" không khí trước cánh quạt quăng lên "Bờ". Khi cánh quạt di chuyển để lại vị trí có áp suất thấp, không khí ở ngoài tràn vào. Cánh quạt thứ 2 làm việc giống thế, rồi đến cánh quạt...-
Channel: Điện tử gia dụng
Hôm qua, 17:15 -
-
bởi dinhthuong80Chắc phải mua thêm cái máy đo vận tốc gió nữa rồi!!!
-
Channel: Điện tử gia dụng
Hôm qua, 16:45 -
-
bởi dinhthuong80"nếu tăng nó lên đến 90 độ thì không thổi nữa, tăng tiếp trên 90 độ nó sẽ trở thành quạt hút thôi."
là sau khi tăng lên thành 90° rồi, tiếp tục tăng nữa cho nó trên 90° đó bác, như hình vẽ xấu tệ ở dưới ạ!
-Màu xanh: dạ,...-
Channel: Điện tử gia dụng
Hôm qua, 16:19 -
-
bởi vi van pham- Màu đỏ: Tăng nó lên 90 độ thì ko thổi.Tăng tiếp lên 90 độ nữa thì thành quạt hút là sao ? không hiểu.
- Màu xanh: Cùng là độ dày d, cánh nhỏ, cánh lớn, ảnh hưởng đến lưu lượng gió rất nhiều . Cái cánh quạt không phải...-
Channel: Điện tử gia dụng
Hôm qua, 16:04 -
-
bởi dinhthuong801. Có lẽ cháu nói "ma sát" ở đây chưa được rõ ràng.
Ma sát ở đây chỉ là ma sát trượt qua mặt cánh quạt, và lực ma sát do không khí này có phương vuông góc với trục quay.
Như thế, nếu cùng độ dày d, tức cùng độ...-
Channel: Điện tử gia dụng
Hôm qua, 15:09 -
Comment