**蓝桥杯stc15f2k60s2芯片编程(数码管)**

**

**

(1)数码管显示01234567

**

**

#include <stc15f2k60s2.h>unsigned char shuzu[]={0XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X90,0XBF,0XFF};
unsigned char i,j;void main()
{P2=0XA0;P0=0X00;P2=0X80;P0=0XFF;while(1){i++;if(i==8)i=0;P0=0XFF;P2=(P2&0X1F)|0XE0;  P2&=0X1F; // P0=1<<i; P2=(P2&0X1F)|0XC0;  P0=1<<i;P2=P2&0X1F;// P0=shuzu[i];P2=(P2&0X1F)|0XE0;   P0=shuzu[i];P2&=0X1F;
j=1000;while(j--);}}

**

**

(2)通过中断写数码管

**

**

#include <stc15f2k60s2.h>
#include <intrins.h>
void shumaguan();
void Timer0Init();
void Delay100us();
unsigned char abile[]={0XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X90,0XBF,0XFF};
unsigned char saomiao[]={0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF};void main()
{while(1){P2=0XC0;P0=0X01;P2=0XFF;P0=0XFF;Timer0Init();shumaguan();Delay100us();
}
}void shumaguan()
{saomiao[0]=abile[0];saomiao[1]=abile[5];saomiao[2]=abile[2];saomiao[3]=abile[1];saomiao[4]=abile[1];saomiao[5]=abile[3];saomiao[6]=abile[1];saomiao[7]=abile[4];
}void weixuan() interrupt 1
{unsigned char i;P2=P2&0x1f|0xe0;P0=0xff;P2=0x1f;P2=P2&0x1f|0xc0;P0=1<<i;P2=0x1f;P2=P2&0x1f|0xe0;P0=saomiao[i];P2=0x1f;i++;if(i==8) i=0;
}
void Timer0Init()       //100??@11.0592MHz
{AUXR |= 0x80; TMOD &= 0xF0;  TL0 = 0xAE;    TH0 = 0xFB;        TF0 = 0;       TR0 = 1;       EA=1;ET0=1;
}
void Delay100us()       //@11.0592MHz
{unsigned char i, j;_nop_();_nop_();i = 2;j = 15;do{while (--j);} while (--i);
}

**

(3)通过按键控制数码管加1

**

#include <stc15f2k60s2.h>
#include <intrins.h>
unsigned char shuzu[]={0XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X90,0XBF,0XFF};
unsigned char i,j,miao;
sbit K1=P3^0;
void anjian();
void Delay10ms();       //@11.0592MHz
void main()
{P2=0XC0;P0=0X01;P2=0XFF;P0=0XFF;  //????????,???while(1){anjian();P2=(P2&0X1F)|0XC0;  //´ò¿ªÎ»Ñ¡P0=0x80;  //0000 0001P2&=0X1F; P2=(P2&0X1F)|0XE0;   //´ò¿ª¶ÎÑ¡P0=shuzu[miao%10];
P2&=0X1F;j=1000;while(j--);P2=(P2&0X1F)|0Xc0;    //´ò¿ªÎ»Ñ¡P0=0x40;  //0000 0001P2&=0X1F; P2=(P2&0X1F)|0XE0;P0=shuzu[miao/10];P2&=0X1F;j=1000;while(j--);}}void anjian()
{if(K1==0)
{Delay10ms();if(K1==0)
{miao++;
}
while(!K1);
}}void Delay10ms()      //@11.0592MHz
{unsigned char i, j;i = 108;j = 145;do{while (--j);} while (--i);
}

**

(4)通过按键,改变数码管的数值

**

#include <stc15f2k60s2.h>
#include <intrins.h>
unsigned char shuzu[]={0XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X90,0XBF,0XFF};
unsigned char i,j,miao;
sbit K1=P3^0;
void anjian();
void Delay10ms();       //@11.0592MHz
void main()
{P2=0XC0;P0=0X01;P2=0XFF;P0=0XFF;  //????????,???while(1){anjian();P2=(P2&0X1F)|0XC0;  //´ò¿ªÎ»Ñ¡P0=0x80;  //0000 0001P2&=0X1F; P2=(P2&0X1F)|0XE0;   //´ò¿ª¶ÎÑ¡P0=shuzu[miao%10];
P2&=0X1F;j=1000;while(j--);P2=(P2&0X1F)|0Xc0;    //´ò¿ªÎ»Ñ¡P0=0x40;  //0000 0001P2&=0X1F; P2=(P2&0X1F)|0XE0;P0=shuzu[miao/10];P2&=0X1F;j=1000;while(j--);}}void anjian()
{if(K1==0)
{Delay10ms();if(K1==0)
{miao++;
}
while(!K1);
}}void Delay10ms()      //@11.0592MHz
{unsigned char i, j;i = 108;j = 145;do{while (--j);} while (--i);
}

基于stc15f2k60s2芯片单片机编程(数码管)相关推荐

  1. 基于stc15f2k60s2芯片单片机编程(时钟DS1302)

    **stc15f2k60s2芯片编程(时钟DS1302)** main.c函数 #include <STC15F2K60S2.H> #include <intrins.h> # ...

  2. 基于stc15f2k60s2芯片单片机编程(串口+超声波)

    通过单片机发送当前超声波测量的距离给串口1显示 (感谢广东某大神的帮助) #include <stc15f2k60s2.h> #include <intrins.h>void ...

  3. 基于stc15f2k60s2芯片单片机编程(闹铃)

    用定时器中断写时钟加调节 1)关闭蜂鸣器.继电器等无关外设: 2)设备初始化时钟为 23 时 59 分 50 秒,闹钟提醒时间 0 时 0 分 0 秒. A.时间显示格式 2 3 - 5 9 - 5 ...

  4. 基于stc15f2k60s2芯片单片机编程(秒表)

    用定时器做一个秒表,精确到0.1,S7按下,开始计时,S6按下清零 #include <stc15f2k60s2.h> #include <intrins.h> void Ti ...

  5. 基于stc15f2k60s2芯片单片机编程(EEPROM24C02实验)

    主函数 #include <stc15f2k60s2.h> #include <intrins.h> #include <12.h> void shumaguan( ...

  6. Esp8266 进阶之路36【外设篇】乐鑫esp8266芯片SDK编程驱动时间芯片 ds1302,同步网络时间到本地,再也不怕掉电断网也可以同步时间了!(附带Demo)

    本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 1. Esp8266之 搭建开发环境,开始一个"hello ...

  7. 普中51单片机按键-数码管显示

    基于普中单片机按键-数码管显示 简介 1.硬件部分 普中单片机开发板 数码管 独立按键 2.软件部分 keil软件 硬件部分 普中单片机开发板 数码管 独立按键 (这些都是开发板的最基本的配置) 软件 ...

  8. 基于Proteus学习单片机系列(二)——驱动数码管

    获取更多资源,请关注微信公众号:嵌入式基地 获取项目资源:公众号后台回复:单片机仿真 基于Proteus学习单片机系列(一)--点亮LED 基于Proteus学习单片机系列(二)--驱动数码管 基于P ...

  9. 单片机c语言ad8035,基于QN8035芯片的无线数据接收器设计.doc

    PAGE PAGE 45 TOC \o "1-3" \h \u 21287 摘要 1 7139 Abstract 1 29370 第一章 绪论 2 10178 1.1 课题背景 2 ...

最新文章

  1. iOS Block实现探究
  2. 从@property说起(四)深入成员变量
  3. 多彩投网站动态爬取[python+selenium]
  4. [react] React中你有使用过getDefaultProps吗?它有什么作用?
  5. 小小一行Python命令,居然把电脑变成服务器
  6. linux shell删除所有文件夹下指定扩展名(关键字)的所有文件
  7. js 回调函数 精析
  8. 初学者学习C++的50条忠告
  9. CQOI 2016 不同的最小割
  10. 系统架构图怎么画_产品架构图到底是怎么“画”出来的?
  11. CAD教程:CAD软件中如何设置线缆?
  12. 锐捷长ping_【交换机】S8606--s5750E互连接口ping大包(length=18024)会丢包
  13. undo歌词中文音译_求sanna Nielsen 唱的undo 中文谐音歌词
  14. 电路串联和并联图解_初三物理串联和并联电路知识大全
  15. CAD命令输入、结束、重复、撤销
  16. 初创企业适用的邮件群发软件
  17. 六、T100固定资产之固定资产月结处理
  18. oracle rowid与rownum的使用
  19. 实时视频传输的关键技术 H.264 全解析
  20. RouterOS的基本设置

热门文章

  1. 智慧城市挺进“绿色”时代
  2. 快逸报表部署 (一)-- demo连接mysql数据库
  3. 公司邮箱哪个安全?安全邮箱格式怎么填?公司邮箱号码大全
  4. Android仿QQ空间二级评论列表
  5. R3LIVE代码详解(四)
  6. CSS实现文字跑马灯效果
  7. 魔术师usm安装服务器系统,U盘魔术师V3(USMv3)
  8. 西门子PLC 1214C 做的压机控制 可以在触摸屏上任意编辑压装逻辑
  9. 基于 bootstrap 的省市区地址选择的 js
  10. VS编译器程序运行窗口一闪而过?教你一招!