📄 sm.c
字号:
/*
端口应用程序
Study-3 51 单片机开发板
试验现象:
数码管依次显示从“0”到“9“
any question mail me:
zhaoliang0801@gmail.com
zhaoliang_0801@dl.cn
*/
// *******************************************************
// 头文件
#include "my51.h"
// *******************************************************
// 变量定义
// 数码管 码值
unsigned char leddata[]= { //共阴数码管 0-9 表
0x03, //"0"
0x9F, //"1"
0x25, //"2"
0x0D, //"3"
0x99, //"4"
0x49, //"5"
0x41, //"6"
0x1F, //"7"
0x01, //"8"
0x09, //"9"
0x11, //"A"
0xC1, //"B"
0x63, //"C"
0x85, //"D"
0x61, //"E"
0x71, //"F"
0x91, //"H"
0xE3, //"L"
0x13, //"n"
0x83, //"u"
0x31, //"P"
0xC5, //"o"
0xFD, //"-"
0xFF, //熄灭
0xDF //自定义
};
// *******************************************************
// 管脚定义
sbit SM_1 = P1^6;
sbit SM_2 = P1^7;
// *******************************************************
// 函数声明
void delay (unsigned int d_time);
//延时子程序
//参数: d_time 控制延时的时间
// *******************************************************
// 主函数
// TRUE 在头文件中应用
// 数码管 段码 利用串口扩展
void main (void)
{
unsigned char i; //定义循环变量
while(1)
{
SM_1 = 1;
SM_2 = 0; //点亮第1个数码管
for(i=0; i<10; i++) //循环显示0-9
{
SBUF = leddata[i]; //P2 作为数据传输端口
delay (30000); //延时
}
SM_1 = 0;
SM_2 = 1; //点亮第2个数码管
for (i=0; i<10; i++) //循环显示0-9
{
SBUF = leddata[i]; //P2 作为数据传输端口
delay (30000); //延时
}
}
}
// *******************************************************
// 延时子函数
// 参数范围 0-65536
void delay (unsigned int d_time)
{
for(; d_time>0; d_time--);
}
// *******************************************************
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -