5842|13

58

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

第一次用ST7LITEU05点亮LED,请大哥指点 [复制链接]

A5口接LED,计划是低电平亮,可是示波器看A5脚电平长期高电位不变,下面是源代码,COSMIC C和STVD7平台,各位大哥帮忙看看哪里不对,谢谢啦。。。

#include <io7flitus.h>
#include <stdlib.h>

/*----Define Bit Operation Macro---*/
#define SetBit(VAR,BIT_NUM)    ( (VAR) |= (1<<(BIT_NUM)) )
#define ClrBit(VAR,BIT_NUM)    ( (VAR) &= ((1<<(BIT_NUM))^0xFF) )
#define ValBit(VAR,BIT_NUM)    ( (VAR) & (1<<(BIT_NUM)) )
#define BitIsClear(VAR,BIT_NUM) ( 0 == ValBit(VAR,BIT_NUM) )
#define BitIsSet(VAR,BIT_NUM)   ( !BitIsClear(VAR,BIT_NUM) )

#define EnableInterrupts     {_asm ("RIM");}  
#define DisableInterrupts    {_asm ("SIM");} 
#define Nop            {_asm ("nop");} 
#define WaitforInterrupt    {_asm ("wfi");} 

#define LED_ON            ClrBit(PADR,5)
#define LED_OFF            SetBit(PADR,5)

/*---Define functions---*/
void gInitialize(void);
void gDelayms(unsigned char a);
     

/*---Main routine---*/
void main (void)
{
    gInitialize();
    while (1)
    {
    LED_ON;
    gDelayms(255);
    LED_OFF;
    gDelayms(255);
    } 
}

/*----Function: gDelayms()---*/
void gDelayms(unsigned char a)
{
    unsigned short k;
    for(k=192*a;k>0;k--);
}


/*---Function: gInitialize()---*/
void gInitialize(void)
{
    // Set internal RC clock
    RCCR = RCCRH0;
    SICSR = RCCRL0;
    AVDTHCR = 0x23;    //set the internal RC oscillator Prescaler to 4MHz.        
    // Set input/output pins:
    PADDR = 0x3F;    
    PAOR = 0x3F;    
    PADR = 0x00;    //Clear all output, }
此帖出自stm32/stm8论坛

最新回复

                                 就A5脚接了LED,其他脚都接上拉电阻,硬件应该没有问题。烧录器是自己按照datasheet做的一个,香版主有没有烧录器的资料,不知道烧录器是否OK?   详情 回复 发表于 2008-1-18 10:34
点赞 关注
 

回复
举报

79

帖子

0

TA的资源

一粒金砂(初级)

沙发
 

表面上看程序没什么问题,你的电路图呢?

                                 使用STVD7的调试手段看看,是否每条语句都是按照你的安排正常运行,确认没有语句被优化。
此帖出自stm32/stm8论坛
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

板凳
 

请问内部RC振荡是我那样设定吗?怎么看单片机振荡源工作了

电路图就是A5口接LED,A3外接上拉电阻和下拉电容复位电路,其他IO口都接上拉电阻10K到5V,供电5V。

请问内部RC振荡是我那样设定吗?怎么看单片机振荡源工作了?

还不是很会用STVD7,刚开始整,以前用PIC比较多。
此帖出自stm32/stm8论坛
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

4
 

A5口接LED时是否接电阻,否则可能I/O口已经被烧

                                 我没有用过这个芯片,不太清楚具体编程,如果你能够单步调试应该没问题。
此帖出自stm32/stm8论坛
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

5
 

A5口接了限流电阻的,390 Ohm的,A5口被灌电流

这个芯片就是ST7Lite family的,ST7LITEU05是8脚的flash芯片,
由于第一次用,所以从最简单的点一个LED开始熟悉IO口的操作,几天了还没有搞好。
版主说的单步调试是进入debug界面中吧?
此帖出自stm32/stm8论坛
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

6
 

单步调试是进入debug界面中

                                  
此帖出自stm32/stm8论坛
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

7
 

re:

option byte 选的是内时钟吗?
把delay拿掉,看有没有信号
此帖出自stm32/stm8论坛
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

8
 

option byte 选的是内时钟

                                 是在programmer的option byte里选了Interanal RC as startup clock.不要delay函数,想它输出高电平还是输出不了,大哥看我的内部时钟设置对不对啊?郁闷中。。。以前用PIC很好整的,这个ST咋整不出来?
此帖出自stm32/stm8论坛
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

9
 

1楼与8楼的说法矛盾

1楼说“A5脚电平长期高电位不变”,5楼却说“想它输出高电平还是输出不了”,到底哪个对?

在调试器中直接改变PADR的值,看看管脚上有没有电平变化,这不受内部时钟影响,确保硬件电路没有问题。
此帖出自stm32/stm8论坛
 
 
 

回复

81

帖子

0

TA的资源

一粒金砂(初级)

10
 

我刚换了一个新的MCU,现在不用delay函数可以工作了

aes_sea大哥,我刚换了一个新的MCU,现在不用delay函数只要
while (1)
    {
    LED_ON;
    //gDelayms(255);
    //LED_OFF;
    //gDelayms(255);
    } 
是可以看到A5脚分别高电平(如果写LED_OFF)或者低电平(LED_ON)的,加入delay函数就好像不工作了。我的这个delay函数变量数值范围是对的,我又检查了。还得继续努力。。。
此帖出自stm32/stm8论坛
 
 
 

回复

58

帖子

0

TA的资源

一粒金砂(初级)

11
 

sorry,没有说清楚

香版主,1楼说的“A5脚电平长期高电位不变”,是指1楼那个程序运行时候的状态。
8楼说“想它输出高电平还是输出不了”,是指把1楼程序改为while (1)
    {
    LED_OFF
    //gDelayms(255);
    //LED_OFF;
    //gDelayms(255);
    } 
示波器看不是高电平,这个是单片机坏了(可能我烧录次数太多了),现在换了一个新的单片机,结果就是在10楼回复的。最新的进展是加入delay函数后本应该LED一闪一闪的,结果是长期高电平不变。
此帖出自stm32/stm8论坛
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(中级)

12
 

软件仿真OK了,又要换个新的单片机下载程序才OK.

                                 ST的单片机咋怎么容易坏?搞个LED亮坏了8个了。
此帖出自stm32/stm8论坛
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

13
 

请仔细检查你的电路,尤其是LED限流电阻

                                 “ST的单片机咋怎么容易坏?搞个LED亮坏了8个了。”这肯定是不正常的!
此帖出自stm32/stm8论坛
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

14
 

用万用表测量了限流电阻阻值是对的。

                                 就A5脚接了LED,其他脚都接上拉电阻,硬件应该没有问题。烧录器是自己按照datasheet做的一个,香版主有没有烧录器的资料,不知道烧录器是否OK?
此帖出自stm32/stm8论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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

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

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

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