导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→发表看法:[yuangli]关于UPD16312的按键接收问题



No.91199
作者:yuangli
邮件:yuangli@21cn.com
ID:16177
登陆:5次
文章数:1篇
最后登陆IP:59.34.244.44
最后登陆:2007/7/31 15:41:09
注册:2003/11/18 9:15:27
财富:9
发帖时间:2006/4/6 9:21:30
发贴者IP:218.14.224.188
标题:yuangli:关于UPD16312的按键接收问题
摘要:No.91199关于UPD16312的按键接收问题 做过UPD16312的朋友,请指点一下UPD16312的键盘接收问题,我的程序显示没问题,但是键盘接收不稳定,时有时无。

我的VFD测试程序

#include  <pic.h>  

#define STB     RA0
#define SCK     RA1
#define SDA     RA2
#define nop     asm("NOP")

char key_value1;
char key_value2;
char key_value3;
char temp1;
char temp2;
char temp3;
char dis_data;
char usec;
char dis_add;
char dis_value;

const char display_value[]={0xfc,0x60,0xda,0xf2,0x66,0xb6,0xbe,0xe0,0xfe,0xe6};//字符编码

void dmsec(int msec);
void dusec(char usec);
void dis_byte(char dis_data);
void dis_ini();
void display(char add,char xs_value);
void key_scan();
read_key();

main()
{
 char i;

 dis_ini();
 
        temp1=7;//观查变量方便随便赋的值
 temp2=8;//观查变量方便随便赋的值
 temp3=9;//观查变量方便随便赋的值
 key_value1=1;//观查变量方便随便赋的值
 key_value2=2;//观查变量方便随便赋的值
 key_value3=3;//观查变量方便随便赋的值
 
 while(1)
        {
                dis_add=0xc1;
         dis_value=display_value[1];
         display(dis_add,dis_value);
         
         dis_add=0xc0;
         dis_value=display_value[5];
         display(dis_add,dis_value);
         
         dis_add=0xc5;
         dis_value=display_value[5];
         display(dis_add,dis_value);
         
         dis_add=0xc4;
         dis_value=display_value[8];
         display(dis_add,dis_value);
         
         dis_add=0xc7;
         dis_value=display_value[0];
         display(dis_add,dis_value);
         
         dis_add=0xc6;
         dis_value=display_value[9];
         display(dis_add,dis_value);

                key_scan();
         
         if(key_value1!=0)//有按键按下则退出循环
          break;
         if(key_value2!=0)
          break;
         if(key_value3!=0)
          break;
        }

        temp1=key_value1;

        temp2=key_value2;

        temp3=key_value3;

        dusec(255);

 while(1)
 {
                nop;
        }
}
//=====================================
void dusec(char usec)
{
 for(usec;usec>  0;usec--)
 {
  nop;
 }
 nop;
}
//=====================================
void dmsec(int msec)
{
        char TempCyc;
       for(msec;msec>  0;msec--)
      {
               for(TempCyc=125; TempCyc>  0; TempCyc--);
               {
                     nop;
                }
      }
      nop;
}
//=====================================
void dis_ini()
{
          c ......

>>返回讨论的主题



  发表回复
用户名   *您没有注册?
密码   *
验证码   * .
标题   *
心情
随便说说    我回答你    最新发现    得意的笑   
气死我了    真是没劲    坚决同意    表示反对   
大家过来    好奇怪哟    懒得理它    大家小心   
文件上传
内容


字体:      字体大小:    颜色:
粗体 斜体 下划线 居中 超级连接 Email连接 图片 Flash图片 Shockwave文件 realplay视频文件 Media Player视频文件 QuickTime视频文件 引用 飞行字 移动字 发光字 阴影字 查看更多的心情图标 背景音乐
点击加入表情
                         
选项
有回复时用短消息通知您?

   




老古网执行:31毫秒 最大:54049毫秒 查询6次