16f628A chuột

C

cyb0rg777

Guest
Xin chào đến với mọi người.

Tôi đang cố gắng sử dụng một 16f628a để mô phỏng một con chuột.

Tôi biết tôi cần một tín hiệu đồng bộ nối tiếp cho một ps / 2 chuột.

Tôi có thể sử dụng được xây dựng tại USART trên 16f628A?
Nếu vậy làm thế nào để thiết lập nó.

Tôi đang tìm các ví dụ mã, tư vấn, hoặc hợp tác.
Lời khuyên nào được chào đón, cảm ơn.

 
chào

i biết rằng mikrobasic và mikroc trình biên dịch
có ps2 thư viện

tôi nghĩ rằng u có thể sử dụng nó

hy vọng rằng đã giúp u

bằng cách tạo ra các trình biên dịch 2 mã asm quá

 
Mikroc vẻ tốt nhưng nó là một phiên bản demo và tôi không có $ $.
Tôi nghĩ rằng nó sẽ làm việc cho 16f628a vì bộ nhớ không phải là nhiều hơn 2k.
Tôi có rất nhiều công việc cho PIC nhỏ của tôi.

Bạn có biết bất kỳ trình biên dịch tự do với ps / 2 thư viện hay cách khác để làm điều này?

Chương trình Linux có ok.I như sử dụng Ktechlab.

Tôi biết tất cả các hướng dẫn lắp ráp nhưng không bit đăng ký đặc biệt và các công cụ.
Khi tôi nhận được chương trình của tôi đã viết, tôi sẽ được bảo đảm để đăng nó.

 
i nói với u trước đó
này trình biên dịch chuyển đổi mã c mà u đã viết vào asm

vậy u có thể lấy mã asm và sử dụng nó ở bất kỳ comipler
u cũng có thể sử dụng mplab với mã c

tiện đây

 
Tôi quên cảm ơn bạn, như thế nào thô lỗ của tôi.
Tôi đã nhận được chương trình của tôi đã viết trong mikroc nhưng tôi cần phải xác minh nó.
Tôi không thể sử dụng ps2send vì vậy tôi đang sử dụng thư viện usuart.
mikroc không tích hợp tốt với các mpasm asm thiếu phần, và nó có số dòng. Đây là đoạn code tôi có cho đến nay ...

Mã số:unsigned short byte0, byte1, byte2;

/ / 11 bit byte

/ / thấp bắt đầu bit

/ / lẻ chẵn lẻ bit

/ / hi dừng bit

/ / 2400 bpsvoid main () (CMCON = 0x07; / / comparators Vô hiệu tương tự (bình luận này cho PIC18)

TRISA = 0x3F;

TRISB = 0x03;

INTCON = 0; / / Vô hiệu hoá tất cả các ngắt

Usart_Init (56000); / / Init UART

/ / Delay_ms (100); / / Chờ cho bàn phím để kết thúc

/ / D7 D6 D5 D4 D3 D2 D1 D0

/ / 1 YV XV YS XS 1 0 RL

/ / 2nd X7 X6 X5 X4 X3 X2 X1 X0

/ / 3 Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0/ / L lại Button Nhà nước (1 = ép xuống)

/ / R Right Button Nhà nước (1 = ép xuống)

/ / X0-X7 Phong trào theo hướng X

/ / Y0-Y7 Phong trào theo hướng Y

/ / S Hướng của phong trào trong các trục X (1 = UP)

/ / YS Hướng của phong trào trong các trục Y (1 = LEFT)

/ / XV, YV Overflow của các bit dữ liệu chuyển động (1 = tràn bộ nhớ đã xảy ra)do (

byte0.f0 = PORTA.f0; / / L

byte0.f1 = PORTA.f1; / / R

byte0.f2 = 0; / / D2

byte0.f3 = 1; / / D3

/ / lên / xuống

/ / không di chuyển nếu cả hai hoặc chuyển không phải là ngày

if ((PORTA.f3 & & PORTA.F2 )||(! PORTA.f3 & &! PORTA.F2)) byte1 = 0;

khác

(

byte1 = 20;

nếu (PORTA.f2 & & PORTA.f3)! byte0.f4 = 1; / / S = lên

nếu (PORTA.f3 & & PORTA.f2)! byte0.f5 = 0; / / S = xuống

)

/ / trái / phải

/ / không di chuyển nếu cả hai hoặc chuyển không phải là ngày

if ((PORTA.f5 & & PORTA.F4 )||(! PORTA.f5 & &! PORTA.F4)) byte2 = 0;

khác

(

byte2 = 20;

nếu (PORTA.f4 & & PORTA.f5)! byte0.f4 = 1; / / YS = left

nếu (PORTA.f5 & & PORTA.f4)! byte0.f5 = 0; / / YS = right

)

byte0.f6 = 0; / / không tràn

byte0.f7 = 0; / / không tràn

/ / RB1 = CLK rb0 = dt

Usart_Write (byte0);

Usart_Write (byte1);

Usart_Write (byte2);

) trong khi (1);

}//~!

 
Cũng có một cái nhìn ở đây, không chính xác những gì bạn cần nhưng tôi nghĩ bạn sẽ có thể có được những gì bạn cần từ nó ...

http://www.piclist.org/techref/microchip/emouse2.htm

Rod

 
Rắc rối lớn viết mã này.
Mikroc sẽ không làm các bit chẵn lẻ.
AC thư viện để thực hiện điều này sẽ là một phước lành.
Làm điều này trong asm sẽ lái xe cho tôi cracy (er).
Liên kết này có một số mã rất gọn gàng, nhưng nó không phải là chính xác những gì tôi đã có trong tâm trí.
Tôi muốn sử dụng ps / 2 cổng.
Nó có thể là không thể để mô phỏng thiết lập hiện tại của tôi.<img src="http://www.edaboard.com/images/smiles/icon_cry.gif" alt="Crying or Very sad" border="0" />Tôi sẽ tiếp tục thử.
Tôi có một ý tưởng mạch thực sự tốt.
Nó là một vị trí mắt cảm biến.
Nó sử dụng cổng hồng ngoại.
Tôi đã được chứng minh nó sẽ làm việc nhưng tôi đã không thử nó với một tín hiệu điều biến để chặn ra ánh sáng xung quanh.
Ngoài ra, tôi không chắc chắn, nhưng nó có thể ghi trên nhãn cầu của bạn.
lol
Nếu ai đó có thể giúp tôi, tôi sẽ chia sẻ thêm chi tiết.

 
OK, tôi đã đi lại cho các tờ dữ liệu.

Ai đó có thể giúp mã của tôi?

Dưới đây là các chức năng của tôi con chuột cho đến nay.
Mã số:void init9 ()

(

/ / cổng

/ / Baud rate

txsta.sync = 1; / / synchrous chế độ

rcsta.spen = 1; / / set CLK và các dòng dt Serial Port Enable

txsta.csrc = 1; / / master mode

txsta.tx9 = 1; / / chọn 9 bit

)

void send9 (unsigned ngắn byte)

(

chẵn lẻ (byte);

txsta.txen = 1; / / truyền tải cho phép

txreg = byte; / / gửi byte

)

void chẵn lẻ (unsigned ngắn byte)

(

asm (

swapf FARG_parity, w

xorwf FARG_parity, f

rrf FARG_parity, w

xorwf FARG_parity, f

btfsc FARG_parity, 2

incf FARG_parity, f

)

txsta.tx9d =! byte.f0; / / đưa bit thứ 9 bit

)

 
Dưới đây là 2 mạch mà tôi không thể tìm thấy trực tuyến nữa.
Có lẽ họ sẽ giúp người muốn làm điều này.
Tôi muốn viết mã của riêng tôi để tôi có thể thêm một số vào nó.
Tôi rất có thể sẽ sử dụng 16f628a.
Những sử dụng 16f84
Xin lỗi, nhưng bạn cần phải đăng nhập để xem tập tin đính kèm này

 

Welcome to EDABoard.com

Sponsor

Back
Top