ch452程序代码 2.docx

上传人:b****7 文档编号:11369659 上传时间:2023-02-28 格式:DOCX 页数:8 大小:15.46KB
下载 相关 举报
ch452程序代码 2.docx_第1页
第1页 / 共8页
ch452程序代码 2.docx_第2页
第2页 / 共8页
ch452程序代码 2.docx_第3页
第3页 / 共8页
ch452程序代码 2.docx_第4页
第4页 / 共8页
ch452程序代码 2.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

ch452程序代码 2.docx

《ch452程序代码 2.docx》由会员分享,可在线阅读,更多相关《ch452程序代码 2.docx(8页珍藏版)》请在冰豆网上搜索。

ch452程序代码 2.docx

ch452程序代码2

Ch452程序代码

/*************************************************************************************/

/*FileName:

ch452.h*/

/*Function:

*/

/*---------------History--------------------------------------------------------------*/

/*Author|Date|Status|Description*/

/*wang|2011/8/04|create|*/

/*|||*/

/*************************************************************************************/

#ifndef_CH452_H

#define_CH452_H

 

//#ifndef_CH452A_H_

//#define_CH452A_H_

/*Definecommand*/

#defineCMD_SYSPARA0x68

/////definitonforsystemparametercommanddefault:

0

#defineDISP0x01//0:

disable1:

enable

#defineKEYB0x02//0:

disable1:

enable

#defineWDOG0x04//0:

close1:

open

#defineDPLR0x08//0:

lowlevel1:

highlevel

#defineSSPD0x10//0:

lowspeed1:

highspeed

#defineINTM0x20//0:

lowlevel1:

lowlevelpulse

#defineGPOE0x40//0:

allDIGasdriver1:

DIG6DIG7asGPIO

#defineCMD_DISPARA0x6A

/////definitonfordisplayparametercommanddefault:

0

#defineMODE0x80//0:

Nodecode1:

BCDdecode

//#defineLIMIT0x70//bit6~bit4rangefrom000to111

#defineINTENSITY0x0F//bit3~bit0rangefrom0000to1111

#defineCMD_DISPDAT0x70//加载字数据前八位

#defineCMD_GETKEY0x6E//键盘前八位

#defineCMD_ACKEN0x6E//2线接口应答前八位

 

/*Functionprototype*/

voidch452a_two_ack(void);

voidch452a_Init(void);

voidch452a_sendcmd(unsignedcharcmd,unsignedcharparadata);//写命令

unsignedcharch452a_getkey(void);//读取按键

unsignedcharCH452_ReadKeyboard();

#defineKEY_UP0x59

#defineKEY_DOWN0x58

#defineKEY_LEFT0x5B

#defineKEY_RIGHT0x5A

#defineKEY_SET0x48

#defineKEY_OK0x40

#endif

 

主程序代码:

/*************************************************************************************

*FileName:

ch452.c*

*Function:

*

*---------------History--------------------------------------------------------------*

*Author|Date|Status|Description*

*wang|2011/7/28|create|*

*|||*

*************************************************************************************/

#include"STC_NEW_8051.h"

#include"IIC.h"

#include"Ch452.h"

sbitSCL=P1^0;

sbitSDA=P1^1;

////////////////////////////////////////////////////////////////////////////////////////

//FileName:

ch452a_two_ack()//

//Function:

Init_ack//

/////////////////////////////////////////////////////////////////////////////////////

voidch452a_two_ack()

{

unsignedchari,wr_data;

wr_data=CMD_ACKEN&0xfe;

IIC_start();

/*startcondition*/

for(i=0;i<8;i++)

{

if(wr_data&0x80)//判断高位数据

SDA=1;

else

SDA=0;

wr_data<<=1;//让高位数据往左移

delays

(1);

SCL=1;//数据的写要在时钟为高电平时

delays(4);

SCL=0;

delays(5);

}

/*nineclock*/

SCL=0;

delays

(1);

SDA=1;

delays(4);

SCL=1;

delays(5);

/*senddata*/

for(i=0;i<8;i++)

{

SCL=0;

delays

(1);

SDA=0;

delays(4);

SCL=1;

delays(5);

}

IIC_stop();

}

////////////////////////////////////////////////////////////////////////////////////////

//FileName:

ch452a_Init()//

//Function:

Init//

/////////////////////////////////////////////////////////////////////////////////////

voidch452a_Init(void)

{

unsignedcharcmddata,cmdadr;

ch452a_two_ack();

cmddata=CMD_SYSPARA;//系统参数地址

cmdadr=DISP|KEYB&(~INTM)&(~DPLR);//系统参数数据

IIC_writedata(cmddata,&cmdadr,1);

cmddata=CMD_DISPARA;//显示参数地址

cmdadr=MODE;

IIC_writedata(cmddata,&cmdadr,1);

}

 

///////////////////////////////////////////////////////////////////

//FunctionName:

ch452a_sendcmd()

//Description:

sendcommandtoch452a

///////////////////////////////////////////////////////////////////

voidch452a_sendcmd(unsignedcharcmd,unsignedcharparadata)

{

unsignedcharcmddata,cmdadr;

cmddata=cmd;

cmdadr=paradata;

IIC_writedata(cmddata,&cmdadr,1);

}

 

///////////////////////////////////////////////////////////////////

//FunctionName:

ch452a_getkey()

//Description:

getkeyvaluefromch452a

///////////////////////////////////////////////////////////////////

unsignedcharch452a_getkey()

{

unsignedcharcmddata,keycode;

//unsignedchar*pData=&revdata;

cmddata=CMD_GETKEY|0x01;

keycode=IIC_readdata(cmddata);

returnkeycode;

}

/*unsignedcharCH452_ReadKeyboard()

{

unsignedcharrecvdata,cmddata;

unsignedcharack;

//uchar*pRecvData=&recvdata;

cmddata=CMD_GETKEY|0x01;

IIC_start();//启动

IIC_send(cmddata);//发送从机地址

ack=IIC_re_ack(ack);

if(ack==0)

{

recvdata=IIC_accept(cmddata);

IIC_wr_ack(0);//主机发送应答给从机

IIC_stop();

}

else

{

IIC_stop();//ack条件不满足终止发送数据

}

returnrecvdata;

}*/

/*voidch452_flash(unsignedcharcmd,unsignedcharparadata)

{

unsignedcharcmddata,cmdadr;

cmddata=0x;

cmdadr=paradata;

IIC_writedata(cmddata,&cmdadr,1);

}*/

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1