asys 发表于 2024-6-21 18:30:13

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

数据的基本类型

asys 发表于 2024-6-21 18:33:53

第六集讲的是led的闪烁
delay我一般直接用stc——isp直接生成 如图
还有的是程序的封装头文件的编写
模块化编程

asys 发表于 2024-6-21 18:39:32

本帖最后由 asys 于 2024-6-21 18:43 编辑

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

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


还有用蜂鸣器做了一个按键提示音和其他事情的提示音

asys 发表于 2024-6-21 18:50:40

本帖最后由 asys 于 2024-6-22 10:32 编辑

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

通过循环 短时间的快速选择数码管并显示内容   就可以实现动态显示

asys 发表于 2024-6-21 18:58:47

第十一集和十二集讲的是定时器的使用

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

建议还是stcisp生成

asys 发表于 2024-6-22 10:05:21

第十三集是简易多任务
根据按键按下的时间长短来执行不同任务
具体原理是按键按下时开始计时 按键松开时计时结束
读出记录的时间   去选择要执行的任务
一般我会在按下时进中断检测按键是否按下
按下时进中断 打开定时器   
松开时进中断关闭定时器   
再读出对应数值来选择对应任务

asys 发表于 2024-6-22 10:28:21

第十五集是51的exti   
那么第一步就要使能 io口中断如图1    PxINTE中断使能寄存器
看图2呢就要把对应的中断线打通就行
对应寄存器PxINTF中断标志寄存器   这里是中断请求的发出
EA为中断 总开关
图2 的最后的那一部分是拨对应开关来设置中断的优先级
到这里整个中断线就打通了
页: 1 2 [3]
查看完整版本: 今天开始学stc32