久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1537|回復: 1
打印 上一主題 下一主題
收起左側

模塊化使用sdcc編譯51單片機時報錯

[復制鏈接]
跳轉到指定樓層
樓主


問題是這樣的,我在學習51單片機的時候看到老師講了模塊化,所以自己寫了一個,然后結構圖在上面

  1. #include <8052.h>
  2. #include "../Sleep.h"
  3. #include "../nixie.h"



  4. void main() {
  5.     // P2_4=0;
  6.     // P2_3=0;
  7.     // P2_2=1;
  8.     P2 = 0x00;
  9.    

  10.     while (1) {

  11.         Nixie(1, 4);

  12.         Nixie(2, 6);

  13.         // Sleep(3);
  14.         // P2_2 = 0;

  15.     }


  16. }
復制代碼
在寫完這個代碼之后使用sdcc main.c發出警告
  1. qin@QindeMacBook-Pro 08 動態數碼管顯示 % sdcc main.c                                          

  2. ?ASlink-Warning-Undefined Global '_Nixie' referenced by module 'main'

  3. ?ASlink-Warning-Undefined Global '_Nixie_PARM_2' referenced by module 'main'
復制代碼

但還是可以生成文件的,然后使用stcgal -P stc89 -p /dev/tty.wchusbserial11140 main.ihx
編譯后,未能實現正常效果

以下為用到的文件
nixie.c
  1. #include "nixie.h"
  2. #include <8052.h>

  3. char num[18] = {0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x6F, 0x77, 0x7C, 0x39, 0x5E, 0x79, 0x71, 0x00};


  4. void Nixie(unsigned char weizhi, unsigned char number) {

  5.     switch (weizhi)
  6.     {
  7.         case 1:
  8.             P2_4=1;P2_3=1;P2_2=1;
  9.             break;
  10.         case 2:
  11.             P2_4=1;P2_3=1;P2_2=0;
  12.             break;
  13.         case 3:
  14.             P2_4=1;P2_3=0;P2_2=1;
  15.             break;
  16.         case 4:
  17.             P2_4=1;P2_3=0;P2_2=0;
  18.             break;
  19.         case 5:
  20.             P2_4=0;P2_3=1;P2_2=1;
  21.             break;
  22.         case 6:
  23.             P2_4=0;P2_3=1;P2_2=0;
  24.             break;
  25.         case 7:
  26.             P2_4=0;P2_3=0;P2_2=1;
  27.             break;
  28.         case 8:
  29.             P2_4=0;P2_3=0;P2_2=0;
  30.             break;
  31.         default:
  32.             break;
  33.     }
  34.    
  35.     switch (number)
  36.     {
  37.     case 0:
  38.         P0=num[0];
  39.         break;
  40.     case 1:
  41.         P0=num[1];
  42.         break;
  43.     case 2:
  44.         P0=num[2];
  45.         break;
  46.     case 3:
  47.         P0=num[3];
  48.         break;
  49.     case 4:
  50.         P0=num[4];
  51.         break;
  52.     case 5:
  53.         P0=num[5];
  54.         break;
  55.     case 6:
  56.         P0=num[6];
  57.         break;
  58.     case 7:
  59.         P0=num[7];
  60.         break;
  61.     case 8:
  62.         P0=num[8];
  63.         break;
  64.     case 9:
  65.         P0=num[9];
  66.         break;
  67.     case 'A':
  68.         P0=num[10];
  69.         break;
  70.     case 'B':
  71.         P0=num[11];
  72.         break;
  73.     case 'C':
  74.         P0=num[12];
  75.         break;
  76.     case 'D':
  77.         P0=num[13];
  78.         break;
  79.     case 'E':
  80.         P0=num[14];
  81.         break;
  82.     case 'F':
  83.         P0=num[15];
  84.     case ' ':
  85.         P0=num[16];
  86.     default:
  87.         break;
  88.     }

  89.     Sleep(2);
  90.     P0 = 0x00;

  91. }
復制代碼



nixie.h
  1. #ifndef __NIXIE_H__
  2. #define __NIXIE_H__

  3. void Nixie(unsigned char weizhi, unsigned char number);

  4. #endif
復制代碼

Sleep.c
  1. void Sleep(unsigned int xms)
  2. {
  3.     unsigned char i, j;

  4.     while (xms)
  5.     {
  6.         i = 2;
  7.         j = 199;

  8.         do {
  9.             while (--j);
  10.         } while(--i);
  11.         xms--;
  12.     }

  13.     // _nop_();


  14. }


復制代碼



Sleep.h
  1. #ifndef __SLEEP_H__
  2. #define __SLEEP_H_


  3. void Sleep(unsigned int xms);

  4. #endif
復制代碼

系統是Macos,在這里請教一下各位大佬
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:1087079 發表于 2023-7-3 19:59 | 只看該作者
用的是platformIo嗎?看你這個項目結構是不是lib放錯位置了,
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产不卡在线观看 | 精品一区二区三区91 | 99re视频在线| 亚洲一在线 | 91久久国产综合久久 | 波多野结衣一区二区三区在线观看 | 日韩欧美久久精品 | 美女久久久久 | 婷婷成人在线 | 超碰人人91 | 激情久久久久 | 黄色av免费网站 | 国产精品爱久久久久久久 | 午夜视频免费在线观看 | 国产精品三级 | 久久精品欧美一区二区三区不卡 | 成人一区二区三区在线 | www.玖玖玖| 国产高清一区二区三区 | 精品免费视频 | 国产一区二区三区色淫影院 | 8x国产精品视频一区二区 | 久久久高清 | 免费国产一区二区 | 免费一级黄色 | 一区精品国产欧美在线 | 91一区二区 | 成人在线视频免费观看 | 亚洲精品一区二区三区 | 黄色av观看 | 日韩电影免费观看中文字幕 | 国产在线观看一区二区 | 国产日韩精品一区 | 国产在线一区二区 | 久久久久久91 | 成人午夜精品 | 99国内精品久久久久久久 | 国产欧美日韩视频 | 国产乡下妇女做爰 | 欧美精品一区三区 | 成人性生交大片 |