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

📄 head.lst

📁 通过89s51实现的模拟键盘代码
💻 LST
字号:
C51 COMPILER V7.02a   HEAD                                                                 04/23/2005 11:28:04 PAGE 1   


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

  56          //***************main_t.c***************//
  57          unsigned char scankb(unsigned char );//扫描第N行,返回列值
  58          void scan(void);
  59          
  60          


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 + -