基于stc15f2k60s2芯片单片机编程(数码管)
**蓝桥杯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芯片单片机编程(数码管)相关推荐
- 基于stc15f2k60s2芯片单片机编程(时钟DS1302)
**stc15f2k60s2芯片编程(时钟DS1302)** main.c函数 #include <STC15F2K60S2.H> #include <intrins.h> # ...
- 基于stc15f2k60s2芯片单片机编程(串口+超声波)
通过单片机发送当前超声波测量的距离给串口1显示 (感谢广东某大神的帮助) #include <stc15f2k60s2.h> #include <intrins.h>void ...
- 基于stc15f2k60s2芯片单片机编程(闹铃)
用定时器中断写时钟加调节 1)关闭蜂鸣器.继电器等无关外设: 2)设备初始化时钟为 23 时 59 分 50 秒,闹钟提醒时间 0 时 0 分 0 秒. A.时间显示格式 2 3 - 5 9 - 5 ...
- 基于stc15f2k60s2芯片单片机编程(秒表)
用定时器做一个秒表,精确到0.1,S7按下,开始计时,S6按下清零 #include <stc15f2k60s2.h> #include <intrins.h> void Ti ...
- 基于stc15f2k60s2芯片单片机编程(EEPROM24C02实验)
主函数 #include <stc15f2k60s2.h> #include <intrins.h> #include <12.h> void shumaguan( ...
- Esp8266 进阶之路36【外设篇】乐鑫esp8266芯片SDK编程驱动时间芯片 ds1302,同步网络时间到本地,再也不怕掉电断网也可以同步时间了!(附带Demo)
本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 1. Esp8266之 搭建开发环境,开始一个"hello ...
- 普中51单片机按键-数码管显示
基于普中单片机按键-数码管显示 简介 1.硬件部分 普中单片机开发板 数码管 独立按键 2.软件部分 keil软件 硬件部分 普中单片机开发板 数码管 独立按键 (这些都是开发板的最基本的配置) 软件 ...
- 基于Proteus学习单片机系列(二)——驱动数码管
获取更多资源,请关注微信公众号:嵌入式基地 获取项目资源:公众号后台回复:单片机仿真 基于Proteus学习单片机系列(一)--点亮LED 基于Proteus学习单片机系列(二)--驱动数码管 基于P ...
- 单片机c语言ad8035,基于QN8035芯片的无线数据接收器设计.doc
PAGE PAGE 45 TOC \o "1-3" \h \u 21287 摘要 1 7139 Abstract 1 29370 第一章 绪论 2 10178 1.1 课题背景 2 ...
最新文章
- iOS Block实现探究
- 从@property说起(四)深入成员变量
- 多彩投网站动态爬取[python+selenium]
- [react] React中你有使用过getDefaultProps吗?它有什么作用?
- 小小一行Python命令,居然把电脑变成服务器
- linux shell删除所有文件夹下指定扩展名(关键字)的所有文件
- js 回调函数 精析
- 初学者学习C++的50条忠告
- CQOI 2016 不同的最小割
- 系统架构图怎么画_产品架构图到底是怎么“画”出来的?
- CAD教程:CAD软件中如何设置线缆?
- 锐捷长ping_【交换机】S8606--s5750E互连接口ping大包(length=18024)会丢包
- undo歌词中文音译_求sanna Nielsen 唱的undo 中文谐音歌词
- 电路串联和并联图解_初三物理串联和并联电路知识大全
- CAD命令输入、结束、重复、撤销
- 初创企业适用的邮件群发软件
- 六、T100固定资产之固定资产月结处理
- oracle rowid与rownum的使用
- 实时视频传输的关键技术 H.264 全解析
- RouterOS的基本设置