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:
- [Xin] Mạch Công Suất RoboCon
- cần mọi người giúp về phần lập trình của robot leo cầu thang này với ah
- Động cơ bước
- Thảo luận về ý tưởng cơ khí cho kỳ robocon 2013
- Giới thiệu cảm biến Gyro MPU6050 ( CB vận tốc góc) trong Robocon
- Giúp tìm code robot dò đường mê cung mà dùng Arduino
- Hướng dẫn làm robot dò đường tránh vật cản dùng cảm biến siêu âm srf05 với vdk 8051
- chuẩn kết nối robot với máy tính
- [Hỏi] Mua Bánh Xe và động cơ RoBoCon
- Sensor dò line dùng ADC
-
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
Cơ chế làm giảm ham muốn ở nữ giới...
Hôm qua, 09:42 PM in Rao vặt tổng hợp