找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2212|回复: 0
打印 上一主题 下一主题
收起左侧

MSP430F5529与MAX7456字符叠加模块的程序

[复制链接]
跳转到指定楼层
楼主
ID:587976 发表于 2019-7-22 09:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
没用Keil,用的IAR。

单片机源程序如下:
  1. #include <msp430f5529.h>
  2. #include "SPI.h"
  3. #include "MAX7456.h"

  4. #define uint unsigned int
  5. #define uchar unsigned char
  6. #define ulong unsigned long

  7. void initClk(){
  8.         UCSCTL3 |= SELREF_2;                      // Set DCO FLL reference = REFO
  9.         UCSCTL4 |= SELA_2;                        // Set ACLK = REFO

  10.         __bis_SR_register(SCG0);                  // Disable the FLL control loop
  11.         UCSCTL0 = 0x0000;                         // Set lowest possible DCOx, MODx
  12.         UCSCTL1 = DCORSEL_5;                      // Select DCO range 24MHz operation
  13.         UCSCTL2 = FLLD_1 + 243;                   // Set DCO Multiplier for 12MHz
  14.                                                             // (N + 1) * FLLRef = Fdco
  15.                                                             // (243 + 1) * 32768 = 8MHz
  16.                                                             // Set FLL Div = fDCOCLK/2
  17.         __bic_SR_register(SCG0);                  // Enable the FLL control loop
  18.         __delay_cycles(375000);

  19.                    // Loop until XT1,XT2 & DCO fault flag is cleared
  20.                     //等待起震
  21.         do{
  22.                 UCSCTL7 &= ~(XT2OFFG + XT1LFOFFG + DCOFFG);
  23.                                                              // Clear XT2,XT1,DCO fault flags
  24.                 SFRIFG1 &= ~OFIFG;                      // Clear fault flags
  25.         }while (SFRIFG1&OFIFG);                   // Test oscillator fault flag
  26.         
  27. }



  28. void main(){
  29.         P1DIR |= BIT0;                            // P1.0 set as output
  30.         
  31.         WDTCTL = WDTPW + WDTHOLD;
  32.         MAX7456_Delay_mS(1000);
  33.         initClk();
  34.         initSPI();
  35.         initMAX7456();
  36. //        spiWriteReg(VM0,OSD_EN);  
  37. //        Max7456_Learn_Char(uchar number, uchar *data);
  38.         
  39.         
  40.         MAX7456_Write_Char_XY(0x05,0x08,0x0C);   //显示'B'
  41. //        MAX7456_Write_Char_XY(0x0A,0x08,0x0D);   //显示'C'
  42.         MAX7456_Delay_mS(1000);
  43.         spiWriteReg(VM0,0X48);  //设置为PAL  自动模式 显示OSD使能  
  44. //       Max7456_Display_AllChar();
  45.         
  46.         P1OUT = BIT0;                           
  47.         MAX7456_Delay_mS(10000);
  48.         P1OUT = 0x0000;                           
  49.         
  50.           __bis_SR_register(LPM0_bits);             // Enter LPM0
  51.           __no_operation();                         // For debugger
  52.          
  53.          
  54.         while(1){
  55.                
  56. //               spiWriteReg(VM0,0X48);  //设置为PAL  自动模式 显示OSD使能  
  57.                
  58. //                MAX7456_Delay_mS(9000);//延时
  59. //                spiWriteReg(DMM,0X04);//清理显存
  60.         }
  61. }
复制代码

所有资料51hei提供下载:
msp430_spi_max7456.7z (1.4 MB, 下载次数: 12)


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶1 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表