嵌入式系统课程设计 跑马灯报告
- 格式:doc
- 大小:455.50 KB
- 文档页数:5
嵌入式系统
课程设计报告
学部
专业
学号
姓名
指导教师
日期
一、实验内容
设计msp430单片机程序并焊接电路板,利用msp430单片机芯片实现对跑马灯、按键识别及数码显示这三大模块的控制
二、实验目的
1.熟悉电路原理图,了解单片机芯片与各大模块间的控制关系
2.增强看图和动手设计能力,为将来从事这个专业及相关知识奠定基础
3.在焊接的同时,理解源程序是如何实现相应功能的
三、实验设备及器材清单
实验设备:电烙铁、烙铁架、尖嘴钳、斜口钳、镊子、万用表等
器材清单:
四、硬件电路框图
五、程序清单
跑马灯程序#include
#define uchar unsigned char
#define uint unsigned int
int main( void )
{
void delay( );
WDTCTL = WDTPW + WDTHOLD; unsigned char i=0,j=0;
P2DIR=0XFF;
P2SEL=0X00;
while(1)
{
for(i=0;i<10;i++)
{
P2OUT=0XFF;
delay(50);
P2OUT=0X00;
delay(50);
}
for(j=0;j<10;j++)
{
P2OUT=0X55;
delay(50);
P2OUT=0XAA;
delay(50);
}
}
}
void delay(uint n)
{
uint a,b;
for(a=0;a<=n;a++)
{
for(b=0;b<=1538;b++);
}
}
键盘程序
#include "msp430x14x.h"
int keyvalue=0;
int i;
int table[]={0X3f,0X06,0X5b,0X4f,0X66,0X6d,0X7d,0X07};
void main( void )
{
WDTCTL = WDTPW + WDTHOLD; // 关看门狗
P3DIR|=0X0b; //P3.0 P3.1 P3.3设置为输出状态
P3SEL=0X0a; //选择P.1 P3.3为外围器件功能使用
P3OUT=0X00; //P3引脚低电平
P3OUT=0XFF; //P3引脚高电平
P4DIR=0X00; //P4.0-P4.7引脚设置为输入
P4SEL=0X00; //选择P4.0-P4.7为外围器件功能使用,即按键的输入口P1DIR=0X00; //P1.0-P1.7引脚设置为输入
P1SEL=0X08; //选择P1.3为外围器件功能使用
P1IE=0X08; //P1.3中断使能
P1IES=0X08; // 下降沿中断标志置位
U0CTL=SWRST; //UART逻辑为复位状态,可以设置串口
U0CTL=CHAR+SYNC+MM; //8位数据位,SPI模式,地址位多机协议
U0TCTL=SSEL1+SSEL0+STC;//选择主时钟MCTL,3端SPI,STE禁止
U0TCTL=CKPH; //UCTL时钟信号延迟半个周期
U0TCTL=~CKPL; //CKPL=1,时钟信号的高电平位无效电平
U0BR0=0X02; //波特率2分频
U0BR1=0X00;
U0MCTL=0X00;
ME1|=USPIE0; //串口0同步模块使能
U0CTL&=~SWRST; //UART处于工作状态
while(1)
{
for(i=0;i<8;i++)
{
if((P4IN&0x01<
//按下2键(低电平)1111 1101&0000 0010=0000 0000==0x00
{
keyvalue=table[i]; //按下1键keyvalue=0x3f 按下2键eyvalue=0x06
U0TXBUF=keyvalue; //接收数据缓存
//while((IFG1&UTXIFG0)==0);
//IFG1&=~UTXIFG0;
}
}
}
}
#pragma vector=PORT1_VECTOR //进入中断程序
__interrupt void port1_vr(void)
{
P3OUT=0X00; //P3输出低电平
}
六、实验小结
时间过的很快,这个学期的MSP430单片机结束了,随之而来的课程设计也要结束了。
MSP430系列单片机是一个16位的单片机,采用了精简指令集(RISC)结构,具有丰富的寻址方式(7 种源操作数寻址、4 种目的操作数寻址)、简洁的 27 条内核指令以及大量的模拟指令;大量的寄存器以及片内数据存储器都可参加多种运算;还有高效的查表处理指令。这些特点保证了可编制出高效率的源程序。
这次的课程设计是用430单片机实现按键、跑马灯和数码管显示。经过2个星期的紧张焊接终于焊接成功,这次的单片机实验板焊接的比较顺利。毕竟已经大四了。一些基本知识都已经掌握了,不在像刚来的时候那样不知道怎么下手。由于时间比较赶所以焊接出来的,所以有些焊点不是很牢固刚开始检测的时候还以为是焊错了,检查后焊接好了各个点。之后有认真的调试了下各个功能都能比较好的呈现出来。总体来说对焊接的不存在什么大问题。主要的还是在程序和对单片机的熟练运用了。
重视理论知识个实际硬件的实践才是最重要的,即使知识学的再好,没有经过实践是不会很好的运用的。在不断的实践中才能更好的学习掌握只是,才能提高自己的素养!