




免费预览已结束,剩余8页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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_/*Define command*/#defineCMD_SYSPARA0x68/definiton for system parameter commanddefault:0#defineDISP0x01/0:disable 1:enable#defineKEYB0x02/0:disable 1:enable#define WDOG0x04/0:close1:open#defineDPLR0x08/0:low level1:high level#defineSSPD0x10/0:low speed1:high speed#defineINTM0x20/0:low level1:low level pulse#defineGPOE0x40/0:all DIG as driver1:DIG6 DIG7 as GPIO#defineCMD_DISPARA0x6A/definiton for display parameter commanddefault:0#defineMODE0x80/0:No decode1:BCD decode/#defineLIMIT0x70/bit6bit4 range from 000 to 111#defineINTENSITY0x0F/bit3bit0 range from 0000 to 1111#defineCMD_DISPDAT0x70/加载字数据前八位#defineCMD_GETKEY0x6E/键盘前八位#defineCMD_ACKEN0x6E/2线接口应答前八位/*Function prototype*/void ch452a_two_ack(void);void ch452a_Init (void);void ch452a_sendcmd(unsigned char cmd,unsigned char paradata);/写命令unsigned char ch452a_getkey(void);/读取按键unsigned char CH452_ReadKeyboard();#define KEY_UP0x59#define KEY_DOWN0x58#define KEY_LEFT0x5B#define KEY_RIGHT0x5A#define KEY_SET0x48#define KEY_OK0x40#endif主程序代码:/* FileName: ch452.c * Function: *-History-* Author | Date | Status | Description * wang | 2011/7/28 | create | * | | | */#include STC_NEW_8051.h#includeIIC.h#includeCh452.hsbit SCL=P10;sbit SDA=P11;/ FileName:ch452a_two_ack() / Function:Init_ack /void ch452a_two_ack()unsigned char i,wr_data;wr_data=CMD_ACKEN&0xfe;IIC_start();/* start condition */for(i=0;i8;i+)if(wr_data&0x80)/判断高位数据SDA=1;elseSDA=0;wr_data=1;/让高位数据往左移delays(1);SCL=1;/数据的写要在时钟为高电平时delays(4);SCL=0;delays(5); /* nine clock */SCL=0;delays(1);SDA=1;delays(4);SCL=1;delays(5);/* send data */for(i=0;i8;i+)SCL = 0;delays(1);SDA= 0;delays(4);SCL= 1;delays(5);IIC_stop();/ FileName:ch452a_Init() / Function:Init /void ch452a_Init(void)unsigned char cmddata,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:send command to ch452a /void ch452a_sendcmd (unsigned char cmd,unsigned char paradata)unsigned char cmddata,cmdadr;cmddata=cmd;cmdadr=paradata;IIC_writedata(cmddata,&cmdadr,1); /FunctionName:ch452a_getkey()/Description:get key value from ch452a /unsigned char ch452a_getkey()unsigned char cmddata,keycode;/unsigned char*pData=&revdata;cmddata=CMD_GETKEY | 0x01; keycode=IIC_readdata(cmddata);return keycode;/*unsigned char CH452_ReadKeyboard()unsigned char recvdata,cmddata; unsigned char ack;/ 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条件不满足终止发送数据return recvdata
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 广东省廉江市实验学校高中政治 1.1 神奇的货币 揭开货币的神秘面纱2说课稿(必修1)
- 6.1.1 尝试对生物进行分类 说课稿-2023-2024学年人教版生物八年级上册
- 13猫 教学设计-2023-2024学年四年级下册语文统编版
- 2025年初中教师(生物学科)教材教法考试测试卷及答案(共三套)
- 2025年四级按摩师考试试卷【附答案】
- 2025年全国危险化学品经营单位安全管理人员考试练习题库【附答案】
- 初中科学考试真题试卷
- 《听一听》活动探究(教案)一年级上册科学青岛版
- 2025-2026年北京高考英语综合模拟强化练习4【含详细答案】
- 2025年酿酒师职业技能资格知识考试题与答案
- 食品仓储库房温湿度控制
- 部编小学语文四年级上册第8单元省级获奖大单元作业设计
- 正常人体结构学电子教案 (中职教育)
- 环保配套设施技术改造项目可行性研究报告
- 不动产登记知识考试题库
- 液化天然气加气站安全检查表
- 太原极地海洋世界建设项目可行性研究报告-中咨国联
- 改革开放航天的成就课件
- 大学试题(财经商贸)-博弈论笔试(2018-2023年)真题摘选含答案
- 铜矿开采设备介绍
- 血液透析机常见故障处理护理课件
评论
0/150
提交评论