历史上的今天
今天是:2025年06月11日(星期三)
2020年06月11日 | msp430芯片的根据按键状态点灯,以及所学芯片的感悟
2020-06-11 来源:eefocus
最近被安排了好多实验,msp430单片机实验,无线实验,DSP实验,自己对比了一下51和msp430还有DSP用的F28335还是无线实验用的CC2530,还有arm的32,这些系统的编写的思路,发现51,430,F28335,CC2530,以及32有很多的相似之处,学会一个,其他的理解起来相对来说就会容易一些。总的来说,51,CC2530和430的区别小一些,51和CC2530,430的区别在于,CC2530,430的IO口用的时候要对PXDIR,PXSEL选择模式和方向,是要配置。
32和F28335比较相似,用户角度来说,可以用的库函数比较多,封装的比较多,结构方面,也比其他几个复杂,并且在比较高端一点的应用场合,特别是处理信号的方面,可能就会经常看见两者都有,DSP主要负责处理运算,因为信号处理卷积就会多,相应的乘法就会比较多,两者配合就会效果更好。
说了一些自己的想法和感悟,就分享一段430单片机的代码吧。
题目要求:按键按下的状态进行点灯,按下灯亮,led连接在P5.4-P5.7,按键连接在P2.4-P5.7
涉及的寄存器:
MSP430F169单片机的I/O口操作相关的寄存器有PxSEL、PxDIR、PxIN、PxOUT、PxIE、PxIES、PxIFG七个寄存器。其中后三个寄存器与中断有关。
1.PxSEL 功能选择寄存器设置IO口功能:PxSEL=1,则该位对应的引脚被设置成第二功能,即该引脚为外围模块的功能;PxSEL=0,则该位对应的引脚被设置成普通I/O功能。PxSEL寄存器复位值全为0,即默认为普通I/O口功能
2.PxDIR 方向选择寄存器该寄存器控制端口的各个引脚的输入输出方向。PxDIR=1,则该位对应的引脚被设置成输出;PxDIR=0,则该位对应的引脚被设置成输入。PxDIR寄存器复位值全为0,即默认为输入功能。注意,使用第二功能时,用户必须对输入输出方向进行设置
3.PxIN 输入状态寄存器该寄存器反映了I/O口的输入值。在输入模式下:当I/O口输入值为高电平时,则该寄存器相应位为1;当I/O口输入值为低电平时,则该寄存器相应位为0。PxIN寄存器复位值为随机值,且该寄存器为只读寄存器,对写操作无效
4.PxOUT 输出控制寄存器该寄存器控制I/O口的输出值。在输出模式下:PxOUT=1,则该位对应的引脚被设置成高电平输出;PxOUT=0,则该位对应的引脚被设置成低电平输出。PxOUT寄存器复位值为随机值,编程过程中应确定PxOUT的值后再设置PxDIR。
5.PxIE 中断允许寄存器该寄存器针对P1~P2口。该寄存器控制I/O口的中断允许。PxIE=1,则该位对应的引脚允许中断;PxIE=0,则该位对应的引脚不允许中断。PxIE寄存器复位值为0,默认为不允许中断。
6. PxIES 中断触发方式选择寄存器该寄存器针对P1~P2口。该寄存器控制I/O口的中断输入边沿选择。PxIES=1,则该位对应的引脚选择下降沿触发中断;PxIES=0,则该位对应的引脚选择上升沿触发中断。PxIES寄存器复位值为0,默认为上升沿触发中断。
7. PxIFG 中断标志寄存器该寄存器针对P1~P2口。该寄存器为I/O口的中断标志寄存器,反映了中断信号。PxIFG=1,则该位对应的引脚有外部中断产生;IFG=0,则该位对应的引脚没有外部中断产生。PxIFG寄存器复位值为0,该寄存器必须通过软件复位,同时也可以通过软件写1来产生相应中断。
史海拾趣
|
我现在的项目是单片机的,而我以前都没学过任何有关单片机的知识,现在边学边做,我想请教下大家,我想把单片机学好,我该学习些什么,我觉得硬件方面暂时不想学,我想深入点学习,有哪些方面的书是必看的呢?有什么好书推荐没?… 查看全部问答> |
|
这段代码实现添加add和编辑edit功能,编译通过了,但功能无法实现。谢谢帮忙看下! bool CFinal92Dlg::AddCAR(REC_CAR car) { CString str; SYSTEMTIME systime; FileTimeToSystemTime(&(car.ftday),& ...… 查看全部问答> |
|
ok2440、友善之臂的mini2440和TQ2440,哪个更好? 我想学习arm9,买一款s3c2440的开发板。不知道买哪个。大家给个意见。最好源码多,网上资料多,学习者多的,这样我容易找资料、容易和网友交流,谢谢。现在我看中了ok2440、友善之臂的mini2440和TQ2440。… 查看全部问答> |
|
当依赖关系中没有指明依赖文件时,make工具如何决定是否执行依赖关系中的命令? 比如: all:makedir makedir: mkdir out 当make工具检查目标文件makedir的依赖关系时,发现此依赖关系中没有指时依赖文件.那么make工具到底是继续,还是报错? … 查看全部问答> |
|
Createfile,readfile,writefile,还有deviceiocontrol中的缓冲区到底是什么意思啊? 驱动开发时,我看了很多遍,还是不明白。其实以前文件操作时也用过,就是写文件,读文件。但是用于驱动时我就搞不明白了,这些缓冲和驱动缓冲有什么关系?如:USB驱动中,这些缓冲和端点缓冲是什么关系,这些缓冲起什么作用? 谢谢高人们啊!!!… 查看全部问答> |
|
设计的蘑菇形落地灯,别看样子没有很特别的地方但是却蕴涵着设计师对广大消费者的关心,它可以随着周围光线的变化而自行调节灯泡的亮度,使用LED灯泡,非常节省能源哦。… 查看全部问答> |




