这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 请教大家关于STC15单片机IO口的一些问题

共6条 1/1 1 跳转至

请教大家关于STC15单片机IO口的一些问题

工程师
2021-07-06 23:08:29     打赏

我看STC15单片机的规格书IO口相关介绍,STC15的P1口都可以配置成ADC口,也可以配置成普通IO口,配置ADC用P1ASF寄存器来配置;如图1;

配置成普通IO口时有4种工作模式,用P1M1和P1M0寄存器来配置,如下图2:


STC15的IO.png (52.25 KB, 下载次数: 0)

下载附件  保存到相册

P1口作为普通IO口

2021-7-6 14:56 上传


想问下:
①  作为普通IO口时,如果我想要检测外部输入的高电平,我应该配置成哪种模式?是高阻输入模式吗?还是说必须电路上加反相器才能实现?

② 如果我要配置P1口的P1.1/P1.2/P1.3为ADC口,应该有如下一段代码:


#define P11ASF 0x02       //ADC通道P1.1口
#define P12ASF 0x04       //ADC通道P1.2口

#define P13ASF 0x08       //ADC通道P1.2口
P1ASF = P1ASF|P11ASF|P12ASF|P13ASF;   //设置P1.1、P1.2、P1.3口为AD转换口

此时我要将P1口的P1.5/P1.6/P1.7配置成高阻输入,应该有如下一段代码:
P1M1 = 0xE0;
P1M0 = 0x00;


请问此时P1.1/P1.2/P1.3还是ADC口吗?





关键词: STC15     单片机     I/O    

工程师
2021-07-06 23:23:33     打赏
2楼

问题一:设置成高阻模式,可以检测外部电平变化,程序里写成以while循环检测。你说的反相器是对接外部中断引脚时,当变化成高电平,经反相器是变低,触发外部中断。 问题二:我没接触过,应该是查一下手册,引脚当adc用时要设置成什么模式,把P1M1 P1M0的低5位设置对应就好。


工程师
2021-07-06 23:28:32     打赏
3楼

看图,其它的问题数据手册里有的:



工程师
2021-07-07 08:15:22     打赏
4楼
普通IO不用设置,默认头文件已经设置好,直接sbit相关IO的名字使用即可。关于第二点我也没有试过。



工程师
2021-07-07 22:22:11     打赏
5楼

问官方的FAE看看,这种估计他们碰到过


工程师
2021-07-14 23:52:34     打赏
6楼

问题还是蛮大的


共6条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]