从51跳cortex-m0学习2——程序详解
跳cortex-m0——思想转变》之后又一入门级文章,在此不敢请老鸟们过目。不过要是老鸟们低头瞅了一眼,发现错误,还请教育之,那更是感激不尽。
与Cortex在某些操作方式上的异同,让自己对Cortex有了更深一步的了解,所以在此分享,以期对我们这些“51菜”在学习Cortex上有所帮助,文中有不对之处,还请大虾们指正。
正文
与新唐操作方式
)、在51上,我们向外写数据主要是通过P0,P1,P2,P3口,且在每个端口上分别有8个引脚。(在这里我们用端口代表P1等,用引脚代表P1^0等);而新唐上,我们主要通过PA,PB,PC向外发送数据,且在每个端口上有16个引脚。这些引脚即可以按字节/双字输出,也可以按位输出。(2的四个并行口都是双向的,其中,P0口为漏极开路驱动,P1,P2,P3口有内部上拉电阻驱动,是准双向口。而Cortex上引脚上是有个弱上拉电阻的,且其I/O类型可由软件独立地配置(即用户通过设置相应的寄存器来选择引脚是 输入、输出、开漏还是准双向)。我们在使用51是,当需要用到漏极开路模式(即不输出电压,低电平时接地,高电平时不接地。如果外接上拉电阻,则在输出高电平时电压会拉到上拉电阻的电源电压。这种方式适合在连接的外设电压比单片机电压低的时候)时,就将器件接到P0口,用到准双向模式(用做输入时被拉高,低则要靠外部电路拉低)时,器件接P1,P2,P3一样,许多I/0口都具有第二,第三功能,但是二者的控制方式有很大不同。我们在使用51时,虽然也面对引脚的第二功能,但是我们在使用第二功能时,并不需要过多的设置,只需在某个时刻的输出数据,我们编程人员自己知道他是数据还是地址即可,相应的操作我们可以在对应的时刻通过其他引脚控制片选来实现数据的流向。但是由于在新唐中,一个引脚的功能可能有多种,且未必只是地址/数据这样简单,还有一些是外部功能引脚,所以,我们在使用相应的引脚功能时,还要设置相应的寄存器。比如:我们要是用PA.15来输出PWM信号,只要向寄存器GPA_MFP中的第15位写入1,寄存器PA15_I2SMCLK中写入0即可使PA.15输出PWM信号。寄存器如下图:
从51跳cortex-m0学习2——程序详解的更多相关文章
- [转]iOS学习之UINavigationController详解与使用(二)页面切换和segmentedController
转载地址:http://blog.csdn.net/totogo2010/article/details/7682433 iOS学习之UINavigationController详解与使用(一)添加U ...
- iOS学习之UINavigationController详解与使用(二)页面切换和segmentedController
iOS学习之UINavigationController详解与使用(一)添加UIBarButtonItem是上篇,我们接着讲UINavigationController的重要作用,页面的管理和切换. ...
- iOS学习之UINavigationController详解与使用(一)添加UIBarButtonItem
http://blog.csdn.net/totogo2010/article/details/7681879 1.UINavigationController导航控制器如何使用 UINavigati ...
- [转]iOS学习之UINavigationController详解与使用(三)ToolBar
转载地址:http://blog.csdn.net/totogo2010/article/details/7682641 iOS学习之UINavigationController详解与使用(二)页面切 ...
- Linux开机启动程序详解
Linux开机启动程序详解我们假设大家已经熟悉其它操作系统的引导过程,了解硬件的自检引导步骤,就只从Linux操作系统的引导加载程序(对个人电脑而言通常是LILO)开始,介绍Linux开机引导的步骤. ...
- Linux开机启动程序详解[转]
Linux开机启动程序详解 我们假设大家已经熟悉其它操作系统的引导过程,了解硬件的自检引导步骤,就只从Linux操作系统的引导加载程序(对个人电脑而言通常是LILO)开始,介绍Linux开机引导的步骤 ...
- linux系统设置服务开机启动3种方法,Linux开机启动程序详解
linux系统设置服务开机启动 方法1:.利用ntsysv伪图形进行设置,利用root登陆 终端命令下输入ntsysv 回车:如下图 方法2:利用命令行chkconfig命令进行设置 简要说明 ...
- 跟我学机器视觉-HALCON学习例程中文详解-QQ摄像头读取条码
跟我学机器视觉-HALCON学习例程中文详解-QQ摄像头读取条码 第一步:插入QQ摄像头,安装好驱动(有的可能免驱动) 第二步:打开HDevelop,点击助手-打开新的Image Acquisitio ...
- Linux如何实现开机启动程序详解(转)
Linux开机启动程序详解我们假设大家已经熟悉其它操作系统的引导过程,了解硬件的自检引导步骤,就只从Linux操作系统的引导加载程序(对个人电脑而言通常是LILO)开始,介绍Linux开机引导的步骤. ...
随机推荐
- Android - 不管在应用的哪个activity按Home键整个App就结束了
最开始,客户反映说在用app的时候,来个电话,接完再点app,不是原来的界面,而是重启了.数据都没了,所以就在activity重写onSaveInstanceState方法,将数据保存起来.后经测试发 ...
- 转场动画2-Pop动画
上一篇试讲push动画,这篇分解pop动画 里面关于矩阵有不懂得,参考CATransform3D 特效详解 上图(虚拟机下,图是渣渣 ) 代码直接上 // // PopTransition.h // ...
- WPF利用依赖属性和命令编写自定义控件
以实例讲解(大部分讲解在代码中) 1,新建一个WPF项目,添加一个用户控件之后在用户控件里面添加几个控件用作测试, <UserControl x:Class="SelfControlD ...
- 如何为你的美术妹子做Unity的小工具(二)
你想像这样一样 为自己的Unity 小工具打开一个Unity的窗口吗? 看起来就很厉害对不对 妹子看了还不激动吗 ?!
- 转 --maven系列之二 安装与配置
http://blog.csdn.net/jiuqiyuliang/article/details/45390313 [项目管理和构建]——Maven下载.安装和配置(二) 标签: 工具开发maven ...
- HDU 5584 LCM Walk(数学题)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5584 题意:(x, y)经过一次操作可以变成(x+z, y)或(x, y+z)现在给你个点(ex, e ...
- 网络子系统48_ip协议数据帧的发送
//ip协议与l4协议接口,l4通过此接口向下l3传递数据帧 //函数主要任务: // 1.通过路由子系统路由封包 // 2.填充l3报头 // 3.ip分片 // 4.计算校验和 // 5.衔接邻居 ...
- PHP中include和require的区别
include和require的区别,其实两者没有太大的区别,如果要包含的文件不存在,include提示notice,然后继续执行下面的语句,require提示致命错误并且退出. 根据测试,win32 ...
- ObjectiveC 文件操作二
10,文件委托,以便操作文件.头部看起来像是这样. @interface MyFileManager : NSObject @property(strong)NSFileManager *fileMa ...
- SSE && WebSockets
SSE && WebSockets 参考 http://www.bitscn.com/school/HTMLCSS/201402/194940.html WebSockets 定义了一 ...
