




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
MSP430课程设计报告 学 部: 机械与电子信息学院 专 业: 通信工程 班 级: 通信一班 学 号: 姓 名: 指导教师: 侯自良 2015年6 月一MSP430F169中+5V和+3.3V电压输出硬件设计 图 1-1如图1-1 LM7805把输入的79电压转化为稳定的+5V输出电压,LM7805输出的+5V电压作为AMS1117的输入电压,经过AMS1117把+5V的电压转化为稳定的+3.3V电压。LM7805能输出稳定+5V电压,AMS1117-3.3V能输出稳定的3.3V电压。稳定的+5V电压为外围一些芯片提供电压,稳定的3.3V电压作为MSP430的工作电压提供源。在+5V输出电压与地之间和+3.3V电压与地之间并联100uF和104pF的电容进行滤波。二 MSP430最小系统电路的硬件设计 图1-2如图1-2所示,430芯片的1脚与64接3.3V的电压给芯片提供电压,与地之间并联100uF和104的电容进行滤波,提供稳定的电压输入。8脚与9脚接一个32768的晶振,可由软件选作各个外围模块的时钟信号,一般用于低速外设。52和53脚接一个8M的晶振作为系统主时钟,主要用于CPU和系统。芯片内部有个DCO振荡器。MSP430共有3个振荡器。RST复位端低电平有效,按键按下产生低电平,芯片进行复位。三 MSP430 跑马灯的硬软件电路设计1 MSP430跑马灯的硬件电路设计 图1-3MSP430的第20-27引脚为P2口,对应P2.0-P2.7,P2口的P2.0-P2.7与74HC573的D0-D7一一对应,74HC573的Q0-Q7为输出,分别接发光二极管后与100串联接地。74HC573为8位锁存器,其1脚为输出使能,低电平有效,电路中将其接地,所以74HC573的8位Q端为直通输出。74HC573的第11引脚LE为输入使能端,高电平有效,电路中将其接入+5V高电平。2 MSP430跑马灯的软件设计#include #define uchar unsigned char#define uint unsigned int/*/延时/*void delay(uint n) uint a; while(n-) for(a=0;a=1538;a+);/*/初始化小灯的相关引脚/*void init_shu_led(void) P2DIR = 0xff; /小灯的引脚设置 P2SEL = 0x00;/*/跑马灯 led闪亮 /*void run_led(void) uchar i,j; uint temp; for(i=1;i10;i+) for(temp=0;temp256;temp+=i) P2OUT = temp; delay(200); for(i=0,j=0x01;i10;) P2OUT=j; delay(200); j=j1; if(j=0) i+; j+; for(i=0,j=0x80;i1; if(j=0) i+; j=0x80; /*/时钟初始化 选择8M晶振/*void int_clk(void) uchar i; BCSCTL1 &= XT2OFF; BCSCTL2 |= SELM_2 + SELS; do IFG1 &= OFIFG; for(i=0;i200;i+); while(IFG1 & OFIFG);/*/主函数/*void main(void) WDTCTL = WDTPW + WDTHOLD; init_shu_led(); /初始化数码管和LED灯 int_clk(); while(1) run_led(); 在以上程序中:#include 为MSP430中定义的MSP430F169的特殊功能寄存器功能头文件。#define uchar unsigned char #define uint unsigned int声明uchar和uint的类型delay()函数进行延时以便眼睛能看到小灯闪烁变化。init_shu_led()函数初始化小灯的引脚,LED小灯与MSP430的P2.0-P2.7相联,设置P2口为输出。int_clk()函数初始化时钟,选择8M晶振。run_led()函数中先对变量temp进行加i计数,采用双重循环方式,第一遍i=1,temp计数,每次加1,计数范围从0-255,达到256归零。每计数一次,将结果送P2OUT,发光二极管显示。第二遍i=i+1=2,temp=temp+i.即temp每次加2,直到temp256在对temp归零。这一循环过程直到i=9,在每次送P2OUT显示后,经延时后,以便能看到LED灯的闪烁。然后进入跑马灯左移位程序 P2OUT=j;delay(200);j=j1(左移一位);循环移位10遍,再进入右移位程序,循环10遍,run_led()函数执行完,进入主程序。四 MSP430键盘控制及键号显示电路的软硬件设计1 MSP430键盘控制及键号显示电路的硬件设计图1-4MSP430键盘控制及显示电路如图1-4所示,键盘控制及显示电路包括键盘控制电路和键号显示电路。键盘控制电路。按键一端与10K电路相联,另一端接地。在10K电阻与按键之间引出导线与MSP430的P4口相连,端口40-47与MSP430的P4.0-P4.7相对应,设置P4口为输入状态就能读出输入的高低电平。比如第三个按键按下,则输入的为11011111,P4IN为11011111,通过读取P4IN的值就能确定那个按键按下。在电阻与按键之间引出导线与P4口相联时,还作为74HC21(4输入与门)的输入端,74HC21最终输出端与MSP430的15引脚相联,MSP430的第15引脚为P1.3,P1.3具有中断功能。当8个按键没有按键下时,74HC21的输出电平为高电平。8个按键中任意一个按键按下时74HC21输出由高电平变为低电平.74HC21的功能为:只要有一个输入端为低电平,其输出端为低电平。此下降沿触发MSP430的P1.3口的中断,对键盘控制采用的是中断搜索方式。键号的数码显示采用MSP430的SPI串口方式,第一片74HC164的AB引脚与MSP430的29引脚相联,MSP430的29的第二功能为SIMO0输出SPI数据。四片74HC164采用级联的方式,因为SPI串口发送数据从高位到低位,所以前一片的最高位QH与第二片的AB引脚相联。74HC164的第九引脚CLR接低电平进行清除输出数据,在这改为接高电平。4片74HC164的CLK共同接在MSP430的31引脚,其对应为UCLK0,输出SPI模式的时钟信号。四个数码管显示键号,按下一个按键后与第一片74HC164相对应的数码管显示按键号,该数码管原先显示的数字在第二个数码管中显示,与此对应,数码管显示的数字依次移一位。2 MSP430键盘控制及键号显示的程序#include #define uchar unsigned char#define uint unsigned intuchar key1=10;const uchar segment=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40;/*/延时/*void delay(uint n) uint a; while(n-) for(a=0;a=1538;a+);/*/初始化数码管与键盘的相关引脚/*void init_shu_led(void) P4DIR = 0x00; /按键引脚输入 P1IES = 0x08; /按键中断的相关设置 P1IFG = 0x00; P1IE = 0x08; /开P1.3引脚的中断/*/初始SPI模式 通过SPI与164相连/*void int_spi(void) U0CTL = CHAR + SYNC + MM + SWRST; /8位SPI,主模式 U0TCTL = SSEL0 + SSEL1 + STC; /ACLK时钟,3线 U0TCTL |= CKPH; /上升输出数据,164上升沿输入数据 U0TCTL &= CKPL; /延时半个周期 缓冲 U0BR0 = 0x02; U0BR1 = 0x00; U0MCTL = 0x000; ME1 |= USPIE0; /模块使能 U0CTL &= SWRST; /SPI使能 IE1 &= UTXIE0; /接收禁止使能 IE1 &= URXIE0; /发送禁止使能 P3SEL |= 0x0e; /P3.1-P3.3第二功能 P3DIR |= 0xff; /P3口输出/*/在数码管上显示数字/*void display(uchar data) while(IFG1 & UTXIFG0)=0); U0TXBUF=segmentdata;/*/时钟初始化 选择8M晶振/*void int_clk() uchar i; BCSCTL1 &= XT2OFF; BCSCTL2 |= SELM_2 + SELS; do IFG1 &= OFIFG; for(i=0;i200;i+); while(IFG1 & OFIFG);/*/主函数/*void main(void) WDTCTL = WDTPW + WDTHOLD; uchar i; init_shu_led(); int_clk(); int_spi(); for(i=0;i4;i+) /上电开始没有按键按下数码管显示“-” display(key1); _EINT(); /开总中断 LPM1;/*/按键的中断服务程序/*# pragma vector = PORT1_VECTOR_interrupt void port_1(void) _DINT(); uchar key; key=P4IN; if(key!=0xff) delay(50); key=P4IN; if(key!=0xff) key=P4IN; switch(key) case 0xfe:key1 = 1;break; case 0xfd:key1 = 2;break; case 0xfb:key1 = 3;break; case 0xf7:key1 = 4;break; case 0xef:key1 = 5;break; case 0xdf:key1 = 6;break; case 0xbf:key1 = 7;break; case 0x7f:key1 = 8;break; default :key1=0; display(key1); P1IFG = 0x00; _EINT();键盘控制程序采用中断的方式进入,即有人按下任意一个按键,则P1口的中断启动,进入查询模式,通过扫描P4IN的值来确定哪个按键按下,然后显示键号。以上程序中:delay()函数进行延时,在去抖中用到。init_shu_led()初始化相关引脚的功能,P4引脚设置为输入模式,P1.3设置为中断模式。int_spi()函数进行设置SPI串口的相关操作,U0TCTL |= CKPH
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中山市农业农村局所属事业单位招聘事业单位人员(2人)模拟试卷附答案详解ab卷
- 数字人民币跨境支付2025年技术难题与跨境支付技术融合创新与合规性挑战分析报告
- 2025年新能源汽车换电技术标准化与新能源汽车产业政策解读研究
- 生殖健康管理师岗位技能知识精练180题(答案版)
- 2025年陕西省西咸新区沣西实验学校招聘(48人)考前自测高频考点模拟试题及参考答案详解一套
- 公务员考试《常识》全真模拟模拟题及答案详解(各地真题)
- 广东湛江市水务局招聘雇员笔试高频难、易错点备考题库及答案详解一套
- 浦发银行绍兴市嵊州市2025秋招群面模拟题及高分话术
- 华夏银行杭州市富阳区2025秋招群面模拟题及高分话术
- 中信银行潍坊市安丘市2025秋招笔试价值观测评题专练及答案
- (完整)公共基础知识题库及答案
- TCCPEF 086-2024 生态环境数智化监测与预警技术规范
- 产品开发生产合同8篇
- 篮球场围网施工方案
- 盘柜安装施工方案
- 中医面瘫护理个案汇报
- 《水基路用聚合物稳定碎石基层技术规程》
- 快递柜租赁合同
- 产品研发流程管理指南
- 《车刀与切削原理》课件
- 2024-2030年中国猎头公司市场发展前景调研及投资战略分析报告
评论
0/150
提交评论