(一)GPIO概念
GPIO(general purpose intput output)是通用输入输出端口的简称,可以通过软件来控制其输入和输出。单片机芯片的 GPIO 引脚与外部设备连接起来,从而实现与外部通讯、控制以及数据采集的功能。GPIO 最简单的应用应该是点亮 LED 灯,只需通过软件控制 GPIO 输出高低电平即可。当然 GPIO 还可以作为输入控制,比如在引脚上接入一个按键,通过电平的高低判断按键是否按下。
以下几类引脚:
(1)电源引脚:引脚中的 VCC、 GND 都属于电源引脚。
(2)晶振引脚:引脚中的 XTAL1、XTAL2 都属于晶振引脚。
(3)复位引脚:引脚中的 RST 属于复位引脚,不做其他功能使用。
(4)下载引脚:单片机的串口功能引脚(TXD、RXD)可以作为下载引脚使用。
(5)GPIO 引脚:引脚图中带有 Pxx 等字样的均属于 GPIO 引脚。
(二)寄存器介绍
1.I/O端口数据寄存器(Px)
2.端口模式配置寄存器(PxM0,PxM1)
3.配置端口模式
STC8H 系列单片机所有的 I/O 口均有 4 种工作模式:
(1)准双向口模式:允许一个IO口在不同的时间点既可以作为输入口又可以作为输出口,实现输入和输出的灵活切换。
(2)推挽模式:高电平与低电平均可提供一定强电流
(3)开漏输出模式:限低电平模式下可通过强电流(较通用IO模式),而高电平需外部提供。
(4)高阻输入模式:输入和输出均为高阻,直接阻断。
指令语法
(1)"sfr"指令:
用来直接描述硬件地址。小白先解成一组IO口的起始地址中数据
sfr P0 = 0x80; //对’
(2)"sbit"指令:
对应可位导址空间的一个位,小白先理解成"一个IO口/针脚"的地址中的数据。
sbit P00 = P0^0;//也就是对P0口全部给0
4.示例
(1)端口初始化
注意:实际上了解一下就好,一般封装在官方头文件stc8h.h中
(2)设置延时函数
(3)主函数
(4)编译运行+烧录代码
实验现象
P20端口上的led灯每隔0.5s(500ms)闪烁一次!是不是特别神奇!恭喜你获得“点灯大师”的称号!!!