找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 7534|回复: 27
收起左侧

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

  [复制链接]
ID:475087 发表于 2019-2-11 21:58 来自手机 | 显示全部楼层 |阅读模式
请老师,大神进来看下!
用的是STC(IAP   15W4K58S4)
按视频操作编好后进行烧录,烧录显示成功,but小灯不亮。
这是什么情况?
回复

使用道具 举报

ID:213173 发表于 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两个口在上电时为强推挽输出,程序
    初始化时也需将这两个口设置为弱上拉准双向口模式
回复

使用道具 举报

ID:65956 发表于 2019-2-12 08:47 | 显示全部楼层
but是什么,我用这系列的芯片都很多了,用的都好好的,没有出现什么烧录后不正常问题,请查一下你的程序
回复

使用道具 举报

ID:383374 发表于 2019-2-12 09:36 | 显示全部楼层
一般都是程序出问题引起
回复

使用道具 举报

ID:158375 发表于 2019-2-12 10:23 | 显示全部楼层
芯片焊好,编程、烧录成功后,不能正常工作,还有一种可能就是:单片机未工作,先检查单片机工作与否,晶振起震了吗?最后检查一下你的程序。
回复

使用道具 举报

ID:277550 发表于 2019-2-12 10:45 | 显示全部楼层

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

使用道具 举报

ID:94031 发表于 2019-2-12 11:51 | 显示全部楼层
断电重启一下。
回复

使用道具 举报

ID:23606 发表于 2019-2-12 12:02 | 显示全部楼层
能确定程序正常否?
回复

使用道具 举报

ID:453974 发表于 2019-2-12 18:15 | 显示全部楼层
检查程序
回复

使用道具 举报

ID:475087 发表于 2019-2-12 18:52 来自手机 | 显示全部楼层
aking991 发表于 2019-2-12 08:47
but是什么,我用这系列的芯片都很多了,用的都好好的,没有出现什么烧录后不正常问题,请查一下你的程序

过程应该没问题吧!但是大的LED灯始终不亮,(亮的是插入电源就自动亮)绝望。。。
IMG_20190212_182152.jpg
IMG_20190212_184857.jpg
IMG_20190212_184400.jpg
IMG_20190212_184905.jpg
IMG_20190212_184943.jpg
回复

使用道具 举报

ID:475087 发表于 2019-2-12 19:24 来自手机 | 显示全部楼层
这是整个过程,程序应该不会出错(0 errors)
but  小灯仍然没有亮。。。。。救救孩子!!!
IMG_20190212_182152.jpg
IMG_20190212_184400.jpg
IMG_20190212_184857.jpg
IMG_20190212_184905.jpg
IMG_20190212_184943.jpg
回复

使用道具 举报

ID:432823 发表于 2019-2-13 07:19 | 显示全部楼层
用STC15的头文件,如不是要加入相关寄存器的地址。
回复

使用道具 举报

ID:220717 发表于 2019-2-13 21:55 | 显示全部楼层
你这程序不对啊   就定义了一下端口,并没有写入输出高低电平的代码啊
回复

使用道具 举报

ID:476355 发表于 2019-2-14 09:07 | 显示全部楼层
按照显示现象,要测量LED正极的电压,若电压正常,是LED安装反了或损坏,电压不正常,程序延时后,取反LED电压,便于检测。
回复

使用道具 举报

ID:476355 发表于 2019-2-14 09:10 | 显示全部楼层
没有main程序和while循环   main(void){while {led=0;  delay(500);led=1;  delay(500);}}
回复

使用道具 举报

ID:213173 发表于 2019-2-14 09:13 | 显示全部楼层
nea 发表于 2019-2-12 19:24
这是整个过程,程序应该不会出错(0 errors)
but  小灯仍然没有亮。。。。。救救孩子!!!

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

使用道具 举报

ID:433992 发表于 2019-2-14 10:23 来自手机 | 显示全部楼层
aking991 发表于 2019-2-12 08:47
but是什么,我用这系列的芯片都很多了,用的都好好的,没有出现什么烧录后不正常问题,请查一下你的程序

but  ~但是
回复

使用道具 举报

ID:433992 发表于 2019-2-14 10:25 来自手机 | 显示全部楼层
程序没写灯亮
回复

使用道具 举报

ID:476417 发表于 2019-2-14 11:17 | 显示全部楼层
本帖最后由 jean2019 于 2019-2-14 11:52 编辑

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

使用道具 举报

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

使用道具 举报

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

使用道具 举报

ID:449525 发表于 2019-2-14 15:31 | 显示全部楼层
万用表测下管脚,应该是单片机或者代码有问题
回复

使用道具 举报

ID:476644 发表于 2019-2-15 09:46 | 显示全部楼层
检查程序吧
回复

使用道具 举报

ID:475087 发表于 2019-2-15 12:06 来自手机 | 显示全部楼层
tong001 发表于 2019-2-14 12:38
你用的是买的开发板吧??你确定你的小灯在开发板上没有用跳线进行控制很多时候数码管和小灯都是用的相同的 ...

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

使用道具 举报

ID:155507 发表于 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. }



复制代码
回复

使用道具 举报

ID:155507 发表于 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
回复

使用道具 举报

ID:155507 发表于 2019-6-9 21:38 | 显示全部楼层
我给你的程序有用吗?
行不行,你说出来
回复

使用道具 举报

ID:558557 发表于 2019-6-9 23:20 | 显示全部楼层
灯坏了 或者程序错误
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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