找回密码
 立即注册
查看: 463|回复: 10

AI8051学习记录

[复制链接]
  • 打卡等级:以坛为家II
  • 打卡总天数:492
  • 最近打卡:2025-05-06 07:55:35
已绑定手机

27

主题

693

回帖

2000

积分

金牌会员

打工人

积分
2000
发表于 2024-11-27 17:19:46 | 显示全部楼层 |阅读模式
第一天:

          跟着冲哥的视频了解一下AI8051的强悍功能。好多功能都还不了解其中的原理。但最吸引我的地方是频谱分析仪实例的那个功能。因为以前的工作中
有一个项目需要类似的需求,在一个静音的环境中对产品进行测试,期间需监测设备的异常声响。当时整套设备用PLC做主控。监测声音部分是外购的一套设备
,价格好像很高。看了实验板的这个功能演示很感慨,现在单片机都很轻易的实现了此功能,而且价格低到可以忽略。真实的认识到了知识的力量。接下来好好
跟着教程学学,即使没精力把它学到精通,最起码在今后的工作中能知道有这么一款单片机能实现我需要的功能,而且价格便宜。
打工人
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:9
  • 最近打卡:2025-04-24 09:38:49

0

主题

7

回帖

62

积分

注册会员

积分
62
发表于 2024-11-29 11:40:18 | 显示全部楼层
发士大夫
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:492
  • 最近打卡:2025-05-06 07:55:35
已绑定手机

27

主题

693

回帖

2000

积分

金牌会员

打工人

积分
2000
发表于 2024-11-29 13:08:56 | 显示全部楼层
打工人
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:492
  • 最近打卡:2025-05-06 07:55:35
已绑定手机

27

主题

693

回帖

2000

积分

金牌会员

打工人

积分
2000
发表于 2024-12-17 16:24:20 | 显示全部楼层
第二天: 本节内容硬件部分最吸引人的是实验箱上有录音功能。其他功能也很丰富,其他实验板有的基本都有,就是录音功能还是比较少见。 软件方面热心网友提供的中断扩展插件挺好的。 下载程序时运行程序的IRC频率不可乱选,需参考程序中的频率。但看了擎天柱的第一个例程中没有设置频率值,不知这中情况该怎么设置。 继续学习后面的课程找找答案。
打工人
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:492
  • 最近打卡:2025-05-06 07:55:35
已绑定手机

27

主题

693

回帖

2000

积分

金牌会员

打工人

积分
2000
发表于 2024-12-19 00:00:38 | 显示全部楼层
第三天:
          1、包含头文件符号(“”)和(<>)的区别:(“”)--头文件位于当前工程目录内。(<>)--头文件位于系统路径下。
          2、build--编译单个.c文件。
               Rebuild--工程中包含1个以上的.c文件全部编译。
          3、最简程序框架:
                       #include <AI8051U.H>
                       main()
                      {
                                while(1)
                                {
        
                                }
                      }
            4、上节中涉及的程序运行时钟设置值本节中提到一次,如程序中不涉及时钟值,下载程序时可随意选择。
            5、通过点亮第一个LED程序了解了控制单片机引脚的基本思路是先配置该引脚的工作模式,然后根据需要对该引脚进行
                 置高或置低,编写程序前还需要彻底弄清引脚的外围电路原理。根据编写PLC程序的经验,其实单片机比PLC用起来麻烦,
                 PLC某一引脚(输入输出点)的功能是固定死的,输入就是输入,输出就是输出,不需要进行配置。而单片机的引脚功能
                 可根据程序配置内容改变,这也正是单片机的灵活之处。除去硬件方面的差别,进入到程序编写解决实际问题的阶段时,
                 PLC程序编写的思维模式同样适合单片机程序的编写。
打工人
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:492
  • 最近打卡:2025-05-06 07:55:35
已绑定手机

27

主题

693

回帖

2000

积分

金牌会员

打工人

积分
2000
发表于 2024-12-22 14:32:08 | 显示全部楼层
第四天:
           1、不断电下载两种方式:中断模式、查询模式。
           2、两种方式区别:中断模式不管程序执行到哪里都会直接响应下载命令。查询模式是等程序全部执行完再看是否有下载命令
                                      请求,如有才会执行。
           3、.lib文件由.c+.h文件构成,别人无法对源码进行改动。
           4、@STCISP#为官方预先定义命令,可由用户自由修改(ISP软件中可自定义)
通过本节学习,了解到了软件控制硬件的神奇之处,软件代码的灵活编制可使硬件具有无限的灵性,我认为这也是单片机比PLC等其他
可编程器件更吸引人的地方,虽然入门难点,但其灵活多变的用法确实使人着迷。
打工人
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:492
  • 最近打卡:2025-05-06 07:55:35
已绑定手机

27

主题

693

回帖

2000

积分

金牌会员

打工人

积分
2000
发表于 2024-12-23 05:12:38 | 显示全部楼层
第五天:
          1、#define,可以把程序中常用的复杂字符定义成简单方便书写的字符,便于程序编译。
          2、//后面的内容将不被编译器编译。//相当于开关,可打开或关闭其后面的一行程序。
          3、printf()函数的普通字符和转换说明放在" "内,附加参数放在双引号外。
          4、如果有 n 个转换说明符, printf() 的参数就应该有 n + 1 个。如果参数个数少于对应的
               转换说明符,printf() 可能会输出内存(ram)中的任意值。
          5、在程序中逐渐熟悉常用的运算符,C语言中的所有基础部分靠背和记没有意义,需在程序中不断运用理解。

通过PRINTF_HID函数发现,STC的ISP软件确实越来越方便实用,可以在不添加任何外部硬件的情况下快速进行程序算法的验证。
打工人
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:492
  • 最近打卡:2025-05-06 07:55:35
已绑定手机

27

主题

693

回帖

2000

积分

金牌会员

打工人

积分
2000
发表于 2024-12-23 13:55:31 | 显示全部楼层
第六天:
           开启正式单片机之旅!先从IO口入手。学习单片机其实就是学习怎么使用IO口。
           1、灌电流与拉电流的概念,灌电流是向单片机内输入电流。拉电流是从单片机里向外输出电流。灌电流能力比拉电流大,
                做硬件电路时尽量用灌电流方式带负载,这样带负载能力强。
           2、单片机引脚的高低电平,高电平是指引脚电压无限接近单片机系统的电源VCC电压,低电平是指引脚电压为电源系统GND电压。
           3、IO口四种工作模式:1、准双向口;2、推挽输出;3、高阻输入;4、开漏模式。
           4、输入低电平最大值:1、打开施密特触发0.99V。2、关闭施密特触发1.07V。低于以上两个值单片机认为输入为0。
           5、输入高电平最小值:1、打开施密特触发1.18V。2、关闭施密特触发1.09V。高于以上两个值单片机认为输入为1。
           6、输入施密特触发是能控制标志为0,复位后默认为使能。控制标志置1为关闭。
           实例程序中用到的中间变量概念非常有用,需深刻体会用中间变量的思维。按键延时消抖是老知识点了,深刻体会一下好理解。另外用while
          ()语句进行等待按键释放也是巧妙之处。但用此语句时单片机便被卡死在此,按钮状态不改变单片机将一直停在此处,如在复杂系统中有其
             他任务需要处理(显示刷新等)将被耽搁。后续看看其他方式怎么处理。
打工人
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:492
  • 最近打卡:2025-05-06 07:55:35
已绑定手机

27

主题

693

回帖

2000

积分

金牌会员

打工人

积分
2000
发表于 2024-12-23 16:36:12 | 显示全部楼层
第七天:
                  单片机中重要的知识点-定时器中断。
           一、个人认为中断的概念像是日常中的闹钟提醒,一个人需要周期的做某件事时做完了这件事还有大块儿的空余时间,不可能一直什么也不做
                 而 一直等着下次再做这件事,所以就引入一个闹钟提醒功能,闹钟响了,提醒人去做事,做完事后就可以不再考虑这个问题,把精力腾出
                 来去干其他工作,闹钟再次提醒时再放下其他工作回来做这件事。通过例程理解了这个定时中断的用法及思想,但有个疑问,如果这个定
                 时器中断 处理的任务耗时比较长,其他的工作势必会被耽误,如果耽误的时间过长,会有影响其他工作的问题,如其他任务中有显示刷新
                 的任务,是不 是会被耽误到显示中断或者延迟。
            二、
                  void Timer0_Isr(void) interrupt 1
                   {
                   }
                    
                   定时器中断函数。
                     void Timer0_Init(void)                //3秒@24.000MHz
                   {
                      TM0PS = 0x5B;                        //设置定时器时钟预分频 ( 注意:并非所有系列都有此寄存器,详情请查看数据手册 )
                      AUXR &= 0x7F;                        //定时器时钟12T模式
                      TMOD &= 0xF0;                        //设置定时器模式
                      TL0 = 0x3F;                                //设置定时初始值
                      TH0 = 0x01;                                //设置定时初始值
                      TF0 = 0;                                //清除TF0标志
                      TR0 = 1;                                //定时器0开始计时
                      ET0 = 1;                                //使能定时器0中断
                       }
                    定时器中断初始化。
                   ISP软件的强大功能,把需要的内容选好,自动生成相应代码。太方便了
              三、无论什么函数都需要先声明再调用,否则会报错。另外如有需要在不同函数之间进行调用的变量需定义成全局变量。
         
打工人
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:492
  • 最近打卡:2025-05-06 07:55:35
已绑定手机

27

主题

693

回帖

2000

积分

金牌会员

打工人

积分
2000
发表于 2024-12-30 08:05:32 | 显示全部楼层
第六天知识点补充:
                           1、引脚电压限制,VDD+0.3V,如电源VDD最大为5.5V,其他引脚不可超过5.8V。
                           2、引脚输入1和0的电压极限值需根据单片机系统电压及施密特触发器使能与否在手册上查找。
                           
打工人
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-6 16:34 , Processed in 0.138356 second(s), 104 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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