普中开源电子分享网

 找回密码
 立即注册
搜索
查看: 2130|回复: 3

A7板子点亮静态数码管遇到问题

[复制链接]

1

主题

1

帖子

9

积分

新手上路

Rank: 1

积分
9
发表于 2023-2-12 19:35:00 | 显示全部楼层 |阅读模式
我从开发攻略上抄了共阴极数码管显示的数组,然后自己编了段程序,想让数码管显示从0~F,每隔1秒切换一次,但是代码总是提示出错。
代码如下:
  1. #include <STC51.H>
  2. #include <INTRINS.H>
  3. #define DIGI_NUM P0;

  4. void Delay1000ms() //@11.0592MHz
  5. {
  6.     unsigned char i, j, k;

  7.     _nop_();
  8.     i = 8;
  9.     j = 1;
  10.     k = 243;
  11.     do {
  12.         do {
  13.             while (--k)
  14.                 ;
  15.         } while (--j);
  16.     } while (--i);
  17. }

  18. unsigned char disp[16] = {0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07,
  19.                                      0x7f, 0x6f, 0x77, 0x7c, 0x39, 0x5e, 0x79, 0x71};

  20. void main()
  21. {
  22.     int a;
  23.     while (1) {
  24.         for (a = 0; a < 16; a++) {
  25.             DIGI_NUM = ~disp[a];
  26.             Delay1000ms();
  27.         }
  28.     }
  29. }
复制代码
编辑时提示在“DIGI_NUM = ~disp[a];”这一行有错误,提示如下:
*** WARNING C275 IN LINE 29 OF .\SRC\MAIN.C: expression with possibly no effect
*** ERROR C141 IN LINE 29 OF .\SRC\MAIN.C: syntax error near '=', expected '__asm'


请各位老师、大神、前辈指点迷津,谢谢!


回复

使用道具 举报

0

主题

16

帖子

314

积分

中级会员

Rank: 3Rank: 3

积分
314
发表于 2023-4-27 16:06:49 | 显示全部楼层
先把《#define DIGI_NUM P0;》这个宏定义语句结尾的分号删掉再说吧
回复 支持 反对

使用道具 举报

1

主题

2

帖子

7

积分

新手上路

Rank: 1

积分
7
发表于 2023-5-5 01:55:10 | 显示全部楼层
29行的'~'去掉试试
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

站长推荐上一条 /1 下一条

Archiver|手机版|小黑屋|普中开源电子分享网 粤ICP备16123577号-2

GMT+8, 2024-5-3 12:59 , Processed in 0.105157 second(s), 33 queries .

Powered by 论坛搭建 X3.4

Copyright © 2001-2021, Tencent Cloud.

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