我心飞扬 发表于 2025-4-18 00:33:02

第八集学完。继续下一集。第八集比第七集学的快,加油!

wyfwkyug 发表于 2025-4-18 08:56:18

继续打卡学习

黎明的曙光 发表于 2025-4-18 10:48:04

学习打卡

白水大虾2016 发表于 2025-4-18 10:51:57

今天继续定时器中断

dyx811 发表于 2025-4-18 11:18:50

每天都来看看冲哥更新没有!

ZRF197210 发表于 2025-4-18 12:59:16

继续学习

fs_ajin 发表于 2025-4-18 15:08:36

来打卡了

无用科技 发表于 2025-4-18 19:42:02

求更

sdfan2002 发表于 2025-4-18 22:40:59

看完第二十集ADC_NTC测温

爱哭的水瓶座 发表于 2025-4-19 00:28:56

求大哥 这个8位 数码管 用了2个595 ,这个代码为何 一般运算 正常 ,但 遇到(小 数 除 大数)   就无法显示出来。
#include "io.h"

u8 SEG_NUM[]=
{
    0x3F,       /*'0', 0*/
    0x06,       /*'1', 1*/
    0x5B,       /*'2', 2*/
    0x4F,       /*'3', 3*/
    0x66,       /*'4', 4*/
    0x6D,       /*'5', 5*/
    0x7D,       /*'6', 6*/
    0x07,       /*'7', 7*/
    0x7F,       /*'8', 8*/
    0x6F,       /*'9', 9*/
    0x77,       /*'A', 10*/
    0x7C,       /*'B', 11*/
    0x39,       /*'C', 12*/
    0x5E,       /*'D', 13*/
    0x79,       /*'E', 14*/
    0x71,       /*'F', 15*/
    0x40,       /*'-', 16*/
    0x00,       /*' ', 17*/
    0x80,       /*'.', 18*/
};

u8 T_NUM =
{
        0X01,0X02,0X04,0X08,0X10,0X20,0X40,0X80
};


void Init_595(void)
{
        HC595_SER = 0;
        HC595_RCK = 0;
        HC595_SCK = 0;       
}
       


void Send_595( u8 dat )
{
        u8 i;
       
        for( i=0;i<8;i++ )
        {
                dat <<= 1;                                //DAT = (DAT<<1);        //CY
                HC595_SER = CY;                //先把数据写到引脚上
                HC595_SCK = 1;                        //输出上升沿的时钟信号
                HC595_SCK = 0;
        }
}

void Display_Seg(u8 HC595_1,u8 HC595_2)
{
                        //数码管段码输出高电平点亮
       
        Send_595(HC595_2);                        //数码管位码      低电平点亮
        Send_595(HC595_1);       
        HC595_RCK = 1;                                //数据输出       
        HC595_RCK = 0;
}

u8 Seg_no = 0;
u16 shi=0;
u16 fen=0;
u16 miao =0;

void Seg_Task(void)
{
        uf num = 0;
        if( Seg_no ==0 )                                                                //小时十位
        {
                num =(fen/100)%10;
                Display_Seg( SEG_NUM , ~T_NUM);                //数码管刷段码和位码
        }
        else if( Seg_no ==1 )                                                        //小时的个位
        {
                num =(fen/10)%10;
                Display_Seg( SEG_NUM , ~T_NUM);                //数码管刷段码和位码
        }       
        else if( Seg_no ==2 )                                                        //第一个横杠
        {
                num =(fen/1)%10;
                Display_Seg( SEG_NUM , ~T_NUM);                //数码管刷段码和位码
        }       
        else if( Seg_no ==3 )                                                        //分钟的十位
        {
                num = fen%10;
                Display_Seg( SEG_NUM , ~T_NUM);                //数码管刷段码和位码
        }
        else if( Seg_no ==4 )
        {
                num = (miao/1000)%10;
                Display_Seg( SEG_NUM , ~T_NUM);                //数码管刷段码和位码
        }       
        else if( Seg_no ==5 )
        {
                num = (miao/100)%10;
                Display_Seg( SEG_NUM , ~T_NUM);                //数码管刷段码和位码
        }       
        else if( Seg_no ==6 )
        {
                num = (miao/10)%10;
                Display_Seg( SEG_NUM , ~T_NUM);                //数码管刷段码和位码
        }
        else if( Seg_no ==7 )
        {
                num = miao%10;
                Display_Seg( SEG_NUM , ~T_NUM);                //数码管刷段码和位码
        }       
        else
        {
               
        }
        Seg_no ++;
        if( Seg_no>7 )
                Seg_no=0;
}

void TIMECOUNT_Task(void)
{
        miao =100;
        fen = 800/4095*500; // 这个运算 不知道是什么回事 传不过        void Seg_Task(void)。
       
}
页: 117 118 119 120 121 122 123 124 125 126 [127] 128 129 130 131 132 133 134 135 136
查看完整版本: 《8051U深度入门到32位51大型实战视频》,【免费 + 包邮 送】实验箱@Ai8051U,100万套