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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

一個串口加LCD顯示的測速程序

[復制鏈接]
跳轉到指定樓層
樓主
ID:95054 發表于 2015-11-8 13:26 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
#include<reg51.h>
#include<intrins.h>
#include<lcd.h>
void Delayms() ;
sbit LED1=P2^7;
unsigned int send[4]={0,1,2,3};
unsigned char code digit[ ]={"0123456789"};
unsigned char lcd0,lcd1,lcd2,lcd3;
int zhuan,count=0,msec;
int ge,shi,bai,qian;
void WriteAddress(unsigned char x)
{
     LcdWriteCom(x|0x80);
}
void Delayms(unsigned int c)   
{
    unsigned char a, b;
    for (;c>0;c--)
        {
                for (b=10;b>0;b--)
                {
                        for (a=10;a>0;a--);
                }         
        }      
}

void counter(void) interrupt 0
{   
EX1=0;       //1Øía2¿ÖD¶Ï1  
count++;  
  EX1=1;
Delayms(10);        //¿aía2¿ÖD¶Ï1  
     return;

}
void Timer_0(void) interrupt 1
{  
   TH0=0x4B;      //50ms¶¨ê±  
   TL0=0xFF;  
   msec++;  
   if(msec==20)      //50*20=1S  
{    EX0=0;                        //1Øía2¿ÖD¶Ï0
     msec=0;   
     zhuan=count-1;   
     count=0;
           TH0=0x4B;     //ÕaàïÖØD¼ÆêyÆ÷¸33õÖμ50ms¶¨ê±  
     TL0=0xFF;  
           EX0=1;          //¿aía2¿ÖD¶Ï0
}
}

void display_sym(void)
{
  WriteAddress(0x00);  
        LcdWriteData('v');      
        LcdWriteData('=');     

}

void display_unit(void)
{
  WriteAddress(0x06);   
        LcdWriteData('r');   
        LcdWriteData('/');   
        LcdWriteData('m');   
        LcdWriteData('i');   
        LcdWriteData('n');   
}
void uart_init(void)
{
        SCON=0X50;                       
        TMOD=0X20;               
        PCON=0X80;//2¨ìØÂê¼ó±¶
        TH1=0XFD;                    
        TL1=0XFD;
        TR1=1;       
}
void jisuan()
{    int i=0;
          zhuan=zhuan*60;
                send[0]=zhuan/1000;
                send[1]=(zhuan%1000)/100;
                send[2]=(zhuan%100)/10;
                send[3]=zhuan%10;
        for(i=0;i<4;i++)
        {
                SBUF='0'+send;
                while(!TI);
                TI=0;
  }
        lcd0=send[0];
        lcd1=send[1];
        lcd2=send[2];
        lcd3=send[3];
        WriteAddress(0x02);     
        LcdWriteData(digit[lcd0]);   
        LcdWriteData(digit[lcd1]);   
        LcdWriteData(digit[lcd2]);   
        LcdWriteData(digit[lcd3]);   
        zhuan=0;
        Delayms(10) ;
}
void int_all()
{  
LED1=1;
zhuan=0;
count=0;        //3õê¼»ˉzμÄÖμ  
TMOD=0x01;      //Äú2¿ÖD¶Ï¶¨ê±Æ÷Ñ¡Ôñ  
TH0=0x47;      //50ms¶¨ê±  
TL0=0xC9;  
EA=1;       //¿aÖD¶Ï×ü¿a1Ø  
ET0=1;       //¿aÄú2¿ÖD¶Ï0
TR0=1;       //¼Æê±Æ÷¿aê¼1¤×÷  
IT0=1;       //ía2¿ÖD¶Ï0ÎaϽμÑØê½′¥·¢  
EX0=1;       //¿aía2¿ÖD¶Ï0
}

void main ()
{
        LcdInit();
        int_all();
        uart_init();
        display_sym();                  
  display_unit();
        while(1)
        {
                if(zhuan>0)
                {
                LED1=0;
          jisuan();                               
    }       
        }
}
D:\新建文件夾\Backup\我的文檔\My Pictures\IMG_20151108_132257.jpg       
       
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:95054 發表于 2015-11-8 13:28 | 只看該作者
這里求助一下,我定時器是50ms,中斷是1s算一次,可是LCD和串口是50ms刷新一次數據這正常嗎?
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 免费精品| 国产精品完整版 | 亚洲www啪成人一区二区 | 国产一区免费 | 久久tv在线观看 | 国产高清在线 | 免费小视频在线观看 | 欧美国产精品一区二区三区 | 国产视频二区在线观看 | 国产精品毛片一区二区三区 | 免费a网 | 久久99精品久久久水蜜桃 | 亚洲在线免费 | 欧美一区二区大片 | 久久亚洲一区二区 | 久草a√ | 亚洲欧美一区二区在线观看 | 久久成人国产精品 | 国产精品久久 | 国产免费一区 | 成人精品视频在线观看 | 成人网视频| 亚洲成人一区二区 | 亚洲日日 | 日韩欧美理论片 | 中文字幕观看 | 亚洲欧美视频一区 | 噜噜噜噜狠狠狠7777视频 | 99一区二区 | 国产一区免费 | 狠狠的干 | 婷婷在线免费 | 欧美大片一区 | 97成人免费 | 免费99精品国产自在在线 | 日韩一区二区在线观看 | 福利视频一二区 | 国产精品国产精品国产专区不卡 | 免费精品国产 | 国产精品亚洲视频 | 精品无码久久久久久国产 |