• 大小: 1KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-10
  • 语言: C/C++
  • 标签: 8255  C语言  编程  

资源简介

8255 键盘接口C语言编程8255 键盘接口C语言编程

资源截图

代码片段和文件信息

/***************************************************************
mcu_8255A
copyright software keil inc
***************************************************************/
#include 
#include 
#include 
#include 

#define WR_Port_A XBYTE[0X7cff]  //01111100
#define WR_Port_B XBYTE[0X7eff]  //01111110
#define WR_Port_C XBYTE[0X7dff]  //01111101
#define WR_Control XBYTE[0X7fff] //01111111

#define uchar unsigned char 
#define uint unsigned int

sbit WDI=P1^7;//watchdog signal input pin
sbit light=P1^6;
sbit EX_int0=P3^2;

uchar temp;
uchar Counts_RCounts_FCounts_S;

uchar code table[10]={0x3f0x060x5b0x4f0x660x6d0x7d0x070x7f0x6f}; 

uchar idata buf_R[4];
uchar idata buf_F[4];
uchar idata buf_S[4];

void delay(uchar);
void display(uchar idata *);
void display_0(uchar idata *);//---------------------
void math_add();

void display_All();
void display_R(uchar idata *);
void display_F(uchar idata *);
void display_S(uchar idata *);

void main(void)
{
     uchar ij;
     uchar idata dis_buf[2];
     uchar idata dis_buf_0[4];//-----------------------

     WR_Control=0x80;
 delay(2);
 for(i=0;i<20;i++)
 {
       j=100;
   while(--j);
 }

 Counts_R=20;
 Counts_F=30;

     display_0(dis_buf_0);//----------------------------
     while(1)
 {
           Counts_S=Counts_F+Counts_R;
   math_add();
   display_All();
       /*for(i=0;i<2;i++)
   {
        dis_buf[i]=temp%10;
temp=temp/10;
   }*/
   WDI=!WDI;
   while(j<=200)
   {
                display(dis_buf); 
j++;
   }
 }
}
/*----------------------display_Loop()-----------------*/
void display(uchar idata *pt)
{
     uchar itemp;

 temp=0x01;//00000001
     for(i=0;i<2;i++)
 {
           WR_Port_A=table[*pt];
   WR_Port_B=temp;
   delay(20);
   pt++;
   if(temp!=0x04)
   temp=temp<<1;
   //temp=0xef;//11101111;
 }
}

/*---------------delay_time(uchar)--------------------*/
void delay(uchar time)
{

     uchar  ij; 
     for(i=0;i     {
       j=100;
       while(--j);
 }
}

/*-------------------display_0()---------------*/
void display_0(uchar idata *ptt)
{
     uchar itemp;
 temp=0x01;
 for(i=0;i<4;i++)
 {
      WR_Port_A=table[*ptt];
  WR_Port_B=temp;
  delay(20);
  ptt++;
 }
}
/*--------------------math_add()--------------*/
void math_add()
{
     uchar itemp_EE;
 temp_EE=Counts_R;
     for(i=0;i<4;i++)
 {
      buf_R[i]=temp_EE%10;
      temp_EE=temp_EE/10;
 }
 temp_EE=Counts_F;
 for(i=0;i<4;i++)
 {
      buf_F[i]=temp_EE%10;
  temp_EE=temp_EE/10;
 }
 temp_EE=Counts_S;
 for(i=0;i<4;i++)
 {
      buf_S[i]=temp_EE%10;
  temp_EE=temp_EE/10;
 }
}
/*---------------------display_all()-------------*/
void display_All()
{
     display_R(buf_R);
 display_F(buf_F);
 display_S(buf_S);
}
/*--------------------display_R()

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       3528  1999-08-28 11:56  mcu.c

----------- ---------  ---------- -----  ----

                 3746                    2


评论

共有 条评论