yiiing299 2024-02-21 13:18 采纳率: 75%
浏览 17

计算机科学与技术专业考软考还是计算机等级考试

大二计算机专业,是考软考还是考计算机三级,四级。考软考的话推荐什么,考计算机三级四级的话推荐什么(数据库还是网络技术还是软件测试)

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2024-02-21 16:15
    关注

    【相关推荐】



    • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/7754232
    • 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:【数据结构作业三】利用栈(以顺序栈作存储结构)实现二、十和十六进制转换
    • 您还可以看一下 徐朋老师的软考网络工程师复习备考三步走课程中的 软考网络工程师复习备考课总体介绍小节, 巩固相关知识点
    • 除此之外, 这篇博客: 蓝桥杯单片机学习过程记录(十三)第五届温度采集控制中的 蓝桥杯单片机学习过程记录(十三)第五届温度采集控制 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:

      一是锁存器的使用
      P2=(P2&0X1F)
      二是使用了官方提供的底层驱动程序,
      有两点改动:一是onewire.c中的Delay函数要改成12个循环,因为52跟15的振荡不一样
      二是onewire.h中的头文件把.c中的函数加进去,要不然报错,官方提供中没有。
      三是把.c文件加到main里。

      主函数

      //第五届温度采集及控制
      #include <STC15F2K60S2.H>
      #include <intrins.h>
      #include "onewire.h"
      unsigned char num;
      unsigned char max_1,max_2,min_1,min_2,temp_set,num_set;
      unsigned char flag_jiemian,flag_led,flag_false;
      unsigned char t;
      unsigned char wendu,wendu_min,wendu_max;
      unsigned char yi,er,san,si,wu,liu,qi,ba;
      unsigned char seg[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf,0xff};
      void allinit();
      void display_12(yi,er);
      void display_34(san,si);
      void display_56(wu,liu);
      void display_78(qi,ba);
      void Delay500us();
      void delayms(int ms);
      void time0_init();
      void key_scan();
      unsigned char ds18_get(void);
      void main(){
       //初始化参数
       allinit();
       wendu_min=20;
       wendu_max=30;
       //定时器初始化
       time0_init();
       EA=1;ET0=1;
       yi=10;er=11;san=10;si=11;wu=11;liu=11;qi=11;ba=11;
       while(1){
        //温度获取
        wendu=ds18_get();
        //进入界面功能判断
        //温度显示页面
        if(flag_jiemian==0){
         //进行温度判断
         //小于温度设定最低
         if(wendu<wendu_min){
          //0模式,继电器关闭,小灯0.8闪
          er=0;
          flag_led=0;
          P2=(P2&0x1f)|0XA0;P0=0X00;
          P2=P2&0x1f;
         }
         //大于温度设定最高
         else if(wendu>wendu_max){
          //2模式,小灯0.2闪,继电器开
          er=2;    
          P2=(P2&0x1f)|0XA0;P0=0X10;
          P2=P2&0x1f;
          flag_led=2;
         }
         //中间值
         else{
          //1模式,小灯0.4闪,继电器关闭
          er=1;
          P2=(P2&0x1f)|0XA0;P0=0X00;
          P2=P2&0x1f;
          flag_led=1;
         }
         yi=10;san=10;si=11;wu=11;liu=11;qi=wendu/10;ba=wendu%10;
         key_scan();
         display_12(yi,er);
         display_34(san,si);
         display_56(wu,liu);
         display_78(qi,ba);
         P2=0XC0;P0=0XFF;P2=0XE0;P0=0XFF;
        }
        //温度设定界面
        else if(flag_jiemian==1){
         while(1){
          key_scan();
          //依次设定最大最小值
          switch(num_set){
           case 0:break;
           case 1:max_1=temp_set;break;
           case 2:max_2=temp_set;break;
           case 3:min_1=temp_set;break;
           case 4:min_2=temp_set;break;
          }
          yi=10;er=max_1;san=max_2;si=11;wu=11;liu=10;qi=min_1;ba=min_2;
          if(flag_jiemian==0)
           break;
          display_12(yi,er);
          display_34(san,si);
          display_56(wu,liu);
          display_78(qi,ba);
          P2=0XC0;P0=0XFF;P2=0XE0;P0=0XFF;
         }
        }  
       }
      }

      矩阵按键

      void key_scan(){
       unsigned char temp;
       //第一列s7s6s5s4
       P44=0;P42=1;P3=0XFF;temp=P3;
       temp=(temp&0x0f);
       if(temp!=0x0f){
        delayms(5);
        temp=P3;temp=(temp&0x0f);
        if(temp!=0x0f){
         temp=P3;
         switch(temp){
          case 0xfe:  temp_set=0;num_set++;break;
          case 0xfd:  temp_set=3;num_set++;break;
          case 0xfb:  temp_set=6;num_set++;break;
          case 0xf7:  temp_set=9;num_set++;break;
         }
         while(temp!=0x0f){
          temp=P3;
          temp=(temp&0x0f);
         }
        }
       }
       //第2列s11s10s9s8
       P44=1;P42=0;P3=0XFF;temp=P3;
       temp=(temp&0x0f);
       if(temp!=0x0f){
        delayms(5);
        temp=P3;temp=(temp&0x0f);
        if(temp!=0x0f){
         temp=P3;
         switch(temp){
          case 0xfe:temp_set=1;num_set++; break;
          case 0xfd:temp_set=4;num_set++; break;
          case 0xfb:temp_set=7;num_set++; break;
          case 0xf7:  
           if(flag_jiemian==0) {
            flag_jiemian=1;
           }
           else if(flag_jiemian==1) {
            wendu_min=min_1*10+min_2;
            wendu_max=max_1*10+max_2;
            if(wendu_max<wendu_min){
             P2=(P2&0x1f)|0x80;P0=0XFD;
             P2=P2&0x1f;
             flag_false=1;
            }
            else{
             flag_false=0;
             num_set=0;
             flag_jiemian=0;
            }
           }
           break;
         }
         while(temp!=0x0f){
          temp=P3;
          temp=(temp&0x0f);
         }
        }
       }
       //第三列s15-12
       P44=1;P42=1;P3=0XDF;temp=P3;
       temp=(temp&0x0f);
       if(temp!=0x0f){
        delayms(5);
        temp=P3;temp=(temp&0x0f);
        if(temp!=0x0f){
         temp=P3;
         switch(temp){
          case 0xde: temp_set=2;num_set++;  break;
          case 0xdd: temp_set=5;num_set++; break;
          case 0xdb: temp_set=8;num_set++; break;
          case 0xd7: max_1=0;max_2=0;min_1=0;min_2=0;num_set=0; break;
         }
         while(temp!=0x0f){
          temp=P3;
          temp=(temp&0x0f);
         }
        }
       }
      }
      //定时器初始化
      void time0_init(){
       AUXR|=0X80;
       TMOD&=0XF0;
       TL0=0X00;
       TH0=0X28;
       TF0=0;TR0=1;
      }
      void time0(void) interrupt 1{
       t++;
        if(flag_jiemian==0){
         if(flag_led==0){
          if(t%200==0){
           if(num==1){
            P2=(P2&0x1f)|0x80;P0=0XFE;
            P2=P2&0x1f;
            num=0;
           }
           else if(num==0){
            P2=(P2&0x1f)|0x80;P0=0XFF;
            P2=P2&0x1f;
            num=1;
           }
          } 
         }
         else if(flag_led==1){
          if(t>80){
           t=0;
           if(num==1){
            P2=(P2&0x1f)|0x80;P0=0XFE;
            P2=P2&0x1f;
            num=0;
           }
           else if(num==0){
            P2=(P2&0x1f)|0x80;P0=0XFF;
            P2=P2&0x1f;
            num=1;
           }
          }
         }
         else if(flag_led==2){
          if(t%40==0){
           if(num==1){
            P2=(P2&0x1f)|0x80;P0=0XFE;
            P2=P2&0x1f;
            num=0;
           }
           else if(num==0){
            P2=(P2&0x1f)|0x80;P0=0XFF;
            P2=P2&0x1f;
            num=1;
           }
          }
         }
        }
      }

      温度及其他

      //温度读取
      unsigned char ds18_get(void){
       unsigned char low,high,temp;
       init_ds18b20();
       Write_DS18B20(0XCC);
       Write_DS18B20(0X44);
       Delay500us();
       init_ds18b20();
       Write_DS18B20(0xcc);
       Write_DS18B20(0xbe);
       low=Read_DS18B20();
       high=Read_DS18B20();
       init_ds18b20();
       temp=high<<4;
       temp=temp|(low>>4);
       return temp;
      }
      //延时
      void Delay500us()  //@11.0592MHz
      {
       unsigned char i, j;
       _nop_();
       _nop_();
       i = 6;
       j = 93;
       do
       {
        while (--j);
       } while (--i);
      }
      void allinit(){
       P2=0XA0;P0=0X00;
       P2=0XC0;P0=0XFF;P2=0XE0;P0=0XFF;
       P2=0X80;P0=0XFF;
      }
      void delayms(int ms){
       int q,w;
       for(q=0;q<ms;q++)
        for(w=0;w<845;w++);
      }
      void display_12(yi,er){
       P2=0XC0;P0=0X01;P2=0XE0;P0=seg[yi];
       delayms(1);
       P2=0XC0;P0=0X02;P2=0XE0;P0=seg[er];
       delayms(1);
      }
      void display_34(san,si){
       P2=0XC0;P0=0X04;P2=0XE0;P0=seg[san];
       delayms(1);
       P2=0XC0;P0=0X08;P2=0XE0;P0=seg[si];
       delayms(1);
      }
      void display_56(wu,liu){
       P2=0XC0;P0=0X10;P2=0XE0;P0=seg[wu];
       delayms(1);
       P2=0XC0;P0=0X20;P2=0XE0;P0=seg[liu];
       delayms(1);
      }
      void display_78(qi,ba){
       P2=0XC0;P0=0X40;P2=0XE0;P0=seg[qi];
       delayms(1);
       P2=0XC0;P0=0X80;P2=0XE0;P0=seg[ba];
       delayms(1);
      }

    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

问题事件

  • 创建了问题 2月21日