⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 head.lst

📁 利用89S51将6*6键盘转换成PS/2协议
💻 LST
字号:
C51 COMPILER V7.06   HEAD                                                                  08/18/2008 14:23:14 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE HEAD
OBJECT MODULE PLACED IN head.OBJ
COMPILER INVOKED BY: D:\Program Files\Keil\C51\BIN\C51.EXE head.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          #include <reg51.H>
   2          #define Frequence 11   //晶振频率单位是MHZ
   3          #define XIAODOU_DELAY 6 //消抖延时
   4          #define SCAN_V_DEFAULT 0x2c     //缺省扫描速率。频率为15KHZ。
   5          #define DELAY 24        //发送程序延时??12 or 10?
   6          #define SLEEP 12        //发送程序延时
   7          #define TIMER_COUNT 3500
   8          #define  KBSHIFT  1
   9          sbit KBDATA=P1^1;       //键盘时钟线
  10          sbit KBCLK=P1^0;        //键盘数据线
  11          sbit KBACT=P1^2;        //键盘按键有效
  12          sbit KBLINK=P1^3;       //键盘与主机通讯正常
  13          //sbit KBSHIFT=P3^4;     
  14          //**************dat.c***************//
  15          unsigned char buf_length();     //返回缓冲区数据个数
  16          void clr_buf(void);     //清键盘缓冲区
  17          void del_head();        //删除缓冲区头
  18          unsigned char exist(unsigned char);     
  19          //检查键盘缓冲区中是否有与参数相等数,有则返回位置,无则返回255
  20          unsigned char get_head();       //取键盘缓冲区头,头指针不变
  21          unsigned char get_head_f();
  22          //取缓冲区头对应标记,标记为0表示对应键已经松下
  23          bit insert(unsigned char,unsigned char);
  24          //插入缓冲区,并设置对应标记,成功则返回1
  25          void set_flag(unsigned char);   //设置缓冲区对应标记
  26          //bit emputy(); //检查键盘缓冲区是否空,是返回1
  27          //unsigned char get_end();//取键盘缓冲区尾,尾指针不变
  28          
  29          //***************protocol.c***************//
  30          void set_scan_v(unsigned char); //设置扫描速度(拍发速率、延迟时间)
  31          void set_default();     //设置缺省值
  32          bit parity();       //计算奇偶校验值
  33          void delay();//reentrant       //延时24us  
  34          void sleep();       //延时16us
  35          unsigned char receive(void);      //接收子函数
  36          bit send(unsigned char );       //发送子函数
  37          void receive_v();
  38          void re_send();
  39          void receive_led();
  40          void receive_process();
  41          //自己添加的函数
  42          void reset();   //软件复位
  43          bit command_s();        //键盘命令检查,有命令要接受返回1 
  44          bit bat(void);          //基本保证测试无错误返回0,有错返回1
  45          void ini_timer1();      //定时器初始化
  46          void set_timer1();      //复位定时器1
  47          void close_timer1();
  48          void timer1_isr(void);
  49          void ini_timer0();      //定时器0初始化
  50          void set_timer0();      //复位定时器0
  51          //void close_timer0();
  52          void timer0_isr(void);
  53          
  54          //*************send.c***************//
  55          bit send_code(unsigned char _KeyNo,bit flag); 
C51 COMPILER V7.06   HEAD                                                                  08/18/2008 14:23:14 PAGE 2   

  56          //发送按键扫描码,flag=0发送断开码,flag=1发送接通码
  57          void send_buf();                        //发送缓冲区扫描码
  58          
  59          //***************main_t.c***************//
  60          unsigned char scankb(unsigned char );//扫描第N行,返回列值
  61          void scan(void);
  62          
  63          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   ----    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -