单片机论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

stc单片机烧录显示成功,but小灯不亮

  [复制链接]
跳转到指定楼层
楼主
nea 发表于 2019-2-11 21:58 来自手机 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
请老师,大神进来看下!
用的是STC(IAP   15W4K58S4)
按视频操作编好后进行烧录,烧录显示成功,but小灯不亮。
这是什么情况?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 转播转播 分享分享 分享淘帖 顶1 踩
回复

使用道具 举报

沙发
wulin 发表于 2019-2-12 07:34 | 只看该作者
如果程序初始化IO口设置不当有可能工作异常。

芯片型号 : IAP15W4K58S4
关于此芯片的重要说明:
  有定时器0, 定时器1, 定时器2, 定时器3和定时器4
  有4个硬件串口 (UART1, UART2, UART3, UART4)
  有SPI (可用作主模式/从模式)
  有2路PCA/PWM/CCP (可用作DAC)
  有8通道10位精度的A/D
  有6通道增强型带死区控制PWM波形发生器

注意: 芯片上电后所有与PWM相关的IO口均为高阻态
      需将这些口设置为准双向口或强推挽模式方可正常使用
相关IO: P0.6/P0.7/P1.6/P1.7/P2.1/P2.2
        P2.3/P2.7/P3.7/P4.2/P4.4/P4.5

另外还有P1.0/P1.4两个口在上电时为强推挽输出,程序
    初始化时也需将这两个口设置为弱上拉准双向口模式
回复

使用道具 举报

板凳
aking991 发表于 2019-2-12 08:47 | 只看该作者
but是什么,我用这系列的芯片都很多了,用的都好好的,没有出现什么烧录后不正常问题,请查一下你的程序
回复

使用道具 举报

地板
梦园心田 发表于 2019-2-12 09:36 | 只看该作者
一般都是程序出问题引起
回复

使用道具 举报

5#
笨笨兔 发表于 2019-2-12 10:23 | 只看该作者
芯片焊好,编程、烧录成功后,不能正常工作,还有一种可能就是:单片机未工作,先检查单片机工作与否,晶振起震了吗?最后检查一下你的程序。
回复

使用道具 举报

6#
devcang 发表于 2019-2-12 10:45 | 只看该作者

程序和电路,都是怎样的
回复

使用道具 举报

7#
xuyaqi 发表于 2019-2-12 11:51 | 只看该作者
断电重启一下。
回复

使用道具 举报

8#
YJGG 发表于 2019-2-12 12:02 | 只看该作者
能确定程序正常否?
回复

使用道具 举报

9#
累不死的狗 发表于 2019-2-12 18:15 | 只看该作者
检查程序
回复

使用道具 举报

10#
 楼主| nea 发表于 2019-2-12 18:52 来自手机 | 只看该作者
aking991 发表于 2019-2-12 08:47
but是什么,我用这系列的芯片都很多了,用的都好好的,没有出现什么烧录后不正常问题,请查一下你的程序

过程应该没问题吧!但是大的LED灯始终不亮,(亮的是插入电源就自动亮)绝望。。。

IMG_20190212_182152.jpg (902.26 KB, 下载次数: 1)

IMG_20190212_182152.jpg

IMG_20190212_184857.jpg (1.21 MB, 下载次数: 1)

IMG_20190212_184857.jpg

IMG_20190212_184400.jpg (1.3 MB, 下载次数: 1)

IMG_20190212_184400.jpg

IMG_20190212_184905.jpg (1.51 MB, 下载次数: 2)

IMG_20190212_184905.jpg

IMG_20190212_184943.jpg (1.52 MB, 下载次数: 1)

IMG_20190212_184943.jpg
回复

使用道具 举报

11#
 楼主| nea 发表于 2019-2-12 19:24 来自手机 | 只看该作者
这是整个过程,程序应该不会出错(0 errors)
but  小灯仍然没有亮。。。。。救救孩子!!!

IMG_20190212_182152.jpg (902.26 KB, 下载次数: 2)

IMG_20190212_182152.jpg

IMG_20190212_184400.jpg (1.3 MB, 下载次数: 1)

IMG_20190212_184400.jpg

IMG_20190212_184857.jpg (1.21 MB, 下载次数: 1)

IMG_20190212_184857.jpg

IMG_20190212_184905.jpg (1.51 MB, 下载次数: 1)

IMG_20190212_184905.jpg

IMG_20190212_184943.jpg (1.52 MB, 下载次数: 1)

IMG_20190212_184943.jpg
回复

使用道具 举报

12#
yaoji123 发表于 2019-2-13 07:19 | 只看该作者
用STC15的头文件,如不是要加入相关寄存器的地址。
回复

使用道具 举报

13#
j944767765 发表于 2019-2-13 21:55 | 只看该作者
你这程序不对啊   就定义了一下端口,并没有写入输出高低电平的代码啊
回复

使用道具 举报

14#
wysdeguo 发表于 2019-2-14 09:07 | 只看该作者
按照显示现象,要测量LED正极的电压,若电压正常,是LED安装反了或损坏,电压不正常,程序延时后,取反LED电压,便于检测。
回复

使用道具 举报

15#
wysdeguo 发表于 2019-2-14 09:10 | 只看该作者
没有main程序和while循环   main(void){while {led=0;  delay(500);led=1;  delay(500);}}
回复

使用道具 举报

16#
wulin 发表于 2019-2-14 09:13 | 只看该作者
nea 发表于 2019-2-12 19:24
这是整个过程,程序应该不会出错(0 errors)
but  小灯仍然没有亮。。。。。救救孩子!!!

你有什么确凿证据证明程序没有出错???
回复

使用道具 举报

17#
zh123456zh 发表于 2019-2-14 10:23 来自手机 | 只看该作者
aking991 发表于 2019-2-12 08:47
but是什么,我用这系列的芯片都很多了,用的都好好的,没有出现什么烧录后不正常问题,请查一下你的程序

but  ~但是
回复

使用道具 举报

18#
zh123456zh 发表于 2019-2-14 10:25 来自手机 | 只看该作者
程序没写灯亮
回复

使用道具 举报

19#
jean2019 发表于 2019-2-14 11:17 | 只看该作者
本帖最后由 jean2019 于 2019-2-14 11:52 编辑

程序贴出来看看,你截图中循环里是小写的led,实际点灯应该为LED=1;
回复

使用道具 举报

20#
tong001 发表于 2019-2-14 12:38 | 只看该作者
你用的是买的开发板吧??你确定你的小灯在开发板上没有用跳线进行控制很多时候数码管和小灯都是用的相同的接口,利用跳线的短接来选择要使用的模块  我看你的数码管亮了   你看看你开发板的说明书是不是跳线接错了
回复

使用道具 举报

21#
yuduan66 发表于 2019-2-14 13:07 | 只看该作者
1、首先检查一下电源是否正常,如+5V电压;
2、在设备管理器上检查有没有找到硬件,对应驱动是否安装成功;
3、检查下载时的芯片型号是否正确。
回复

使用道具 举报

22#
周超然 发表于 2019-2-14 15:31 | 只看该作者
万用表测下管脚,应该是单片机或者代码有问题
回复

使用道具 举报

23#
toby2006 发表于 2019-2-15 09:46 | 只看该作者
检查程序吧
回复

使用道具 举报

24#
 楼主| nea 发表于 2019-2-15 12:06 来自手机 | 只看该作者
tong001 发表于 2019-2-14 12:38
你用的是买的开发板吧??你确定你的小灯在开发板上没有用跳线进行控制很多时候数码管和小灯都是用的相同的 ...

大神,好像很有道理,盒子里确实有几根导!线我现在只求能点亮个小灯。求带我点亮二级发光管!!!QQ1900987816
感激不尽呐!
回复

使用道具 举报

25#
angmall 发表于 2019-2-16 15:23 | 只看该作者
我给你来个程序试试

  1. /* 如果要在程序中使用此代码,请在程序中注明使用了宏晶科技的资料及程序   */
  2. /*---------------------------------------------------------------------*/

  3. /*********************************************************/
  4. #define         MAIN_Fosc                22118400L        //定义主时钟
  5. //#define MAIN_Fosc                12000000L        //定义主时钟
  6. //#define MAIN_Fosc                11059200L        //定义主时钟
  7. //#define MAIN_Fosc                 5529600L        //定义主时钟
  8. //#define MAIN_Fosc                24000000L        //定义主时钟

  9. /*********************************************************/
  10. #include        "STC15Fxxxx.H"

  11. /*************        功能说明        **************

  12. 程序使用P4.7 P4.6 P1.6 P1.7 来演示跑马灯,输出低驱动。

  13. ******************************************/
  14. /*************        本地常量声明        **************/

  15. /*************        本地变量声明        **************/

  16. /*************  外部函数和变量声明 *****************/

  17. /*************        本地函数声明        **************/
  18. void  delay_ms(u8 ms);  // 这里只支持1~255ms.


  19. /******************** 主函数 **************************/
  20. void main(void)
  21. {
  22.   /******************** IO配置 **************************/
  23.         P0M1 = 0;        P0M0 = 0;        //设置为准双向口  00上拉准双向口 01浮空输入 10开漏输出 11推挽输出
  24.         P1M1 = 0;        P1M0 = 0;        //设置为准双向口
  25.         P2M1 = 0;        P2M0 = 0;        //设置为准双向口
  26.         P3M1 = 0;        P3M0 = 0;        //设置为准双向口
  27.         P4M1 = 0;        P4M0 = 0;        //设置为准双向口
  28.         P5M1 = 0;        P5M0 = 0;        //设置为准双向口
  29.         P6M1 = 0;        P6M0 = 0;        //设置为准双向口
  30.         P7M1 = 0;        P7M0 = 0;        //设置为准双向口

  31.         while(1)
  32.         {
  33.                 P17 = 0;   // LED7
  34.                 delay_ms(250);
  35.                 delay_ms(250);
  36.                 P17 = 1;  // LED7
  37.                 P16 = 0;  // LED8
  38.                 delay_ms(250);
  39.                 delay_ms(250);
  40.                 P16 = 1; // LED8
  41.                 P47 = 0;  // LED9
  42.                 delay_ms(250);
  43.                 delay_ms(250);
  44.                 P47 = 1;  // LED9
  45.                 P46 = 0;   // LED10
  46.                 delay_ms(250);
  47.                 delay_ms(250);
  48.                 P46 = 1;   // LED10
  49.         }
  50. }

  51. //========================================================================
  52. // 函数: void  delay_ms(u8 ms)
  53. // 描述: 延时函数。
  54. // 参数: ms,要延时的ms数, 这里只支持1~255ms. 自动适应主时钟.
  55. // 返回: none.
  56. // 版本: VER1.0
  57. // 日期: 2013-4-1
  58. // 备注:
  59. //========================================================================
  60. void  delay_ms(u8 ms)
  61. {
  62.      u16 i;
  63.          do{
  64.               i = MAIN_Fosc / 13000;
  65.                   while(--i)        ;   //14T per loop
  66.      }while(--ms);
  67. }



复制代码
回复

使用道具 举报

26#
angmall 发表于 2019-2-16 22:14 | 只看该作者
nea 发表于 2019-2-12 18:52
过程应该没问题吧!但是大的LED灯始终不亮,(亮的是插入电源就自动亮)绝望。。。

大的LED灯始终不亮是对的,因为是红外LED灯

我给你来个原理图试试

STC15系列8051单片机实验箱4原理图及C程序
http://www.stcmcudata.com/STC-St ... -SCH-C-ASM-VER2.RAR
回复

使用道具 举报

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

本版积分规则

QQ|手机版|小黑屋|单片机论坛 |51黑电子论坛单片机.

Powered by 单片机教程网

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