PIC单片机在读I/O口的时候需要对寄存器写一吗?
来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/18 07:24:31
PIC单片机在读I/O口的时候需要对寄存器写一吗?
对于PIC单片机来讲,要想读出某个I/O口的电平值,首先应该设置管脚为输入方式(对应寄存器TRISx),然后读取管脚电平值就可以了.当然如果管脚有第三功能(例如AD口或者SPI总线等)还要考虑首先要设置其为普通数字IO口.例如读取RA0口的电平值:
ANSELA = 0x00; //因为RA0一般都有AD的功能,通过设置模拟选择寄存器使RA口全为数字IO口
TRISA = 0x01; //TRISx为方向控制寄存器,0为输出,1为输入.
...//其他操作
unsigned char value = 0; //声明个变量
value = RA0; //这样就能读出RA0端口的电平值了,value的值即为读到的RA0的值
ANSELA = 0x00; //因为RA0一般都有AD的功能,通过设置模拟选择寄存器使RA口全为数字IO口
TRISA = 0x01; //TRISx为方向控制寄存器,0为输出,1为输入.
...//其他操作
unsigned char value = 0; //声明个变量
value = RA0; //这样就能读出RA0端口的电平值了,value的值即为读到的RA0的值