位运算、芯片封装方式、中断、定时器

news2025/1/21 22:10:34

我要成为嵌入式高手之4月3、7日51单片机第一、二天!!
————————————————————————————

裸机驱动:51 -> s3c2440 -> linux

Soc片上系统

位运算

高位:MSB        地位:LSB

按位与:指定位清零

按位或:指定位置一

按位异或:同0异1,指定位翻转

MCU:微控制单元

MPU:微处理单元(有比较复杂的运算功能)

CPU:中心处理单元

GPU:图像处理单元

IDE:集成开发环境

ARM:CPU架构

        ARM也是个公司名,负责设计架构

ram:随机访问存储器

rom:只读存储器

        flash组成的存储器:非易失性

GPIO:通用目的输入输出

        general \ purpose \ in \ out

双列直插封装方式 :

贴片封装方式:

监测按键是否按下:P1.4~P1.7是否为低电平

        0:按下

        1:未按下(按键不按为高电平)

中断

什么是中断

        当中央处理机CPU正在处理某件事的时候外界发生了紧急事件请求,要求CPU暂停当前的工作,转而去处理这个紧急事件,处理完以后,再回到原来被中断的地方,继续原来的工作,这样的过程称为中断。

中断类型

        EINT(低有效):外部中断(EINT0 \ EINT1)

中断向量表

本质是个数组,装的所有元素都是指针,指针的基类型是函数

每个成员的下标代表一个中断号

注:由于arm s3c2440没有优先级嵌套,故在此中断优先级不考虑

中断使用方法

51单片机中断可以由两种方式触发:

        1、沿触发(从高到低下降沿触发)

        2、只要是低电平就会一直产生中断

需要将IE0  EX0  EA三个开关打开

开关如何使用

IP/IPH寄存器,用来设置中断优先级,在此不用 

SCON寄存器是串口1使用的中断,在此不用

T2CON寄存器是定时器2的中断,51没有定时器2,在此不用

 需要设置的是EA和EX0这两位、使用外部中断0

TF1:用来查询的且与定时器1有关

IE0:记得要顺手清零(不清零的后果是会重复执行中断)51会自动清零,但是有些就需要手动清零

IT0:设置两种触发方式

//初始化外部中断
void EINTInit(void)
{	
	P3 |= ((1 << 2)|(1 << 3));//P3.2,P3.3设置为高电平
	IE |= ((1 << 7) | (1 << 0) | (1 << 2));//IE设置第七位和第零位
	TCON |= ((1 << 0) | (1 << 2));//TCON第0位设置为1:下降沿触发模式
}

指令周期和机器周期

指令周期:1M —结构造成每12个机器周期才能执行一条指令

机器周期:12M—晶振的频率

故counter自增一次需要1/1M s,即10^-6 s / 1微秒

———————————————————————————————————————————

定时器

51提供2个定时器:定时器0和定时器1

        T0:timer0

        T1:timer1

counter相当于 TL0 和 TL1

真正要设置的只有TCON 和 TMOD

 使用定时器0主要操作TR0

定时器0:

        操作后四位

        TMOD.3 和 TOMD.4都需要清零 

        M1 = 0; M0 = 1:16位定时器

———————————————————————————————————————————

中断处理流程

1、中断源发出中断请求

2、CPU查询是否允许中断和该终端是否被屏蔽

3、CPU查询中断优先级

4、保护现场(和栈有关)

5、执行中断函数

6、恢复现场

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

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

相关文章

如何从应用商店Microsoft Store免费下载安装HEVC视频扩展插件

在电脑上打开一张HEIC类型的图片提示缺少HEVC解码器&#xff0c;无法打开查看&#xff0c;现象如下&#xff1a; 这种情况一般会提示我们需要下载安装HEVC解码器&#xff0c;点击“立即下载并安装”会跳转到应用商店&#xff0c;但是我们发现需要付费7元才能下载安装 免费安装…

七、Ajax(Django开发)

Ajax&#xff08;Django开发&#xff09; 知识点的回顾&#xff1a;1.Ajax请求2.订单小结3.图表4.关于文件上传4.1基本操作案例&#xff1a;批量上传数据案例&#xff1a;混合数据&#xff08;Form&#xff09;4.2启用media案例&#xff1a;混合数据&#xff08;form&#xff0…

如何理解图像处理领域的病态问题(ill-posed problem)

ill-posed problem&#xff0c;我们可以理解为病态问题或者不适定问题。在本文中&#xff0c;统一成为不适定问题。 在讨论不适定问题&#xff08;ill-posed problem&#xff09;之前&#xff0c;我们先来看一下什么叫适定性问题&#xff08;well-posed problem&#xff09;。…

计算机视觉——基于深度学习检测监控视频发生异常事件的算法实现

1. 简介 视频异常检测&#xff08;VAD&#xff09;是一门旨在自动化监控视频分析的技术&#xff0c;其核心目标是利用计算机视觉系统来监测监控摄像头的画面&#xff0c;并自动检测其中的异常或非常规活动。随着监控摄像头在各种场合的广泛应用&#xff0c;人工监视已经变得不…

SAP HCM PT 2003修改班次,PP61无法自动更新

今天遇到一个问题&#xff0c;2003修改班次以后PP61无法自动更新&#xff0c;开始一直以为是什么配置点漏掉&#xff0c;但是发现开发机没问题&#xff0c;后来发现是用户选保存的时候选中目标计划的完成&#xff0c;这个是保存到实际计划的&#xff0c;数据存储psoll中&#x…

【引子】C++从介绍到HelloWorld

C从介绍到HelloWorld 一、C的介绍1. 简介2. 应用场景3. C的标准![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/e3efb0f207f647729b92c0b5bcd4b330.png)4. C的运行过程 二、Visual Studio的安装1. 什么是Visual Studio2. Visual Studio的安装 三、完成HelloWorld1.…

Redis 之集群模式

一 集群原理 集群&#xff0c;即Redis Cluster&#xff0c;是Redis 3.0开始引入的分布式存储方案。 集群由多个节点(Node)组成&#xff0c;Redis的数据分布在这些节点中。 集群中的节点分为主节点和从节点&#xff1a;只有主节点负责读写请求和集群信息的维护&#xff1b;从…

51单片机之串口通信

目录 1.串口简介 1.1TXD和RXD 1.2通讯接口 1.3通信方式 1.4 51单片机的UART模式 2.串口配置 2.1寄存器简介 SCON寄存器配置 PCON配置 2.2代码配置串口 2.2.1 配置串口发送数据 2.2.2配置电脑向单片机发送数据点亮LED 1.串口简介 串口是一个应用十分广泛的通讯接口&am…

【Java集合进阶】LinkedList和迭代器的源码分析泛型类、泛型方法、泛型接口

&#x1f36c; 博主介绍&#x1f468;‍&#x1f393; 博主介绍&#xff1a;大家好&#xff0c;我是 hacker-routing &#xff0c;很高兴认识大家~ ✨主攻领域&#xff1a;【渗透领域】【应急响应】 【Java】 【VulnHub靶场复现】【面试分析】 &#x1f389;点赞➕评论➕收藏 …

项目架构MVC,DDD学习

写在前面 本文一起看下项目架构DDD&#xff0c;MVC相关的内容。 1&#xff1a;MVC 不管我们做什么项目&#xff0c;自己想想其实只是做了三件事&#xff0c;如下&#xff1a; 其实&#xff0c;这三件事完全在一个类中做完也可以可以正常把项目完成的&#xff0c;就像下面这…

MySQL-主从复制:概述、原理、同步数据一致性问题、搭建流程

主从复制 1. 主从复制概述 1.1 如何提升数据库并发能力 一般应用对数据库而言都是“读多写少”&#xff0c;也就说对数据库读取数据的压力比较大&#xff0c;有一个思路就是采用数据库集群的方案&#xff0c;做主从架构、进行读写分离&#xff0c;这样同样可以提升数据库的并…

mysql结构与sql执行流程

Mysql的大体结构 客户端&#xff1a;用于链接mysql的软件 连接池&#xff1a; sql接口&#xff1a; 查询解析器&#xff1a; MySQL连接层 连接层&#xff1a; 应用程序通过接口&#xff08;如odbc,jdbc&#xff09;来连接mysql&#xff0c;最先连接处理的是连接层。 连接层…

【Linux】达梦数据库安装部署(附详细图文)

目录 一、安装前的准备工作 1.检查操作系统配置 &#xff08;1&#xff09;获取系统位数 getconf LONG_BIT &#xff08;2&#xff09;查看操作系统release信息 cat /etc/system-release &#xff08;3&#xff09;查询系统名称 uname -a &#xff08;4&#xff09;查看操…

基于Spring Boot的网上书城系统(带文档)

主要功能 本次设计任务是要设计一个网上书城管理系统&#xff0c;通过这个系统能够满足网上书城的管理及用户的图书信息管理及购物功能。系统的主要功能包括&#xff1a;首页、个人中心、用户管理、图书类型管理、图书分类管理、图书信息管理、我的收藏管理、系统管理、订单管…

websocket实践

文章目录 背景WebSocket API使用场景优点 实例步骤 1: 设置 WebSocket 服务器步骤 2: 创建客户端 HTML 页面步骤 3: 测试 WebSocket 通信注意事项实际操作 参考资料 WebSocket 是一种在单个 TCP 连接上进行全双工通信的协议。它使得浏览器和服务器只需建立一个连接&#xff0c;…

SWM341系列应用(MPU屏应用)

SWM341系列 MPU屏应用 1、MPU屏写入时序设置&#xff08;设置单位为周期&#xff09;&#xff0c;根据ST7789规格书规定的最小时序要求&#xff0c;建议MPU屏时序按照ST7789手册配置,建议配置的参数注释。例如WRRise_CSRise&#xff0c;时序图要求是最低10ns&#xff0c;根据计…

1.8.3 卷积神经网络近年来在结构设计上的主要发展和变迁——GoogleNet/inception-v1

1.8.3 卷积神经网络近年来在结构设计上的主要发展和变迁——GoogleNet/ inception-v1 前情回顾&#xff1a; 1.8.1 卷积神经网络近年来在结构设计上的主要发展和变迁——AlexNet 1.8.2 卷积神经网络近年来在结构设计上的主要发展和变迁——VGGNet GoogleNet问题 在VGGNet简单堆…

分类预测 | Matlab实现ABC-LSSVM人工蜂群算法优化最小二乘支持向量机数据分类预测

分类预测 | Matlab实现ABC-LSSVM人工蜂群算法优化最小二乘支持向量机数据分类预测 目录 分类预测 | Matlab实现ABC-LSSVM人工蜂群算法优化最小二乘支持向量机数据分类预测分类效果基本介绍程序设计参考资料 分类效果 基本介绍 1.Matlab实现ABC-LSSVM人工蜂群算法优化最小二乘支…

Redis中的Sentinel(六)

Sentinel 选举领头Sentinel. 当一个主服务器被判断为客观下线时&#xff0c;监视这个下线主服务器的各个Sentinel会进行协商&#xff0c;选举出一个领头Sentinel,并由领头 Sentinel对下线主服务器执行故障转移操作。以下是Redis选举领头Sentinel的规则和方法: 1.所有在线的S…

LabVIEW厂房漏水检测监控系统

LabVIEW厂房漏水检测监控系统 随着信息技术和智能制造的快速发展&#xff0c;对于精密仪器和重要物品存放场所的环境监控日益重要&#xff0c;特别是防止漏水带来的潜在风险。漏水不仅可能导致珍贵资料或仪器的损坏&#xff0c;还可能引发安全事故&#xff0c;给企业和研究机构…