历史上的今天
今天是:2025年01月19日(星期日)
2020年01月19日 | 4位数码管流水灯时钟程序
2020-01-19 来源:51hei
根据数码管和流水灯显示时间,温度等。流水灯有多种样式。
单片机源程序如下:
#include "STC15F2K.h"
#include "intrins.h"
#include #define uchar unsigned char #define uint unsigned int sfr ADC_LOW2 = 0xBE; //ADC低2位结果 #define ADC_POWER 0x80 //ADC电源控制位 #define ADC_FLAG 0x10 //ADC完成标志 #define ADC_START 0x08 //ADC起始控制位 #define ADC_SPEEDLL 0x00 //540个时钟 #define ADC_SPEEDL 0x20 //360个时钟 #define ADC_SPEEDH 0x40 //180个时钟 #define ADC_SPEEDHH 0x60 //90个时钟 sbit S1=P3^3; sbit S2=P3^4; sbit S3=P3^5; sbit S4=P3^6; sbit S5=P3^7; sbit S6=P1^2; sbit S7=P1^3; sbit S8=P1^4; sbit S9=P1^5; sbit S10=P1^6; sbit S11=P1^7; sbit S12=P5^4; sbit bell=P3^0; sbit set=P1^0; sbit jia=P1^1; uchar dat1[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xf8,0X80,0X90,0xff,0xc6}; uchar dat2[]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0X00,0X10,0xff};//有小数点 uchar dat3[9]={0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF};// uchar dat4[9]={0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF};// uchar t_led0[8]={0}; uchar t_led1[8]={0}; uchar table[4]={1,2,3,4}; uchar xg=0; char t=0; int t1; char ps=0; char flag=1; int sudu1=0,sudu2=0; unsigned int temp[2]; int ld; extern void init_ds1302_io(); extern void init_ds1302(); extern void read_time(); extern void write_time(); extern void read_nao(); extern uchar miao; extern uchar fen; extern uchar shi; extern uchar nfen; extern uchar nshi; void Delayms(uint t) { uchar i; while(t--) for(i=0;i<100;i++); } void display() { S12=0;S1=1; P2=dat1[table[0]]; Delayms(2); S1=0;S2=1; if(flag==0)P2=dat2[table[1]]; if(flag==1)P2=dat1[table[1]]; Delayms(2); S2=0;S3=1; P2=dat1[table[2]]; Delayms(2); S3=0;S4=1; P2=dat1[table[3]]; Delayms(2); ////////////////////////////////////////////////////// P2=0xff; S4=0;S5=1; P2=dat3[t_led0[0]]&dat4[t_led1[0]]; Delayms(2); P2=0xff; S5=0;S6=1; P2=dat3[t_led0[1]]&dat4[t_led1[1]]; Delayms(2); P2=0xff; S6=0;S7=1; P2=dat3[t_led0[2]]&dat4[t_led1[2]]; Delayms(2); P2=0xff; S7=0;S8=1; P2=dat3[t_led0[3]]&dat4[t_led1[3]]; Delayms(2); P2=0xff; S8=0;S9=1; P2=dat3[t_led0[4]]&dat4[t_led1[4]]; Delayms(2); P2=0xff; S9=0;S10=1; P2=dat3[t_led0[5]]&dat4[t_led1[5]]; Delayms(2); P2=0xff; S10=0;S11=1; P2=dat3[t_led0[6]]&dat4[t_led1[6]]; Delayms(2); P2=0xff; S11=0;S12=1; P2=dat3[t_led0[7]]&dat4[t_led1[7]]; Delayms(2); S1=S2=S3=S4=S5=S6=S7=S8=S9=S10=S11=S12=1; P2=0xff; S1=S2=S3=S4=S5=S6=S7=S8=S9=S10=S11=S12=0; Delayms(2); } void init() { TMOD= 0x01; TL0 = (65536-20000)/256; //设置定时初值 TH0 = (65536-20000)%256; //设置定时初值 ET0 = 1; TR0 = 1; EA = 1; } char menu=0; bit nf=0; bit gk=0; void key() { uchar i; if(jia==0 && menu==0) { while(jia==0); xg++; nf=0; if(xg==2){dat4[0]=0XFF;dat4[1]=0XFF;dat4[2]=0XFF;dat4[3]=0XFF;dat4[4]=0XFF;dat4[5]=0XFF;dat4[6]=0XFF;dat4[7]=0XFF;dat4[8]=0XFF;} if(xg==3){dat3[0]=0xFE;dat3[1]=0xFC;dat3[2]=0xF8;dat3[3]=0xF0;dat3[4]=0xE0;dat3[5]=0xC0;dat3[6]=0x80;dat3[7]=0x00;dat3[8]=0xFF;} if(xg==5) { sudu1=0;sudu2=0; for(i=0;i<9;i++) { //dat3[i]=0XFF; dat4[i]=0XFE; } dat3[0]=0X01;dat3[1]=0X03;dat3[2]=0X07;dat3[3]=0X0F;dat3[4]=0X1F;dat3[5]=0X3F;dat3[6]=0X7F;dat3[7]=0XFF;dat3[8]=0x00; } if(xg==6) { sudu1=0;sudu2=0; for(i=0;i<9;i++) { dat3[i]=0XFF; dat4[i]=0XFC; } for(i=0;i<8;i++){t_led0[i]=8;} for(i=0;i<8;i++){t_led1[i]=0;} } if(xg==7) { sudu1=0;sudu2=0; for(i=0;i<9;i++) { dat3[i]=0XFF; dat4[i]=0XFF; } for(i=0;i<8;i++){t_led0[i]=i;} for(i=0;i<8;i++){t_led1[i]=i;} } if(xg==8) { sudu1=0;sudu2=0; for(i=0;i<9;i++) { dat3[i]=0XFF; dat4[i]=0XFF; }
史海拾趣
|
嗯,先弄个非常标题党的Title——C语言降龙十八掌。 大家有空的一起来讨论讨论,思想的碰撞才能放出火花。 第一掌—— main函数不简单 https://bbs.eeworld.com.cn/thread-87910-1-1.html… 查看全部问答> |
|
我调用rasdial拨号上网,设置是之前设置好的一个拨号连接,现在我想更改这个拨号连接的设置,让其不用流控,我找了半天ras相关的函数,都没有发现可以进行这些设置的,RasSetCommSettings是在自己写的dll里面更改波特率之类的,但是就是没有更改是 ...… 查看全部问答> |
|
请问:用vc++编的界面程序怎么跟人机界面里的伺服驱动器通讯(用232),说下大体思路和注意事项.谢谢了! 请问: 用vc++编的界面程序怎么跟人机界面里的伺服驱动器通讯(用232),说下大体思路和注意事项.谢谢了! 我刚进公司,没做过这个,上司交给我这个任务,要是完不成就要走人了. 请高人指教.分不多了,实在不好意思,重在交流嘛… 查看全部问答> |
|
送一块3G多模笔记本内置多模卡,支持联通WCDMA电信CAMA2000.CDMA移动的EDGE,GPRS的HP UNDP1的卡(hp un2400),非HP商用机驱动安装不上,请高手来研究HP多模卡驱动。 … 查看全部问答> |
|
听说象STM32这样低功耗的片子表振电路是要仔细设计的,32768这个频率选好晶振是关键。我觉着ATMEL的应用笔记AVR042: AVR Hardware Design Considerations第5节写的比较细了,请大家参考一下,有好的结果来共享一下。相信S ...… 查看全部问答> |
|
从今天开始将会不定期发布从 0 开始学习M4系列,欢迎大家提出意见。。。 板子嘛肯定会有的 对于整个芯片有了大致的了解之后,要写的第一个代码就是如何设置引脚为GPIO。此时就会出现,是用寄存器设置还是调用库函数。 ...… 查看全部问答> |




