|
單片機藍橋杯13年初賽程序
單片機源程序如下:
- #include <STC15F2K60S2.H>
- #include "iic.h"
- #include "ds1302.h"
- #include "sled.h"
- #include "key.h"
- unsigned char time[2]={8,30}, adc;
- unsigned char dat=50,datx,mark=0,PP=0,ex=0;
- unsigned char key1;
- void sled_da()
- {
- sled_Show(time[0]/10,0);
- sled_Show(time[0]%10,1);
- sled_Show(17,2);
- sled_Show(time[1]/10,3);
- sled_Show(time[1]%10,4);
- sled_Show(16,5);
- sled_Show(adc/10,6);
- sled_Show(adc%10,7);
- }
- void sled_da1()
- {
- sled_Show(17,0);
- sled_Show(17,1);
- sled_Show(16,2);
- sled_Show(16,3);
- sled_Show(16,4);
- sled_Show(16,5);
- sled_Show(dat/10,6);
- sled_Show(dat%10,7);
- }
- void automatic()
- {
- P0 = 0xfe;
- P2 = 0x80;
- P2 = 0x00;
- if(adc < dat)P0 = 0x10;
- else P0 = 0x00;
- P2 = 0xa0;
- P2 = 0x00;
- mark = 0;
- if(key1==6) mark=1;
- while(mark)
- {
- key1 = key_dat();
- sled_da1();
- if(key1==5)dat++;
- if(key1==4)dat--;
- if(dat>99) dat=1;
- if(dat<1) dat=99;
- if(key1==6)
- {
- write_E2(0x00,dat);
- mark = 0;
- }
- }
- }
- void manual()
- {
- P0 = 0xfd;
- P2 = 0x80;
- P2 = 0x00;
- P0 = 0x00;
- if(key1==5)PP=1;
- else if(key1==4)PP=0;
- P04 = PP;
- P2 = 0xa0;
- P2 = 0x00;
- if(key1==6)mark=~mark;
- if( mark)
- {
- if(adc < dat)P06 = 1;
- else P06 = 0;
- P2 = 0xa0;
- P2 = 0x00;
- }
- }
- void rwE2()
- {
- datx = red_E2(0x01);
- if(datx==66)dat = red_E2(0x00);
- if(datx!=66)write_E2(0x01,66);
- }
- void main()
- {
- ds1302_init();
- write_1302(time);
- rwE2();
- ADC_Init();
- while(1)
- {
- red_1302(time);
- adc = red_ADC()*99/255;
- sled_da();
- key1 = key_dat();
- if(key1==7)ex=~ex;
- if(ex) manual();
- else automatic();
- }
- }
復(fù)制代碼
所有資料51hei提供下載:
13年.rar
(56.67 KB, 下載次數(shù): 6)
2018-7-12 22:28 上傳
點擊文件名下載附件
單片機藍橋杯13年初賽程序 下載積分: 黑幣 -5
|
|