第八届蓝桥杯单片机完整程序

声明:1、我发布程序旨在希望大家蓝桥杯单片机比赛可以取得好成绩

           2、在看我程序之前希望大家先去B站观看完小蜜蜂老师的蓝桥杯单片机视频讲解

小蜜蜂视频链接:【小蜜蜂笔记】蓝桥杯大赛-单片机设计与开发基础技能与进阶强化教程_哔哩哔哩_bilibili

本程序资源包采用第十三届蓝桥杯资源包 

 

main.c

#include <reg52.h>
#include <ds1302.h>
#include <onewire.h>
sbit L1 = P0^0;
sbit S4 = P3^3;
sbit S5 = P3^2;
sbit S6 = P3^1;
sbit S7 = P3^0;
//变量区
float temp1;
signed char hour = 0;//时
signed char min = 0;//分
signed char sec = 0;//秒
unsigned char flag_s = 0;//设置时间标志位 
unsigned char flag_t = 0;//闪灭标志位
unsigned char flag_LED1 = 0;//LED闪灭标志位
unsigned char flag_LED = 0;//LED标志位
unsigned char count0 = 0;//定时器0
unsigned char count1 = 0;//0.2s
unsigned int count2 = 0;
unsigned char state = 1;//界面标志位
unsigned char Write_DS1302_Addr[3] = {0x80,0x82,0x84};
unsigned char Read_DS1302_addr[3] = {0x81,0x83,0x85};
signed char Timer[3] = {0x50,0x59,0x23};
unsigned char SMG_val[10] = {0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
unsigned char temp;
//锁存器的选择
void SelectHC573(unsigned char channel)
{
	switch(channel)
	{
		case 4 : P2 = (P2 & 0x1f)| 0x80; break;
		case 5 : P2 = (P2 & 0x1f)| 0xa0; break;
		case 6 : P2 = (P2 & 0x1f)| 0xc0; break;
		case 7 : P2 = (P2 & 0x1f)| 0xe0; break;
	}
}
//数码管得选择
void Select_SMG(unsigned char pos,val)
{
	SelectHC573(7);
	P0 = 0xff;
	SelectHC573(6);
	P0 = 0x01 << pos;
	SelectHC573(7);
	P0 = val;
}
//关闭所有
void CloseAll()
{
	SelectHC573(6);
	P0 = 0xff;
	SelectHC573(7);
	P0 = 0xff;
}
//定时器0初始化
void Init_Timer0()
{
	TMOD = 0x01;
	TH0 = (65536 - 10000) / 256;
	TL0 = (65536 - 10000) % 256;
	ET0 = 1;
	EA = 1;
	TR0 = 1;
}
//定时器服务函数
void Service_T0() interrupt 1
{
	TH0 = (65536 - 10000) / 256;
	TL0 = (65536 - 10000) % 256;
	
	count0 ++;
	if(count0 =
  • 20
    点赞
  • 65
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值