找回密码
 立即注册
楼主: 电子DIY小家

冲哥32位8051视频教程疑问解答贴

 火.. [复制链接]
  • 打卡等级:以坛为家II
  • 打卡总天数:471
  • 最近打卡:2025-06-28 12:18:50
已绑定手机

0

主题

56

回帖

492

积分

中级会员

积分
492
发表于 2024-3-5 13:18:05 | 显示全部楼层
冲哥啥时候来个视频讲解科学计算器

点评

要讲解哪方面的呢  详情 回复 发表于 2024-3-5 13:48
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:136
  • 最近打卡:2025-06-19 15:40:05

47

主题

1350

回帖

8056

积分

荣誉版主

冲哥视频教程和各种开源资料QQ交流群884047237,可群

积分
8056
QQ
发表于 2024-3-5 13:48:43 | 显示全部楼层
yin*** 发表于 2024-3-5 13:18
冲哥啥时候来个视频讲解科学计算器

要讲解哪方面的呢
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:194
  • 最近打卡:2025-06-27 08:50:39
已绑定手机

10

主题

42

回帖

629

积分

高级会员

积分
629
发表于 2024-3-7 08:55:16 | 显示全部楼层
学习了
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:472
  • 最近打卡:2025-06-28 07:39:31

4

主题

510

回帖

2233

积分

金牌会员

积分
2233
发表于 2024-4-11 10:58:25 | 显示全部楼层
帮找错误,用ADC控制LED闪烁延时的例子,不能编译,错误在哪里?
#include <STC32G.H>

typedef unsigned char u8;                                        //unsigned char 用 u8 表示
typedef unsigned int u16;                                        //unsigned int 用 u16 表示
typedef unsigned long int u32;                //unsigned long int 用 u32 表示

#define MAIN_Fosc  35000000UL                //定义主频 35MHz,请按实际频率修改(用于delay函数自适应主频)

#define ON         0                                //定义0 为 开
#define        OFF        1                                //定义1 为 关

sbit LED1 = P2^0;                //引脚定义:LED1->P20
P2M1 = 0x00;P2M0 = 0x00;                //设置P2口为准双向口模式 //00:准双向口 01:推挽输出 10:高阻输入 11:开漏输出

sbit ADC_PIN=P1^0;//定义ADC引脚
P1M1 = 0xFF;P1M0 = 0x00;                //设置P1口为高阻输入模式 //00:准双向口 01:推挽输出 10:高阻输入 11:开漏输出

void init_adc()//初始化ADC
        {
    ADC_CHS = 0x00; // 设置ADC引脚为输入P1^0
    ADC_CONTR = 0x80; // 开启ADC,使用内部参考电压  
  }


unsigned int read_adc();    // 读取ADC值
void delay(unsigned int ms);  // 延时函数


unsigned int read_adc() // 读取ADC值
        {
    unsigned int adc_value;
                ADC_RES = 0;
    ADC_RESL = 0;

    ADC_CONTR = (ADC_CONTR & 0xf0) | channel; //设置ADC转换通道
    ADC_START = 1;//启动ADC转换
    _nop_();// 等待转换完成
    _nop_();
    _nop_();
    _nop_();// 等待转换完成
    while(ADC_FLAG == 0);   //wait for ADC finish 结束转换
    ADC_FLAG = 0;     //清除ADC结束标志
    adc_value =(((u16)ADC_RES << 8) | ADC_RESL);// 读取ADC值
                return adc_value;
}
// 延时函数
void delay(unsigned int ms)
{
    unsigned int i, j;
    for (i = 0; i < ms; i++)
                {
        for (j = 0; j < 110; j++)
                        {
       _NOP_();}
    }
}

void main(void)
{
          WTST = 0;  //设置程序指令延时参数,赋值为0可将CPU执行指令的速度设置为最快
    EAXFR = 1; //扩展寄存器(XFR)访问使能
    CKCON = 0; //提高访问XRAM速度
       
                init_adc(); // 初始化ADC
          unsigned int adc_value;
    while (1)
                  {
       adc_value = ADC_RESL(); // 读取ADC值
       LED1 = ON;
                         delay(adc_value); // 根据ADC值控制延时
                         LED1 = OFF;
                         delay(adc_value); // 根据ADC值控制延时
      }
}       

点评

编译器提示的错误信息是啥,  详情 回复 发表于 2024-4-11 15:57
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:136
  • 最近打卡:2025-06-19 15:40:05

47

主题

1350

回帖

8056

积分

荣誉版主

冲哥视频教程和各种开源资料QQ交流群884047237,可群

积分
8056
QQ
发表于 2024-4-11 15:57:32 | 显示全部楼层
科学*** 发表于 2024-4-11 10:58
帮找错误,用ADC控制LED闪烁延时的例子,不能编译,错误在哪里?
#include

编译器提示的错误信息是啥,
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:472
  • 最近打卡:2025-06-28 07:39:31

4

主题

510

回帖

2233

积分

金牌会员

积分
2233
发表于 2024-4-11 16:34:10 | 显示全部楼层
电子DI*** 发表于 2024-4-11 15:57
编译器提示的错误信息是啥,


编译错误的提示

编译错误的提示
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:472
  • 最近打卡:2025-06-28 07:39:31

4

主题

510

回帖

2233

积分

金牌会员

积分
2233
发表于 2024-4-11 16:37:35 | 显示全部楼层
电子DI*** 发表于 2024-4-11 15:57
编译器提示的错误信息是啥,

编译提示

编译提示

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:446
  • 最近打卡:2025-06-28 22:17:22

3

主题

85

回帖

555

积分

高级会员

积分
555
发表于 2024-4-11 21:03:04 | 显示全部楼层
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:136
  • 最近打卡:2025-06-19 15:40:05

47

主题

1350

回帖

8056

积分

荣誉版主

冲哥视频教程和各种开源资料QQ交流群884047237,可群

积分
8056
QQ
发表于 2024-4-12 08:06:17 | 显示全部楼层

这版本不支持在程序中间定义变量的,要么在函数外面定义变量,要么在函数刚进去的地方定义。
截图202404120805367481.jpg
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2025-02-27 21:15:21

0

主题

7

回帖

214

积分

中级会员

积分
214
发表于 2024-4-16 20:42:47 | 显示全部楼层
用的是stc送的屠龙刀三核心板,在看冲哥第6集花式点灯中,发现用ISP 软件生成的软件延时函数延时不准(冲哥视频里面因为没有用到ISP软件生成的延时函数),查了下资料,发现需要在main函数开头先配置 WTST=0,现在有个疑问,如果配置了 WTST=0,,那ISP 软件生成的延时函数 延时时间是否基本准确?

点评

要看注意事项呢!只要这两点没错,系统时钟没选错,那延时还是很准的 [attachimg]41540[/attachimg]  详情 回复 发表于 2024-4-17 08:40
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-6-29 05:29 , Processed in 0.306120 second(s), 114 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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