【冲哥版】stc32学习心得
本帖最后由 zhange 于 2024-5-12 15:38 编辑已经学习到io中断了,补一下学习心得。
学习8051单片机有一段时间了,自己也可以写一写小东西,本着继续学习的心态,又入了stc32,确实比51强大了,晶振也免了,慢慢学,慢慢记。
-------学习建议-------
1.第一遍就当看着玩吧,不一定学会,可以二刷。
2.写下心得很有必要,有些东西,写一下比不写记得就是久。
3.菜就多练,菜就多练,菜就多练。。。。。。。。。
第十五集:外部中断
外部中断:中断的一种,stc32有5个外部中断分别为:INT0(中断号0)INT1(中断号2)INT2(中断号10)INT3(中断号11)INT4(中断号16)其中中断0和中断1可以上升沿和下降沿,其他的全为下降沿中断。并且0,1,4可以设置优先级优先级高的优先执行,执行完优先级高的再执行优先级低的。
使用中断的时候千万一定要把总中断开关打开,以前就忘了一次,咋也排查不出来问题。
EA = 1;
昨天看完外部中断,感觉很强大,中断号0的就是牛,于是迫不及待的就给我的st1637加上了p3.2外部中断,利用中断0的下降沿,给分加一;只用到了INT0中断。
//外部中断
void exit0(void)
{
IT0 = 1;
EX0 = 1;
}
//外部中断
void exint0( ) interrupt 0
{
f++;
if(f == 60)
{
f = 0;
}
}
第十六集:i/0中断
中断里老师不叫加延时?但是不加不好观看,还是加上吧,实际应用看情况吧,出了事就欺师灭祖。。。。。。。。。。。。。。。。
STC32G 系列支持所有的 I/O 中断,且支持 4 种中断模式:下降沿中断、上升沿中断(STC32G12K128-Beta 不要用)、低电平中断、高电平中断。每组 I/O 口都有独立的中断入口地址,且每个 I/O 可独立设置中断模式。
低电平,高电平中断,只要进入低(高)电平一直中断。
中断优先级是CPU响应中断的先后顺序。中断优先处理的原则是: (1) 先响应优先级高的中断请求,再响应优先级低的中断请求。 (2) 如果一个中断请求己被响应,同级的其他中断请求将被禁止。 (3) 如果同级的多个中断请求同时出现,CPU则按单片机内部的自然优先级顺序响应各中断请求。
stc32 所有的io口都有中断,可以设置优先级级中断模式。
中断函数编写个人总结
1:先使能//P0INTE
2:配置中断模式// P0IM0 = 0x00; P0IM1 = 0xff;
3: 设置优先级 // P0IPH = 1; P0IP = 1;
void ioInit ()
{void ioZhongDuan () interrupt 37
{
unsigned char intf;
intf = P0INTF;//中断寄存器必须软件清0
if (intf)
{
P0INTF = 0x00;
if (intf & 0x01)// intf ==1
{
//P0.0 口中断
}
if (intf & 0x02)
{
//P0.1 口中断
}
if (intf & 0x04)
{
//P0.2 口中断
}
if (intf & 0x08)
{
//P0.3 口中断
}
if (intf & 0x10)
{
//P0.4 口中断
}
if (intf & 0x20)
{
//P0.5 口中断
}
if (intf & 0x40)
{
//P0.6 口中断
}
if (intf & 0x80)
{
//P0.7 口中断
}
}
}
本帖最后由 zhange 于 2024-5-11 11:49 编辑
第十七集:模数转换器ADC上
第一遍没看懂?再来一遍吧
---二刷心得---
1.基准电压不能小于测量的电压(单片机这里目前只接触到电压,我记得plc可以选择电流,后边应该??????)
2.数字量模拟量 digtal analog 单词这里不知道记对没但是一定要记住
3.stc32单片机采集来的模拟量转换为数字量存储在12位二进制里边,也就是范围为0-4096
4.已经用降龙棍测试成功,p00口高阻状态有电压。
5.io口四种状态待研究。
本帖最后由 zhange 于 2024-5-11 11:50 编辑
第十七集:模数转换器ADC下
幸好以前没事的时候看过几集plc教程,在这里有的知识点还能用上。
教程里提到了4096由来。
4096 = 2的12次方,假设我们的基准电压为0-5v,对应0-4096,我们的模块对应的是0-100度,就可以进行转换了。
1.二进制数字每左移一位转换为十进制倍数乘以2。
2.采集来的模拟量转换为数字量必须存储在16位的数里边,因为高位要左移,位数不够数据就丢了。下边画圈的地方需要左移。
{:4_165:} 第一集:认识单片机
---二刷了---
一开始了解单片机是8051,买了本书跟着看,刚开始看的洋桃电子后来是清翔,看着看着发现功能太小,实现不了我想要的,于是来了官网,打开新世界。
单片机真的很强大,我想实现很多功能(最想的就是做一个离线的语音搜歌小硬件),以前看教程都没看完,这次坚持看完吧。
看完这集我的目标更多了:
电子表(已经实现了)
离线搜歌
循迹小车?
飞行器?
智能门锁?
51单片机永远不会被淘汰。。
51单片机永远不会被淘汰。。
51单片机永远不会被淘汰。。
1.入门单片机一定要做项目,每学习一个功能,就往自己的项目上去靠。
2.学习还是去官网。
3.有条件还是打印一个芯片手册吧,没事看一遍。
4.模块化编程仔细学(看完一遍了总结出来的)
5.遇到问题实在搞不出来了,找官网,找客服。。。。。。
桌面镇楼看谁比我强。。。。。。。。。。。
哈哈哈
第二集:了解硬件
数码管(已经烧了好几个了,注意接电阻 数码管其实是二极管,一不小心就烧了)
红外线发射器
adc(数字量模拟量转换) 基准电压
18b20
矩阵键盘
lcd(一样是二极管,注意接分压电阻 当然你要是有试验箱就不用管了)我没试验箱我这是烧出来的经验
24c02 存储芯片
独立键盘
蜂鸣器(有源?无源?目前接触的都是有源?无源的我做离线播放器应该就用到了吧????)
232485 接口
flash扩展主要就是大
屏幕:1602?
我的降龙棍已到看我屠龙
我的降龙棍已到看我屠龙
我的降龙棍已到看我屠龙
这??我降龙棍单片机变异了?????
本帖最后由 zhange 于 2024-5-10 09:27 编辑
第三集:开发环境的搭建和程序下载
stc-isp官网下载,找最新版
pdf阅读器:wps最好了 我有会员哈哈
官网手册:加密了自己去破解吧 我已经破解了粘贴复制 嘎嘎香。。。。。
keil下载:官网可以免费下载 社区版 不要钱
数据下载:选好数据线,我这里买的板子不带数据线,随便找了一个下载,不管用,只能通电,又换了个带快充的就好了,应该是线的问题。后学习的可以避坑,买个好的数据线,或者好板子带线的。
我的板子是屠龙棍??降龙棍啦太简洁了要开始艰难的学习了但是也锻炼了自己接外设模块的能力 烧起来数码管嘎嘎好用
第四集:建立工程点亮第一颗LED上
1.电灯原理:电子的移动。电势差?
2.以前点亮led都是直接正负极,老师讲的这个竟然加了一个三极管,而且还是我不会的pnp(我只会npn),正好今天把pnp原理也学习下。
p型半导体:? n型半导体:? pn结合形成pn结 二极管就是这个原理单向导电性 二极管
pnp:发射极和基极必须有电势差才可以导通(奶奶的 学完就忘还是没有实践必须实践呀)
3.国外软件,新建名字最好用英文,路径啥的也是。
4.单片机里我们虽然给管脚赋值为1,但是读出来不一定是高电平。下图一定要看懂
5.sfr 特殊功能寄存器sbit 位定义 单片机特有 c语言中没有。。。。。。
6.貌似这个老师没有讲io的几种状态后边也没讲吧??这个应该学会??即使没讲 有用途
准双向口(弱上拉)
推挽输出
高阻输入
开漏输出
四种状态没学会,。。。。。