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

📄 yijia.lst

📁 一个大型洗衣设备晾衣架的光电控制系统的C51程序
💻 LST
📖 第 1 页 / 共 4 页
字号:
 780   2          ch451_dclk=1;                               /*上升沿有效   */
 781   2        }
 782   1        ch451_load=1;                                 /*加载数据    */
 783   1      #ifdef USE_KEY
 784   1        EX1=1;
 785   1      #endif
 786   1      }
 787          
 788          #ifdef USE_KEY
 789          
C51 COMPILER V3.20,  SN-50203013  YIJIA                                                    06/29/07  20:42:04  PAGE 14  

 790          /************************************************** /
              /*输入命令子程序,MCU从451读一字节   */
 792          
 793           U8 ch451_read()
 794          {
 795   1        U8 i;
 796   1        U8 command,keycode;		/*定义命令字,和数据存储器 */
 797   1        EX1=0;			               /*关中段    */
 798   1        command=0x07;			               /*输入读451命令字 */
 799   1        ch451_load=0;
 800   1        for(i=0;i<4;i++){
 801   2      
 802   2          ch451_din=command&1;		      /*送入最低位 */
 803   2          ch451_dclk=0;
 804   2          command>>=1;			      /*往右移一位     */
 805   2          ch451_dclk=1;			      /*产生时钟上升沿锁通知CH451输入位数据*/
 806   2       }
 807   1        ch451_load=1;				      /*产生加载上升沿通知CH451处理命令数据 */
 808   1        keycode=0;				      /*清除keycode                         */
 809   1        for(i=0;i<7;i++){
 810   2          keycode<<=1;			      /*数据移入keycode,高位在前,低位在后    */
 811   2          keycode|=ch451_dout;		      /*从高到低读入451的数据            */
 812   2          ch451_dclk=0;			      /*产生时钟下升沿通知CH451输出下一位*/
 813   2          ch451_dclk=1;
 814   2       }
 815   1        IE1=0;				      /*清中断标志         */
 816   1        EX1=1;
 817   1        return(keycode);			     /*反回键值          */
 818   1      }
 819          /**************************************************       */
 820          /*中断子程序  使用中断2,寄存器组2                        */
 821          
 822          void ch451_inter() interrupt 2 using 2
 823          {
 824   1        U8 i;			      /*定义循环变量            */
 825   1        U8 command,keycode;	      /*定义控制字寄存器,和中间变量定时器  */
 826   1        command=0x07;				      /*读取键值命令的高4位0111B * /
                ch451_load=0;				      /*命令开始      */
 828   1        for(i=0;i<4;i++){
 829   2          ch451_din=command&1;		     /*低位在前,高位在后 * /
                  ch451_dclk=0;
                  command>>=1;			     /*右移一位   */
 832   2          ch451_dclk=1;			     /*产生时钟上升沿锁通知CH451输入位数据 */
 833   2       }
 834   1        ch451_load=1;				     /*产生加载上升沿通知CH451处理命令数据 */
 835   1        keycode=0;				     /*清除keycode   */
 836   1        for(i=0;i<7;i++){
 837   2          keycode<<=1;			     /*数据作移一位,高位在前,低位在后*/
 838   2          keycode|=ch451_dout;		     /*从高到低读入451的数据 */
 839   2          ch451_dclk=0;			     /*产生时钟下升沿通知CH451输出下一位 */
 840   2          ch451_dclk=1;
 841   2       }
 842   1        ch451_key=keycode;			    /*保存上次的键值 */
 843   1        IE1=0;                                    /*清中断标志 */
 844   1      
 845   1        kf=1;
 846   1      }
 847          
 848          /************************************************/
 849          
 850          #endif
 851          
C51 COMPILER V3.20,  SN-50203013  YIJIA                                                    06/29/07  20:42:04  PAGE 15  

 852           /*************************************************/
 853           /*延时程序 */
 854           void delay(){					/*在12P下延时十毫秒*/
 855   1         U8 i,j,k;
 856   1         for(i=0;i<10;i++)
 857   1           for(j=0;j<40;j++)
 858   1             for(k=0;k<120;k++);
 859   1        }
 860          
 861          /************************************************/
 862          /*void main(){
                 uchar a,b,c,d;
                 d=0;
                 ch451_init();                                  //调用初始化
                 ch451_write(0x403);
                 ch451_write(0x580);                           //测试送入命令
                 ch451_write(CH451_DIG0|0X01);                 //最低位显示1
                 EA=1;
                 ch451_key=0x0ff;
                 while(1){
                  while(ch451_key==0xff);	                //等待中断
                  a=ch451_key;
                  d=a;
                  ch451_key=0x0ff;
                  ch451_write(0x300);		              //左移两位
                  ch451_write(0x300);
                  a&=0x3f;			             //显示十进制数据
                  b=a;
                  a/=10;
                  ch451_write(CH451_DIG1|a);
                  b%=10;
                  ch451_write(CH451_DIG0|b);
                   delay();
                   c=ch451_read();
                   while(c==d)		           //测试按键是否释放
                   {
                    ch451_write(CH451_DIG0|b|0x80);
                    delay();
                    c=ch451_read();
                   }
                  ch451_write(CH451_DIG0|b);
               }
              }     */
C51 COMPILER V3.20,  SN-50203013  YIJIA                                                    06/29/07  20:42:04  PAGE 16  

NAME                                    CLASS   MSPACE  TYPE    OFFSET  SIZE
====                                    =====   ======  ====    ======  ====


P1 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0090H  1
P2 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00A0H  1
k1f. . . . . . . . . . . . . . . . . .  PUBLIC   DATA   BIT      0000H  1
P3 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00B0H  1
erwren93 . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     -----  -----
  i. . . . . . . . . . . . . . . . . .  * REG *  DATA   CHAR     0007H  1
ch451_din. . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0091H  1
T0 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B4H  1
AC . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D6H  1
T1 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B5H  1
ch451_dout . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B3H  1
EA . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00AFH  1
U8 . . . . . . . . . . . . . . . . . .  TYPEDEF  -----  U_CHAR   -----  1
delay. . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     -----  -----
  i. . . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0007H  1
  j. . . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0006H  1
  k. . . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0005H  1
ch451_key. . . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   0000H  1
RD . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B7H  1
ES . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00ACH  1
IP . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00B8H  1
_updatedisp. . . . . . . . . . . . . .  PUBLIC   CODE   PROC     -----  -----
  disp . . . . . . . . . . . . . . . .  AUTO     DATA   PTR      0000H  3
  twif . . . . . . . . . . . . . . . .  AUTO     DATA   BIT      0000H  1
  twip . . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0003H  1
RI . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0098H  1
INT0 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B2H  1
CY . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D7H  1
TI . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0099H  1
INT1 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B3H  1
t10msf . . . . . . . . . . . . . . . .  PUBLIC   DATA   BIT      0001H  1
PS . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00BCH  1
SP . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0081H  1
OV . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D2H  1
main . . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     -----  -----
  temp1. . . . . . . . . . . . . . . .  AUTO     DATA   U_INT    0000H  2
  temp2. . . . . . . . . . . . . . . .  AUTO     DATA   U_INT    0002H  2
  temp3. . . . . . . . . . . . . . . .  * REG *  DATA   U_INT    0006H  2
  ck . . . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0004H  1
  shift. . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0005H  1
WR . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B6H  1
TCON . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0088H  1
_writeall93. . . . . . . . . . . . . .  PUBLIC   CODE   PROC     -----  -----
  dx . . . . . . . . . . . . . . . . .  * REG *  DATA   U_INT    0002H  2
  i. . . . . . . . . . . . . . . . . .  * REG *  DATA   CHAR     0005H  1
eraseall93 . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     -----  -----
  i. . . . . . . . . . . . . . . . . .  * REG *  DATA   CHAR     0007H  1
U16. . . . . . . . . . . . . . . . . .  TYPEDEF  -----  U_INT    -----  2
IE0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0089H  1
IE1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008BH  1
udf. . . . . . . . . . . . . . . . . .  PUBLIC   DATA   BIT      0002H  1
setv . . . . . . . . . . . . . . . . .  PUBLIC   DATA   U_INT    0001H  2
jout . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A0H  1
erwrdisen93. . . . . . . . . . . . . .  PUBLIC   CODE   PROC     -----  -----
  i. . . . . . . . . . . . . . . . . .  * REG *  DATA   CHAR     0007H  1
ET0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A9H  1
ET1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00ABH  1
C51 COMPILER V3.20,  SN-50203013  YIJIA                                                    06/29/07  20:42:04  PAGE 17  

NAME                                    CLASS   MSPACE  TYPE    OFFSET  SIZE
====                                    =====   ======  ====    ======  ====


TF0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008DH  1
TF1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008FH  1
RB8. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009AH  1
TH0. . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   008CH  1
EX0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A8H  1
IT0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0088H  1
TB8. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009BH  1
EX1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00AAH  1
IT1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008AH  1
P. . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D0H  1
SM0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009FH  1
TL0. . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   008AH  1
kf . . . . . . . . . . . . . . . . . .  PUBLIC   DATA   BIT      0003H  1
SM1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009EH  1
SM2. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009DH  1
PT0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B9H  1
_ch451_write . . . . . . . . . . . . .  PUBLIC   CODE   PROC     -----  -----
  command. . . . . . . . . . . . . . .  * REG *  DATA   U_INT    0002H  2
  i. . . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0005H  1
skv. . . . . . . . . . . . . . . . . .  PUBLIC   DATA   ARRAY    0003H  4
PT1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00BBH  1
RS0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D3H  1
pf . . . . . . . . . . . . . . . . . .  PUBLIC   DATA   BIT      0004H  1
TR0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008CH  1
RS1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D4H  1
TR1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008EH  1
PX0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B8H  1
cv . . . . . . . . . . . . . . . . . .  PUBLIC   DATA   U_INT    0007H  2
PX1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00BAH  1
_erase93 . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     -----  -----
  ax . . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0007H  1
  i. . . . . . . . . . . . . . . . . .  * REG *  DATA   CHAR     0006H  1
time0. . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     -----  -----
c. . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0093H  1
d. . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0094H  1
ch451_read . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     -----  -----
  i. . . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0006H  1
  command. . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0007H  1
  keycode. . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0007H  1
REN. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009CH  1
ch451_dclk . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0097H  1
ch451_load . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0090H  1
_read93. . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     -----  -----
  ax . . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0007H  1
  i. . . . . . . . . . . . . . . . . .  * REG *  DATA   CHAR     0006H  1
  db . . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0001H  1
  ay . . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0004H  1
  dx . . . . . . . . . . . . . . . . .  * REG *  DATA   U_INT    0002H  2
ch451_inter. . . . . . . . . . . . . .  PUBLIC   CODE   PROC     -----  -----
  i. . . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0016H  1
  command. . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0017H  1
  keycode. . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0017H  1
RXD. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B0H  1
q. . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0096H  1
HC14 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B2H  1
TXD. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B1H  1
s. . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0092H  1
C51 COMPILER V3.20,  SN-50203013  YIJIA                                                    06/29/07  20:42:04  PAGE 18  

NAME                                    CLASS   MSPACE  TYPE    OFFSET  SIZE
====                                    =====   ======  ====    ======  ====


F0 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D5H  1
_write93 . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     -----  -----
  ax . . . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0000H  1
  dx . . . . . . . . . . . . . . . . .  AUTO     DATA   U_INT    0001H  2
  i. . . . . . . . . . . . . . . . . .  * REG *  DATA   CHAR     0005H  1
  ay . . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0003H  1
int0 . . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     -----  -----
ch451_init . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     -----  -----


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1698    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      9      13
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      5       1
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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