”16f628A鼠标

C

cyb0rg777

Guest
你好每一个人。

我试图用一个16f628a来模拟鼠标。

我知道我需要一个同步串行信号的PS / 2鼠标。

我可以使用建于16f628A?中的USART
如果是的话
, 我如何设置它。

我在寻找代码示例,咨询,合作。
欢迎任何意见,谢谢你。

 
您好

我知道mikrobasic和mikroc编译器
有PS2的图书馆

我认为可以用它ü

希望帮助ü

顺便说一下这2编译器生成汇编代码太

 
Mikroc看起来不错
, 但它是一个演示版本
, 我没有$ $。
我认为它将为16f628a工作
, 因为内存不多了为2K。
我有我的小石化了大量工作。

你知道有免费的编译器与PS / 2图书馆或另一种方式来做到这一点?

Linux的程序ok.I喜欢使用Ktechlab。

我知道所有的汇编指令而不是特殊的寄存器位的东西。
当我让我的计划说
, 我会请务必将它张贴。

 
我告诉ü在此之前
,此编译器的C代码转换成asm说ü
代码
u能取得这样的汇编代码
, 并使用它在任何comipler
U能够使用C代码mplab

附属的

 
我忘了感谢你,怎么对我的粗鲁。
我已经得到我的程序中写道mikroc,但我需要核实。
我无法用ps2send所以我使用usuart库。
mikroc没有很好地结合起来与mpasm了ASM缺少的一部分,具有行号。下面是代码中
, 我迄今...

代码:无符号短byte0,byte1,byte2;

/ / 11位字节

/ /低起始位

/ /奇校验位

/ /您好停止位

/ / 2400个基点无效的main()(CMCON = 0x07; / /禁用模拟比较器(发表评论PIC18的本)

特里沙= 0x3f;

TRISB = 0x03;

INTCON = 0; / /禁止所有中断

Usart_Init(56000); / /初始化的UART

/ / Delay_ms(100); / /键盘等待完成

/ /第7天D6级D5 D4类维生素D3 D2 D1的D0

/ /第一YV第十五X的伊苏1 0 RL

/ /第二X7 X6 X5的X4 X3的X2 X1 X0

/ /第三游7叶小y5的Y4钇Y2 Ŷ1 Y0的/ / L左按钮状态(1 =按下)

/ / R右按钮状态(1 =按下)

/ / X0 - X7在X方向运动

/ / Y0的,游7,在Y方向运动

/ / X的是在X轴运动方向(1 =向上)

/ / YS等在Y轴运动(1 =左方向)

/ /第十五和YV运动数据位(1 =溢出溢出发生)做(

byte0.f0 = PORTA.f0; / /升

byte0.f1 = PORTA.f1; / /ṛ

byte0.f2 = 0; / / D2

byte0.f3 = 1; / /维生素D3

/ /上/下

/ /不移动,如果双方或没有开关的

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

其他的



byte1 = 20;

如果(PORTA.f2&&!PORTA.f3)byte0.f4 = 1; / / X的=了

如果(PORTA.f3&&!PORTA.f2)byte0.f5 = 0; / / X的=下降



/ /左/右

/ /不移动,如果双方或没有开关的

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

其他的



byte2 = 20;

如果(PORTA.f4&&!PORTA.f5)byte0.f4 = 1; / /伊苏=左

如果(PORTA.f5&&!PORTA.f4)byte0.f5 = 0; / /伊苏=权



byte0.f6 = 0; / /没有溢出

byte0.f7 = 0; / /没有溢出

/ /皂甙Rb1 =时钟RB0上=胸苷

Usart_Write(byte0);

Usart_Write(byte1);

Usart_Write(byte2);

),而(1);

}//~!

 
也看看这里,不正是你需要的
, 但我认为你应该能够得到什么您需要从它...

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

罗德

 
大麻烦编写这些代码。
Mikroc不会校验位。
交流这样做的图书馆将是一个福音。
在asm做这将推动我实现多数(二)。
该链接有一些非常简洁的代码
, 但不完全是我心目中的。
我想使用的PS / 2端口。
这也许是不可能的模拟与我目前的设置。<img src="http://www.edaboard.com/images/smiles/icon_cry.gif" alt="哭或很伤心" border="0" />我会继续努力。
我有一个非常好的电路的想法。
这是一个眼睛位置传感器。
它使用红外线。
我已经证明
, 它可以工作
, 但我没有想用调制信号来阻挡环境光了。
此外,我不敢肯定
, 但它可能会烧了你的眼球。
大声笑
如果有人能帮助我
, 我将分享更多的细节。

 
行我回到数据表。

有人可以帮助我的代码?

这里是我的鼠标功能至今。
代码:无效init9()



/ /端口

/ /波特率

txsta.sync = 1; / / synchrous模式

rcsta.spen = 1; / /设置时钟和DT线串行端口启用

txsta.csrc = 1; / /主模式

txsta.tx9 = 1; / /选择9位



无效send9(无符号短字节)



平价(字节);

txsta.txen = 1; / /发送启用

txreg =字节/ /发送字节



无效平价(无符号短字节)



asm(

swapf FARG_parity,瓦特

xorwf FARG_parity,女

快速反应部队FARG_parity,瓦特

xorwf FARG_parity,女

btfsc FARG_parity,2

incf FARG_parity,女



txsta.tx9d =!byte.f0; / /把第9位位寄存器



 
这里有2个电路
, 我不能在网上找到了。
也许他们会帮助别人想这样做。
我想编写自己的代码
, 这样我可以给它添加一些。
我可能会使用16f628a。
这些使用16f84
很抱歉,您还没有登录查看此附件

 

Welcome to EDABoard.com

Sponsor

Back
Top