常州工学院单片机及应用系统设计2021-2022 学年第 二 学期 考试类型 开卷 课程编码 0302005

news2024/9/18 18:47:00

 

 

 

第一题

#include "SC95F861x_C.H"

#include <INTRINS.H>

unsigned char keydata=0;

void delay(unsigned int timer)      //延时函数

{

  while(timer>0)

timer--;

}

void IOinit()

{

P5CON=0x00;

P5PH=0x03;

P3CON=0xFF;

P3PH=0xFF;

}

void readkey()

{

if(P51==0)

{

delay(1000);      //延时去抖

if(P51==0)

{

keydata=1;

}

}

else if(P50==0)

{

delay(1000);

if(P50==0)

{

keydata=2;

}

}

}

void main()

{

unsigned char data=0x7F;

IOinit();

while(1)

{

readkey();

if(keydata==1)         //S1按下,做所有led灯循环点亮

{

P3=data;

data=_cror_(data,1);   //循环右移

delay(50000);

}

else if(keydata==2)

{

P3=0xFF;         //即S2按下,做熄灭所有led灯

}

  

}

}

第二题

#include "SC95F861x_C.H"

#include <INTRINS.H>

void delay(unsigned int timer)

{

  while(timer>0)

timer--;

}

void delay1(unsigned int timer1)

{

  while(timer1>0)

timer1--;

}

void delay2(unsigned int timer2)

{

  while(timer2>0)

timer2--;

}

void IOinit()

{

P0CON=0x03;

P0PH=0x43;

P4CON=0x00;

P4PH=0x01;

}

void EXINT0init()

{

INT0F=0x40;      //P06下降沿触发

EINT0=1;                  //打开分开关

EA=1;                    //打开总开关

}

void EXINT1init()

{

INT1F=0x01;  //        外部中断1设置为P40下降沿触发

EINT1=1;                  //打开分开关

}

void EXINT0() interrupt 0

{

delay1(1000);            //延时去抖

if(P06==0)

{

P00=0;

P01=0;

}

}

void EXINT1() interrupt 2

{

delay2(1000);         //延时去抖

if(P40==0)

{

P00=1;

P01=1;

}

}

void main()

{

IOinit();

P00=1;

P01=1;

EXINT0init();

EXINT1init();

while(1)

{

  

}

}

第三题

#include "SC95F861x_C.H"

#include <INTRINS.H>

int timer0counter=0;

int timer0counter1=0;

bit BUZZdata=0;

bit old=0;

void delay(unsigned int timer)

{

  while(timer>0)

timer--;

}

void IOinit()

{

P5CON=0x00;

P5PH=0x08;

P2CON=0x80;

P2PH=0x80;

P1CON=0x20;

}

void TIMER0init()

{

TMCON=0x00;        //设置不分频

TMOD=0x21;         //定时器0---方式1,定时器1-----方式2

TL0=(65536-2667)%256; //----1ms

TH0=(65536-2667)/256;

ET0=1;              //打开分开关

TR0=1;              //打开定时器开关

EA=1;               //打开总开关

}

void TIMER0() interrupt 1

{

TL0=(65536-2667)%256;  //方式1要手动置位

TH0=(65536-2667)/256; 

timer0counter++;

if(timer0counter>499)        //定0.5s

{

P27=!P27;

timer0counter=0;

}

if(BUZZdata==1)

{

P15=!P15;

timer0counter1++;

if(timer0counter1>4999)   //蜂鸣器响5s后停止

{

timer0counter1=0;

BUZZdata=0;

}

}

}

void readkey()

{

if(P53==0)

{

delay(1000);

if(P53==0&&old==0) //让按键只识别一次P53等于0,一直按着按键也只是别一次

{

BUZZdata=1;

old=1;

}

}

else if(P53==1)

{

old=0;

}

}

void main()

{

IOinit();

P27=0;

TIMER0init();

while(1)

{

readkey();

}

}

第四题

#include "SC95F861x_C.H"

unsigned char recv=0;

void delay(int timer)

{

while(timer>0)

{

timer--;

}

}

void IOinit()

{

P3CON=0x84;

P3PH=0x80;

P2CON=0x00;

}

void URAT0init()

{

  SCON  = 0X50;    //设置串口方式1,且允许接受

EUART = 1;      //打开分开关

TMOD=0x21;    //将定时器1设置为方式2

TH1 = (32000000 / 4800) / 256;   //设置波特率为4800

TL1 = (32000000 / 4800) % 256;

TR1 = 0;        //将定时器1开关关掉

EA=1;          //打开总开关

}

void uart0() interrupt 4

{

if(RI)

{

RI=0;

recv=SBUF;    //接收数据

if(recv==0x55)

{

P37=0;

SBUF=0x55;

}

else if(recv==0xAA)

{

P32=1;

SBUF=0xAA;

}

else if(recv==0x50)

{

P37=1;

SBUF=0x50;

}

else if(recv==0xA0)

{

P32=0;

SBUF=0xA0;

}

}

}

void main()

{

IOinit();

URAT0init();

while(1)

{

}

}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/705240.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

字节跳动算法 提前批offer复盘

作者 | zjwang 面试锦囊之面经分享系列&#xff0c;持续更新中 欢迎后台回复"面试"加入讨论组交流噢 写在前面 北航本硕&#xff0c;非科班对搜索推荐比较感兴趣&#xff0c;平时看的文章比较多&#xff0c;所以聊的比较偏这一块大四时一段五个月的nlp方向实习&…

Dlib —— Windows下Vs2017编译dlib源码

Dlib Dlib 是一个现代C工具包&#xff0c;包含机器学习算法和 用于创建复杂软件的工具&#xff0c;C解决现实世界的问题。 它用于工业界和学术界的广泛领域 包括机器人、嵌入式设备、手机和大型高 性能计算环境。Dlib的开源许可允许您在任何应用程序中免费使用它。   Dlib相关…

项目计划、进度与控制

思维导图 项目计划、进度与控制-思维导图 第一部分 项目管理概述 什么是项目 约瑟夫朱兰博士也说过&#xff0c;项目就是在已经确定好的时间内必须解决的问题 什么是项目管理 图1-1 项目管理就是工具、人和系统 image.png 组织是人的集合&#xff0c;过程是人在处理。如果人…

Docker cuda libnvidia-compute Invalid cross-device link

docker apt 安装 cuda rootyeqiang-PC:/opt/speccpu2006# docker exec -it 881 /bin/bash root8815d0425401:/# apt --fix-broken install Reading package lists... Done Building dependency tree Reading state information... Done Correcting dependencies... Don…

Redis 事务与数据持久化

目录 一、Redis 事务 1.1 事务本质 1.2 数据库事务与redis事务 1.2.1 数据库事务 1.2.2 Redis事务 1.2.2.1 两种错误不同处理方式 1&#xff09;代码语法错误&#xff08;编译时异常&#xff09; 2&#xff09;代码逻辑错误&#xff08;运行时错误&#xff09; 1.2.2.2 这种做…

线性代数行列式的几何含义

行列式可以看做是一系列列向量的排列&#xff0c;并且每个列向量的分量可以理解为其对应标准正交基下的坐标。 行列式有非常直观的几何意义&#xff0c;例如&#xff1a; 二维行列式按列向量排列依次是 a \mathbf{a} a和 b \mathbf{b} b&#xff0c;可以表示 a \mathbf{a} a和…

目标检测mAP

概述 AP (Average precision) is a popular metric in measuring the accuracy of object detectors like Faster R-CNN, SSD, etc. Average precision computes the average precision value for recall value over 0 to 1. It sounds complicated but actually pretty simple…

安卓热修系列-插件资源冲突解决方案

作者&#xff1a;37手游移动客户端团队 背景 在做插件化过程中&#xff0c;宿主需要用到插件的资源&#xff0c;涉及到加载插件的资源&#xff1b; 因为插件是以apk的方式存在的&#xff0c;所以插件的ID和宿主的ID可能导致重复&#xff1b; 为了解决这个问题&#xff0c;需…

[游戏开发][Unity]点击Play按钮卡顿特别久

一般小工程不会遇到这个问题&#xff0c;我在公司接手了几个老项目&#xff0c;都遇到了这个问题。每次Play卡顿几分钟甚至十几分钟&#xff0c;很是头疼。

DL学习11-nin-mnist

对于使用卷积神经网络加全连接层的结构而言&#xff0c;对于全连接的参数的巨大了&#xff0c;对于简单的任务容易造成过拟合&#xff0c;且会增加模型的额外开销&#xff0c;例如alexnet&#xff0c;vgg等&#xff0c;全连接层的开销会随着参数的增加而爆炸式增长。 nin旨在使…

ELK增量同步数据【MySql->ES】

一、前置条件 1. linux&#xff0c;已经搭建好的logstasheskibana【系列版本7.0X】&#xff0c;es 的plugs中安装ik分词器 ES版本&#xff1a; Logstash版本&#xff1a; &#xff08;以上部署&#xff0c;都是运维同事搞的&#xff0c;我不会部署&#xff0c;同事给力&#…

动态SLAM论文(3) — Detect-SLAM: Making Object Detection and SLAM Mutually Beneficial

目录 1 Introduction 2 Related Work 3 Detect-SLAM 3.1 移动物体去除 3.2 Mapping Objects 3.3 增强SLAM检测器 4 实验 4.1 动态环境下的鲁棒SLAM 4.2. 提升检测性能 5 结论 Abstract&#xff1a;近年来&#xff0c;在SLAM和目标检测方面取得了显著进展&#xff0c;…

使用python sdk添加删除阿里云pvc路由

1. 前言 由于线路供应商sdwan存在单点问题&#xff0c;需要实现线路高可用解决方案&#xff0c;需要设计自动切换阿里云vpc路由解决方案。通过阿里云文档了解&#xff0c;可通过阿里云专有网络Python SDK&#xff0c;通过sdk实现创建、删除、查询等vpc网络相关操作&#xff08…

如何与德科斯米尔Draexlmaier 建立 EDI 连接?

德科斯米尔Draexlmaier&#xff08;以下简称为DRX&#xff09;是一家总部位于德国的汽车零部件供应商和系统集成商&#xff0c;如今已成为全球领先的汽车内部装饰系统、电气和电子系统、电缆技术以及储能系统的制造商之一。EDI 帮助DRX与其交易伙伴之间实现信息流的一致性、无误…

CHATGPT使用笔记

CHATGPT是帮你做事&#xff0c;而不是替你做事 1、联网插件&#xff1a; 使用Webpilot插件联网时还可以同时使用其它两种插件&#xff08;一次可以同时使用三个插件&#xff09;&#xff0c;而使用Web Browsing插件功能联网时无法使用插件功能&#xff08;联网功能和插件只能…

SpringBoot2+Vue2实战(八)文件上传实现

一、文件上传 创建数据库表 Files import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data;Data TableName("sys_file") public cl…

18.RocketMQ中消息重复的场景和幂等处理

highlight: arduino-light 消息重复的场景 发送消息异常,重试发送导致消息重复★ 当一条消息已被成功发送到服务端并完成持久化。此时出现网络闪断或者客户端宕机&#xff0c;导致服务端对生产者的确认应答失败。生产者发送消息到mq时发送成功未获取到响应,然后生产者进行消息发…

信号链噪声分析18

文章目录 概要整体架构流程技术名词解释技术细节小结 概要 提示&#xff1a;这里可以添加技术概要 到目前为止&#xff0c;我们考虑的是基带采样情况&#xff0c;即所有目标信号均位于第一奈奎斯特区内。 图 显示了另外一种情况&#xff0c;其中采样信号频带局限于第一奈奎斯…

5.8.1 TCP概述

5.8.1 TCP概述 TCP是在Internet中TCP/IP协议家族中最为重要的协议之一&#xff0c;因特网中各种网络特性参差不齐&#xff0c;所以必须要有一个功能很强的互联网可靠传输协议的要求&#xff0c;TCP特点要与UDP特点对比来看。 UDP特点TCP特点无连接面向连接不可靠的服务可靠的…

一文详解!自动化测试如何管理测试数据

目录 前言 脚本与数据捆绑 配置文件 测试文件 数据库管理 数据平台 综述 前言 测试数据管理是自动化测试中非常重要的一环&#xff0c;它涉及到数据的创建、存储、维护和管理。 在之前的自动化测试框架相关文章中&#xff0c;无论是接口自动化还是UI自动化&#xff0c…