蓝桥杯CT107D浅谈(三)

明白了锁存器的原理就容易编写一些简单的程序。
我们可以简单编写一个控制共阳数码管的程序
#include<STC15F2K60S2.h>
#include"intrins.h" //nop()函数的头文件
code unsigned char duan[] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
//0-9
void closs_buzz() //蜂鸣器初始化
{
P2=(P2 & 0X1F) | 0XA0;
P0=0X00;
P2&=0X1F;
}
void Delay1000ms()
//@11.0592MHz 该函数可直接用STC-ISP软件延时生成,延时1秒(不需要特别在意该延时函数)
{
unsigned char i, j, k;
nop();
nop();
i = 43;
j = 6;
k = 203;
do
{
do
{
while (–k);
} while (–j);
} while (–i);
}

void main()
{
unsigned char i;
closs_buzz(); //调用关闭蜂鸣器
P2=(P2 & 0X1F) |0XC0;//打开Y6C控制位选
P0=0X01; // 段选选为第一个数码管,段选控制为共阴;1为开启,0为关闭;0XFF即8个数码管全部打开,0X00即8个数码管全部关闭。
P2&=0X1F; //关闭Y6C
for(i=0;i<9;i++)
{
P2=(P2 & 0X1F) | 0XE0; //打开Y7C控制位选
P0=duan[i]; //为P0口赋值
P2&=0X1F; //关闭Y7C
Delay1000ms();//延时
}
}

最终的效果为一个数码管从0到9不断变化。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值