当前位置: 首页 > news >正文

数码管静态显示一位字符(STC89C52单片机)

#include <reg52.h>

sbit ADDR0 = P1^0;
sbit ADDR1 = P1^1;
sbit ADDR2 = P1^2;
sbit ADDR3 = P1^3;
sbit ENLED = P1^4;

//用数组来存储数码管的真值表,数组将在下一章详细介绍
unsigned char code LedChar[] = {
    0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8,
    0x80, 0x90, 0x88, 0x83, 0xC6, 0xA1, 0x86, 0x8E
};

void main()
{
    unsigned char cnt = 0;  //记录T0中断次数
    unsigned char sec = 0;  //记录经过的秒数

    ENLED = 0;    //使能U3,选择数码管DS1
    ADDR3 = 1;
    ADDR2 = 0;
    ADDR1 = 0;
    ADDR0 = 0;
    TMOD = 0x01;  //设置T0为模式1
    TH0  = 0xB8;  //为T0赋初值0xB800
    TL0  = 0x00;
    TR0  = 1;     //启动T0
    
    while (1)
    {
        if (TF0 == 1)        //判断T0是否溢出
        {
            TF0 = 0;         //T0溢出后,清零中断标志
            TH0 = 0xB8;      //并重新赋初值
            TL0 = 0x00;
            cnt++;           //计数值自加1
            if (cnt >= 50)   //判断T0溢出是否达到50次
            {
                cnt = 0;            //达到50次后计数值清零
                P0 = LedChar[sec];  //当前秒数对应的真值表中的值送到P0口
                sec++;              //秒数记录自加1
                if (sec >= 16)      //当秒数超过0x0F(15)后,重新从0开始
                {
                    sec = 0;
                }
            }
        }
    }
}
 

http://www.xdnf.cn/news/61003.html

相关文章:

  • QT 的.pro 转 vsproject 工程
  • C++ 2025 展望:现代编程需求与新兴技术驱动下的变革
  • 目标检测篇---R-CNN梳理
  • 多线程出bug不知道如何调试?java线程几种常见状态
  • 讯联桌面TV版apk下载-讯联桌面安卓电视版免费下载安装教程
  • Python-Django系列—部件
  • 天翼云手机断开连接2小时关机
  • 2025大模型十大安全威胁(OWASP TOP 10 LLM 2025).pdf
  • 基于MuJoCo物理引擎的机器人学习仿真框架robosuite
  • Python常用的第三方模块【openpyxl库】读写Excel文件
  • 机器学习-08-推荐算法-案例
  • C# .NET如何自动实现依赖注入(DI)
  • AI大模型如何重塑科研:从灵感生成到学术写作的全链路变革
  • CH585单片机的LCD外设怎么驱动段式LCD
  • 【matlab】地图上的小图
  • 基于Java的不固定长度字符集在指定宽度和自适应模型下图片绘制生成实战
  • Linux学习笔记协议篇(六):SPI FLASH设备驱动
  • 华为VRP系统知识总结及案例试题
  • 下载pycharm遇到的问题及解决方法
  • 深度学习3.5图像分类数据集
  • elastic/go-elasticsearch与olivere/elastic
  • 乐家桌面安卓版2025下载-乐家桌面软件纯净版安装分享码大全
  • 【scikit-learn基础】--『监督学习』之 均值聚类
  • GPT,Genini, Claude Llama, DeepSeek,Qwen,Grok,选对LLM大模型真的可以事半功倍!
  • 发布事件和Insert数据库先后顺序
  • GeoJSON 格式详解与使用指南
  • Macbook IntelliJ IDEA终端无法运行mvn命令
  • 【2025面试Java常问八股之redis】zset数据结构的实现,跳表和B+树的对比
  • 1.Vue3 - 创建Vue3工程
  • JavaEE--2.多线程