MSP430停车位感应装置设计(能记录停车时间)
来源:互联网 发布:科比各赛季数据统计 编辑:程序博客网 时间:2024/05/02 04:26
硬件:MSP430f5529,光电传感器,数码管(共阴极)
#include <msp430f5529.h>/*********************************************************************** 红外光电传感器输入信号到P2.0,模拟车的信号,当用手遮挡时输入高电平,系统检测到上升沿,进入寄存器中断,P1.0灯亮,接着在寄存器中断中使能定时器的捕获/比较寄存器(TA0CCTL0),定时器开始计时,数码管开始滚动数字,当把手挪开后,传感器输入低电平,系统检测到下降沿,再次进入寄存器中断,P1.0取反,灯灭,接着禁止定时器的捕获/比较寄存器(TA0CCTL0),定时器停止计时,数码管停止滚动,直到下次上升沿到来************************************************************************/unsigned char i=0,j=0,k=0,key=0;const unsigned char num[10]={0xfc,0x90,0x7a,0xda,0x96,0xce,0xee,0x9c,0xfe,0xde};//数码管管脚:DP,g,f,a,b,e,d,c 分别对应 P3.0,P3.1,P3.2,P3.3,...,P3.7void delay(int ms){ while(ms--) for(i=0;i<120;i++);}void main( void ){ WDTCTL = WDTPW + WDTHOLD; //关闭看门狗 P1DIR |= BIT0; //定义P1.0为输出,默认为输出高电平 P1OUT ^= BIT0; //初始化的时让P1.0输出低电平 P2IE |= BIT0; //中断使能P2.0 P2IES |= BIT0; //选择中断标志为P2.0 _BIS_SR(LPM0_bits+GIE); //开启中断,并让CPU休眠}#pragma vector = TIMER0_A0_VECTOR //CCR0中断程序__interrupt void Timer0_A(void){ j++; if(j>9) j=0; P3OUT = num[j]; //数码管开始计数输出}#pragma vector = PORT2_VECTOR //寄存器中断程序__interrupt void PORT2_ISR(void){ key = P2IFG&BIT0; //按键防抖 delay(10); //自定义的延时函数 if((P2IFG&BIT0)==key) P1OUT ^= 0x01; //上升沿输出高电平,下降沿输出低电平 P2IFG=0; //退出中断前必须手动清除IO口中断标志 k = j; j = 0; //让数码管每次都从0开始计数 TA0CTL |= TASSEL_1+MC_1+TAIE+ID_0+TACLR; //选择ACLK时钟信号,增计数模式,中断使能,一分频,自动复位 TA0CCTL0 ^= CCIE; //捕获/比较寄存器使能与禁止 TA0CCR0 = 32768; //ACLK计数32768次为一秒 P3DIR = 0XFF; //定义P3为输出,默认为输出高电平,整个P3都接的是数码管 P3OUT = num[k]; //初始化时让P3保持输出停止计数前的最后一个数}
红外光电传感器如图:
阅读全文
0 0
- MSP430停车位感应装置设计(能记录停车时间)
- EasyPark共享停车位的设计与实现(个人)
- 什么是“蓝牙距离感应装置”
- ARM检测装置(LM3S9B81)调试记录
- 重力感应调试记录
- msp430 EEPROM调试记录
- 人体感应(红外感应)
- 停车
- 停车位2
- 停车位分析
- easy-ui的汉化脚本,停车时间
- MSP430学习心的记录
- 电能质量监测装置 的人机界面设计总结(1)
- 电能质量监测装置人机界面设计总计(2)
- 电能质量监测装置人机界面设计总结(3)
- 电能质量监测装置人机界面设计总结(4)
- 电能质量监测装置人机界面设计总结(5)
- 【网络游戏专题】时间同步装置
- Spring Boot: 开发web 应用
- [机器学习入门] 李宏毅机器学习笔记-13 (Semi-supervised Learning ;半监督学习)
- Canvas之画单一色圆环
- 音乐播放器
- Sqlite的几个坑
- MSP430停车位感应装置设计(能记录停车时间)
- oracle安装中出现:检查操作系统版本必须是5.0,5.1,or 6.0。实际为6.1
- 从底层理解threadlocal为什么可以每个线程一个副本
- Java设计模式:六、命令模式
- 史上最全设计模式导学目录(完整版)
- 使用apache代理tomcat集群并实现session复制
- 【javascript】车标JSON格式--汽车品牌JSON格式
- RNN/LSTM反向传播计算细节
- 解决使用plt.savefig保存图片时一片空白