No.18176 作者:zkkov2000 邮件:zkkov2000@yahoo.com.cn ID:122058 登陆:1次 文章数:3篇 最后登陆IP: 最后登陆:2009/2/6 14:58:38 注册:2009/2/6 14:58:38 财富:100 发帖时间:2009/3/1 11:11:43 发贴者IP:123.112.220.55 标题:zkkov2000:关于CH452驱动键盘的问题 摘要:No.18176关于CH452驱动键盘的问题 求助: 小可现在用at89c51驱动CH452键盘功能,程序如下.问题是我按下键,没什么反应.用示波器测中断脚根本没有中断信号,不知道问题出在哪,希望老古的用过CH452的大虾给个指导,不胜感激!用的24M晶振,INT0,12时钟模式 void AT89C51_Init() { TCON|=0x01;//中断0下降沿触发; IP|=0x01; EA=1;//全局中断允许; CH452_KEY_INT0_ON;//中断0允许; } /******************************************* *******************************************/ void CH452_Init() { Uint CH452_SYS_SET=0; CH452_KEY_DIN_CLR; CH452_KEY_DIN_SET; CH452_KEY_LOAD_SET; CH452_KEY_DCLK_SET; CH452_SYS_SET=(CH452_SYS_COM|CH452_KEY_KEYB_ON|CH452_KEY_INTM_ON|CH452_KEY_DISP_ON);//CH452系统参数设置:开显示\键盘功能\边沿中断 WriteCH452(CH452_RESET); WriteCH452(CH452_SYS_SET); } /******************************************* *******************************************/ void WriteCH452(Uint command) { Uchar i; CH452_KEY_INT0_OFF;//51禁止452产生的中断 CH452_KEY_LOAD_CLR;//LOAD低电平 for(i=0;i <12;i++) { if(command&0x0001)CH452_KEY_DIN_SET; else CH452_KEY_DIN_CLR; CH452_KEY_DCLK_CLR; command> > =1; CH452_KEY_DCLK_SET; } CH452_KEY_LOAD_SET;//LOAD上升沿加载命令 NOP;NOP;NOP;NOP;NOP;NOP;NOP ......
>>返回讨论的主题
|