单片机比赛准备02-蓝桥杯-模块练习

简介: 单片机比赛准备02-蓝桥杯-模块练习

昨天把所有单片机组要考试的内容看完后独立的写出了led和独立key,现在进行下一个模块的代码编写,编写数码管的模块

首先我简单说明下单片机组考试的算是范围吧:

  1. LED模块
  2. 数码管模块
  3. 独立按键和矩阵按键(少考)
  4. 温度芯片
  5. 时钟芯片
  6. 蜂鸣器和继电器
  7. iic通信(AD和EEPROM)

上篇简单熟悉下CT107D的开发平台的流程这次相对来说就比较好操作,话不多说了直接上视频给的练习吧

8位数码管点亮显示01234567

#include <stc15f2k60s2.h>#include <intrins.h>#define uchar unsigned char #define uint unsigned int ucharseg[]={
0xc0,0xf9,0xa4,0xb0,
0x99,0x92,0x82,0xf8,
0x80,0x90,0x88,0x83,
0xc6,0xa1,0x86,0x8e,
0xff};
ucharnum=8;
voidallinit();
voiddisplay(ucharyi,er,san,si,wu,liu,qi,ba);
voidDelay1ms();
voidDelayms(uintms);
voidmain()
{
allinit();
while(1)
    {
display(num,num+1,num+2,num+3,num+4,num+5,num+6,num+7);
    }
}
voidallinit()
{
P2=0xa0;P0=0x00;
P2=0x80;P0=0xff;
P2=0xe0;P0=0xff;
P2=0xc0;P0=0xff;
}
voiddisplay(ucharyi,er,san,si,wu,liu,qi,ba)
{
P2=0xe0;//段选P0=seg[yi];
P2=0xc0;//位选P0=0x01;
Delay1ms();
P2=0xe0;//段选P0=seg[er];
P2=0xc0;//位选P0=0x02;
Delay1ms();
P2=0xe0;//段选P0=seg[san];
P2=0xc0;//位选P0=0x04;
Delay1ms();
P2=0xe0;//段选P0=seg[si];
P2=0xc0;//位选P0=0x08;
Delay1ms();
P2=0xe0;//段选P0=seg[wu];
P2=0xc0;//位选P0=0x10;
Delay1ms();
P2=0xe0;//段选P0=seg[liu];
P2=0xc0;//位选P0=0x20;
Delay1ms();
P2=0xe0;//段选P0=seg[qi];
P2=0xc0;//位选P0=0x40;
Delay1ms();
P2=0xe0;//段选P0=seg[ba];
P2=0xc0;//位选P0=0x80;
Delay1ms();
}
voidDelay1ms()     //@11.0592MHz{
unsignedchari, j;
_nop_();
_nop_();
_nop_();
i=11;
j=190;
do    {
while (--j);
    } while (--i);
}
voidDelayms(uintms)       //@11.0592MHz{
unsignedchari, j,k;
for(k=ms;k>0;k--)
    {
_nop_();
_nop_();
_nop_();
i=11;
j=190;
do        {
while (--j);
        } while (--i);
    }
}

99秒倒计时当计时完成时蜂鸣器报警实验:

#include <stc15f2k60s2.h>#include <intrins.h>#define uchar unsigned char #define uint unsigned int ucharseg[]={
0xc0,0xf9,0xa4,0xb0,
0x99,0x92,0x82,0xf8,
0x80,0x90,0x88,0x83,
0xc6,0xa1,0x86,0x8e,
0xff};
uinttim;
ucharnum=10;
ucharyi=16, er=16;
ucharguan=16;
voidallinit();
voiddisplay(ucharyi,er,san,si,wu,liu,qi,ba);
voidDelay1ms();
voidDelayms(uintms);
voidTimer0Init();
voidmain()
{
allinit();
Timer0Init();
while(1)
    {
yi=num/10;
er=num%10;
display(yi,er,guan,guan,guan,guan,guan,guan);
    }
}
voidallinit()
{
P2=0xa0;P0=0x00;
P2=0x80;P0=0xff;
P2=0xe0;P0=0xff;
P2=0xc0;P0=0xff;
}
voiddisplay(ucharyi,er,san,si,wu,liu,qi,ba)
{
P2=0xe0;//段选P0=seg[yi];
P2=0xc0;//位选P0=0x01;
Delay1ms();
P2=0xe0;//段选P0=seg[er];
P2=0xc0;//位选P0=0x02;
Delay1ms();
P2=0xe0;//段选P0=seg[san];
P2=0xc0;//位选P0=0x04;
Delay1ms();
P2=0xe0;//段选P0=seg[si];
P2=0xc0;//位选P0=0x08;
Delay1ms();
P2=0xe0;//段选P0=seg[wu];
P2=0xc0;//位选P0=0x10;
Delay1ms();
P2=0xe0;//段选P0=seg[liu];
P2=0xc0;//位选P0=0x20;
Delay1ms();
P2=0xe0;//段选P0=seg[qi];
P2=0xc0;//位选P0=0x40;
Delay1ms();
P2=0xe0;//段选P0=seg[ba];
P2=0xc0;//位选P0=0x80;
Delay1ms();
}
voidDelay1ms()     //@11.0592MHz{
unsignedchari, j;
_nop_();
_nop_();
_nop_();
i=11;
j=190;
do    {
while (--j);
    } while (--i);
}
voidDelayms(uintms)       //@11.0592MHz{
unsignedchari, j,k;
for(k=ms;k>0;k--)
    {
_nop_();
_nop_();
_nop_();
i=11;
j=190;
do        {
while (--j);
        } while (--i);
    }
}
voidTimer0Init(void)       //1毫秒@11.0592MHz{
AUXR|=0x80;       //定时器时钟1T模式TMOD&=0xF0;       //设置定时器模式TL0=0xCD;     //设置定时初值TH0=0xD4;     //设置定时初值TF0=0;        //清除TF0标志TR0=1;        //定时器0开始计时EA=1;//总中断开关ET0=1;//定时器0中断开始}
voidtimer0() interrupt1{
tim++;
if(tim==1000)
    {
tim=0;
num--;
if(num==0)
        {
ET0=0;
P2=0x80;P0=0xfe;
        }
    }
}


目录
相关文章
|
6月前
|
人工智能 算法 Java
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-992 士兵杀敌(二)
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-992 士兵杀敌(二)
79 1
|
6月前
|
人工智能 算法 Java
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-1005 数字游戏
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-1005 数字游戏
109 0
|
6月前
|
Java C语言 C++
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-1000 kAc给糖果你吃
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-1000 kAc给糖果你吃
82 0
|
6月前
|
算法 Java C语言
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-999 数的潜能
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-999 数的潜能
83 0
|
6月前
|
算法 Java C语言
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-997 粘木棍
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-997 粘木棍
89 0
|
6月前
|
机器学习/深度学习 算法 Java
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-996 车的放置
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-996 车的放置
91 0
|
1月前
蓝桥杯真题time模块详解 | 顺子日期 星期一
蓝桥杯真题time模块详解 | 顺子日期 星期一
|
1月前
|
Python
蓝桥杯常用函数基础 | 模块及常用内置函数
蓝桥杯常用函数基础 | 模块及常用内置函数
|
4月前
蓝桥杯之单片机学习(终)——关于之前文章的错误及更正(附:第十四届蓝桥杯单片机赛题)
蓝桥杯之单片机学习(终)——关于之前文章的错误及更正(附:第十四届蓝桥杯单片机赛题)
|
6月前
|
C++
【51单片机】添加模块代码的常见问题(图示&代码演示)
【51单片机】添加模块代码的常见问题(图示&代码演示)