void HuXi_up(uint IO_port){for(pwm_low=1;pwm_low<CYCLE;pwm_low++){IO_port=0;duty=0;while(duty<=pwm_low);IO_port=1;duty=0;while(duty<=(CYCLE-pwm_low));}}目的就是我想通过HuXi_up(uint IO_port);这句话,在括号里输入P1^0;,它就在P1^0这个端口运行我的子函数,我输入指定IO就在指定的IO执行程序,我上面的写法经过实验是不行,我想知道怎么才能实现这个功能。
1 回答
阿晨1998
TA贡献2037条经验 获得超6个赞
不能把IO口直接当参数,但可以使用变通方法:
一、确定输出端口,如P1,这是一个固定不变的端口。
二、可以把指定端口的某位当参数传入子函数
oid HuXi_up(uint IO_Bit)
{
unsigned char i,mask;
mask=1;
mask = _crol_(1,IO_Bit)
for(pwm_low=1;pwm_low<CYCLE;pwm_low++)
{
P1 = P1 & (~ mask);
duty=0;
while(duty<=pwm_low);
P1 = P1 ^ mask;
duty=0;
while(duty<=(CYCLE-pwm_low));
}
}
单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。
单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词——“智能型”,如智能型洗衣机等 。
- 1 回答
- 0 关注
- 111 浏览
添加回答
举报
0/150
提交
取消