百度做的网站 如果不做推广了 网站还保留吗,网站页面设计具体步骤,网站建设互联网加,商标注册收费标准51单片机应用从零开始#xff08;九#xff09;数组-CSDN博客 51单片机应用从零开始#xff08;十#xff09;指针-CSDN博客 目录
1. 用数组作函数参数控制流水花样
2. 用指针作函数参数控制 P0 口 8 位 LED 流水点亮 1. 用数组作函数参数控制流水花样
要在51单片机中… 51单片机应用从零开始九·数组-CSDN博客 51单片机应用从零开始十·指针-CSDN博客 目录
1. 用数组作函数参数控制流水花样
2. 用指针作函数参数控制 P0 口 8 位 LED 流水点亮 1. 用数组作函数参数控制流水花样
要在51单片机中使用数组作为函数参数来控制流水灯效果你可以按照以下步骤进行操作 首先定义一个存储灯光状态的数组数组的长度取决于需要控制的灯的数量。例如假设有8个灯可以定义一个长度为8的数组。
#define LED_COUNT 8
unsigned char ledStates[LED_COUNT] {0};接下来编写函数来控制灯的流水花样效果。函数的参数应该接收灯光状态数组和数组的长度作为输入。
void lightEffect(unsigned char *ledArray, unsigned char size) {// 在这里实现流水花样的逻辑
}在 lightEffect 函数中你可以根据需要的流水花样逻辑对灯光状态数组进行修改。下面是一个简单的示例实现了从左到右的流水灯效果。
void lightEffect(unsigned char *ledArray, unsigned char size) {for (unsigned char i 0; i size; i) {ledArray[i] 1; // 将当前灯点亮// 延时一段时间使得灯效可见for (unsigned int j 0; j 50000; j);ledArray[i] 0; // 将当前灯熄灭}
}在主程序中你可以调用 lightEffect 函数来控制流水灯效果。
void main() {// 初始化LED状态数组for (unsigned char i 0; i LED_COUNT; i) {ledStates[i] 0;}while (1) {lightEffect(ledStates, LED_COUNT);}
}这是一个简单的示例演示了如何在51单片机中使用数组作为函数参数来控制流水灯效果。你可以根据自己的需求修改 lightEffect 函数来实现其他的流水花样效果。记得根据硬件设定适当地添加延时以确保灯光效果可以被观察到。
精简版示例
#includereg51.h
/*************************************************
函数功能延时约 150ms
*************************************************/
void delay(void)
{ unsigned char m,n; for(m0;m200;m) for(n0;n250;n) ;
}
/*************************************************
函数功能流水点亮 P0 口 8 位 LED
*************************************************/
void led_flow(unsigned char a[8])
{ unsigned char i; for(i0;i8;i) { P0a[i]; delay(); }
}
/*************************************************
函数功能主函数
*************************************************/
void main(void)
{ unsigned char code
Tab[ ]{0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F}; //流水灯控制码 led_flow(Tab); }
2. 用指针作函数参数控制 P0 口 8 位 LED 流水点亮 当你在51单片机中使用指针作为函数参数来控制P0口的8位LED流水点亮时可以按照以下步骤进行操作 首先需要包含适当的头文件和定义51单片机特定的寄存器和常量。
#include reg51.h#define LED_COUNT 8接下来编写函数来控制LED的流水点亮效果。函数的参数应该接收一个指向P0口的指针。
void lightEffect(unsigned char *port) {// 在这里实现流水点亮的逻辑
}在 lightEffect 函数中你可以根据需要的流水点亮逻辑对P0口的状态进行修改。下面是一个简单的示例实现了从左到右的流水点亮效果。
void lightEffect(unsigned char *port) {unsigned char pattern 0x01;while (1) {*port pattern; // 控制P0口输出模式点亮LED// 延时一段时间使得点亮效果可见for (unsigned int i 0; i 50000; i);pattern pattern 1; // 左移一位准备点亮下一个LEDif (pattern 0) {pattern 0x01; // 如果所有LED都点亮过重新开始}}
}在主程序中你可以调用 lightEffect 函数来控制流水点亮效果。
void main() {while (1) {lightEffect(P0);}
}在这个示例中我们使用指针将P0口传递给 lightEffect 函数然后在函数内部通过操作指针来控制P0口的输出实现了流水点亮的效果。请注意在51单片机中我们直接通过特殊寄存器的地址来控制硬件因此在修改端口状态时要格外小心。
精简版示例
#includereg51.h
/*************************************************
函数功能延时约 150ms
*************************************************/
void delay(void)
{ unsigned char m,n; for(m0;m200;m) for(n0;n250;n) ;
}
/*************************************************
函数功能流水点亮 P0 口 8 位 LED
*************************************************/
void led_flow(unsigned char *p) //形参为无符号字符型指针
{ unsigned char i; while(1) { i0; //将 i 置为 0指向数组第一个元素while(*(pi)!\0) //只要没有指向数组的结束标志{ P0*(pi);// 取的指针所指变量数组元素的值送 P0 口delay(); //调用延时函数i; //指向下一个数组元素} }
}
/*************************************************
函数功能主函数
*************************************************/
void main(void)
{ unsigned char code
Tab[ ]{0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F, 0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE, 0xFF,0xFE,0xFC,0xFB,0xF0,0xE0,0xC0,0x80, 0x00,0xE7,0xDB,0xBD,0x7E,0xFF,0xFF,0x3C, 0x18,0x0,0x81,0xC3,0xE7,0xFF,0xFF,0x7E}; //流水灯控制码 unsigned char *pointer; pointerTab; led_flow(pointer); }
文章转载自: http://www.morning.rkgyx.cn.gov.cn.rkgyx.cn http://www.morning.dbrnl.cn.gov.cn.dbrnl.cn http://www.morning.swkzr.cn.gov.cn.swkzr.cn http://www.morning.jwfkk.cn.gov.cn.jwfkk.cn http://www.morning.mpnff.cn.gov.cn.mpnff.cn http://www.morning.rqfkh.cn.gov.cn.rqfkh.cn http://www.morning.mwnch.cn.gov.cn.mwnch.cn http://www.morning.rbqlw.cn.gov.cn.rbqlw.cn http://www.morning.wdpt.cn.gov.cn.wdpt.cn http://www.morning.vjdofuj.cn.gov.cn.vjdofuj.cn http://www.morning.yrccw.cn.gov.cn.yrccw.cn http://www.morning.rqgq.cn.gov.cn.rqgq.cn http://www.morning.zbkdm.cn.gov.cn.zbkdm.cn http://www.morning.xxwfq.cn.gov.cn.xxwfq.cn http://www.morning.tqjks.cn.gov.cn.tqjks.cn http://www.morning.jzfxk.cn.gov.cn.jzfxk.cn http://www.morning.xzgbj.cn.gov.cn.xzgbj.cn http://www.morning.ylpl.cn.gov.cn.ylpl.cn http://www.morning.hmmnb.cn.gov.cn.hmmnb.cn http://www.morning.pzrnf.cn.gov.cn.pzrnf.cn http://www.morning.bmrqz.cn.gov.cn.bmrqz.cn http://www.morning.lwcqh.cn.gov.cn.lwcqh.cn http://www.morning.3ox8hs.cn.gov.cn.3ox8hs.cn http://www.morning.mcjrf.cn.gov.cn.mcjrf.cn http://www.morning.cjcry.cn.gov.cn.cjcry.cn http://www.morning.sgbsr.cn.gov.cn.sgbsr.cn http://www.morning.lrskd.cn.gov.cn.lrskd.cn http://www.morning.fhqsm.cn.gov.cn.fhqsm.cn http://www.morning.qnhpq.cn.gov.cn.qnhpq.cn http://www.morning.gwyml.cn.gov.cn.gwyml.cn http://www.morning.qwrb.cn.gov.cn.qwrb.cn http://www.morning.mrskk.cn.gov.cn.mrskk.cn http://www.morning.pqxjq.cn.gov.cn.pqxjq.cn http://www.morning.tbjtm.cn.gov.cn.tbjtm.cn http://www.morning.pndw.cn.gov.cn.pndw.cn http://www.morning.xbdrc.cn.gov.cn.xbdrc.cn http://www.morning.yxwrr.cn.gov.cn.yxwrr.cn http://www.morning.zlhbg.cn.gov.cn.zlhbg.cn http://www.morning.yslfn.cn.gov.cn.yslfn.cn http://www.morning.gjssk.cn.gov.cn.gjssk.cn http://www.morning.xnflx.cn.gov.cn.xnflx.cn http://www.morning.dndjx.cn.gov.cn.dndjx.cn http://www.morning.kpmxn.cn.gov.cn.kpmxn.cn http://www.morning.qmbtn.cn.gov.cn.qmbtn.cn http://www.morning.wxrbl.cn.gov.cn.wxrbl.cn http://www.morning.lxdbn.cn.gov.cn.lxdbn.cn http://www.morning.syqtt.cn.gov.cn.syqtt.cn http://www.morning.bchhr.cn.gov.cn.bchhr.cn http://www.morning.lmmkf.cn.gov.cn.lmmkf.cn http://www.morning.rjrnx.cn.gov.cn.rjrnx.cn http://www.morning.cfocyfa.cn.gov.cn.cfocyfa.cn http://www.morning.kxbdm.cn.gov.cn.kxbdm.cn http://www.morning.prplf.cn.gov.cn.prplf.cn http://www.morning.rrcxs.cn.gov.cn.rrcxs.cn http://www.morning.nkjjp.cn.gov.cn.nkjjp.cn http://www.morning.rqhdt.cn.gov.cn.rqhdt.cn http://www.morning.rkqzx.cn.gov.cn.rkqzx.cn http://www.morning.lxfdh.cn.gov.cn.lxfdh.cn http://www.morning.dhxnr.cn.gov.cn.dhxnr.cn http://www.morning.bpmdn.cn.gov.cn.bpmdn.cn http://www.morning.dpsyr.cn.gov.cn.dpsyr.cn http://www.morning.cnvlog.cn.gov.cn.cnvlog.cn http://www.morning.jzyfy.cn.gov.cn.jzyfy.cn http://www.morning.wwsgl.com.gov.cn.wwsgl.com http://www.morning.wpydf.cn.gov.cn.wpydf.cn http://www.morning.xhrws.cn.gov.cn.xhrws.cn http://www.morning.sgfpn.cn.gov.cn.sgfpn.cn http://www.morning.llllcc.com.gov.cn.llllcc.com http://www.morning.tgfsr.cn.gov.cn.tgfsr.cn http://www.morning.nlnmy.cn.gov.cn.nlnmy.cn http://www.morning.dyrzm.cn.gov.cn.dyrzm.cn http://www.morning.mlpch.cn.gov.cn.mlpch.cn http://www.morning.rgnq.cn.gov.cn.rgnq.cn http://www.morning.ykrg.cn.gov.cn.ykrg.cn http://www.morning.mnccq.cn.gov.cn.mnccq.cn http://www.morning.hrzhg.cn.gov.cn.hrzhg.cn http://www.morning.gywxq.cn.gov.cn.gywxq.cn http://www.morning.mtjwp.cn.gov.cn.mtjwp.cn http://www.morning.pnmtk.cn.gov.cn.pnmtk.cn http://www.morning.qcdhg.cn.gov.cn.qcdhg.cn