Acadia Lab 203 + Lab 231

在做完 Lab 6 之后,惊觉选做实验缺口很大,于是遍历了一遍夏任务,找到了一条最省力的路线。

做完 Lab 6 的连线不用拆,可以接下来做以下两个实验:

Lab 203 网络时钟

核心代码如下:

void write_data(int dat)

{
    int i=0,temp;
    RS_H;
    EN_L;
    temp=dat & 0xf0;
    for (i=0; i < 4; i++)
    {
        if (temp&0x80)
            digitalWrite(DB[i],HIGH);
        else
            digitalWrite(DB[i],LOW);
        temp <<= 1;
        delay(1);
    }
    EN_H;
    delay(10);
    EN_L;
    temp=(dat & 0x0f)<<4;
    for (i=0; i < 4; i++)
    {
        if (temp&0x80)
            digitalWrite(DB[i],HIGH);
        else
            digitalWrite(DB[i],LOW);
        temp <<= 1;
        delay(1);
    }
    EN_H;
    delay(10);
    EN_L;
}

视频地址如下:

http://v.youku.com/v_show/id_XMTI2MTkxNTA5Mg==.html

Lab 231 计算器

核心代码如下:

void getResult(void){
    char c;
    op1=0;
    op2=0;
    while((c = getchar())!=‘ ‘){
        op1 = op1*10 + c - 48;
    }
    op=getchar();
    c = getchar();
    while((c = getchar())!=‘ ‘&&c!=‘\n‘){
        op2 = op2*10 + c - 48;
    }
    switch(op){
        case ‘+‘: result_num=op1+ op2; break;
        case ‘-‘: result_num = op1- op2; break;
        case ‘*‘: result_num = op1* op2; break;
        case ‘/‘: result_num = op1/ op2; break;
    }
    int i=31;
    if(result_num >=0){
        while(result_num!=0){
            result[i]= result_num %10+48;
            result_num = result_num /10;
            i--;
        }
    }
    else if (result_num==0)result[i]=‘0‘;
    else{
        result_num =- result_num;
        while(result_num!=0){
            result[i]=result_num %10+48;
            result_num = result_num /10;
            i--;
        }
        result[i]=‘-‘;
        i--;
    }
    while(i>0){
        result[i]=‘ ‘;
        i--;
    }
}

视频地址如下:

http://v.youku.com/v_show/id_XMTI2MTkzMzY0NA==.html

时间: 2024-08-09 18:07:47

Acadia Lab 203 + Lab 231的相关文章

Acadia Lab 228 + Lab 222

又是一对串烧实验,布好线后非常方便就可以一起完成. 连线方案一模一样: Lab 228 数码管骰子 核心代码如下: def loop() : global cnt global btn_read,sec,on gpio.digital_write(channel[8],LOW) gpio.digital_write(channel[9],LOW) gpio.digital_write(channel[10],LOW) gpio.digital_write(channel[11],HIGH) di

CSAPP 3e: Bomb lab (phase_2) + lab中的GDB 使用

这里是第二关,在这里分享一些在解题过程中用到的GDB功能. 首先,要进行断点,比如,在第二关中,断点操作有: 81: input = read_line(); 82: phase_2(input); 83: phase_defused(); break 81; break 82; break 83; 分别在read_line,phase_2,phase_defused,三个函数入口进行了断点. 另外,还有一个地方需要断点,那就是explode_bomb:操作:break explode_bomb

6.824 Lab 5: Caching Extents

Introduction In this lab you will modify YFS to cache extents, reducing the load on the extent server and improving YFS performance. The main challenge is to ensure consistency of extents cached at different yfs_clients: to make sure that each yfs_cl

java模拟一个简单的QQ

效果图:       1 package testFour; 2 3 import java.awt.Color; 4 import java.awt.Dimension; 5 import java.awt.FontMetrics; 6 import java.awt.Graphics; 7 import java.io.ByteArrayInputStream; 8 import java.io.IOException; 9 import java.io.InputStream; 10 im

CF 609E, 树链剖分

题目大意:给你一个联通无向图,问你包含某条边的最小生成树的大小是多少 解:做一个最小生成树,如果询问边在树上,则答案是最小生成树,否则则是这条边+树构成的环上去掉一条最大树边后得到的树.这里用树剖处理即可. 有个sb错误,因为问题是边权,而树剖的链一般是以点为单位,如果采用边权下放到点的技巧的话,注意lca的点权不要计算进来. 1 #include <cstdio> 2 #include <iostream> 3 #include <algorithm> 4 #incl

抽奖升级版 可以经表格数据导入数据库,抽奖设置,补抽

1 using System; 2 using System.Collections.Generic; 3 using System.ComponentModel; 4 using System.Data; 5 using System.Drawing; 6 using System.Drawing.Imaging; 7 using System.Linq; 8 using System.Text; 9 using System.Threading.Tasks; 10 using System.

2018-2019 ICPC, NEERC, Southern Subregional Contest (Online Mirror) Partial Solution

从这里开始 题目列表 瞎扯 Problem A Find a Number Problem B Berkomnadzor Problem C Cloud Computing Problem D Garbage Disposal Problem E Getting Deals Done Problem F Debate Problem G Monsters and Potions Problem H BerOS File Suggestion Problem I Privatization of

ios设置UILabel中文字的不同颜色和字体字号

参考博客:http://blog.csdn.net/woaifen3344/article/details/38352099    http://www.cnblogs.com/whyandinside/archive/2013/12/27/3493475.html 要使UILabel显示不同的字体,需要设置其 attributedText属性 该属性是NSMutableAttributedString/NSAttributedString类型; NSAttributedString是一个带有属

OpenCV 源码中分水岭算法 watershed 函数源码注解

为了研究分水岭算法,阅读了OpenCV 2.4.9 中watershed函数的源码实现部分,代码位于 opencv\sources\modules\imgproc\src\segmentation.cpp 文件中.先贴出加了注解的代码,以后补充对分水岭算法的解释. #include "precomp.hpp" /******************************************************* Watershed **********************