设为首页
收藏本站
开启辅助访问
登录
立即注册
只需一步,快速开始
会员
首页
BBS
文章
Portal
教程
最新
供电设计
联系我
直达
搜索
搜索
图文教程
磁力开关
馈电开关
采煤机
华宁集控
高爆开关
掘进机
视频教程
初入煤电
组合开关
移变低馈
资料下载
书籍
标规
资料
说明书
社区分类
煤电入门
煤电维修
维修电工
电气软件
电子技术
工控自动
本版
文章
帖子
百技网
»
首页
›
电子技术
›
单片机
›
PIC单片机16F84的内部硬件资源(三)
返回列表
发新帖
PIC单片机16F84的内部硬件资源(三)
[复制链接]
2111
|
1
|
2011-9-7 22:36:27
|
显示全部楼层
|
阅读模式
<
4 I/O口
单片机
作为一个控制器件必定有数据输入和输出。输入量可能是温度、压力、转速等,而输出量可能是开关量和数据,以保证受控过程在规定的范围内运行。数据的输入和输出都需通过单片机内部有关电路,再与引脚构成输入/输出(I/O)端口。PIC16F84单片机芯片有两个I/O端口(PROTA和PORTB)。端口A为5位口,端口B为8位口,共占用13位引脚。每个端口由一个锁存器(即数据存储器中的特殊功能寄存器05H、06H单元)、一个输出驱动器和输入缓冲器等组成。当把I/O口作输出时,数据可以锁存;作输入口时,数据可以缓冲。
16F84 PORTA口中的RA4是斯密特触发输入、漏极开路输出。而其它的RA口引脚都是TTL电平输入和全CMOS驱动输出。端口PORTB是一个八位双向可编程I/O口。各端口虽然也由锁存器、驱动器、缓冲器等构成,但因功能略有不同而导致电路亦存在差别。现以PORTA口的RA0 ~RA3的电路(见左图)为例,说明其基本工作原理。
图中RA口的I/O引脚是由数据方向位(寄存器TRISA)来定义数据流向。当TRISA寄存器的位置为“1”时,其输出驱动器(由P沟道和N沟道MOS管串接而成)呈高阻态,即两个MOS管均截止,I/O口被定义为输入。此时,数据由I/O端输入,经TTL输入缓冲器到D触发器。当执行读指令时,此D触发器使能,数据经三态门进入数据总线。
当TRISA的位置为“0”时,I/O口被定义为输出,此时输出锁存器的输出电平就是I/O口的输出电平。
读PORTA寄存器的结果就是读取I/O引脚上的电平,而写PORTA寄存器的结果是写入I/O锁存器。所有的写I/O口的操作都是一个“读入/修改/写入”的过程,即先读I/O引脚电平,然后由程序修改(按要求给定一个值),再置入I/O锁存器。
PIC16F84单片机的输出可提供20mA的电流,所以它可直接驱动LED。PORTA和PORTB各个位均可分别定义为输入和输出。下面以PORTA口初始化程序的实例,说明选择I/O口的方法。
CLRF PORTA;端口A被清零
BSF STATUS;状态寄存器STATUS的RPO位置为1,选BANK1。
MOVLW 0xCF ;将定向值
;11001111置入W工作寄存器
MOVWF TRISA;置RA(3~0)位为输入
;RA 5?4位为输出
;TRISA 7?6位未用
在使用I/O口时应注意:
(1)当需要一个I/O口一会做输入、一会又做输出时,输出值会不确定。
(2)I/O引脚输出驱动电路为CMOS互补推挽输出。当其为输出状态时,不能与其它输出脚接成“线或”或“线与”,否则,会因电流过载烧坏单片机。
(3)当对I/O口进行写操作后不宜直接进行读操作,一般要求在两条连续的写、读指令间至少加入一条NOP指令。
例:MOVWF 6 ;写I/O
NOP ;稳定I/O电平
MOVF 6,W;读I/O
5?堆栈
单片机执行程序时,常常要执行调用子程序。这样就产生了一个问题:如何记忆是从何处调用的子程序,以便执行子程序之后正确返回。此外,在程序执行过程中,还可能会发生中断,转而执行中断子程序,这时,又如何记忆从何处中断,以便返回呢?
满足上述功能的方法就是“堆栈”技术。
“堆栈”是一个用来保存临时数据的栈区。当主程序调用子程序时,单片机执行到CALL指令或发生中断时,就自动将下一条指令的地址“压栈”保存到栈区。当子程序结束,单片机执行返回指令时,就自动地把栈区的内容“弹出”,作为下步指令执行的新地址。
PIC16F84单片机芯片内有一个8级13位宽(与PC同宽)的硬件堆栈,此堆栈既不占用程序存储空间,也不占用数据存储空间。当执行一条CALL指令或一个中断被响应后,程序计数器PC中的断点地址就自动被压栈(PUSH)保护,而当执行RETURN、RETLW或者RETFIE指令时,堆栈中的断点地址会弹回(POP)程序计数器PC中。无论是PUSH还是POP操作,都不影响PCLATH寄存器的内容。 ?成都 卫东
知识竞赛试题:
19?简述PIC单片机I/O口的功能。
单片机
,
pic
,
pic单片机
热帖推荐
dzx2.5 template\default\forum\viewthread_node_body.htm代码调用注释
AutoCAD Electrical 2012插入元器件时总提醒“未知命令”的结决办法
AutoCAD Electrical 高版本画的图,如何在低版本中打开。
安装AutoCAD Electrical 2012时只选了一个制造商,现在如何增加制造商目录
千万不要安装AutoCAD Electrical 2012版
抓安全重在预防
破解中小煤矿安全管理难题
矿工生产环境与心理
煤矿自主安全文化的探索与实践
安全生产周期浅析
国家安全生产监督管理总局令第10号
国家安全生产监督管理局令(《国有煤矿瓦斯治
相关帖子
•
台达PLC 在净水设备中的应用
•
单片机数据采集模块
•
基于GSM和PIC单片机的无人清洁护理机的设计
•
基于ATmega16单片机的实时温度采集与分析系统
•
啥是单片机
•
单片机的调光控制器设计
•
单片机控制的可控硅全波半控桥触发电路
•
关于单片机控制的电线探测仪的一些问题
•
徐州科达400馈电开关,送电显示单片机连接失败,有知道怎么回事吗?
回复
举报
huangshan
|
2011-9-7 22:36:29
|
显示全部楼层
20?PIC16C64A/RL64与PIC16C65的管脚数相等,管脚功能相近,但PIC16C64A/RL64的{16}脚无CCP2、{25}脚无TX/CK、{26}脚无RX/DT等功能,试绘出PIC16C64A/RL64的管脚功能图。
回复
支持
反对
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
yangcun
回复楼主
返回列表
电子基础
电子制作
单片机
器件应用
图文推荐
如何升级VIP用户组
2018-01-13
软启动器的工作过程
2018-12-26
天津华宁KTC101主控器的内部结构
2021-05-14
煤矿电工教程:10、风机开关过流、短路、断相保护工作原理
2022-03-12
矿用防爆软启开关教程——13、软启开关近控启动过程
2020-02-15
热门排行
1
KJZ1-200(400)馈电开关原理分析
2
这个电气元件符号你认识吗?
3
煤矿电工教程:10、风机开关过流、短路、断相保护工作原理
4
馈电开关漏电闭锁故障维修_成伟维修笔记1
5
馈电开关漏电闭锁故障的维修_成伟维修笔记7
6
馈电开关漏电试验不跳闸故障维修_成伟维修笔记4
7
煤矿风机开关教程:11、过、欠压保护相关参数的设置
8
煤矿高压防爆开关漏电保护的研究
9
天津华宁KTC101主控器的内部结构
10
高防开关短路跳闸故障的维修_成伟维修笔记8