蓝桥杯单片机学习过程记录(二十六)第七届国赛电压、频率采集设备

蓝桥杯单片机学习过程记录(二十六)第七届国赛电压、频率采集设备

N555方波这部分没写,准备重新理解一下,其余部分都已经完成,遇到了两个问题,一是时钟芯片,调整时,记得调整完后重新初始化一下,二是采集电压波动时,由正常到高,有正常到低时的判断频率调整一下。
应用的内容:
数码管、矩阵按键、
IIC_Rb2电压采集
EEPROM的写入读取
DS1302时钟芯片
定时器

/*
--------------------------------
第七届频率电压采集
频率没写,其余部分写完。
2020.3.8
--------------------------------
*/
#include<STC15F2K60S2.H>
#include<ds1302.h>
#include<iic.h>
char s11_count_h,s11_count_m,s11_count_s,count_h,count_m;
unsigned int time0_t,dianya,dianya_h,dianya_m,dianya_temp;
unsigned char flag_yemian,flag_time0,s4_count,dianya_count;
unsigned char seg[]={
   0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf,0xff};
unsigned char yi,er,san,si,wu,liu,qi,ba;
unsigned char time_init[]={
   55,59,23,0,0,0,0};
unsigned char time_read[7];
void delayms(int ms);
void display_12(yi,er);
void display_34(san,si);
void display_56(wu,liu);
void display_78(qi,ba);
void allinit();
void key_scan();
void ds1302_init();
void ds1302_read();
void Timer0Init(void);
unsigned char iic_rb2_read();
void eeprom_write(unsigned char add,unsigned char dat);
unsigned char eeprom_read(unsigned char add);
void dianya_pd();
void main(){
   
	allinit();
	ds1302_init();
	Timer0Init();EA=1;ET0=1;
	while(1){
   
		//eeprom上下限读取
		dianya_h=eeprom_read(0x01);dianya_h=dianya_h+count_h;
		dianya_m=eeprom_read(0x02);dianya_m=dianya_m+count_m;
		//电压读取Rb2及转换
		dianya=iic_rb2_read()*1.96;
		//时钟读取及设置
		ds1302_read();
		time_read[2]=(time_read[2]+s11_count_h)%24;
		time_read[1]=(time_read[1]+s11_count_m)%60;
		time_read[0]=(time_read[0]+s11_count_s)%60;
		//时钟显示界面
		if(flag_yemian==0){
   
			//时闪烁
			if(s4_count==1 & flag_time0==1){
   
				yi=11;er=11;san=10;si=time_read[1]/10;wu=time_read[1]%10;liu=10;qi=time_read[0]/10;ba=time_read[0]%10;
			}
			//分闪烁
			else if(s4_count==2& flag_time0==1){
   
				yi=time_read[2]/10;er=time_read[2]%10;san=10;si=11;wu=11;liu=10;qi=time_read[0]/10;ba=time_read[0]%10;
			}
			//秒闪烁
			else if(s4_count==3& flag_time0==1){
   
				yi
  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值