📄 main.c
字号:
/***********************************************************
实验名称:数码管
程序说明:本程序测试了数码管
实验平台:stc15单片机开发板v1.0版
日期:2012-05-27
QQ: 259902530
www.stcstudy.com 61mcu.taobao.com 版权所有
***********************************************************/
#include "STC15F2K.h"
#include <intrins.H>
typedef unsigned char uchar;
typedef unsigned int uint;
uchar bdata OutByte; /*定义待输出字节变量*/
sbit Bit_Out=OutByte^7; /*定义输出字节的最高位,即输出位*/
sbit SER=P4^4; /*位输出引脚*/
sbit SRCLK=P4^2; /*位同步脉冲输出*/
sbit RCLK=P4^1; /*锁存脉冲输出*/
uchar code Segment[]={
0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77, /*共阴7段LED段码表*/
0x7c,0x39,0x5e,0x79,0x71,0x76,0x73,0x3e,0x00};
void OneLed_Out(uchar i,uchar Location) /*输出点亮一个7段LED显示器*/
{
uchar j;
OutByte=Location; /*先输出位码*/
for(j=1;j<=8;j++)
{
SER=Bit_Out;
SRCLK=0;SRCLK=1;SRCLK=0; /*位同步脉冲输出*/
OutByte=OutByte<<1;
}
OutByte=~Segment[i]; /*再输出段码*/
for(j=1;j<=8;j++)
{
SER=Bit_Out;
SRCLK=0;SRCLK=1;SRCLK=0; /*位同步脉冲输出*/
OutByte=OutByte<<1;
}
RCLK=0;RCLK=1;RCLK=0; /*一个锁存脉冲输出*/
}
void main()
{
uchar i=0;
uchar Location=0x01; /*定义位码*/
while(1)
{
OneLed_Out(i,Location);
i=i+1;
Location=_crol_(Location,1);
if(i==8) //8次一轮
{
i=0;
Location=0x01;
//Delay(1000);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -