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

📄 1

📁 RM51单片机实验板配套实验例程库
💻
字号:
C51 COMPILER V7.09   ONS                                                                   04/26/2005 19:17:46 PAGE 1   


C51 COMPILER V7.09, COMPILATION OF MODULE ONS
OBJECT MODULE PLACED IN ons.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE ons.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          /*-------------------------------------
   2          On-line operating system V1.0
   3          MCU W78E516  XAL 12MHz
   4          Build by Gavin Hu, 2005.4.25
   5          --------------------------------------*/
   6          /*使用微机的超级中断口控制,波特率为19200*/
   7          //
   8          #include <reg52.h>         //52单片机定义文件
   9          #include <stdio.h>         //基本输入输出函数
  10          #include <string.h>        //字符串处理函数
  11          #include <ctype.h>         //字符处理函数
  12          sbit ekp0 =P2^0;           //模拟控制设备口,共6个       
  13          sbit ekp1 =P2^1;
  14          sbit ekp2 =P2^2;
  15          sbit ekp3 =P2^3;
  16          sbit ekp4 =P2^4;
  17          sbit ekp5 =P2^5;
  18          /*--------------------------------------
  19             void main(void)
  20          ---------------------------------------*/
  21          void main(void)
  22          { 
  23   1      unsigned char i,ch;
  24   1      char chs[9]="\0";        //定义9个字符接收单元
  25   1      SCON  = 0x50;            //串口方式1
  26   1      T2CON = 0x30;            //T2作波特率发生器,16位自动重装模式
  27   1      RCAP2L= 0xec;            //波特率为19200时初值
  28   1      TL2   = 0xec;            //
  29   1      RCAP2H= 0xff;            //
  30   1      TH2   = 0xff;            //
  31   1      TI    = 1;               //
  32   1      TR2   = 1;               //开波特率发生器
  33   1      printf("\n");            //换行
  34   1      while (1)
  35   1        {
  36   2        printf("%s","\n\t    On-line operating system V1.0\n");  //系统开机显示字符
  37   2        printf("%s","\tBuild by Gavin Hu, all right reserved.\n");
  38   2        while (1)
  39   2          {
  40   3          printf("%s","\nPlease input password:");              //提示输入口令
  41   3              scanf("%s",chs);                                      // 接收状态
  42   3          if (strcmp(chs,"12345678"))                           //与系统密码比较
  43   3            printf("%s","Password error\n");                    //口令错提示,等待重新输入口令
  44   3                else break;                                         // 口令正确,进入操作控制状态
  45   3              }
  46   2        while (1)
  47   2          {
  48   3          printf("%s","\nOn-line operating system>");     //在线控制提示符    
  49   3              scanf("%s",chs);                                //接收字符串
  50   3              for (i=0; i<4; i++)                             //将字符转换为大写
  51   3                chs[i]=toupper(chs[i]);
  52   3              if (!strcmp(chs,"EXIT")) break;                 //如为退出命令,退出在线控制
  53   3              i=strlen(chs);                                  //取字符串长度
  54   3              ch=chs[2];                                      //取最后一个字符
  55   3              chs[2]='\0';                                    //最后一个字符单元为00
C51 COMPILER V7.09   ONS                                                                   04/26/2005 19:17:46 PAGE 2   

  56   3              if (i>3||strcmp(chs,"OP")||ch<'0'||ch>'5')      //如字符串长度大于3或前二个不等于"OP"或最后一个数小于0或

⌨️ 快捷键说明

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