如何用c51单片机,实现下面要求的编程,求大神发个编程

1 .main()函数中只有一个key()函数

2.12个LED灯做移位
3.延时必须使用定时器奇数定时器1方式1偶数定时器0方式0
4.按键功能
1增加闪烁次数.2左移.3右移.4数组

第1个回答  2018-12-28
找我
第2个回答  2018-12-28
木珠。
第3个回答  2018-12-28
我不知道啊,去问专业人士吧
第4个回答  2018-12-28
不知道啊

请问单片机C51用C语言怎么编这个例子
include <reg52.h> define uchar unsigned char uchar t0,count,NUM,NUM1;sbit K1=P2^0;sbit K2=P2^1;void delay(uchar count){uchar i;for(i=0;i<count;i++){TMOD=0X01;TH0=(65536-50000)%256;TL0=(65536-50000)\/256;TR0=1;while(!TF0);TF0=0;} void keyscan(){ if(K1==0...

请教c51单片机,c语言编程,关于控制LED灯闪烁频率?
在无限循环中,不断检测K1和K2按键状态,以改变全局变量“freq”并控制LED灯的闪烁频率;然后使用一个计时器中断服务程序来控制LED灯的闪烁,具体实现方式请参考代码注释。最后,为了保证每个周期的闪烁持续时间与频率相符,应该在循环内部加入一个延时操作,等待一定时间再进入下一次循环。

编程c51单片机:实现按下按键K1,LED左移动一位(其中一个LED灯灭),按下...
include<reg51.h> sbit k1=P1^0;sbit k2=P1^1;void delay(unsigned char a){ unsigned char i,j;for(i=0;i<a;i++)for(j=0;j<120;j++);} main(){ unsigned char led=0xfe;while(1){ if(k1==0){ delay(10);if(k1==0){ while(k1==0);led=(led<<1)|0x01;if(led==...

C51单片机对位寻址的原理和编程方法?
编程方法:1. 用 ORL A, #data 命令将某个指定的位置位,即把单字节内部某个指定的位置1。2. 用 ANL A, #data 命令清除某个指定的位置位,即把单字节内部某个指定的位置0。3. 用 CLR C 命令将某个指定的位置位清零,即把单字节内指定的位置置零。4. 用 MOV C, bit 命令将某个指定的...

c语言编程c51单片机
include <reg51.h> define uchar unsigned char define uint unsigned int main(){ uint xdata *xp;\/\/定义指向片外RAM的指针 uint data *p;\/\/定义指向片内RAM的指针 uchar i;\/\/定义循环变量 xp=0x100;\/\/指向片外RAM的100H单元 p=0x30;\/\/指向片内RAM的30H单元 for(i=0;i<10;i++){\/\/...

C语言C51单片机一个按钮控制8个LED灯,来高手解决,在线等,要求在下面...
我告诉你编程思路。首先初始化中P0全为1 if(P2.0==0){ while(1){亮的端口设为0;(看不清你说的LED)delay();(这里设置T0延迟)之前亮的端口设为1;现在亮的设为0;delay();亮的端口设为1;} }

请高手用单片机C语言编写c51时钟程序,含有6个数显管,3个按键,要自己写...
这是我初学时写的,刚好也是数码管 \/*位选接P2口,三个按钮分别接P25~P27。段码接P1,T0计数 \/ include<reg51.h> define DOU 1818\/\/按键消抖时间sbit led_1=P2^0;sbit led_2=P2^1;sbit led_3=P2^2;sbit led_4=P2^3;sbit led_5=P2^4;sbit dp=P1^7;sbit an_mod=P2^5;sbit...

设单片机系统如何编写一个完整的C51程序使P1.6和P1?
1、C语言是一种高级程序设计语言,它提供了十分完备的规范化流程控制结构。因此采用C51语言设计单片机应用系统程序时,首先要尽可能地采用结构化的程序设计方法,这样可使整个应用系统程序结构清晰,易于调试和维护。 2、对于一个较大的程序,可将整个程序按功能分成若干个模块,不同的模块完成不同的功能。对于不同的功能模...

用单片机c51,c语言编0-9计数器程序!谢谢!!!
你的硬件电路有问题啊,单片机31号脚要接高电平 还有,你的数码管接法也不对啊 看你的排阻接法,你的数码管要用共阴极的 当加到9之后,再按一下,是不是又恢复到0啦???下面是更改的回答 include<reg51.h>unsigned char a;unsigned char code table[]={ 0x3f,0x06,0x5b,0x4f,0x66,...

C51单片机编程,按键控制流水灯
include "reg51.h"unsigned char led[]={0xfe,0xfd,0xfb,0xf7}; \/\/LED灯的花样数据 void delay(unsigned char time){ \/\/延时函数 unsigned int j=15000;for(;time>0;time--)for(;j>0;j--);} void main(){ bit dir=0,run=0; \/\/标志位定义及初始化 char i;while(1){ ...

相似回答