|
|
|
|
| | | | | | | | | | | | | 那还有很多副程式没见你搬出来啊,你的主程式里面什么都没写 |
|
|
| | | | | | | | | | | | | | | 额,主要就是这个,没有其他的了,就是初始化我在说明书里面找到的,但是不知道对不对,
#include<zl.h>
unsigned char P2.0,P2.1,P2.2,P2.3,P0.0,P0.1,P0.2;
ORG 003CH
DB OOH
DB OOH
DB 0E7H
DB 03H
void test(P2.0,P2.1,P2.2,P2.3,P0.0,P0.1,P0.2);
然后后面就和上面一样,我在想,I/O口输入后是不是经过ADC转换成模拟信号,那后面程序里面的IF语句是不是都是错的啊,要用模拟信号判断?跪求
|
|
|
| | | | | | | | | | | | | | | | | 看你的原理图,应该用P0作为IO输入,P0.0,P0.1,P0.2才有ADC功能脚 |
|
|
| | | | | | | | | | | | | | | | | | | 多读看一下此款单片机的资料,每个公司都有他们单片机的软件和工具,只要把里面所要用的资料搬出来应用就好了,程序的写法都一样 |
|
|
| | | | | | | | | | | | | | | | | | | | | 如果按照我这样接的话是不是程序里面要改一下,改程序IF语句里面的判断就是 if (sum (P2.0,P2.1,P2.2,P2.3)>2)
,如果P0.0这几个口作为输出的话,是不是经过数模转换成电信号了,那程序要怎么改呢
if (sum (P2.0,P2.1,P2.2,P2.3)>2)
{
P0.0=P0.1=P0.2=0;
exit;
输出的P0.0是0V还是低电压意义的“0”,应该是具体的电压吧
那输出的应该是具体电压就可以触发MOS管了吧。 |
|
|
|
| | | | | 单片机端口能直接输入24V这么高的电压?我没看错吧 |
|
|
| | | | | | | 单片机电源能接这么高的电压我没见过,一般的单片机电源是5V或者3.3V |
|
|
|