找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 92|回复: 0
打印 上一主题 下一主题
收起左侧

使用DEEPSEEK编写程序点亮数码管从0-9循环显示

[复制链接]
跳转到指定楼层
楼主
deepseek能编写程序已经不是新闻,但是我头一次使用,想着看能不能按照我的要求写个程序出来。翻出一个共阳的1.8寸数码管;理清一下思路,好让deepseek读懂要干什么活。点亮数码管无非就是按照数字的笔画顺序点灯。所以简单画个图看下。


使用的STC12C5A60S2的单片机,接线方式如图,晶振部分没有画出来。

然后打开DEEPSEEK;输入想法:
编写一段程序,用STC12C5A60S2单片机的P1口点亮一个数码管,从数字0显示到数字9,每个数字亮1S;循环先显示。数码管为共阳,a,b,c,d,e,f,e,g,dp分别对应单片机的p1.0...p1.7;回车后网页显示:以下是使用STC12C5A60S2单片机P1口控制共阳数码管显示0-9的循环程序,每个数字显示1秒:
#include <STC12C5A60S2.H>  // 包含STC12C5A60S2头文件
#include <intrins.h>        // 包含_nop_()函数

// 定义数码管段码(共阳,P1.0对应a段,P1.7对应dp段)
// 数字0-9的段码表:a,b,c,d,e,f,g,dp
unsigned char code LED_Code[] = {
    0xC0,  // 0: 1100 0000 (a,b,c,d,e,f亮)
    0xF9,  // 1: 1111 1001 (b,c亮)
    0xA4,  // 2: 1010 0100 (a,b,g,e,d亮)
    0xB0,  // 3: 1011 0000 (a,b,g,c,d亮)
    0x99,  // 4: 1001 1001 (f,g,b,c亮)
    0x92,  // 5: 1001 0010 (a,f,g,c,d亮)
    0x82,  // 6: 1000 0010 (a,f,e,d,c,g亮)
    0xF8,  // 7: 1111 1000 (a,b,c亮)
    0x80,  // 8: 1000 0000 (全部亮)
    0x90,  // 9: 1001 0000 (a,b,c,d,f,g亮)
    0x7F   // 点: 0111 1111 (仅dp亮,可用于分隔)
};

// 延时函数声明
void Delay1ms(unsigned int count);
void Delay1s(void);

// 主函数
void main(void)
{
    unsigned char i = 0;  // 用于计数0-9

    // 初始化P1口为推挽输出模式
    P1M0 = 0xFF;  // P1口全部设置为推挽输出
    P1M1 = 0x00;

    while(1)  // 无限循环
    {
        for(i = 0; i < 10; i++)  // 循环显示0-9
        {
            P1 = LED_Code[ i];  // 将段码送到P1口
            Delay1s();          // 延时1秒
        }
    }
}

// 1毫秒延时函数(基于11.0592MHz晶振)
void Delay1ms(unsigned int count)
{
    unsigned int i, j;
    for(i = 0; i < count; i++)
        for(j = 0; j < 114; j++);
}

// 1秒延时函数
void Delay1s(void)
{
    Delay1ms(1000);  // 延时1000ms = 1s
}
程序说明:1. 段码定义:? 共阳数码管:段选信号为0时点亮,1时熄灭? P1.0对应a段,P1.1对应b段,...,P1.7对应dp段? 段码表按照0-9的顺序定义,每个字节的8位对应8个段2. 端口配置:? P1M0 = 0xFF; 和 P1M1 = 0x00; 将P1口设置为推挽输出模式? 推挽输出可以提供较强的驱动能力,直接驱动数码管3. 显示逻辑:? 主循环中,for循环依次取0-9的段码? 每个数字通过P1口输出,保持1秒? 显示完9后回到0重新开始如果需要更精确的延时,可以使用定时器:
把程序编译成HEX文件烧录后,运行正常,变化速度稍快,修改下延迟时间后OK;

评分

参与人数 2黑币 +60 收起 理由
wpppmlah + 10 赞一个!
admin + 50 共享资料的奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

无效楼层,该帖已经被删除
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

Powered by 单片机教程网

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