历史上的今天
今天是:2025年11月14日(星期五)
2022年11月14日 | STC89C52单片机学习(一)----点亮LED
2022-11-14 来源:csdn
1.通过数组实现led流水灯
#include int m; unsigned char code leds[8] = {0x7f, 0xbf, 0xdf, 0xef, 0xf7, 0xfb, 0xfd, 0xfe}; void delay(unsigned int i) { unsigned int j; unsigned char k; for(j=i; j>0; j--) for(k=125; k>0 ;k--); } int main() { while(1) { for(m = 0; m < 8; m++) { P1 = leds[m]; delay(500); } } return 0; } 使用 if语句实现led灯的控制,i类似于标志位控制进行循环转移 i = 0; while(1) { P1 = leds[i++]; delay(5000); if(i == 8) i = 0; } 2.通过独立按键实现LED灯的闪烁流动 运用独立按键需I/O端口,预先置高,表示作为输入端 #include sbit k1 = P3^4; unsigned int m; unsigned char code leds[8] = {0x7f, 0xbf, 0xdf, 0xef, 0xf7, 0xfb, 0xfd, 0xfe}; void delay(unsigned int i) { unsigned int j; unsigned char k; for(j=i; j>0; j--) for(k=125; k>0; k--); } int main() { k1 = 1; while(1) { for(m = 0; m < 8; ) { P1 = leds[m]; delay(500); if(k1 == 0) { delay(80); if(k1 == 0) m++; } } } return 0; } 3.外部中断1实现按键闪烁 1).实现部分在中断函数里 #include sbit p3_4 = P3^4; unsigned int m; unsigned char code leds[8] = {0x7f, 0xbf, 0xdf, 0xef, 0xf7, 0xfb, 0xfd, 0xfe}; void delay(unsigned int i) { unsigned int j; unsigned char k; for(j=i; j>0; j--) for(k=125; k>0; k--); } int main() { EA = 1; EX1 = 1; IT1 = 1; p3_4 = 0; P1 = leds[0]; while(1); return 0; } void led_key() interrupt 2 { if(m <= 7) { P1 = leds[m++]; delay(500); //m++; } else } 2)实现部分在主函数中 bit flag; //标志位 while(1) { for(m = 0; m < 8; ) { P1 = leds[m]; delay(500); if(flag == 1) { delay(80); //去抖 -----中断 if(flag == 1) m++; } } } void led() interrupt 0 { flag = 1; } P1 = leds[0];
史海拾趣
|
本来打算把编译部分的内容总结一下,偶然看到一位网友的文章写得很全面,故此稍加整理,以作备忘。 C语言的编译链接过程要把我们编写的一个c程序(源代码)转换成可以在硬件上运行的程序(可执行代码),需 ...… 查看全部问答> |
|
为什么sigma的程序都是(包括大部分变量)都是rm开头,rm是什么意思? 例如:typedef struct { RMuint8 Alpha; RMuint8 Y; RMuint8 Cb; RMuint ...… 查看全部问答> |
|
公司准备上Vxworks,小弟以前是搞硬件开发的,现在要去搞嵌入式! 不知做Vxworks方面的开发需要哪些硬件环境和软件环境?要买这个系统的话 价格是多少?开发工具有哪些,价格又是多少? ...… 查看全部问答> |
|
我刚刚接触AT指令,在研究如何在超级终端里实现手动控制实现上网 我是初级用户,好像还没有分可送,只能先在心中感谢各位大侠了,以后有了分再报答。 我尽量把问题描述的清楚一点,请耐心看,呵呵 我用的模块是WAVECOM的Q24PLUS Q24PL002 ,产品 ...… 查看全部问答> |
|
怎样读取pci bar0中的地址,并且映射成可以使用的虚拟地址?2.6的内核。ioremap?ioportremap?dev_resource_start?… 查看全部问答> |
|
最近在做一个有关峰检测的电路,网上一搜就有,非常经典的就是那个LM311,刚好手头有啊!就按照datasheet搭了一个,测试后不行,然后我就怕是搭的不稳定就焊了一个电路,但是还是不行,我还是不死心,就按照结构图,运放+三极管用其他 ...… 查看全部问答> |
|
开发板是EasyARM8962,仿真器是LM LINK,开发环境是IAR5.11用了一段时间都是没问题的,但忽然出了这个问题:The debugging session could not be started.Either the debugger initialization failed, or else the file “F:\\****\\BitBand.out” ...… 查看全部问答> |
|
我新安装的是MentorExpedition7.9.3, 打开Expedition PCB 后 ,打开一块板子,但是发现Expedition PCB 软件上面的CES是灰色的 ,不能使用,这是怎么回事啊???、、、、、哪位高手能帮忙解决一下啊?谢谢啦! ...… 查看全部问答> |




