无线鼠标程序.doc

无线鼠标程序.doc

ID:59192660

大小:17.50 KB

页数:5页

时间:2020-09-10

无线鼠标程序.doc_第1页
无线鼠标程序.doc_第2页
无线鼠标程序.doc_第3页
无线鼠标程序.doc_第4页
无线鼠标程序.doc_第5页
资源描述:

《无线鼠标程序.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、//****************************本程序是无线鼠标程*****************************************//#include#include#defineucharunsignedchar#definesintsignedint#defineuintunsignedint#definedelay10_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();

2、_nop_();_nop_();//延时10us#definedelay100delay10delay10delay10delay10delay10delay10delay10delay10delay10delay10;//延时100ussbitbdat=P3^3;sbitbclk=P3^2;//int0号中断(长线)signedshortmousex;signedshortmousey;signedshortX_buf,XX;signedshortY_buf,YY;ucharval;//***************

3、没问题(last)*****************//////////////////主机发一字节到鼠标//////////////voidhost_to_mouse(ucharv){uchari,parity=0;bclk=0;delay100;delay10;bdat=0;delay10;delay10;bclk=1;while(bclk!=0);//等待鼠标把时钟线拉低for(i=0;i<8;i++){bdat=v&0x01;//发送数据从第一位到第八位parity+=(uchar)bdat;while(bcl

4、k!=1);//等待上升沿,鼠标把数据读走v=v>>1;while(bclk!=0);//等待鼠标把时钟拉低}bdat=(parity+1)%2;//发送奇偶校验位,采用奇校验while(bclk!=1);//鼠标读校验位while(bclk!=0);//等待校验位的时钟下降沿delay10;bdat=1;//发送停止位while(bclk!=1);//等待时钟线高,读停止位while(bdat!=0);//等待鼠标把时钟线拉低while(bclk!=0);while(bclk!=1);while(bclk!=1);w

5、hile(bdat!=1);//等待释放数据线和时钟线}//*************************************************////****************单片机从鼠标接收一个字节(没问题LAST)************//voidreceive_1frame(void){ucharrec,i,parity;rec=parity=0;val=0;while(bdat!=0);//等待数据线变低,标志着起始位的到来while(bclk!=0);while(bclk!=1);//

6、等待上升沿for(i=0;i<8;i++)//接收8位数据。注:鼠标发过来的数据是先发低位后发高位{while(bclk!=0);//等待时钟下降沿,来一个下降沿就从数据线上读一个数据rec=bdat;parity+=rec;//奇偶校验位计数器,这里采用奇校验val+=rec<

7、校验验证{}else{//val=0;}while(bclk!=1);while(bclk!=0);//等待停止位的下降沿while(bclk!=1);//等待停止位的上升沿}//*********从串口发送四个字节数据(x,y轴坐标值)********//voidSendResult(void){ucharbuf=0x00;//*******发x************//buf=(uchar)(X_buf&0x00ff);SBUF=buf;while(TI==0);TI=0;_nop_();_nop_();X_bu

8、f=X_buf>>8;buf=(uchar)(X_buf&0x00ff);SBUF=buf;while(TI==0);TI=0;_nop_();_nop_();//*******发y************//buf=(uchar)(Y_buf&0x00ff);SBUF=buf;while(TI==0);TI=0;_nop_();

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。