首先是我们写在最前面的头文件#studio<STC60S2.H>
头文件是一种包含功能函数,数据接口声明的载体文件,用于保存程序的说明。以我们使用的STC15F260S2为例子
先来介绍头文件中最多出现的sfr和sbit函数
sfr函数:将一个单片机的特殊功能寄存器赋值一个变量,后面有使用到的情况时,会通过变量指引到该寄存器,有点类似地址的作用
sbit函数:是将sfr中某一个具体的数值(0或者1)输入到某一个变量当中。
地下是个人对自定时数码管的一份自用总结
#头文件
#include<STC15F260S2.H>
#include<DEPUTY,H>
#定义两种字符类型
#define uchar unsigned char
#define uint unsigned char
#数码管在进行位选 express from 0 nothing
bit S4,S5,S6,S7 #四个独立按键,
uchar tab[]={ 0XC0 0XFF};
uchar yi,er,san,si,wu,liu,qi,ba;
void Allinint(void)#初始化函数
void delay5ms()#延迟函数,自定延迟时间5ms
void Display1(uchar yi,uchar er)
void Display2(uchar san,uchar si)
void Display3(uchar wu,uchar liu)
void Display(uchar qi,uchar ba)#四组数码管
void Keyscan(void)独立键盘 连接32
void Keyscan16(void)矩阵键盘 链接21
# main:int mian()表示该函数返回值为int类型 而void mian不返回,返回0代表程序正常执行成功,返回非0值代表程序异常结束
void main(void)
#这边用两种方式来写八个数码管一次亮灯的程序,一个是用主函数一次写掉,另一份是两个一定义定义四次
{
Allinit()
while(1)
{ #前四个数码管,依次显示0-3
P2=0XC0;
P0=0X01;
P0=tab[0];
Delayms(1);
P2=0XC0;
P0=0X02;
P0=tab[1];
Delayms(1);
P2=OXC0;
P0=OX04;