单片机编程小问题总结

时间:2023-03-15作者:佚名
1、时间太长,记不清在哪个项目里遇到的,指向code区数组的指针也要加 code 关键字声明。

比如 unsigned char code arr[30]; 数组,要用指针指向它,要把指针也声明成 unsigned charcode*p;

后来使用发现其它很多地方使用是不需要这样声明的,只要 unsigned char *p;就行了,但是清楚地记得那次确实是要加 code 关键字声明才可以的。

2、在51里面,位变量貌似是有限的。

如果要用一个布尔型作为标识变量,为了节省控件可以用 bit 型变量,但是在DRS1000项目中遇到过一次用 bit 型变量出错,改为 unsigned char 型就OK了,那时定义的变量已经很多了,可能是把可以用bit寻址的存储区都用光了吧。

3、用机械开关触发INT中断时:

由于机械开关会震动,产生的电压会有毛刺,这些毛刺会多次触发中断。会造成多次触发的因素有两点:

(1 )开关按下时的震动。第一次低电平到来时会进入中断处理程序,之后就算这些震动在中断处理程序执行的过程中产生,即使进入中断处理程序后关掉了总中断,这些毛刺仍然会使中断标志位置位,会在结束中断处理程序结束后再次马上触发中断处理程序。

(2 )开关释放时的震动。在第一次高电平到来时会退出中断处理程序,之后的毛刺会再次进入中断处理程序。

解决办法:

在中断处理程序的最后加一段低电平等待代码,等待低电平结束再延时5ms(为了消除开关释放时毛刺的干扰),5ms延时结束后再清除中断标志位(在中断处理程序执行的过程中可能已经再次触发了中断标志位)。代码如下:

[cpp] view plaincopyvoid int0() interrupt 0

{

/*Do something*/

while(rollRA==0);//等待低电平结束

delay5(1);//等待按键释放的毛刺结束

IE0=0; //清除中断标志位,以防再次进入中断

}

4、对于15系列单片机,在使用串口时必须要指定AUXR寄存器的值,否则程序无**常运行。

这个情况遇到过很多次,15系列单片机只要使用到串口就一定要知名AUXR寄存器的值,不像12系列那样可以把这个寄存器忽略。

在使用15系列单片机时养成了一个习惯:main 函数的第一句让 AUXR=0; ,后面串口在根据需要对其进行初始化。

相关阅读

电工低成本改变自己的三个习惯

电工朋友们,在忙碌的工作之余,别忘了投资自己,提升自己。今天,我想和大家分享三个低成本改变自己的习惯,希望能对大家有所帮助。 01 学习:决定电工的技术水平 作为电工,我们的技术...
2024-09-01
电工低成本改变自己的三个习惯

人机界面的死机现象及处理办法

人机界面 (主要是操作站)死机现象所有dcs 都不同程度地存在,只是频繁程度不同。另外与DCS使用时间长短有关。因硬件引起的死机,显示不再能恢复。如操作站电源 电压偏低,很容...
2023-03-21

超实用!电缆压降粗略计算方法(电工/工程通用版)

在配电施工、设备选型、线路验收中,电缆压降直接决定电压够不够、设备能不能正常工作。本文只讲最简单、最实用、现场能直接口算的粗略计算方法,不搞复杂公式,拿到线径、长度、...
2026-04-21

可以调整时间来控制时间继电器

大家好!每天学一点,学习更轻松。关注我,感谢大家为我点赞。 今天介绍的案例:控制一台电动机,按下启动按钮,电动机运行一段时间自行停止;按下停止按钮,电动机立即停止。...
2023-03-29
可以调整时间来控制时间继电器

三分钟阅读这篇电气识图的文章,学会你也可以算得上半个电气专家

本文主要涉及以下内容: 1、标准的电气制图 制图规范的说明和总结。 2、常见的电气图纸【不复杂但是实用】。 图形符号:组成、分类、应用 详见文章 新手学习——电气图基本知识...
2023-06-11
三分钟阅读这篇电气识图的文章,学会你也可以算得上半个电气专家

热销商品

德国进口雅马哈风力灭火机大功率手提森林灭火器落叶工地吹雪机汽

德国进口雅马哈风力灭火机是一款高效、可靠的森林灭火和清理设备。它拥有大功率风机,能够迅速吹散落叶、杂草和积雪,有效清理工地和森林地面。这款灭火机采用先进技...
¥ 692.5

3M自粘橡胶条高硬度耐压实心幕墙玻璃舞台搭建货架专用减震密封条

3M自粘橡胶条是一款专为高要求工业及建筑场景设计的高性能密封减震材料,采用高硬度实心橡胶材质,具备优异的耐压性、抗老化性和持久弹性。其独特的自粘背胶设计,安装...
¥ 1.6

公牛官方旗舰店开关插座空调16A插座五孔10A面板暗装多孔G12白灰

公牛官方旗舰店提供一系列高质量的开关插座和空调配件。这款16A插座五孔面板采用暗装设计,适用于多种安装环境,如墙面、天花板等。它具有10A的电流容量,可以满足家庭...
¥ 5.55

电位器旋钮电流调节螺帽直流逆变电焊机二保焊送丝机通用旋钮B102

电位器旋钮电流调节螺帽适用于直流逆变电焊机和二保焊送丝机,是一款通用的旋钮B102。该旋钮采用优质材料制造,具有耐磨损、耐高温、耐腐蚀等特点,能够长时间稳定运行...
¥ 0.7

西门子开关插座无框皓彩米绒白亚光二三插USB10A五孔一开旗舰店

西门子开关插座无框皓彩米绒白亚光二三插USB10A五孔一开旗舰店,作为西门子品牌的专卖店,提供了一系列高品质、设计新颖的家居电气产品。这里销售的开关插座采用无框...
¥ 8.77

网站栏目