找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3450|回复: 0
收起左侧

数码管的静态显示(STC89C516单片机)

[复制链接]
ID:330146 发表于 2019-3-31 22:09 | 显示全部楼层 |阅读模式
数码管的静态显示实验报告
Ø 数码管的原理
l 数码管的构造
数码管实际是由LED构成用高低电平控制。
有七段数码管和八段数码管之分,也有共阴和共阳之分。
七段数码管是没有第八段即小数点这一段则八段数码管有小数点。
共阴数码管则是把所有阴极相连,共阳则是把所有阳极相连。
此为原理图。
l 数码管的逻辑电平
数码管的显示是用CPU控制的CPU共给数码管的高低电平决定了它段位的亮灭,
而51单片机中运用正逻辑即高电平为1,低电平为0.。

Ø 数码管的静态显示具体操作

打开原理图
1.用P0的8个端口控制JP3的端口
2.写出共阴极字段码(共阳极直接去反就行,大部分都是用共阴极数码管)


按照接线图在单片机上接线


在Keil中新建项目并加入main.c
在main.c中写程序
如下:
/**************************************************************************************
*                                                                                                      
*                                          静态数码管显示实验
***************************************************************************************/

#include "reg52.h"                         //´定义单片机一些特殊功能

typedef unsigned int u16;          //对数据类型定义
typedef unsigned char u8;



u8 code smgduan[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
                                        0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//显示0~F的值



void delay(u16 i)//延时函数
{
        while(i--);        
}
/*******************************************************************************
* 函数名      : main
* 函数功能         : 主函数
* 输  入       : 无
* 输   出            : 无
*******************************************************************************/
void main()
{        
        u16 i;

        while(1)
        {
               

                for(i = 0; i <= 15 ; i++)//循环显示0~F
                {
                        P0=~smgduan;//对共阴极字段码去反
                        delay(60000);//等待1S
                        P0=0x00;
                }
                for(i = 15; i >= 0; i--)//循环显示F~0
                {
                        P0=~smgduan[ i];
                        delay(60000);
                        P0=0x00;
                }                        
        }
}
Ø KEIL开发环境的调试
CPU中I/O口的高低电平可以通过KEIL的开发环境来调试。
可以具体的观察高低电平。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表