找回密码
 立即注册
查看: 248|回复: 51

【冲哥版】stc32学习心得

[复制链接]
  • TA的每日心情
    开心
    8 小时前
  • 签到天数: 15 天

    [LV.4]偶尔看看III

    15

    主题

    152

    回帖

    224

    积分

    中级会员

    积分
    224
    发表于 2024-5-9 13:58:17 | 显示全部楼层 |阅读模式
    本帖最后由 zhange 于 2024-5-12 15:38 编辑

    已经学习到io中断了,补一下学习心得。

    学习8051单片机有一段时间了,自己也可以写一写小东西,本着继续学习的心态,又入了stc32,确实比51强大了,晶振也免了,慢慢学,慢慢记。


    -------学习建议-------

    1.第一遍就当看着玩吧,不一定学会,可以二刷。

    2.写下心得很有必要,有些东西,写一下比不写记得就是久。

    3.菜就多练,菜就多练,菜就多练。。。。。。。。。















    1 喜欢他/她就送朵鲜花吧,赠人玫瑰,手有余香!
    回复 送花

    使用道具 举报

  • TA的每日心情
    开心
    8 小时前
  • 签到天数: 15 天

    [LV.4]偶尔看看III

    15

    主题

    152

    回帖

    224

    积分

    中级会员

    积分
    224
     楼主| 发表于 2024-5-9 14:13:16 | 显示全部楼层
    第十五集:外部中断

    外部中断:中断的一种,stc32有5个外部中断分别为:INT0(中断号0)INT1(中断号2)INT2(中断号10)INT3(中断号11)INT4(中断号16)其中中断0和中断1可以上升沿和下降沿,其他的全为下降沿中断。并且0,1,4可以设置优先级优先级高的优先执行,执行完优先级高的再执行优先级低的。

    使用中断的时候千万一定要把总中断开关打开,以前就忘了一次,咋也排查不出来问题。

    EA = 1;
    截图202405091405203649.jpg


    昨天看完外部中断,感觉很强大,中断号0的就是牛,于是迫不及待的就给我的st1637加上了p3.2外部中断,利用中断0的下降沿,给分加一;只用到了INT0中断。

    1. //外部中断
    2. void exit0(void)
    3. {
    4.         IT0 = 1;
    5.    EX0 = 1;
    6. }
    复制代码

    1. //外部中断
    2. void exint0( ) interrupt 0
    3. {
    4.         f++;
    5.         if(f == 60)
    6.         {
    7.                 f = 0;
    8.         }
    9. }
    复制代码


    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    8 小时前
  • 签到天数: 15 天

    [LV.4]偶尔看看III

    15

    主题

    152

    回帖

    224

    积分

    中级会员

    积分
    224
     楼主| 发表于 2024-5-9 15:58:54 | 显示全部楼层
    第十六集:i/0中断


    中断里老师不叫加延时?但是不加不好观看,还是加上吧,实际应用看情况吧,出了事就欺师灭祖。。。。。。。。。。。。。。。。


    STC32G 系列支持所有的 I/O 中断,且支持 4 种中断模式:下降沿中断、上升沿中断(STC32G12K128-Beta 不要用)、低电平中断、高电平中断。每组 I/O 口都有独立的中断入口地址,且每个 I/O 可独立设置中断模式。


    低电平,高电平中断,只要进入低(高)电平一直中断。

    中断优先级是CPU响应中断的先后顺序。中断优先处理的原则是: (1) 先响应优先级高的中断请求,再响应优先级低的中断请求。 (2) 如果一个中断请求己被响应,同级的其他中断请求将被禁止。 (3) 如果同级的多个中断请求同时出现,CPU则按单片机内部的自然优先级顺序响应各中断请求。



    截图202405091532278489.jpg


    stc32 所有的io口都有中断,可以设置优先级级中断模式。

    中断函数编写个人总结

    1:先使能  //  P0INTE
    2:配置中断模式  //        P0IM0 = 0x00; P0IM1 = 0xff;
    3: 设置优先级 // P0IPH = 1; P0IP = 1;

    1. void ioInit ()
    2. {
    复制代码
    1. void ioZhongDuan () interrupt 37
    2. {
    3.         unsigned char intf;
    4.         intf = P0INTF;//中断寄存器必须软件清0
    5.         if (intf)
    6.         {
    7.                 P0INTF = 0x00;
    8.                 if (intf & 0x01)// intf ==1
    9.                 {
    10.                         //P0.0 口中断
    11.                 }
    12.                 if (intf & 0x02)
    13.                 {
    14.                                 //P0.1 口中断
    15.                 }
    16.                 if (intf & 0x04)
    17.                 {
    18.                         //P0.2 口中断
    19.                 }
    20.                 if (intf & 0x08)
    21.                 {
    22.                         //P0.3 口中断
    23.                 }
    24.                 if (intf & 0x10)
    25.                 {
    26.                         //P0.4 口中断
    27.                 }
    28.                 if (intf & 0x20)
    29.                 {
    30.                         //P0.5 口中断
    31.                 }
    32.                 if (intf & 0x40)
    33.                 {
    34.                         //P0.6 口中断
    35.                 }
    36.                 if (intf & 0x80)
    37.                 {
    38.                         //P0.7 口中断
    39.                 }
    40.         }
    41. }
    复制代码


    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    8 小时前
  • 签到天数: 15 天

    [LV.4]偶尔看看III

    15

    主题

    152

    回帖

    224

    积分

    中级会员

    积分
    224
     楼主| 发表于 2024-5-9 20:01:21 | 显示全部楼层
    本帖最后由 zhange 于 2024-5-11 11:49 编辑

    第十七集:模数转换器ADC上

    第一遍没看懂?再来一遍吧


    ---二刷心得---

    1.基准电压不能小于测量的电压(单片机这里目前只接触到电压,我记得plc可以选择电流,后边应该??????)

    2.数字量  模拟量   digtal    analog    单词这里不知道记对没  但是一定要记住

    3.stc32单片机采集来的模拟量转换为数字量存储在12位二进制里边,也就是范围为0-4096

    4.已经用降龙棍测试成功,p00口高阻状态有电压。

    5.io口四种状态待研究。







    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    8 小时前
  • 签到天数: 15 天

    [LV.4]偶尔看看III

    15

    主题

    152

    回帖

    224

    积分

    中级会员

    积分
    224
     楼主| 发表于 2024-5-9 20:06:28 | 显示全部楼层
    本帖最后由 zhange 于 2024-5-11 11:50 编辑

    第十七集:模数转换器ADC下

    幸好以前没事的时候看过几集plc教程,在这里有的知识点还能用上。

    教程里提到了4096由来。

    4096 = 2的12次方,假设我们的基准电压为0-5v,对应0-4096,我们的模块对应的是0-100度,就可以进行转换了。


    1.二进制数字每左移一位转换为十进制倍数乘以2。


    2.采集来的模拟量转换为数字量必须存储在16位的数里边,因为高位要左移,位数不够数据就丢了。下边画圈的地方需要左移。



    截图202405100754518940.jpg



    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    6 小时前
  • 签到天数: 39 天

    [LV.5]常住居民I

    2

    主题

    207

    回帖

    589

    积分

    高级会员

    积分
    589
    发表于 2024-5-9 22:31:52 来自手机 | 显示全部楼层
    加油
    回复 送花

    使用道具 举报

  • TA的每日心情
    开心
    7 天前
  • 签到天数: 68 天

    [LV.6]常住居民II

    9

    主题

    137

    回帖

    149

    积分

    禁止发言

    积分
    149
    发表于 2024-5-9 22:36:38 | 显示全部楼层
    提示: 作者被禁止或删除 内容自动屏蔽
    回复 送花

    使用道具 举报

  • TA的每日心情
    开心
    8 小时前
  • 签到天数: 15 天

    [LV.4]偶尔看看III

    15

    主题

    152

    回帖

    224

    积分

    中级会员

    积分
    224
     楼主| 发表于 2024-5-10 08:52:49 | 显示全部楼层
    第一集:认识单片机


    ---二刷了---

    一开始了解单片机是8051,买了本书跟着看,刚开始看的洋桃电子后来是清翔,看着看着发现功能太小,实现不了我想要的,于是来了官网,打开新世界。

    单片机真的很强大,我想实现很多功能(最想的就是做一个离线的语音搜歌小硬件),以前看教程都没看完,这次坚持看完吧。

    看完这集我的目标更多了:

    电子表(已经实现了)

    离线搜歌

    循迹小车?

    飞行器?

    智能门锁?

    51单片机永远不会被淘汰。。
    51单片机永远不会被淘汰。。

    51单片机永远不会被淘汰。。


    1.入门单片机一定要做项目,每学习一个功能,就往自己的项目上去靠。

    2.学习还是去官网。

    3.有条件还是打印一个芯片手册吧,没事看一遍。

    4.模块化编程仔细学(看完一遍了总结出来的)

    5.遇到问题实在搞不出来了,找官网,找客服。。。。。。

    桌面镇楼  看谁比我强。。。。。。。。。。。

    截图202405100851586447.jpg


    哈哈哈
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    8 小时前
  • 签到天数: 15 天

    [LV.4]偶尔看看III

    15

    主题

    152

    回帖

    224

    积分

    中级会员

    积分
    224
     楼主| 发表于 2024-5-10 09:12:38 | 显示全部楼层
    第二集:了解硬件


    数码管(已经烧了好几个了,注意接电阻 数码管其实是二极管,一不小心就烧了)

    红外线发射器

    adc(数字量  模拟量转换) 基准电压

    18b20

    矩阵键盘

    lcd(一样是二极管,注意接分压电阻 当然你要是有试验箱  就不用管了)我没试验箱  我这是烧出来的经验

    24c02 存储芯片

    独立键盘

    蜂鸣器(有源?无源?目前接触的都是有源?无源的我做离线播放器应该就用到了吧????)

    232  485 接口

    flash扩展  主要就是大

    屏幕:1602?

    我的降龙棍已到  看我屠龙
    我的降龙棍已到  看我屠龙

    我的降龙棍已到  看我屠龙


    截图202405100912121477.jpg


    这??我降龙棍单片机变异了?????
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    8 小时前
  • 签到天数: 15 天

    [LV.4]偶尔看看III

    15

    主题

    152

    回帖

    224

    积分

    中级会员

    积分
    224
     楼主| 发表于 2024-5-10 09:23:33 | 显示全部楼层
    本帖最后由 zhange 于 2024-5-10 09:27 编辑

    第三集:开发环境的搭建和程序下载

    stc-isp  官网下载,找最新版

    pdf阅读器:wps最好了 我有会员  哈哈

    官网手册:加密了  自己去破解吧   我已经破解了  粘贴复制 嘎嘎香。。。。。

    keil下载:官网可以免费下载 社区版 不要钱  

    数据下载:选好数据线,我这里买的板子不带数据线,随便找了一个下载,不管用,只能通电,又换了个带快充的就好了,应该是线的问题。后学习的可以避坑,买个好的数据线,或者好板子带线的。

    我的板子是屠龙棍??降龙棍啦  太简洁了  要开始艰难的学习了  但是也锻炼了自己接外设模块的能力 烧起来数码管  嘎嘎好用



    回复 支持 反对 送花

    使用道具 举报

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

    本版积分规则

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

    GMT+8, 2024-5-20 14:35 , Processed in 0.098966 second(s), 67 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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