找回密码
 立即注册
楼主: asys

今天开始学stc32

[复制链接]
  • 打卡等级:偶尔看看II
  • 打卡总天数:21
  • 最近打卡:2025-01-19 13:42:05

7

主题

39

回帖

99

积分

注册会员

积分
99
发表于 2024-6-21 18:30:13 | 显示全部楼层
第五集讲的是c语言的基础知识  
printf函数的使用   例如 printf("%d",1);
以及进制之间的转换
常用的运算符  例如加(+)减(—)乘(*)除(/)
模(余)运算符(%):不允许出现浮点型,余数正负取决于被除数正负
自增(++i,–i;i++,i–)
二、位运算符
右移(>>)左移(<<)
按位与(&)
按位或(|)
按位异或(^)
取反(~)

数据的基本类型
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:21
  • 最近打卡:2025-01-19 13:42:05

7

主题

39

回帖

99

积分

注册会员

积分
99
发表于 2024-6-21 18:33:53 | 显示全部楼层
第六集讲的是led的闪烁
delay我一般直接用stc——isp直接生成 如图
还有的是程序的封装  头文件的编写  
模块化编程
截图202406211832545523.jpg
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:21
  • 最近打卡:2025-01-19 13:42:05

7

主题

39

回帖

99

积分

注册会员

积分
99
发表于 2024-6-21 18:39:32 | 显示全部楼层
本帖最后由 asys 于 2024-6-21 18:43 编辑

第七集和第八集讲的是io的操作
读写电压

这里具体是通过寄存器读取按键的电压来检测按键的动作
先是初始化io口  配置时钟   再用if对按键状态进行检测  
按下执行相应动作 松开执行相应动作   如图


还有用蜂鸣器做了一个按键提示音和其他事情的提示音
截图202406211839271102.jpg
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:21
  • 最近打卡:2025-01-19 13:42:05

7

主题

39

回帖

99

积分

注册会员

积分
99
发表于 2024-6-21 18:50:40 | 显示全部楼层
本帖最后由 asys 于 2024-6-22 10:32 编辑

第九集和第十集学习的是数码管  
认识了数码管和内部接线图
知道了它的控制原理
直接看程序吧
图1
这里位码  是选择要显示的数码管  
这里的断码是要选择显示的内容

通过循环 短时间的快速选择数码管并显示内容   就可以实现动态显示
截图202406211848124468.jpg
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:21
  • 最近打卡:2025-01-19 13:42:05

7

主题

39

回帖

99

积分

注册会员

积分
99
发表于 2024-6-21 18:58:47 | 显示全部楼层
第十一集和十二集讲的是定时器的使用

首先要设定的是定时器的模式  这里选用的 是16位自动重载
对tmod寄存器的最后两位写入0 0即可
因为TCON是可位寻址 也就是可以对它上面的每个位进行单独操作          TF0 = 0;        //清除TF0标志可以直接这样  操作
写入定时器计数寄存器  这个值需要计算可以直接用stcisp生成
那么最后一步  开计时  开中断
EA=1 ;//这里是开总中断
TR0 = 1;                                //定时器0开始计时
ET0 = 1;                                //使能定时器0中断

建议还是stcisp生成
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:21
  • 最近打卡:2025-01-19 13:42:05

7

主题

39

回帖

99

积分

注册会员

积分
99
发表于 2024-6-22 10:05:21 | 显示全部楼层
第十三集是简易多任务  
根据按键按下的时间长短来执行不同任务
具体原理是按键按下时开始计时 按键松开时  计时结束  
读出记录的时间   去选择要执行的任务  
一般我会在按下时进中断检测按键是否按下
  按下时进中断 打开定时器     
松开时  进中断  关闭定时器   
再读出对应数值来选择对应任务
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:21
  • 最近打卡:2025-01-19 13:42:05

7

主题

39

回帖

99

积分

注册会员

积分
99
发表于 2024-6-22 10:28:21 | 显示全部楼层
第十五集是51的exti   
那么第一步就要使能 io口中断  如图1    PxINTE中断使能寄存器
看图2呢  就要把对应的中断线打通就行
对应寄存器PxINTF  中断标志寄存器   这里是中断请求的发出
EA为中断 总开关
图2 的最后的那一部分是拨对应开关  来设置中断的优先级
到这里整个中断线就打通了
截图202406221022382277.jpg
截图202406221023232513.jpg
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-7-2 06:51 , Processed in 0.130479 second(s), 77 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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