为什么配置I/O口:

I/O端口寄存器复位后默认为输入(输出高阻态);为实现I/O端口功能需要先对端口进行I/O口初始化

配置I/O口需要的几种寄存器:

ANSELx(模拟选择寄存器):0 = 数字I/O口,1 = 模拟输入口

TRISx(数据方向控制寄存器):0=输出模式(Out),1=输入模式(In)

PORTx(读取器件引脚电平)

LATx(输出锁存器)

PORT与LAT寄存器区别:

rd port指令脉冲来的时候,管脚端平锁存到port中,也就是说要想获得正确的管脚状态,只有读取port寄存器,而如果去读lat寄存器,读到的输出锁存器的值,比如说你一开始设置管脚成输出,通过lat输出了一个0x55,然后你设置管脚成输出,这个时候管脚电平再外部电路的驱动下发生了变化编程了0x66,这个时候你读port才能读到0x66,而如果你去读lat则读到的是你上一次输出值,不是当前时刻管脚电平状态。这也就是lat和port的不同之所在。所以在做pic18的时候我们应该养成写则写lat,读则读port的好习惯

LAT是作为缓存使用的,PORT读的是I/O状态,所以,读I/O时用PORT,写I/O时用LAT。

总结一下:

1、I/O作为写输出时使用锁存器LAT;

2、I/O作为读输入时使用端口PORT;

***3.若定义IO口为输入,要得到IO端口的实际电平,则直接读取PORTx寄存器,若将IO口定义为输出,则通过写LATx来达到对IO口置高低电平操作。

4.当某个引脚配置成模拟IO时候,必须将其相应的TRISx配置成输入,这样才能读取到引脚上外部电压。

IO控制:https://blog.csdn.net/dmlk31/article/details/114162703?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522162480988116780357284144%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=162480988116780357284144&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_v2~rank_v29-5-114162703.first_rank_v2_pc_rank_v29&utm_term=pic%E6%95%B0%E5%AD%97IO%E8%AE%BE%E7%BD%AE&spm=1018.2226.3001.4187

PIC单片机I/O口控制相关推荐

  1. 51c语言单片机io口控制实验报告,单片机I/O口控制实验

    描述 实验 单片机I/O 口控制实验 一. 实验目的 利用单片机的P1 口作IO 口,使用户学会利用P1 口作为输入和输出口. 二. 实验设备及器件 IBM PC 机 一台 DP-51PROC 单片机 ...

  2. 如何使用一个单片机的IO口控制两个LED?

    简 介: 本文介绍了一种使用单个IO口独立控制两个LED点亮的方案.并对于不同颜色的LED和不同工作电压下的MCU进行了讨论.给出了在不同的颜色组合.工作电压的情况下不同的驱动方案. 关键词: IO, ...

  3. PIC单片机之I/O控制

    I/O控制对于单片机而言是最基础最核心的东西,其实单片机除了AD DA 转换之外的事情.其他大部分的事情I/O口都能做的到.I/O控制简单却能千变万化. 单片机在大部分应用中做的事情,莫过于 输入高低 ...

  4. IO口多路查理复用:三个单片机IO口控制六个LED

    简 介: 本文介绍了单片机的IO控制 LED 中的复用技术,特别查理复用基本原理和特点进行了介绍.使用一款IS31FL3731可以构成16×9的PWM亮度可控的 LED 矩阵. 关键词: 查理复用,C ...

  5. 单片机I/O口的结构的详解

    1.什么是源型 漏型?什么是上拉电阻?下拉电阻?什么是 线驱动输出 集电极开路输出,推挽式输出? 我们先来说说集电极开路输出的结构.集电极开路输出的结构如图1所示,右边的那个三极管集电极什么都不接,所 ...

  6. 《我和PIC单片机:基于PIC18》——1.2 主题芯片介绍

    1.2 主题芯片介绍 PIC单片机产品线丰富,型号众多.目前在国内介绍PIC的书籍中,大多都以具有较高性价比的中档机作为例子.为了能更加全面地展示PIC,本书是以高档的18系列单片机PIC18F452 ...

  7. PIC单片机低功耗调试心得

    PIC单片机低功耗调试心得 因项目需求,需要长时间低功耗,在调试PIC16LF18系列单片机时,发现其低功耗设置的关键地方与STM32和STM8还是有很大区别的,特别整理出来记录如下 : 1.PIC单 ...

  8. 51单片机模拟交通信号灯控制系统设计

    51单片机模拟交通信号灯控制系统设计 设计要求: 1.用LED灯模拟十字路口交通灯控制 2.正常情况下双方向轮流通行 3.特殊情况时,A方向通行 4.紧急情况时,A和B方向都不通行 本任务涉及定时控制 ...

  9. 8255总线实验 编写程序利用8255扩展单片机的IO口,控制8位数码管显示1-8。

    8255总线实验 编写程序利用8255扩展单片机的IO口,控制8位数码管显示1-8. 程序: #include<reg51.h> #include<absacc.h> #def ...

最新文章

  1. [20190402]对比_mutex_wait_scheme不同模式cpu消耗.txt
  2. 说说我的工作——桌面支持
  3. 51CTO博客 NO.1 大奖赛之后感想---奖品
  4. mysql递归查询所有上下节点_非递归打印二叉树的所有路径,保存父节点和孩子节点到底有啥差别...
  5. [ BZOJ 4668 ] 冷战
  6. curl工具使用实例
  7. xcode7打包ipa文件
  8. NYOJ-苹果(dp)
  9. 如何保持交互的可见性
  10. 连接查询(多表查询)
  11. 巧用MacOS的勿扰模式,解决广告弹窗
  12. table函数--Matplotlib
  13. 说说“用户无线网络时不时断开重连”的故障!
  14. 按哪个键锁定计算机,台式电脑键盘锁住了,按哪个键解锁
  15. 如何利用多任务学习提升模型性能?
  16. rbd feature
  17. 简单修复360安全检测提示的发现robots文件漏洞
  18. android debug SIGABRT (signal SIGABRT)
  19. 智能点餐小程序有哪些基本功能
  20. F 魏迟燕的自走棋(思维+贪心+并查集维护联通块/左部点配对边<=2的匈牙利)

热门文章

  1. idea怎么样打开introduce local variable
  2. 那些。。心神荡漾的诗句。。。
  3. WPS数据表格实现凑数(规划求解)方案
  4. 重兵集结,腾讯云、华为云齐聚分布式云?
  5. 3.一根稻草可能会压死一头牛
  6. java开发微信上传永久视频素材接口开发
  7. 朋友圈技术范儿装X指南-有向无环图
  8. C++学习笔记之提高
  9. 公司上市与不上市的有什么区别
  10. 说好的30天直播生死呢?--第一章 我的小伙伴们(二)