十一届蓝桥杯单片机组省赛内容及例程(附代码)

十一届蓝桥杯单片机组省赛内容及例程(附代码)

在准备蓝桥杯单片机比赛,做了第一次省赛的题目,代码供大家参考,欢迎大家指出不足。

题目

在这里插入图片描述在这里插入图片描述在这里插入图片描述

例程

主函数

test.c

#include "stc15f2k60s2.h"
#include "iic.h"
#define uchar unsigned char
	
void show_moshi1();
void show_moshi2();
void show_moshi3();
void Write_24C02(uchar addr,uchar dat);
uchar Read_24C02(uchar addr);

uchar code SMG[]={
   0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
//带小数点
uchar code SMG_dot[]={
   0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10};
//提示符字母
uchar code alphabet[]={
   0xc1,0x8c,0xc8};

//PCF8591参数
uchar tmp;
int res;
//设置参数
int vpp=0;
//键盘值
int key_value;
//uchar key_stat=1;
//界面
uchar menu=1;
//计数值
int count=0;
int count_res=0;
//计数高低
bit high=0;
bit low=0;
uchar num=0;

//定时
uchar ms_50;

//LED模式
uchar led_moshi=0xff;

void delayms(unsigned int t){
   
	uchar i;
	while(t--) for(i=0;i<123;i++);
}

void HC138(uchar n){
   
	switch(n){
   
		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 show(uchar value,uchar pos){
   //函数非内置SMG
	HC138(6);
	P0=0x01<<pos;
	HC138(7);
	P0=value;
}

void init(){
   //关闭蜂鸣器
	HC138(5);
	P0=0x00;
	HC138(4);
	P0=0xff;
}

//==============PCF8591========================
void Read_PCF8591(){
   
	double jingdu=500.0/255;
	uchar n=5;
	IIC_Start();
	IIC_SendByte(0x90);
	IIC_WaitAck();
	IIC_SendByte
  • 31
    点赞
  • 225
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值