从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开机引导的步骤. ...
随机推荐
- .Net 利用消息在进程间通讯实现进程互操作
有时候我们会遇到需要在两个进程间通过某种方式实现互操作,方法有很多,例如你可以尝试让两个进程持续监视一个外部文件,由此文件记录各自进程的数据:还有可以使用网络端口实现进程间通讯.共享一片内存区域记录及 ...
- js高程笔记--创建对象
1.工厂模式 ex: function createPerson( name, age, job) { var o = new Object() ; o.name = name; o.job = jo ...
- hive j简单邮件过滤
select min(call_log), a.mail_subject from (select mail_to,mail_subject from dw_user_deviler_201408 w ...
- 多关键字排序(里面有关于操作符(<<运算符 和 >>运算符 )的重载)
一种排序 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 现在有很多长方形,每一个长方形都有一个编号,这个编号可以重复:还知道这个长方形的宽和长,编号.长.宽都是整数:现 ...
- BZOJ 2434: [Noi2011]阿狸的打字机( AC自动机 + DFS序 + 树状数组 )
一个串a在b中出现, 那么a是b的某些前缀的后缀, 所以搞出AC自动机, 按fail反向建树, 然后查询(x, y)就是y的子树中有多少是x的前缀. 离线, 对AC自动机DFS一遍, 用dfs序+树状 ...
- Android 中Java和JavaScript交互入门
如何实现JavaScript 和java 交互 实现Java和js交互十分便捷.通常只需要以下几步. WebView开启JavaScript脚本执行 WebView设置供JavaScript调用的交互 ...
- python 字符串探讨
本文内容基于python3 几乎所有有用的程序都会涉及到某些文本处理,不管是解析数据还是产生输出.字符串的学习是重点中的重点,这一节将重点关注文本的操作处理,比如提取字符串,搜索,替换以及解析等.大部 ...
- jQuery 插件入门
先看http://www.cnblogs.com/lideng/p/3605551.html http://www.cnblogs.com/xcj26/p/3345556.html (非常细致 很多 ...
- 常见iis错误之一
1.win7配置iis 出现:HTTP 错误 403.14 - Forbidden 打开 IIS 管理器. 在“功能”视图中,双击“目录浏览”. 在“目录浏览”页上,在“操作”窗格中单击“启用”. 确 ...
- Pro/Engineer wildfire 5.0 野火版系列下载及安装方法
三.PTC Pro/Engineer wildfire 5.0 M030 野火版最新版 DVD 下载(多国语言) 1.野火下载站下载32&64位下载:[32位] http://down.pro ...
