📄 7seg.c
字号:
/*******************************************************************
* *
* ME850单片机开发实验仪演示程序 - 8位数码管显示 *
* *
* 8位数码管从右至左显示 0-7 *
* *
* 版本: V1.0 (2008/07/20) *
* 作者: gguoqing (Email: gguoqing@willar.com) *
* 作者: gguoqing (gguoqing@willar.com) *
* 网站: www.sofi-tech.com(硕飞科技) www.mcusj.com(伟纳单片机世界) *
* 邮箱: sofitech@tom.com *
* *
*【版权】Copyright(C)伟纳电子 www.willar.com All Rights Reserved *
*【声明】此程序仅用于学习与参考,引用请注明版权和作者信息! *
* *
*******************************************************************/
#include <reg52.h>
#include <intrins.h>
char code reserve[3]_at_ 0x3b; //保留0x3b开始的3个字节给ICE52
// 7段显示代码
unsigned char code display[] =
{
0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90
};
/**********************************************************
延时子程序
**********************************************************/
void delayms( unsigned int ms )
{
unsigned char k;
while (ms--)
{
for (k = 0; k < 114; k++)
;
}
}
/**********************************************************
显示函数
**********************************************************/
void main(void)
{
unsigned char k, shift;
P0 = 0xff; //端口初始化
P2 = 0xff;
while (1)
{
shift = 0xfe; //位扫描初值
P2 = 0xff; //关闭显示
for (k = 0; k < 8; k++)
{
P0 = display[k]; //送段码
P2 = shift; //送位码
shift = _crol_(shift, 1); //左移一位,修改位码
delayms(1); //延时1ms
}
}
}
/**********************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -