寄存器多字节方式)调 用:W1302()入口参数:pClock: 设置时钟数据地址 格式为: 秒 分 时 日 月 星期 年 7Byte (BCD码)1B 1B 1B 1B 1B 1B 1B返 回 值:无***/void Set1302(uchar *pClock) {

这是1602电路,和时钟电路。元件基本差不多。电路如图 include define uchar unsigned char define uint unsigned int sbit ds1302_RST =P2^0;sbit ds1302_IO =P2^1;sbit ds1302_SCLK=P2^2;sbit ACC0

4.编写设计报告 写出设计与制作的全过程,附上有关资料和图纸,有心得体会。三、设计原理及其框图1.数字钟的构成数字钟实际上是一个对标准频率(1HZ)进行计数的计数电路。由于计数的起始时间不可能与标准时间(如北京时间)一致,故需要在

EA=1;ET0=1;TR0=1;while(1){ if(time==20){ time=0;miao++;if(miao==60){ miao=0;fen++;if(fen==60){ fen=0;shi++;if(shi==24)shi=0;} } } display(shi,fen,miao);} } void timer0() inter

1、首先解决机械部分问题——指针大小、电机安装支架、指针和电机轴承连接(!危险)。2、电机方面保证角速度为360每20mS以上。与旋转指针的电刷结构设计。3、有一个外部中断(电刷位置即可采到)来定位零点或某个参考角度。4

需要一个电机,单片机最小系统,不同颜色的发光二极管若干,红外发射接收管各一只,时钟芯片一只(做实验也可以不用,商品化就必须要的),按键(也可以不用),最重要的是电源,不能用电池,要不然每天换电池就够你受的了

反正你是要购零件,那最省的到淘宝上去购套件,这中你说的这些全有的了,并还有多种多样的,你先那去看看再选定的吧。约从三十元起到数百元的种类的都有的。有安全的,有简宜的。 啊!你这还只要时钟,我这可

求一个51单片机制作旋转led时钟的制作方案,要有零件清单,电路图,附上c语言程序,谢了

include define uchar unsigned char define uint unsigned int uchar count;uint disnum;sbit dula=P2^6;sbit wela=P2^7;uchar code tabledu[]={ 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x

要用51单片机显示四位数,可用四位一体的共阴数码管,P0口输出段码,P2口输出位码,组成典型的数码管显示电路,就可以显示1234,仿真效果如下图。延时一会,再显示4321

//关第一位显示 p2=tab[2];p3_1=0;//开第二位显示 for(i=0;i<200:i++);p3_1=1;这个程序就是让两个数码管分别显示1和2,注意程序开头包含头文件regx52.h,如果是包含reg52.h编译不了的

int key1,key,disbuf;// 此表为 LED 的字模 0 1 2 3 4 5 6 7 8 9 a b c d e f unsigned char code LED7Code[] = {0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,

shiftOut(LEDDisplay[num]);// 发送位选线 switch (digit) { case 0:shiftOut(0x01); // 第1位 break;case 1:shiftOut(0x02); // 第2位 break;case 2:shiftOut(0x04); // 第3位 break;case 3:shi

用51单片机控制4位led数码管,使其显示出想要的数字,程序怎样写,谢谢

1/首先把段码端和片选端都设为输出,也就是led和单片机连的那几个角 2/你先用延时来做吧,大致是这样的 设一个片选有效;把要显示的内容放段码中;延时15ms;设第二个片选有效;把要显示的内容放段码中;延时15ms

define uchar unsigned char//宏定义 define uint unsigned int uchar count;uint disnum;sbit dula=P2^6;sbit wela=P2^7;uchar code tabledu[]={//段码表 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x

uchar number,nn=0;uchar dat[]={2,0,1,2,1,1,4,5,8,2};void t0isr() interrupt 1 { TH0=(65536-5000)/256;TL0=(65536-5000)%256;number++;number%=4;switch(number){ case 0:P2=0x08;P0=distab[nn

//关第一位显示 p2=tab[2];p3_1=0;//开第二位显示 for(i=0;i<200:i++);p3_1=1;这个程序就是让两个数码管分别显示1和2,注意程序开头包含头文件regx52.h,如果是包含reg52.h编译不了的

运用51单片机实现4位8段LED数码管的动态数字显示,写出C语言程序

display(1,2,3,4);//主程序始终调用数码管显示子程序 } } void display(uchar a,uchar b,uchar c,uchar d){ P2=0xef;P0=table[a];//给第一个数码管送"a"delay(1);//延时1ms P2=0xdf;P0=table[b];//

MOV 33H,#03H MOV 34H,#04H MOV 35H,#05H MOV 36H,#06H ACALL D0 JMP $-2 D0: MOV R0,#31H MOV R2,#11111110B MOV DPTR,#TAB D1: ORL P1,#00111111B MOV A,@R0

1、首先我们先打开keil。2、接着,我们要定义好库函数,void main(){while(1)//不断循环显示{dispaly();}}void dispaly(){P0=smg[1];//选择显示数字几,P1=0x7f;//控制是否点亮数码管。3、接着,我们加上一条

void delay()//延时子程序 { uint y;for(y=400;y>0;y--);} void display(uchar x)//显示子程序,x为显示起始位 { uchar j;for(j=0;j<4;j++){ P2=disb[j];//输出位码 P0=tab[buf[j+x]];//输出

单片机控制数码管显示数字1234void smgxs(void)/数码管显示函数{ p20=1;开通位1 P0=shumaguan[1];赋值yanshi();延时p20=0;关闭位1 p21单片机学习之八:用数码管显示数字让最右面的数码管显示数字2,小数点也显示。同时

用51单片机组成四位共阳极数码管显示1234 ,proteus仿真图如下所示,P0口输出段码,P2口输出位码。

shiftOut(0x04); // 第3位 break;case 3:shiftOut(0x08); // 第4位 break;default:break;} // 数据锁存 RCLK = 1;delay(1);RCLK = 0;// 数码管刷新延时 delay(5);// 切换显示的位 digit = (digit

用51单片机控制4位一体数码管实现1234轮流显示的程序代码是什么,求!proteus仿真

#include #define uchar unsigned char; uchar distab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00}; //0到f uchar number,nn=0; uchar dat[]={2,0,1,2,1,1,4,5,8,2}; void t0isr() interrupt 1 { TH0=(65536-5000)/256; TL0=(65536-5000)%256; number++; number%=4; switch(number) { case 0:P2=0x08;P0=distab[nn]; break; case 1:P2=0x04;P0=distab[nn+1]; break; case 2:P2=0x02;P0=distab[nn+2]; break; case 3:P2=0x01;P0=distab[nn+3]; break; default:break; } nn++; nn%=7; } main() { TMOD=0x01; TH0=(65536-5000)/256; TL0=(65536-5000)%256; TR0=1; ET0=1; EA=1; while(1); }
#include //----------------------------------------------- void delay(unsigned int i) //延时 { unsigned char j; while(i--) for(j = 0; j < 115; j++); } //----------------------------------------------- void main(void) { unsigned char n1; unsigned char code SEG[] = { 0xc0, 0xf9, 0xa4, 0xb0, 0x99, //0-4 0x92, 0x82, 0xf8, 0x80, 0x90};//5-9 while(1) { P0 = SEG[n1]; //P0口,外接共阳数码管的段选端 delay(2000); n1++; if(n1 > 9) n1 = 0; } } 4个(任意个)共阳数码管的段选端,接在 P0,其位选,都接电源即可。
需要一个电机,单片机最小系统,不同颜色的发光二极管若干,红外发射接收管各一只,时钟芯片一只(做实验也可以不用,商品化就必须要的),按键(也可以不用),最重要的是电源,不能用电池,要不然每天换电池就够你受的了,最好用外部电源,做成电刷样式的,最后就是板子的平衡问题,程序比较简单,主要是一些算法。
可以 看看 上面介绍 有制作方法 及 程序。 DIY基于51单片机的旋转LED数字电子钟 http://wenku.baidu.com/view/1d0e463e0912a2161479296f.html