找回密码
 立即注册
查看: 2579|回复: 40

【实验箱已送】看冲哥32位8051视频学STC32单片机,赢STC32实验箱

[复制链接]
  • TA的每日心情
    开心
    2023-12-14 08:57
  • 签到天数: 1 天

    [LV.1]初来乍到

    4

    主题

    93

    回帖

    495

    积分

    中级会员

    积分
    495
    发表于 2023-6-6 11:32:07 | 显示全部楼层 |阅读模式
    本帖最后由 STC爱好者 于 2023-8-16 11:33 编辑

    收到赠送的开天斧 STC8H8K64U开发板后,跟着布丁橘长老师的《屠龙刀-STC32位8051-视频教程》学习,现已学到82集,看完每集都进行实验,收获颇丰。非常感谢布丁橘长老师!先感觉STC32试验箱的功能要强大一些,用于开发可以少购一些外设器件,从今天开始认真学《冲哥32位8051视频》准备赢STC32试验箱。
    回复 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    2023-12-13 11:59
  • 签到天数: 1 天

    [LV.1]初来乍到

    3

    主题

    335

    回帖

    1629

    积分

    版主

    积分
    1629
    发表于 2023-6-6 11:42:59 | 显示全部楼层
    楼主学习精神可嘉,加油,争取早日送你实验箱
    QQ:2269694595     微信:18106296594
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    2023-12-14 08:57
  • 签到天数: 1 天

    [LV.1]初来乍到

    4

    主题

    93

    回帖

    495

    积分

    中级会员

    积分
    495
     楼主| 发表于 2023-6-6 14:53:31 | 显示全部楼层
    STC爱好者 发表于 2023-6-6 11:42
    楼主学习精神可嘉,加油,争取早日送你实验箱

    感谢老师的鼓励,我一定会努力拿下。
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    2023-12-14 08:57
  • 签到天数: 1 天

    [LV.1]初来乍到

    4

    主题

    93

    回帖

    495

    积分

    中级会员

    积分
    495
     楼主| 发表于 2023-6-6 16:37:47 | 显示全部楼层
    第一课
      什么是单片机?
      他能做什么?
      新手常见问题解答
        30 岁还能学单片机吗?    新手学 STC 的 51 单片机还是 STM 32 那些?51 单片机淘汰了嘛?
        怎么入门单片机?
        怎么才算入门单片机了呀?小学生可不可以学单片机?
        做一个普通项目的话单片机都需要掌握什么才能不会感觉有压力?汇编有没有必要?
        单片机用库函数好还是寄存器好?STC 单片机到底好不好?
        以前从来没学过单片机,目前还在上班,还能学吗?
      学习建议
        1 一定要静得下心,沉得住气;
       2.多跟着我动手,千万别一看就会,一写就废;
       3.举一反三,发散思维,时常思考为什么;
       4.多看看官网,多看看手册,有问题多交流;
       5.逛逛论坛,吸收一些别人好的东西;
       6.尝试着自己做一些项目,竞赛题。
    作为一个10年前就接触过STC89C52的学生,看了老师对这些问题的回答,尤其是6条学习建议,非常受益。

    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    2023-12-14 08:57
  • 签到天数: 1 天

    [LV.1]初来乍到

    4

    主题

    93

    回帖

    495

    积分

    中级会员

    积分
    495
     楼主| 发表于 2023-6-6 16:48:17 | 显示全部楼层
    本帖最后由 sdwflzg 于 2023-6-6 16:49 编辑

    第二集
    1.png

    这个实验箱功能还是比较全的,对学习STC32有很大的帮助,比我的开天斧 STC8H8K64U复杂多了。
    2.png

    我现在用STC8H8K64U与郭天祥老师的板子配合使用
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    2023-12-14 08:57
  • 签到天数: 1 天

    [LV.1]初来乍到

    4

    主题

    93

    回帖

    495

    积分

    中级会员

    积分
    495
     楼主| 发表于 2023-6-7 16:26:45 | 显示全部楼层
    第三集
    开发环境的搭建
    1、STC-ISP
          STC-ISP功能非常强大,开发必备工具。它不仅仅是一个烧录软件,还集成了虚拟显示功能、范例程序、STC头文件的安装、驱动安装、I/O口配置、波特率计算、定时器设置参数计算、软件延时参数计算、线生成器等工具,极大的方便了开发人员。
    1.png



    STC调试接口
           可以直接用虚拟设备进行调试,在没有相应的硬件设备的情况下也能进行学习和开发。
    2.png

    2、资料下载
           可以利用STC-ISP直接下载用户手册、演示程序、库函数等非常方便。
           说到手册,有必要说的是STC官方手册编写得相当详细,值得称赞!对学习开发STC单片机以及做更高级的研究都是必不可少的资料,必须掌握手册的使用。
            STC提供的演示程序,里面的说明非常详细,对程序的功能、注意事项都作了说明,关键语句也都作了说明,对初学者非常有益。
    3、编译软件
            STC8H8K64U开发编译工具是kile C51,而STC32需要用keil C251。如果已安装过Kile C51,可以将C251安装在原C51的安装目录下,如Keil_v5,它会自动安装在子目录C251下,不会覆盖原来的文件。
    3.png

           安装完后需要打开STC-ISP,选Keil仿真设置,按下图添加STC芯片型号和头文件到Keil中。
    4.png

    4、程序下载
           USB驱动程序WIN10以后的系统不需要安装,可以自动识别。
    5.png

           往开发板下载程序前,需要选择“输入用户程序运行时的IRC频率”,该值应与程序里设置的运行时钟频率一致。

    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    2023-12-14 08:57
  • 签到天数: 1 天

    [LV.1]初来乍到

    4

    主题

    93

    回帖

    495

    积分

    中级会员

    积分
    495
     楼主| 发表于 2023-6-8 17:24:03 | 显示全部楼层
    本帖最后由 sdwflzg 于 2023-6-8 17:25 编辑

    第四集      
    这一课实现的功能比较简单,但这是基础中的基础,就好像学任何高级编程语言都要首先编写一个“Hello word”程序一样,通过这个程序可以了验证整个编译环境配置是否正确、编译软件的使用、下载软件的使用,了解编写调试程序的基本方法和步骤,初学者必须掌握好该节课的内容。
    其他老师在讲第一个程序时就加入#include <STC32G.H>语句,引入STC32头文件,而冲哥不是,直接讲寄存器名与地址的对应定义。这样不会给初学者带来一头雾水,从开始就知道寄存器怎样操作。
            GPIO(general purpose intput output) (通常称I/O)通用输入输出端口的简称,可以通过软件来读取其输入电平,或者控制他输出高低电平。
           P0(Pn) 是一组GPIO口,P0.0(Pn.x) 是一个GPIO口。
          Keil中菜单“Edit"中选"Configuration"打开Configuration对话框
    1.png

    2.png

          其中Encoding选项初学者一定要注意,该选项一定要选正确,一般选择Chinese GB2312(Simplified),如果选择不正确将无法正确显示汉字。如果打开示例程序发现中文显示乱码,改变该选项的内容,就能正确显示。常用项还有Encode UTF-8 ......。
    新建和增加已有的C语言文件可以按以下操作:
    3.png

          在Source Group 1上按鼠标右键调出对话框,新建文件选“Add New Item to Group..”,添加已有的文件选“Add Existing Files to Group...”。
    4.png

          如新建文件选“Add New Item to Group..”后弹出对话框,选择文件类型,填写文件名后点击“Add”按钮完成新建文件。
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    2023-12-14 08:57
  • 签到天数: 1 天

    [LV.1]初来乍到

    4

    主题

    93

    回帖

    495

    积分

    中级会员

    积分
    495
     楼主| 发表于 2023-6-13 10:24:39 | 显示全部楼层
    本帖最后由 sdwflzg 于 2023-6-13 10:34 编辑

    第四集(下)

    一、实现自动下载工程
    不停电下载的使用方法。
    1、USB_HID
    1.png

    首先在工程中添加stc_usb_hid_32g.LIB文件
    在程序中需要添加
    #include "stc.h"
    #include "usb.h"

    void sys_init();    //函数声明

    //USB调试及复位所需定义
    char *USER_DEVICEDESC = NULL;
    char *USER_PRODUCTDESC = NULL;
    char *USER_STCISPCMD = "@STCISP#";                      //设置自动复位到ISP区的用户接口命令

    void main()
    {
        sys_init();
        usb_init();  //USB初始化
        EA = 1;
    ......
    }

    void sys_init()     //函数定义
    {
        WTST = 0;  //设置程序指令延时参数,赋值为0可将CPU执行指令的速度设置为最快
        EAXFR = 1; //扩展寄存器(XFR)访问使能
        CKCON = 0; //提高访问XRAM速度

         P3M0=0x00;
         P3M1=0x00;

         P3M0 &=~0x03;
         P3M1 |=0x03;

        //设置USB使用的时钟源
        IRC48MCR = 0x80;    //使能内部48M高速IRC
        while (!(IRC48MCR & 0x01));  //等待时钟稳定
    }
    将STC-ISP设置为
    2.png

    程序编译后首次下载先不选“每次下载前都先发送自定义命令”,使用断电下载法。然后勾选该项,并勾选“当前目标文件变化时自动装载并发送下载命令”,再次编译后程序就会自动下载。

    2、USB_CDC
    3.png    

    首先在工程中添加stc_usb_cdc_32g.LIB文件
    将sys_init()修改为(黑体为改动部分)
    void sys_init()     //函数定义
    {
        WTST = 0;  //设置程序指令延时参数,赋值为0可将CPU执行指令的速度设置为最快
        EAXFR = 1; //扩展寄存器(XFR)访问使能
        CKCON = 0; //提高访问XRAM速度

        P0M1 = 0x00;   P0M0 = 0x00;   //设置为准双向口
        P1M1 = 0x00;   P1M0 = 0x00;   //设置为准双向口
        P2M1 = 0x00;   P2M0 = 0x00;   //设置为准双向口
        P3M1 = 0x00;   P3M0 = 0x00;   //设置为准双向口
        P4M1 = 0x00;   P4M0 = 0x00;   //设置为准双向口
        P5M1 = 0x00;   P5M0 = 0x00;   //设置为准双向口
        P6M1 = 0x00;   P6M0 = 0x00;   //设置为准双向口
        P7M1 = 0x00;   P7M0 = 0x00;   //设置为准双向口

         P3M0 &=~0x03;
         P3M1 |=0x03;

        //设置USB使用的时钟源
        IRC48MCR = 0x80;    //使能内部48M高速IRC
        while (!(IRC48MCR & 0x01));  //等待时钟稳定
        USBCLK = 0x00;
        USBCON = 0x90;
    }
    将STC-ISP设置为
    4.png

    二、使用Keil编程几点提醒:
    1、函数名称大小写敏感,编译时出现警告或出错信息。
    2、添加/取消注释标记,先选择相应的区域再点击相应按钮。
    5.png

    3、自定义函数如果放在主函数main()之后定义,需要在main()之前进行声明。放在主函数main()前定义,不需要声明。
    如:
    void sys_init(); //函数声明
    void main()
    {
    ......
    }
    void sys_init()  //函数定义
    {
    ......
    }
    4、务必牢记几个端口寄存器PxM0,PxM1,Px
          务必牢记sbit的作用,牢记#include的作用


    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    2023-12-14 08:57
  • 签到天数: 1 天

    [LV.1]初来乍到

    4

    主题

    93

    回帖

    495

    积分

    中级会员

    积分
    495
     楼主| 发表于 2023-6-14 15:40:32 | 显示全部楼层
    第五集(上)
    一、C语言的printf函数实现
    主函数中添加
    if(DeviceState !=DEVSTATE_CONFIGURED) //判断USB是否连接成功
    continue;
    if(bUsbOutReady)
    {
    usb_OUT_done(); //接收应答(固定格式)
    printf("室内温度:%.2f\r\n",11.2);
    }
    1.png

    这个功能可以用在程序调试时输出观察的变量数值
    二、数的进制
    初学着必须掌握2进制以及在芯片中的作用,熟练掌握2进制、16进制、10进制之间的相互转换。
    10进制x转n进制的方法为:
    x/n取余得b商a,n进制的各位数为b,再将a重复此步骤。
    如19进制431转16进制
    2.png

    结果16进制数为1AF
    在明白转换算法原理后,可利用计算器的programmer(程序设计员)模式进行转换。并学会求模、求余的计算。



    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    2023-12-14 08:57
  • 签到天数: 1 天

    [LV.1]初来乍到

    4

    主题

    93

    回帖

    495

    积分

    中级会员

    积分
    495
     楼主| 发表于 2023-6-14 16:29:59 | 显示全部楼层
    第五集(下)
    三、C 语言常用运算符
    (一)算术运算符
    1、加(+)减(-)乘(*)除(/)
    2、模(余)运算符(%):不允许出现浮点型,余数正负取决于被除数正负
    3、自增(++i,--i;i++,i--)
    (二)位运算符
    1、右移(>>)
    左移(<<)最低为补0
    2、按位与(&)
    3、按位或(|)
    4、按位异或(^)
    5、取反(~)
    (三)赋值运算符
    1、+= 加赋值(a+=3 等价于 a=a+3)
    2、-= 减赋值
    3、*= 乘赋值
    4、/= 除赋值
    5、%= 求余赋值
    6、&= 按位与赋值
    7、|= 按位或赋值
    8、^=按位异或赋值
    9、<<=左移位赋值(>>=右移位赋值)
    四、数据基本类型
    1.png

    熟记以下数据类型及取值范围
             unsigned char  0 - 255
      unsigned int     0 - 65535
      char                  -128  - +127      
      int                     -32768 - +32767   


    回复 支持 反对 送花

    使用道具 举报

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

    本版积分规则

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

    GMT+8, 2024-4-28 20:07 , Processed in 0.072179 second(s), 67 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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