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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2568|回復: 2
收起左側

如何在上面的程序里調用下面的函數,拜托各位大神賜教

[復制鏈接]
ID:191774 發表于 2017-5-8 20:52 | 顯示全部樓層 |閱讀模式
#include<reg51.h>        //頭文件
#define uchar unsigned char    //預定義
#define uint unsigned int
#define lcd_dat  P0 BUZZ
sbit lcdrs=P2^6;     //1602的數據/指令選擇控制線
sbit lcdrw=P2^5;      //1602的讀寫控制線
sbit lcden=P2^4;      //1602的使能控制線
sbit yihao=P2^0;        //一號病房按鍵
sbit erhao=P2^1;
sbit sanhao=P2^2;
sbit sihao=P2^3;
uchar table1[]="Number";
uchar table2[]="1234";
void delay(uint z)       //延時子程序
{
  uint x,y;
  for(x=z;x>0;x--)   for(y=110;y>0;y--);
}
void write_com(uchar com)    //寫命令子程序
{  
lcdrs=0;   
lcdrw=0;     
P0=com;  
delay(5);  
lcden=1;
delay(3);
lcden=0;
}
void write_data(uchar date)     //寫數據子程序
{
lcdrs=1;   
lcdrw=0;     
P0=date;   
delay(5);  
lcden=1;  
delay(3);  
lcden=0;
}
void init()              //1602初始化子程序
{
write_com(0x38);//顯示模式設置。        
delay(5);
write_com(0x0c);//關光標,不閃爍        
delay(5);  
write_com(0x06);  //顯示地址遞增,即寫一個數據后,顯示位置右移位         
delay(5);
write_com(0x01); //清屏
delay(5); }
void Number()                //顯示Number子程序
{uchar m;
write_com(0x80);
       for(m=0;m<6;m++)     //將table[]中的數據依次寫入1602顯示     
{  
            write_data(table1[m]);                        
delay(200);
}
}
void main()            //主函數  
{
unsigned char FLAG;   //FLAG的值為P2口的值  
init();
do
{  
   FLAG=P2;
switch(FLAG&0X0f)      //屏蔽P2口高四位
{
case 0X0E:
       Number();
       write_com(0x80+10);   //顯示地址設為90H(即10H,)上排第十位               
           write_data(table2[0]);                  
delay(200);     
break;
case 0X0D:
        Number();
        write_com(0x80+10);   //顯示地址設為90H(即10H,)上排第十位               
                write_data(table2[1]);                       
        delay(200);           
        break;
case 0X0B:
       Number();
       write_com(0x80+10);   //顯示地址設為90H(即10H,)上排第十位               
           write_data(table2[2]);                        
       delay(200);      
      break;
case 0X07:      
       Number();
       write_com(0x80+10);   //顯示地址設為90H(即10H,)上排第十位            
           write_data(table2[3]);                       
        delay(200);            
        break;
default:
        break;   
       }   
   }
while(1);
}
sbit BUZZ =P1^0;   //蜂鳴器控制引腳

unsigned char T0LoadH= 0;  //T0重載值的高字節

unsigned char T0LoadL=0;  //T0重載值的低字節

void OpenBuzz(unsigned int frequ);

void StopBuzz();

void major()

{
    unsigned int i=0;

    TMOD=0x01; //配置T0工作在模式1,暫不啟動

    EA=1;      //使能全局中斷

    while (1)

    {

      OpenBuzz(4000); //以4KHz的頻率啟動蜂鳴器

      for (i=0; i<40000; i++);

      StopBuzz();

      for (i=0; i<40000; i++);

      OpenBuzz(1000); //以1KHz的頻率啟動蜂鳴器

      for (i=0; i<40000; i++);

      StopBuzz();

      for (i=0; i<40000; i++);

    }

}

void OpenBuzz(unsigned int frequ)

{

    unsigned int reload;

    reload = 65536-(11059200/12)/(frequ*2);  //由給定頻率值計算定時器重載值

    T0LoadH=reload>>8;  //16位重載值分解為高低兩個字節

    T0LoadL = reload;

    TH0=0xFF;//設定一個接近溢出的初值,以使定時器馬上投入工作

    TL0=0xFE;

    ET0=1;   //使能T0中斷

    TR0=1;   //啟動T0

}

void StopBuzz()

{

   ET0=0;   //禁用T0中斷

   TR0=0;   //停止T0

}

void InterruptTimer0()
interrupt 1

{

   TH0=T0LoadH;  //溢出后進入中斷重新賦值

   TL0=T0LoadL;

   BUZZ=~BUZZ; //反轉蜂鳴器控制電平

}



回復

使用道具 舉報

ID:148552 發表于 2017-5-8 21:02 | 顯示全部樓層
void major();
回復

使用道具 舉報

ID:148552 發表于 2017-5-8 21:03 | 顯示全部樓層
void major();
在開頭把要調用的函數像上面這樣聲明下就可以了
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产一区二区三区视频 | 日韩亚洲视频 | av免费观看网站 | 国产资源在线观看 | 羞羞视频在线观看网站 | 日韩成人在线一区 | 午夜视频网站 | 另类在线 | 91精品久久久久久久久久入口 | 毛片av免费在线观看 | 一区精品视频 | 国产精品乱码一区二三区小蝌蚪 | 久久99蜜桃综合影院免费观看 | 久久男人天堂 | 亚洲免费在线播放 | 国产一区二区三区视频在线观看 | avtt国产| 久久久九九 | 国产成人免费网站 | 国产高清视频一区 | 亚洲日日夜夜 | 成人影 | 久久精品a级毛片 | 久久久精品一区 | 亚洲欧洲国产视频 | 在线看91| 亚欧洲精品在线视频免费观看 | 国产成在线观看免费视频 | 日韩免费在线观看视频 | 嫩草最新网址 | 天天爱天天操 | 琪琪午夜伦伦电影福利片 | 毛片免费视频 | 亚洲一区二区三区四区五区午夜 | 亚洲免费在线观看视频 | 亚洲每日更新 | 五月天综合网 | 97久久精品| 亚洲精品二区 | 好姑娘影视在线观看高清 | 久久久亚洲一区 |