2227|6

350

帖子

5

TA的资源

纯净的硅(初级)

楼主
 

大家帮我看看这个程序吧 [复制链接]

#include "msp430x14x.h"

#define CLK165_UP     P3OUT|=BIT0
#define CLK165_DOWN   P3OUT&=~BIT0
//#define CLK          P3DIR = BIT0
#define SL165_UP      P3OUT|=BIT1
#define SL165_DOWN    P3OUT&=~BIT1
//#define SL        P3DIR = BIT1
#define OUT165        P3OUT |= BIT2;//(P3IN&BIT2)>>2
//#define Qh        P3DIR = BIT2
#define uchar         unsigned char

/*#define SL     RC0
#define QH     RC1
#define CLK    RC2    //移位寄存器时钟*/

unsigned char hc74_165(void);
void Delay(unsigned int);        //延时函数
void delay();
void SysClockInit(void);
  
int i;

//*************** 主程序 ********************
void main(void)
{       
  WDTCTL = WDTPW + WDTHOLD;     //关狗
  SysClockInit();
  
  
  P3DIR = 0XFF;
  P1DIR = 0xFF;
// P1OUT = 0xFF;
  P4DIR = 0xFF;
// P4OUT = 0xFF;
/* TRISC0=0;      //引脚设为输出
  TRISC1=1;      //引脚设为输出
  TRISC2=0;      //引脚设为输出
  TRISD=0;      //引脚设为输出
  TRISB=0;      //引脚设为输出*/
  //Qh=0;
  CLK165_DOWN;
  SL165_UP;
// PORTA=0Xff;
        while(1)
        {
               
                for(i = 0;i < 8;i++) //LED流水显示
                {
                        P1OUT= ~(0x01<                         delay( );
                        SL165_DOWN;
                        P4OUT= hc74_165();//P4口接收74HC165的输出数据,并利用LED灯显示出来当前值。
                        delay( );
                }
               

        }
}       

//***********************74595发送函数************************
unsigned char hc74_165(void)
{
        unsigned char m,p;
       
        SL165_DOWN;//当移位/置入控制端S/L为低电平时,并行数据(A-H)被置入寄存器.而时钟(CLK,CLK INH)及串行数据(SER)均无关

        delay();
        SL165_UP;//当S/L为高电平时,并行置数功能被禁止
        delay();

        CLK165_DOWN;

        p=0;
        for(m=0;m<8;m++)
        {  
                p<<=0;
                p|=OUT165;
                CLK165_DOWN;
                delay();
                CLK165_UP;//时钟输入端(上升沿有效)
                delay();
       
                 
        }

        return(p);
               

       
}
//延时函数
void Delay(unsigned int m)
{
        while(m--);
}

//延时子程序
void delay()
{
        unsigned char i,j;       
        for(i=0;i<10;i++)
        for(j=0;j<5;j++);                 
}

/*******************************************************/
/*函数名称:SysClockInit                               */
/*函数用途:初始化系统时钟,MCLK:8MHz; SMCLK:4MHz; ACLK:32.768kHz*/
/*入口参数:无                                         */
/*返回参数:无                                         */
/*备    注:时钟需要根据应用来配置                     */
/*******************************************************/
void SysClockInit(void)
{
    unsigned char i;
   
    BCSCTL1 &= ~XT2OFF;                             //开启XT2高速晶振(8MHz),DCO采用默认设置;
                                                    //XT1为低速晶振(32.768kHz),低功耗可以将DCO的频率选择为最低                                                     //MCLK默认1分频,SMCLK选择2分频(4MHz)        
   
    do
    {
      IFG1 &= ~OFIFG;                                    //清除震荡器失效标志
      for(i=0xFF; i>0; i--);                              //短时等待时间
    }
    while ((IFG1&OFIFG) != 0);                      //等待晶振起振
   
    BCSCTL2 =   SELM_2 + SELS + DIVM_0 + DIVS_1;    //MCLK选择XT2CLK,SMCLK选择XT2CLK
                                                    //MCLK默认1分频,SMCLK选择2分频(4MHz)

}


功能是通过74HC165的并转串,然后实现流水灯现象。不知道为啥,这个程序实现不了,而且仿真器的mode灯也不亮。

最新回复

估计你程序都写不进去或者运行不了吧   详情 回复 发表于 2014-5-6 23:43
 
点赞 关注

回复
举报

350

帖子

5

TA的资源

纯净的硅(初级)

沙发
 
自己帮自己顶一下,希望懂的人帮我解决一下,谢谢
 
个人签名成功者找方法,失败者找理由
 

回复

350

帖子

5

TA的资源

纯净的硅(初级)

板凳
 
再帮自己顶一个,希望大神能看到,帮我解决一下。让我明白自己错在哪里了,以方便我的学习。
 
个人签名成功者找方法,失败者找理由
 
 

回复

973

帖子

15

TA的资源

纯净的硅(高级)

4
 
先不讨论程序对与错,仿真的灯都没亮,那就是程序没下进去啊。估计你可能是编译环境设置错了,你可能是设置的软仿真,改下设置试试吧。
 
个人签名我来到这个世界,就是为了遇见你。在某天我们会相遇,然后在一起,直到最后一起离去。
 
 

回复

218

帖子

0

TA的资源

一粒金砂(高级)

5
 

确认一下仿真器选的对不对,不要选成模拟器了

点评

恩恩,仿真器的事情已经解决了,现在是要解决的是程序问题。  详情 回复 发表于 2014-5-4 09:14
 
 
 

回复

350

帖子

5

TA的资源

纯净的硅(初级)

6
 
digitaltek 发表于 2014-4-29 22:13
确认一下仿真器选的对不对,不要选成模拟器了

恩恩,仿真器的事情已经解决了,现在是要解决的是程序问题。
 
个人签名成功者找方法,失败者找理由
 
 

回复

4856

帖子

3

TA的资源

版主

7
 
估计你程序都写不进去或者运行不了吧

关于74595实验计划.pdf

647.21 KB, 下载次数: 0

74595中文资料.pdf

1.84 MB, 下载次数: 0

 
 
 

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

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表