Kết quả 1 đến 5 của 5
-
03-16-2015, 05:56 PM #1
Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Về lập trình điều xung bằng 89s52
[IMG]http://*************/attachments/51353/[/IMG]
Hiện mình đang làm một con robot điều khiển bằng tay. Mình muốn điều khiển tốc độ cho động cơ bằng 89s52. Khi mình đặt nhãn cho thanh ghi đặc biệt PWM thì chương trình đều báo lỗi như hình. Mong mọi người đi qua ai có phương pháp và cách thức giải quyết xin mách mình với. Cảm ơn vì đã đọc bài.View more random threads:
- robot hàn công nghiệp motoman up 20
- Mua linh kiện oto mô hình
- robot kiểm tra dấu vết hư hại trên dây cáp thép của viện Fraunhofer
- Help. cần hướng dẫn làm robot
- Máy rửa board tự chế
- Mô phỏng robot bằng visual c
- mạch điều khiển 4 kênh từ xa
- Đề tài máy bay không người lái UAV
- robot hút bụi trong nhà
- Lựa chọn động cơ bước
-
03-16-2015, 08:25 PM #2
Silver member
- Ngày tham gia
- Apr 2016
- Bài viết
- 0
MCU 89s52 làm gì có thanh ghi CCAPx1H mà làm PWM bạn,muốn làm thì phải dùng P89V51RD2 mới có nhé..
còn trình dịch báo lổi là có thể do thiếu file ''mod51fx'' bạn phải include vào để hổ trợ dịch cho dòng P89V51RD2..
p/s:Chỉ có một vấn đề bạn không nên mở hai luồng như thế phí tài nguyên và gây khó chịu cho người đọc..
-
03-20-2015, 11:21 PM #3
Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Ý bạn này là tạo PWM bằng chương trình, bản chất là thay đổi độ rộng xung ở chân ra nào đó thôi. Không có phần cứng sẵn nên có thể dùng timer, ngắt...rồi tạo. Cách này cũng có thể được.fb
-
05-04-2015, 05:14 AM #4
Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
89s dùng ngắt tạo xung thì tạm ổn ,nhưng nó không bằng avr hay pic , arm ...được
-
05-04-2015, 07:24 AM #5
Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Em cũng đang cần viết 1 chương trình tạo xung pwm, em viết theo kiểu bình thường không dùng timer thì em dùng 1 thanh ghi mình có thể thay đổi độ rộng xung mong muốn được. VÌ em muốn viết 1 chương trình con nó có thể chay song song với các chương trình khác, em định dùng timer để viết mà không rõ cách thay đổi độ rộng xung thế nào.
Em có đoạn code phía dưới mọi người có thể giải thích giùm em với ạ ! Có phải độ rộng xung được thay đổi bằng giá trị mình nạp vào TL0 với TH0 không ạ?
Em có thể thay giá trị đó bằng 1 thanh ghi có được không ạ? để mình có thể thay đổi thích hợp hơn không vây
Mã:ORG 0h MOV TMOD,#01H ; Chon Timer0, che do 1 (16 bit) ; Chu ky xung: 1/12K=83 us ;chu ky may: 12/12M=1 us ; => 70/30 = 58/25 ; 58-8=50 ; 25-10=15 HERE: SETB P0.1 ;1 Bat P0.1 MOV TL0, #0CEH ;2 byte thap;CE MOV TH0, #0FFH ;2 byte cao SETB TR0 ;1 Khoi dong Timer0 AGAIN1: JNB TF0, AGAIN1 ;1 Kiem tra co bo dinh thoi TF0 CLR TR0 ;1 Dung bo dinh thoi CLR TF0 ;1 Xoa co bo dinh thoi cho vong sau CLR P0.1 ;1 Lat P0.1 MOV TL0, #0F1H ;2 byte thap;F1 MOV TH0, #0FFH ;2 byte cao SETB TR0 ;1 Khoi dong Timer0 AGAIN2: JNB TF0, AGAIN2 ;1 Kiem tra co bo dinh thoi TF0 CLR TR0 ;1 Dung bo dinh thoi CLR TF0 ;1 Xoa co bo dinh thoi cho vong sau
Nên dùng chất bôi trơn vùng kín tự...
Hôm nay, 04:29 PM in Rao vặt tổng hợp