標(biāo)題: 如何把這兩個(gè)簡單的單片機(jī)程序放到一起執(zhí)行?謝謝大神們 [打印本頁]

作者: ssa674234258    時(shí)間: 2017-10-17 22:55
標(biāo)題: 如何把這兩個(gè)簡單的單片機(jī)程序放到一起執(zhí)行?謝謝大神們
下降沿計(jì)數(shù)顯示程序  和   轉(zhuǎn)發(fā)程序   寫在一起
P3.2口接收的是紅接收管產(chǎn)生的38KHZ信號(hào),如何讓單片機(jī)在接收然后原封不動(dòng)再P3.1發(fā)射出去呢?  
#include<reg52.h>     //基于E18d80NK的計(jì)數(shù)器案例
#define uint unsigned int
#define uchar unsigned char
uchar code table[]= "total num:";
uchar code tablex[]= "00000";
sbit lcden=P3^4;
sbit lcdrs=P3^5;
sbit lcdrw=P2^7;
sbit led=P1^2;
sbit single=P3^2;//低電平有效
sbit OUT=P3^1;

uchar count;
uint num;//0~65536
void delay(uint xms);
void write_com(uchar com);//位置;
void write_data(uchar date);//數(shù)據(jù);
void init();//lcd初始化
void write_sfm(uchar add,uchar date);
void delay(uint xms)
{
    uint i,j;
    for(i=xms;i>0;i--)
      for(j=110;j>0;j--);
}

void write_com(uchar com)//位置
{
    lcdrs=0;
    lcden=0;
    P0=com;
    delay(5);
    lcden=1;
    delay(5);
    lcden=0;
}
void write_data(uchar date)//數(shù)據(jù)
{
    lcdrs=1;
    lcden=0;
    P0=date;
    delay(5);
    lcden=1;
    delay(5);
    lcden=0;
}
void init()//lcd初始化
{
    uchar nm;
    led=0;
    lcden=0;
    lcdrw=0;
    write_com(0x38);//設(shè)置16*2顯示,5*7點(diǎn)陣,8位數(shù)據(jù)接口
    write_com(0x0c);//設(shè)置開顯示,不顯示光標(biāo)
    write_com(0x06);//寫一個(gè)字符后地址加1
    write_com(0x01);//顯示清0,數(shù)據(jù)指針清零
    write_com(0x80);
    for(nm=0;nm<10;nm++)//第一行顯示
    {
        write_data(table[nm]);
   delay(5);
    }
    write_com(0x80+0x40);
    for(nm=0;nm<5;nm++) //第二行顯示
    {
        write_data(tablex[nm]);
   delay(5);
    }
               
}
void write_sfm(uchar add,uchar date)
{
   
    write_com(0x80+0x40+add);
    write_data(0x30+date);
   
}

void main()
{
    init();
    TMOD=0X89;
    EA=1;
    ET0=1;
    IT0=1;//設(shè)置INT0為跳變沿觸發(fā)方式
    EX0=1;//打開中斷允許
   

    while(1);
}
void T1_time()interrupt 0 //外部中斷服務(wù)程序,跳變沿觸發(fā)方式
{
    num++;
    write_sfm(4,num%10);
write_sfm(3,num%100/10);
    write_sfm(2,num%1000/100);
    write_sfm(1,num%10000/1000);
    write_sfm(0,num/10000);
}


第二個(gè)
#include <AT89x52.h>
sbit single=P3^2;
sbit OUT=P3^1;
void main( void )
{
  
while(1)
  {
   if(single==1);
   {
   OUT=1;
   }
   else
   {
   OUT=0
   }
   }
   }











zhongji最終版.zip

2.2 KB, 下載次數(shù): 6






歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1