MSP430单片机综合实例

2018-07-11 20:42:35编辑:什么鱼 关键字:MSP430  单片机

/*转自本人新浪博中的记录,时间:2010-09-26 16:28:06

最近学了一段时间的msp430单片机,感觉这款低功耗的单片机很有意思,虽然还没有彻底弄明白它的具体操作,但是一些简单的程序已经能够实现了,下面是我写的一个MSP430比较综合一点的程序,和大家分享一下;


主程序:

#include
#include"liushui.h"
#include"juzhen.h"
#define uchar unsigned char
#define uint  unsigned int
#define rs_0  P6OUT&=~BIT4;
#define rs_1  P6OUT|=BIT4;
#define rw_0  P6OUT&=~BIT5;
#define rw_1  P6OUT|=BIT5;
#define e_0   P6OUT&=~BIT6
#define e_1   P6OUT|=BIT6;
#define wei1_0 P6OUT&=~BIT0;
#define wei1_1 P6OUT|=BIT0;
#define wei2_1 P6OUT|=BIT1;
#define wei3_0 P6OUT&=~BIT2;
#define wei3_1 P6OUT|=BIT2;
#define wei4_0 P6OUT&=~BIT3;
#define wei4_1 P6OUT|=BIT3;
uint j,t,count1,count2,count3,count4=99;
uchar temp1,temp2;
const uchar table1[]={" shizhong dabao "};
const uchar table2[]="0123456789";
const uchar table3[]="   15:45:00  ";
void delay2(uint x)
{
 uint y;
 while(x--)
  for(y=120;y>0;y--);
}
void w_com(uchar com)
{
    rs_0;
    P2OUT=com;
    delay2(1);
    e_1;
    e_0;
}
void w_dat(uchar dat)
{
    rs_1;
    P2OUT=dat;
    delay2(1);
    e_1;
    e_0;
}
void init_1602()
{
  w_com(0x38);
  w_com(0x0c);
  w_com(0x06);
  w_com(0x01);
  w_com(0x80);
}
void keyscan2()
{
    if(P1IN==0xfe)
    {
        delay2(1);
        while(P1IN==0xfe);
        count2++;
        if(count2==60)
          count2=0;
        temp1=count2/10;
        temp2=count2; 
        w_com(0x86+0x40);
        w_dat(table2[temp1]);
        delay2(5);
        w_com(0x87+0x40);
        w_dat(table2[temp2]);
    }
    if(P1IN==0xfd)
    {
       delay2(1);
       while(P1IN==0xfd);
       count3++;
       if(count3==24)
         count3=0;
       temp1=count3/10;
       temp2=count3;
       w_com(0x83+0x40);
       w_dat(table2[temp1]);
       delay2(5);
       w_com(0x84+0x40);
       w_dat(table2[temp2]);
    }
}
void shuma()
{
    temp1=count4/10;
    temp2=count4;
    wei1_0;
    P5OUT=count5;
    delay2(1);
    wei1_1;
   


关键字:MSP430  单片机

来源: eefocus 引用地址:http://www.eeworld.com.cn/mcu/2018/ic-news071140244.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:基于msp430的单片机的DES加密程序
下一篇:MSP430单片机GPIO编程入门教程

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

MSP430G2553电子时钟实验

用msp430g2553控制1602液晶显示时间,并可以通过按键设置时间,我做了正计时和倒计时两种模式/*********************************************************************msp430g2553与1602引脚连接情况* PIN1 --> 地* PIN2 --> VCC(一定要接+5V)* PIN3 -->仿真时悬空,实际电路 2K电阻-->地 (电阻可以是500-2k的,改变电阻可以改变字符显示的亮度,电阻接不好会导致什么都不显示)* PIN4 --> RS --> P1.6* PIN5 --> R/W -->
发表于 2018-07-14 20:42:53

msp430按键控制LED灯

#include "io430.h"/*       按键控制lLED灯的亮灭,有两种方法.       方法一:中断功能.                          方法二:利用 if(P4IN&BIT2)判断即可.       写代码时,尽量按照步骤来,避免因疏忽而浪费大量时间找bug.*/int main( void ){ 
发表于 2018-07-14 20:41:09

MSP430G2553 1602显示字符

代码:# include "msp430G2553.h"# define uchar unsigned char # define uint unsigned int # define LCD1602_RS_H  P2OUT|=BIT0# define LCD1602_RS_L  P2OUT&=~BIT0# define LCD1602_RW_H  P2OUT|=BIT1# define LCD1602_RW_L  P2OUT&=~BIT1# define LCD1602_EN_H  P2OUT|=BIT2# define LCD1602_EN_L
发表于 2018-07-14 20:40:26

MSP430G2553串口通讯 发送接收

数据发送代码:void UartPutchar(unsigned char c){while(!(IFG2 & UCA0TXIFG));  //待发送为空UCA0TXBUF=c;IFG2 &=~UCA0RXIFG;}只需要将那个buf变量的值改变即可接收数据#pragma vector=USCIAB0RX_VECTOR__interrupt void USCI0RX_ISR(void){while (!(IFG2&UCA0TXIFG));                // 等待发送完成//UCA0TXBUF
发表于 2018-07-14 20:33:37

MSP430按键控制串口发送数据

#include <msp430.h>//MSP430G2553  - 使用USCI_A0,Up Mode, DCO SMCLK////  介绍: 该程序利用USCI_A0来与计算机通信 通过接在P1.3口的按键来实现按一次发送一个数据//  波特率9600,数据格式8N1////  ACLK = 32768, SMCLK = 32768  MCLK =  DCO-16M////               MSP430G2553//        
发表于 2018-07-14 20:30:59

MSP430 - G2553之串口操作

#include <msp430.h> void delay1s(void) {  int t = 1000;  while (t--)    __delay_cycles(1000);    } #define UART_TXD 0x02                                  // TXD on P1.1 (Timer0_A.OUT0
发表于 2018-07-14 20:26:54

小广播

何立民专栏

单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2018 EEWORLD.com.cn, Inc. All rights reserved