找回密码
 立即注册

QQ登录

只需一步,快速开始

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

51单片机程序头文件问题warning C318: can't open file '74hc595.h'

[复制链接]
跳转到指定楼层
楼主
#include <reg51.h>
#define uint unsigned int
#define uchar unsigned char
#include"74hc595.h"
程序在这里http://www.51hei.com/bbs/dpj-85893-1.html

编译提示头文件错误


各位大神帮忙看一下最后一句出什么问题了呢 谢谢大神指导


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:328014 发表于 2021-6-29 23:12 | 只看该作者
#include"74hc595.h"是一个最基础的C语言语句,楼主还要加强基础知识的学习才行,我把他的意思发给你:
#include""
“”先在当前目录查找有无该头文件,有则包含该目录下的头文件,没有则到系统指定的目录下找该头文件

由于你没有发工程包,所以我也无法帮你调试了
回复

使用道具 举报

板凳
ID:946939 发表于 2021-6-29 23:31 | 只看该作者
51hei团团 发表于 2021-6-29 23:12
#include"74hc595.h"是一个最基础的C语言语句,楼主还要加强基础知识的学习才行,我把他的意思发给你:
#incl ...
  1. #include <reg51.h>
  2. #define uint unsigned int
  3. #define uchar unsigned char
  4. #include"74hc595.h"
  5. uchar b;
  6. uint offset;
  7. uchar code line[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//行扫描信号

  8. uchar code word0[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  9.                       0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  10.                       0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  11.                       0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};   
  12.          
  13. uchar code word1[]={
  14.                       0x20,0x20,0x22,0x22,0xFE,0x21,0x21,0x20,
  15.                       0x20,0xFF,0x20,0x22,0xAC,0x20,0x20,0x00,
  16.                       0x04,0x04,0x42,0x82,0x7F,0x01,0x01,0x10,
  17.                       0x10,0x08,0x07,0x1A,0x21,0x40,0xF0,0x00};/*"我",0*/


  18. uchar code word2[]={0x00,0x40,0xB2,0x96,0x9A,0x92,0xF6,0x9A,
  19.                       0x93,0x91,0x99,0x97,0x91,0x90,0x30,0x00,
  20.                       0x40,0x20,0xA0,0x90,0x4C,0x47,0x2A,0x2A,
  21.                       0x12,0x1A,0x26,0x22,0x40,0xC0,0x40,0x00};/*"爱",0*/

  22. uchar code word3[]={0x80,0x40,0xF0,0x2C,0x43,0x20,0x98,0x0F,
  23.                       0x0A,0xE8,0x08,0x88,0x28,0x1C,0x08,0x00,
  24.                       0x00,0x00,0x7F,0x00,0x10,0x0C,0x03,0x21,
  25.                       0x40,0x3F,0x00,0x00,0x03,0x1C,0x08,0x00};/*"你",0*/


  26. uchar *p[]={word0,word1,word2,word3};

  27. void init()
  28. {
  29.     TMOD=0x01;
  30.     TH0=0xb1;
  31.     TL0=0xe0;
  32.     ET0=1;
  33.     EA=1;
  34.     TR0=1;
  35. }


  36. void xianshi(uchar s[])
  37. {uchar m,n,a;
  38. uchar i;
  39. for(i=0;i<8;i++)
  40. {
  41. m=i+16+offset;
  42. write_data(line[i],0xff);
  43. delay(2);
  44. send_date();
  45. P0=s[i+offset];
  46. P2=s[m];
  47. write_data(0xff,0xff);
  48. // P0=0XFF;
  49. //P2=0XFF;
  50. //}
  51. //for(i=0;i<8;i++)
  52. a=i+8+offset;
  53.   n=i+24+offset;
  54. write_data(0xff,line[i]);
  55. delay(2);
  56. send_date();
  57. P0=s[a];
  58. P2=s[n];
  59. //write_data(0x00,0x00);
  60. //{
  61. }
  62. //
  63. }

  64. void main()
  65. {uchar i;
  66.   uint j;
  67. init();
  68. write_data(0xff,0xff);
  69. while(1)
  70. {
  71.   for(i=1;i<4;i++)
  72.   {
  73.    for(j=0;j<255;j++)
  74.    xianshi(p[1]);
  75.    //offset=0;
  76.    }
  77. }
  78. }


  79. void timer0() interrupt 1 using 3
  80. {
  81.     TF0=0;
  82.     TH0=0xb1;
  83.     TL0=0xe0;
  84.     if (b<9)
  85.     {
  86.     b++;
  87.     }
  88.     else
  89.     {
  90.     offset+=2;
  91.    
  92.     if (offset>65)
  93.          {offset=0;
  94.        }
  95.          b=0;
  96.   /* if(N==3)
  97.     N=0;*/
  98.     }
  99. }
复制代码

回复

使用道具 举报

地板
ID:328014 发表于 2021-6-29 23:32 | 只看该作者
你这个是头文件没有加到工程目录吧,我帮你加好了,测试ok 0个错误
我帮你设置好的工程文件下载: 01.7z (84.78 KB, 下载次数: 12)

回复

使用道具 举报

5#
ID:946939 发表于 2021-6-29 23:35 | 只看该作者
51hei团团 发表于 2021-6-29 23:32
你这个是头文件没有加到工程目录吧,我帮你加好了,测试ok 0个错误

好的 谢谢大神师傅  感谢
回复

使用道具 举报

6#
ID:932268 发表于 2021-6-29 23:51 | 只看该作者
头文件丢了吧
回复

使用道具 举报

7#
ID:946939 发表于 2021-7-1 20:42 | 只看该作者
#include <reg51.h> #include <intrins.h> sbit SRCLK=P2^3; sbit RCLK=P2^2; sbit SER=P2^1; sbit switch1=P0^0; sbit switch2=P0^1; sbit switch3=P0^2; sbit switch4=P0^3; sbit startkey=P0^4; sbit stopkey=P0^5; sbit DanBu=P0^6; sbit LianXu=P0^7; #define u8 unsigned char  #define u16 unsigned int u8 code roll1_1[]={0xfc,0xf7,0xdf,0xff,0xbf,0xff,0x7f,0x7f,0x7f,0x7f,0xff,0xbf,0xff,0xdf,0xf7,0xfc}; u8 code roll1_2[]={0x1f,0xf7,0xfb,0xfd,0xff,0xff,0xfe,0xfe,0xfe,0xfe,0xff,0xfd,0xff,0xfb,0xf7,0x1f}; u8 code roll2_1[]={0xff,0xff,0xfc,0xf7,0xef,0xff,0xdf,0xdf,0xdf,0xdf,0xff,0xef,0xf7,0xfc,0xff,0xff}; u8 code roll2_2[]={0xff,0xff,0x3f,0xef,0xf7,0xff,0xfb,0xfb,0xfb,0xfb,0xff,0xf7,0xef,0x3f,0xff,0xff}; u8 code roll3_1[]={0xff,0xff,0xff,0xff,0xfe,0xfb,0xff,0xf7,0xf7,0xff,0xfb,0xfe,0xff,0xff,0xff,0xff}; u8 code roll3_2[]={0xff,0xff,0xff,0xff,0x7f,0xdf,0xff,0xef,0xef,0xff,0xdf,0x7f,0xff,0xff,0xff,0xff}; u8 code roll4_1[]={0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff}; u8 code roll4_2[]={0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff}; u8 code p[]={0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}; void delay(u8 i) {         u8 a;         for(a=0;a<2;a++)         while(i--); }  void delay1(u8 i) {         while(i--); } extern u8 key=0; void KeyPos() {         if(!switch1)         {                 delay1(1000);                 if(!switch1)                 {                         key=1;                 }                 while(!switch1);         }         if(!switch2)         {                 delay1(1000);                 if(!switch2)                 {                         key=2;                 }                 while(!switch2);         }         if(!switch3)         {                 delay1(1000);                 if(!switch3)                 {                         key=3;                 }                 while(!switch3);         }         if(!switch4)         {                 delay1(1000);                 if(!switch4)                 {                         key=4;                 }                 while(!switch4);         } } extern u8 button=0; void ButtonPos() {         if(!startkey)         {                 delay1(1000);                 if(!startkey)                 {                         button=1;                 }                 while(!startkey);         } } extern u8 stopbutton=1; void StopButtonpos() {         if(!stopkey)         {                 delay1(1000);                 if(!stopkey)                 {                         stopbutton=0;                 }                 while(!stopkey);         } } extern u8 SPDT=1; void DanLian() {         if(!DanBu)         {                 delay1(2000);                 if(!DanBu)                 {                         SPDT=0;                 }                 while(!DanBu);         } } void Hc595SendByte(u8 dat1,u8 dat2,u8 dat3,u8 dat4) {         u8 a;         SRCLK = 1;         RCLK = 1;         for(a=0;a<8;a++)                          {                 SER= dat1 >> 7;                                  dat1 <<= 1;                                  SRCLK = 0;                                         _nop_();                 _nop_();                 SRCLK = 1;                 }         for(a=0;a<8;a++)                         {                 SER = dat2 >> 7;                                 dat2 <<= 1;                                  SRCLK = 0;                                          _nop_();                 _nop_();                 SRCLK = 1;                 }         for(a=0;a<8;a++)                          {                 SER = dat3 >> 7;                                  dat3 <<= 1;                                  SRCLK = 0;                                         _nop_();                 _nop_();                 SRCLK = 1;                 }         for(a=0;a<8;a++)                          {                 SER = dat4 >> 7;                                  dat4 <<= 1;                                  SRCLK = 0;                                          _nop_();                 _nop_();                 SRCLK = 1;                 }         RCLK = 0;         _nop_();         _nop_();         RCLK = 1; } void displayAll(u16 time,u8*dat1,u8* dat2,u8* dat3,u8* dat4,u8* dat5,u8* dat6,u8* dat7,u8* dat8) {         u8 i,a,b;         while(time>0)         {                         a=0x01;                   b=0x00;                         for(i=0;i<16;i++)                 {                         Hc595SendByte(dat1[i]&dat3[i]&dat5[i]&dat7[i],dat2[i]&dat4[i]&dat6[i]&dat8[i],b,a);                         a<<=1;                         b<<=1;                         if(i==7)                         {                                 b=0x01;                                 a=0x00;                         }                 }                 StopButtonpos();                 time--;         }         Hc595SendByte(0xff,0xff,0x00,0x00); }  void main() {         while(1)         {           KeyPos();           ButtonPos();           DanLian();                 if(button)                 {             if(key==1)             {                     do                     {                             displayAll(80,roll4_1,roll4_2,p,p,p,p,p,p);//4  2s                             displayAll(80,roll4_1,roll4_2,roll3_1,roll3_2,p,p,p,p);//43                                         displayAll(80,roll4_1,roll4_2,roll3_1,roll3_2,roll2_1,roll2_2,p,p);//432                                         displayAll(80,roll4_1,roll4_2,roll3_1,roll3_2,roll2_1,roll2_2,roll1_1,roll1_2);//4321                                         displayAll(700,roll4_1,roll4_2,roll3_1,roll3_2,roll2_1,roll2_2,roll1_1,roll1_2);//15ms                     }while(SPDT&&stopbutton);             }             else if(key==2)             {                     do                     {                                         displayAll(80,roll1_1,roll1_2,p,p,p,p,p,p);                                         displayAll(80,roll1_1,roll1_2,roll2_1,roll2_2,p,p,p,p);                                         displayAll(80,roll1_1,roll1_2,roll2_1,roll2_2,roll3_1,roll3_2,p,p);                                         displayAll(80,roll1_1,roll1_2,roll2_1,roll2_2,roll3_1,roll3_2,roll4_1,roll4_2);                                         displayAll(1400,roll1_1,roll1_2,roll2_1,roll2_2,roll3_1,roll3_2,roll4_1,roll4_2);                     }while(SPDT&&stopbutton);             }             else if(key==3)             {                                 u8 i;                     do                     {                                         for(i=0;i<5;i++)                                         {                                                 displayAll(100,roll1_1,roll1_2,roll3_1,roll3_2,p,p,p,p);                                           displayAll(100,roll2_1,roll2_2,roll4_1,roll4_2,p,p,p,p);                                         }                                         displayAll(1400,roll1_1,roll1_2,roll2_1,roll2_2,roll3_1,roll3_2,roll4_1,roll4_2);                     }while(SPDT&&stopbutton);             }             else if(key==4)             {                     do                     {                                         displayAll(20,roll1_1,roll1_2,p,p,p,p,p,p);                                         delay(50000);                                         displayAll(20,roll2_1,roll2_2,p,p,p,p,p,p);                                         delay(50000);                                         displayAll(20,roll3_1,roll3_2,p,p,p,p,p,p);                                         delay(50000);                                         displayAll(20,roll4_1,roll4_2,p,p,p,p,p,p);                                         delay(50000);                                         displayAll(1400,roll1_1,roll1_2,roll2_1,roll2_2,roll3_1,roll3_2,roll4_1,roll4_2);                                         delay(50000);                                         displayAll(20,roll4_1,roll4_2,p,p,p,p,p,p);                                         delay(50000);                                         displayAll(20,roll3_1,roll3_2,p,p,p,p,p,p);                                         delay(50000);                                         displayAll(20,roll2_1,roll2_2,p,p,p,p,p,p);                                         delay(50000);                                         displayAll(20,roll1_1,roll1_2,p,p,p,p,p,p);                                         delay(50000);                                         displayAll(1400,roll1_1,roll1_2,roll2_1,roll2_2,roll3_1,roll3_2,roll4_1,roll4_2);                     }while(SPDT&&stopbutton);             }                   button=0;                   stopbutton=0;                         key=0;                         SPDT=1;     }   } }
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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