历史上的今天
今天是:2025年05月10日(星期六)
2019年05月10日 | 单片机学习记录——数码管
2019-05-10 来源:eefocus
静态数码管
硬件连接
图中为共阳极数码管,数码管的8个段就是8个LED,LED的阳极接在一起,接高电平。当某一段的阴极接低电平时,该段就会点亮。
软件设计
把0~F的段码放入数组中,依次显示0~F。
unsigned char DIG_CODE[16]={0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07,0x7F, 0x6F, 0x77, 0x7C, 0x39, 0x5E, 0x79, 0x71};
/***************************************************************
* 函 数 名 : static_dig
* 函数功能 : 静态数码管依次显示
* 输 入 : 无
* 输 出 : 无
***************************************************************/
void static_dig(void)
{
unsigned char i = 0;
for (i=0; i<16; i++)
{
DIG = ~DIG_CODE[i];
delay1s();
}
}
动态数码管
硬件连接

数码管的位选段接38译码器的输出。段选端接74573跟随器的输出。
在某一时刻,只能某一个数码管被点亮。可以把各个数码管点亮的间隔缩短,利用人眼的余辉效应。看起来像是,各个数码管同时点亮,显示不同的码值。
软件设计
unsigned char DIG_CODE[16]={0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07,0x7F, 0x6F, 0x77, 0x7C, 0x39, 0x5E, 0x79, 0x71};
/*********************************************************
* 函 数 名 : dongtai_all
* 函数功能 : 各个数码管依次显示不同的内容
* 输 入 : 无
* 输 出 : 无
**********************************************************/
void dongtai_all(void)
{
unsigned char i = 0;
for (i=0; i<8; i++)
{
WEI = i; //位选,决定哪个数码管亮
DUAN = DIG_CODE[i+1]; //段选,决定数码管的哪段亮(亮什么数字)
delay1s();
}
}
上一篇:单片机学习记录——LED点阵
下一篇:单片机学习记录——继电器
史海拾趣
|
我的平台是PXA270+wince5.0. 启动时,在控制面板中的system选项中的Memory选项卡中可以看到内存被分成了两部分,一部分是storage memory,一部分是program memory,我的系统默认分配是30544KB/30544KB,我现在想修改program的内存分配,希望它能大 ...… 查看全部问答> |
|
现在要在porketPC端编写一段代码,实现的功能是按一下一个按钮,porketPC端能够自动的把自己存储的MyPicture文件夹里的最新图片发送到pc端的一个固定地方。问一下各位高手这要用到哪个接口下的函数阿?请大家指点一下拉!… 查看全部问答> |
|
如何向U盘扇区写大文件?大于256M,如何写?writefile?deviceiocontrol?内存映射?这些都怎么用?我用了WRITEFILE(),但写进去的都不对,没有成功过,不知道怎么写,项目急用,困惑了好久,真诚向各位请教,谢谢!… 查看全部问答> |
|
mobile的启动方式(类似于PC的BIOS中选择系统启动方式) 我想问一下,在mobile中可以选择启动方式吗?比如用CD-ROM启动或网络启动等。 可否绕过windows mobile系统来操作PDA中的硬件? 比如在PC中,用光盘启动后,可以不通过windows xp来格式化硬盘等。 是否可以用类似的方法来操作windows mobile的F ...… 查看全部问答> |
|
pb4.2下eboot下载29.1M内核到27.7M时失败! 打印信息时看到ebsimp.c中的 memcpy(pbdata,gpbdata,dwcopied)在目标地址大于0x8defffxx时死掉啦! 请问eboot怎么修改? … 查看全部问答> |




