蓝桥杯第十届单片机组国赛讲解

创作不易点点赞吧,呜呜呜


前言

开发板:CT107D (IAP15F2K61S2)
开发环境:Keil5
涉及题目:第十届蓝桥杯单片机国赛真题

一、基础模块代码块

1、基础模块变量定义,用under表示

unsigned char code t_display[]={                       //标准字库
//   0    1    2    3    4    5    6    7    8    9    A    B    C    D    E    F
    0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71,
//black  -     H    J    K    L    N    o   P    U     t    G    Q    r   M    y
    0x00,0x40,0x76,0x1E,0x70,0x38,0x37,0x5C,0x73,0x3E,0x78,0x3d,0x67,0x50,0x37,0x6e,
    0xBF,0x86,0xDB,0xCF,0xE6,0xED,0xFD,0x87,0xFF,0xEF,0x46,0x37};    //0. 1. 2. 3. 4. 5. 6. 7. 8. 9. -1
unsigned char code T_COM[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};      //位码
unsigned char pp;
unsigned char DIG1[8]={12,16,16,16,16,16,16,16};//五个界面所需要的五个显示,当然可以用多维数组
unsigned char DIG2[8]={21,16,16,16,16,16,16,16};
unsigned char DIG3[8]={43,16,16,16,16,16,16,16};
unsigned char DIG4[8]={24,16,16,1,16,16,16,16};
unsigned char DIG5[8]={24,16,16,2,16,16,16,16};
unsigned char *DIG=DIG1;
unsigned char LED_state=0x00;//控制LED
unsigned char code keys_num[2][2]=//矩阵键盘的编号,只用了四个
{
	12,16,
	13,17,
};

unsigned char key_num;//键值
unsigned char key_state;//按键被刷新了几次,每10ms刷新一次

2、键盘、数码管、延时函数、定时器、超声波、串口等的一些模块

void keys()
{
	unsigned char R=255,C=255;
	P33=P32=1;P35=P34=0;//因为有串口所以只能位操作
	P4=0X00;
	if(~P3&0X0F)
	{
		if(key_state<250)key_state++;
		if(P33==0)R=0;
		if(P32==0)R=1;
		P35=P34=
  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值