历史上的今天
返回首页

历史上的今天

今天是:2024年09月04日(星期三)

正在发生

2020年09月04日 | STM8单片机——按键检测电路设计

2020-09-04 来源:eefocus

硬件环境采用STM8SF103,电压为3.3V。电路需要注意的是STM8SF103这系列的IO作为输入口时只能是上拉输入和悬浮输入,虽然是弱上拉,在VCC为3.3V电压时,仍然能够被拉升至3.0V左右。


所以按键检测电路IO口一端需要接地,而不是外接上拉。悬浮方式下IO仍然会有0.89V左右电压,读取对应的IO寄存器IDR,仍然处于逻辑高电平状态。

软件代码相对很简单,只需要将IO口设置成上拉输入即可。采用轮询代码如下:


//初始化只需要设置IO口模式即可。

GPIO_Init(KEY2_PORT,KEY2_PIN,GPIO_MODE_IN_PU_NO_IT);//上拉输入,不产生中断

//按键检测部分

/*

#defineKEY10

#defineKEY1_PORT(GPIOD)

#defineKEY1_PIN(GPIO_PIN_4)

#defineKEY21

#defineKEY2_PORT(GPIOC)

#defineKEY2_PIN(GPIO_PIN_1)

*/

u8CheckKey(u8key)

{

if(key==KEY1)

{

if(KEY1_PORT->IDR&KEY1_PIN)//检测到有按键了,IO口电压会被拉低

{

delay_5ms();

if(KEY1_PORT->IDR&KEY1_PIN)//仍然存在低电平

{

while(!(KEY1_PORT->IDR&KEY1_PIN));//等待放开

returnKEY1;

}

}

return0;

}elseif(key==KEY2)

{

if(!(KEY2_PORT->IDR&KEY2_PIN))//检测到有按键了

{

delay_5ms();

if(!(KEY2_PORT->IDR&KEY2_PIN))//仍然存在低电平

{

while(KEY2_PORT->IDR&KEY2_PIN);//等待放开

returnKEY2;

}

}

return0;

}

return0;

}


总结一下,硬件电路将按键IO口的一端接地。软件配置不能使用悬浮输入方式,这种方式电压可能会不稳定。

推荐阅读

史海拾趣

Abbatron公司的发展小趣事

在电子行业的激烈竞争中,Abbatron公司以其创新的技术赢得了市场的认可。某年,公司研发团队成功开发出了一款新型的高效能芯片,这款芯片不仅性能卓越,而且功耗极低,引起了业界的广泛关注。通过这一技术突破,Abbatron公司在市场上占据了有利地位,并逐渐成为了行业内的佼佼者。

Electron Products Inc公司的发展小趣事

随着科技的快速发展,EPI意识到只有不断创新才能在竞争激烈的电子行业中立足。因此,公司加大了对研发的投入,并成功推出了一系列具有创新性和领先性的电子产品。这些产品不仅提升了用户体验,还为公司带来了更多的市场份额和利润。

Dongguan Jingyue Electronics Co Ltd公司的发展小趣事

Dongguan Jingyue Electronics Co Ltd深知市场拓展的重要性。在立足本土市场的基础上,公司积极开拓国际市场,通过参加国际展会、建立海外销售渠道等方式,不断提升品牌知名度和市场份额。同时,公司还注重品牌建设,通过提升产品质量、优化售后服务等方式,增强消费者对品牌的信任感和忠诚度。

Arcolectric公司的发展小趣事

Arcolectric公司成立于1932年,作为Elektron PLC Group的一个著名品牌,它从一开始就专注于开关、指示灯及保险丝座的生产。在创立初期,Arcolectric就展现出了对技术的深厚积累和独特见解,成功研发出了一系列高质量、高性能的产品,为公司的长远发展奠定了坚实的基础。

AC Photonics Inc公司的发展小趣事

AC Photonics Inc公司自成立以来,一直致力于光电技术的研发与应用。在公司成立初期,研发团队在光子集成技术上取得了重大突破,成功开发出一种高效、稳定的光电转换器。这一技术的问世,不仅提升了数据传输的速度和稳定性,还大大降低了能耗,为公司的业务发展奠定了坚实的基础。随着这一技术的逐步推广和应用,AC Photonics Inc在电子行业中逐渐崭露头角。

Diamond SA公司的发展小趣事

随着技术的不断成熟,Diamond SA公司开始积极拓展市场。他们与全球知名的电子产品制造商建立了合作关系,将自己的芯片技术应用于各种电子设备中。同时,公司还加大了品牌推广力度,通过一系列营销活动提升了品牌知名度和美誉度。随着市场份额的逐步扩大,Diamond SA公司成为了电子行业中的领军企业。

问答坊 | AI 解惑

信号的反射问题

信号在传输线上传输时,若遇到阻抗不连续的情况,就会发生信号的反射现象. 我想知道信号是怎样反射的,为什么在阻抗不匹配时就会发生反射现象?有哪些解决措施? :( …

查看全部问答>

Android编译环境(1) - 编译Native C的helloworld模块 ZT

Android编译环境本身比较复杂,且不像普通的编译环境:只有顶层目录下才有Makefile文件,而其他的每个component都使用统一标准的Android.mk. Android.mk文件本身是比较简单的,不过它并不是我们熟悉的Makefile,而是经过了Android自身编译系统的很 ...…

查看全部问答>

别傻了(9):能力强就可以高枕无忧

你的能力并不能确保你的安全 很多公司在招聘员工或对外宣传时说我们公司注重员工的能力,提倡员工能发挥自己的主观能动性 (确实有一些公司是提倡创新的,但是极少数,大部分都只是打打口号而已)。对于刚入职的员工来说可能都会有一种心理,那就 ...…

查看全部问答>

求大虾按图给个元件列表

要做个充电器,不知道与充电芯片相连的元件的参数.还有接口要接MICROUSB,有四条线,地线、读数据线、写数据线、+5V线 ,就直接把OUT接在5V线上就可以了贝? …

查看全部问答>

pcc中如何实现用ie打开不同格式的文件?

比如在IE中点击一个avi文件的链接,自动就会启动mediaplayer来播放,如果点击一个bt文件的链接,自动就会启动bt程序来下载,这个过程如何实现?需要用到哪些技术?请高手指点 …

查看全部问答>

初学嵌入式软件开发,不知道该从那些方面入手,有经验的可否提供一些建议?

我是学软件工程的,专业方向选的是嵌入式方向,现在课程比较少 我想先找点书看,可不知道该看什么样的书,大家可否给点意见?…

查看全部问答>

LCD 显示不正常

大家好 我问个问题: 我用STM32的LCD例程  修改下 在FPGA板子上跑起来 遇到的几个问题如下: 1、初始化后 花屏 2、清屏 不能清白色 其他颜色可以 3、 字符显示不正常 会出现乱码 请问 有谁遇到过类似问题吗…

查看全部问答>

自助借还书机(ZT2000)

感创ZT2000自动借还书设备是通过与图书馆自动化系统数据相连接,由读者自行借还馆内图书资料;帮助图书馆在有限的人力资源条件下,增进图书流通速率、简化借还流程,进而提高图书馆从业人员工作效率及服务品质的一种自助设备。 该自助借还书设备 ...…

查看全部问答>

索尼要裁员1万,日本电子制造业出了啥问题?

传索尼最早将在今年年底前全球裁员1万人,约占雇员总数的6%。这家公司一直是日系企业的中间代表,大家知道日系企业的一大特点就是不到万不得已是尽量不裁员,号召企业与员工共同成长,这比中国的国企还国企。究竟日本电子企业出什么问题了,本人不 ...…

查看全部问答>