导读:本文介绍了在MSP430单片机中IFG1寄存器的作用及IFG1中断标志位的含义。IFG1寄存器是一个8位的寄存器,用于控制中断标志位。文章还介绍了IFG1中断标志位的设置方法,并给出了具体的例子。文章提醒读者,在写程序时要注意避免无限循环和死循环,以免损坏单片机。如下为单片机ifg,msp430单片机中IFG1寄存器各位的作用的文章内容,供大家参考。
/*中断标志1*/
#defineIFG1_0x0002
sfrbIFG1IFG1_;
#defineWDTIFG0x01/*看门狗中断标志*/
#defineOFIFG0x02/*外部晶振故障中断标志*/
#defineNMIIFG0x10/*非屏蔽中断标志*/
#defineURXIFG00x40/*串口0接收中断标志*/
#defineUTXIFG00x80/*串口0发送中断标志*/
/*********************************这样你能明白吧?
IFG1是中断标志寄存器1,它的第1位是OFIFG(振荡器中断标志位),如果OFIFG位置0则表示程序中没有未决中断,置1则表示程序中还有未决中断至于IFG1寄存器的其它位是被用于其它模块的
寄存器相当于电路里面的开关,控制电流的流向!
你预先对寄存器设置以后,当电流流过时按照预先设定的路线走
IE使能中断要是不开,就算IFG置位也不会产生中断,当然有些中断不受此限制,那是特殊的
你好!
IE1是中断使能寄存器1:通过该寄存器可以打开或关闭相应的中断使能
IFG1是中断标志寄存器1:中断标志位一般在发生相应中断时由硬件自动置位
如果对你有帮助,望采纳
单片机程序在执行完main程序后会跳回到住main程序入口再重新执行的
把这个程序反汇编以后可以看到在C:0x0018行跳回主函数入口C0003
C:0x000002000FLJMPC:000F
4:voidmain(void)
5:{
6:if(k)
C:0x0003E508MOVA,k(0x08)
C:0x00056004JZC:000B
7:P00xff;
8:else
C:0x00077580FFMOVP0(0x80),#0xFF
C:0x000A22RET
9:P00x00;
C:0x000BE4CLRA
C:0x000CF580MOVP0(0x80),A
10:}
C:0x000E22RET
C:0x000F787FMOVR0,#0x7F
C:0x0011E4CLRA
C:0x0012F6MOV@R0,A
C:0x0013D8FDDJNZR0,C:0012
C:0x0015758108MOVSP(0x81),#k(0x08)
C:0x0018020003LJMPmain(C:0003)
C:0x001B00NOP
C:0x001C00NOP
C:0x001D00NOP
C:0x001E00NOP
单片机的程序就是这样,一直在循环,虽然你这个程序没有死循环的语句,但是单片机的程序计数器就是一条条的执行下去,到结束了又返回0000H的位置重新往下执行,所以写程序的时候一定要加个while(1)或for(;;),否则单片机是不断地初始化的
其实你的程序是在不断重复执行,重复的复位.
当执行完最后一条指令时,取下一条指令会发现指令有问题,然后跳进异常中断,当你的异常中断表设置的跳转地址是0x0000(或者说根本没设置),就会从最开始取指,也就相当了复位了,重新运行
其实外面用的最多的单片机就是8位的,要么就是32位的,比如说arm16位的单片机用的并不是很多你要是51掌握好了,你应该知道51类的单片机都是cisc(集中指令)型的单片机速度不是很快其实at89单片机的还有很多缺点呢?比如说运行速度慢,功耗大,抗干扰能力不强等等建议你去学点risc(精简指令)型单片机(risc是单片机的发展方向,几乎比较高档的单片机都是risc型的单片机)risc型单片机运行速度要比cisc型单片机快很多
比如同样是atmel的你可以选avr同样的频率条件下avr速度是at89的十几倍到几十倍,而且高档的avr功能十分强大(比at89要强很多了)比如内部集成eeproma/d内部rc振荡(所有的at89都没有内部振荡使用时一定要外部接振荡源,比如晶振)而且avr单片机一般是用c写程序的而51类单片机一般是用汇编语言写程序的(这只是我的个人习惯,没有说一定要这样)这又是一个学习点
当然你也可以选其他公司的单片机,比如常用的microchip的pic单片机等等
等你学过这些了,你才会发现你8位mcu还有很多地方要学的51只是一个基础,一个开始而已
你如果非要坚持学16为单片机,建议你学dspic单片机这也是mircochip公司的产品因为dspic数字信号控制器支持dsp处理指令你在某些方面可以直接当成dsp芯片来处理速度和功能上当然要比普通的8位机强大许多
再者你还可以学点arm的知识如果还想学可以学fpga/cpld这些知识都是学不完的关键要是用的到就算是8位机,你能用的很精通的话,也是十分优秀的工程师了
你用的是kile编译器吧,keil编译器会在你的主程序结束处加一个跳转指令,跳到主程序开始处.你可以反汇编看看汇编代码,一目了然了.
看语句,按c语音说就是:
led7code]应该是个数组;
lednumval是个整数变量;
首先计算lednumval%10,这个相当于该数除以10取余数,你可以把结果送进自设变量n;
然后以n为下标,取数组led7code数组中的数据元素,把结果送进自设变量m;
然后m与0x7f做位与运算,最后的结果送p0.
K%10是K除以10取余数
LED]是一个数组,
全部式子就表示如果满足条件,数组的第余数+1(从0开始的)个元素和0x7F相与,也就是将最高位变为0,其他位不变
下一篇 > :广告公司管理文件,广告公司管理制度
还没有评论,快来抢沙发吧!
最新发现
相关资讯
单片机ifg,msp430单片机中IFG1寄存器各位的作用
导读:本文介绍了在MSP430单片机中IFG1寄存器的作用及IFG1中断标志位的含义
2024-03-21 10:00:55
快手王者荣耀回放怎么设置,快手怎么录制王者荣耀视频
首先要进入游戏王者荣耀,然后点击右上方的小齿轮进入了游戏的设置系统,向下寻找录像设置,点击进入进入之后里面有王者时刻和自由录屏自由录屏比较灵活一点,录屏结束后,就可以自己观战了,并且还可以给自己的好友
2024-03-21 09:59:00
广告公司管理文件,广告公司管理制度
玩电脑游戏nbsp
2024-03-21 09:58:49
快手片尾设置,快手视频字一个个出现手写效果是怎么做的
可以教程:手机输入wap.soso.com输入mrp点击搜软件查找主题软件下载后放在mythroad的子文件夹好像是appst24032打开应用游戏中心开启即可
2024-03-21 09:56:59
学校发的文件袋,我是重庆考生.马上要高考了.可我的文具袋丢失了.请问怎么办....
写作业时,初中的老师不让用铅笔,但是在作图时也会用到,所以,铅笔1两只就好,橡皮也是这样圆珠笔和碳素笔需要很多套尺必须的,并且为四样,笔记本吗,历史和政治因为是开卷考试,所以笔记记在书上就好其他的,语
2024-03-21 09:56:49
新闻热榜
热门游戏
精彩专题