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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3436|回復: 11
打印 上一主題 下一主題
收起左側(cè)

求助,用lcd1602顯示倒計時40秒,到底是該用中斷還是直接delay完事?

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:560111 發(fā)表于 2019-6-11 16:51 來自手機 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
51單片機控制lcd1602第一行顯示個人信息,第二行顯示40秒倒計時,我用delay延時總是做不出來,定義一個字符串以后,總是沒辦法按照我想的一樣運行,可是要用中斷的話我又不太懂,求助
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:560111 發(fā)表于 2019-6-11 16:59 | 只看該作者
附上程序
回復

使用道具 舉報

板凳
ID:560111 發(fā)表于 2019-6-11 16:59 | 只看該作者
#include <REGX51.H> #include <string.h> sbit RS=P2^0; sbit RW=P2^1; sbit EN=P2^2; unsigned char xuehao1[]="LGL1605230139"; unsigned char xuehao2[]="ZCY1605230140"; unsigned char xuehao3[]="SGJ1605230126"; unsigned char xuehao4[]="XWQ1605230124"; unsigned char shi[]="43210"; unsigned char ge[]="0987654321"; void delay(int n) {  int i,j;  for(i=0;i<n;i++)  for(j=0;j<200;j++); } void LCD1602_write_cmd(unsigned char cmd) {  P0=cmd;  RS=0;  RW=0;  EN=1;  EN=0;  delay(10); }  void LCD1602_write_Data(unsigned char Data) {  P0=Data;  RS=1;  RW=0;  EN=1;  EN=0;  delay(10); } void LCD1602_init() {     LCD1602_write_cmd(0x38);      LCD1602_write_cmd(0x0F);      LCD1602_write_cmd(0x06);      LCD1602_write_cmd(0x01);  }                         void main() {  int i,a=5,b=0;  LCD1602_init();   LCD1602_write_cmd(0X80);   for(i=0;i<strlen(xuehao1);i++)   {    LCD1602_write_Data(xuehao1[i]);   }   LCD1602_write_cmd(0X80);   for(i=0;i<strlen(xuehao2);i++)   {    LCD1602_write_Data(xuehao2[i]);   }   LCD1602_write_cmd(0X80);   for(i=0;i<strlen(xuehao3);i++)   {    LCD1602_write_Data(xuehao3[i]);   }   LCD1602_write_cmd(0X80);   for(i=0;i<strlen(xuehao4);i++)   {    LCD1602_write_Data(xuehao4[i]);   }  while(1)  {   LCD1602_write_cmd(0XC0);   LCD1602_write_Data(shi[a]);   LCD1602_write_cmd(0XC1);   LCD1602_write_Data(ge[b]);   delay(100);   b++;   if(b==9)   {    a--;    b=0;   }  } }
回復

使用道具 舉報

地板
ID:160500 發(fā)表于 2019-6-11 17:45 | 只看該作者
用那個都可以
回復

使用道具 舉報

5#
ID:123289 發(fā)表于 2019-6-12 08:56 | 只看該作者
再讀書。
回復

使用道具 舉報

6#
ID:561113 發(fā)表于 2019-6-12 19:35 | 只看該作者
建議用定時器中斷,CPU有更多的資源去處理其他業(yè)務(wù)
回復

使用道具 舉報

7#
ID:514901 發(fā)表于 2019-6-12 21:24 | 只看該作者
給你一個1秒的delay函數(shù),記得加  #include “intrins.h”

void delay1s(void)   //誤差 0us
{
    unsigned char a,b,c;
    for(c=167;c>0;c--)
        for(b=171;b>0;b--)
            for(a=16;a>0;a--);
    _nop_();  
}
回復

使用道具 舉報

8#
ID:557774 發(fā)表于 2019-6-13 03:00 來自手機 | 只看該作者
鄭漢松 發(fā)表于 2019-6-12 21:24
給你一個1秒的delay函數(shù),記得加  #include “intrins.h”

void delay1s(void)   //誤差 0us

晶振多少的?
回復

使用道具 舉報

9#
ID:560111 發(fā)表于 2019-6-14 19:54 | 只看該作者
本帖最后由 liquidlin 于 2019-6-15 08:59 編輯

#include <REGX51.H>
#include <string.h>
#define uint unsigned int
#define uchar unsigned char
sbit RS=P2^0;
sbit RW=P2^1;
sbit EN=P2^2;
unsigned char i, x=0;c;
unsigned char xuehao1[]="LGL1605230139";
unsigned char xuehao2[]="ZCY1605230140";
unsigned char xuehao3[]="SGJ1605230126";
unsigned char xuehao4[]="XWQ1605230124";
unsigned char num[]={0X30,0X31,0X32,0X33,0X34,0X35,0X36,0X37,0X38,0X39};

void delay(int n)
{
int i,j;
for(i=0;i<n;i++)
for(j=0;j<200;j++);
}
void timer0()
{
TMOD=1;
TH0=(65536-9216)/256;
TL0=(65536-9216)%256;
EA=1;
ET0=1;
TR0=1;
}
void LCD1602_write_cmd(unsigned char cmd)
{
P0=cmd;
RS=0;
RW=0;
EN=1;
EN=0;
delay(10);
}
void LCD1602_write_Data(unsigned char Data)
{
P0=Data;
RS=1;
RW=0;
EN=1;
EN=0;
delay(10);
}
void LCD1602_init()
{
    LCD1602_write_cmd(0x38);
    LCD1602_write_cmd(0x0F);
    LCD1602_write_cmd(0x06);
    LCD1602_write_cmd(0x01);
}
void disp_LCD(uchar c)
{
   LCD1602_write_cmd(0xC0);
   LCD1602_write_Data(num[c/10]);
   LCD1602_write_cmd(0XC1);
   LCD1602_write_Data(num[c%10]);
}                       
void main()
{
  LCD1602_init();
  LCD1602_write_cmd(0X80);
  for(i=0;i<strlen(xuehao1);i++)
  {
   LCD1602_write_Data(xuehao1);
  }
  LCD1602_write_cmd(0X80);
  for(i=0;i<strlen(xuehao2);i++)
  {
   LCD1602_write_Data(xuehao2);
  }
  LCD1602_write_cmd(0X80);
  for(i=0;i<strlen(xuehao3);i++)
  {
   LCD1602_write_Data(xuehao3);
  }
  LCD1602_write_cmd(0X80);
  for(i=0;i<strlen(xuehao4);i++)
  {
   LCD1602_write_Data(xuehao4);
  }
  timer0();
  while(1)
  {
   c=40;
   disp_LCD(c);
   if(x==100)
   {
    x=0;
        c--;
  }
}
}
void timer() interrupt 1
{
TH0=(65536-9216)/256;
TL0=(65536-9216)%256;
x++;
}

回復

使用道具 舉報

10#
ID:560111 發(fā)表于 2019-6-14 19:56 | 只看該作者

新手...學校發(fā)的單片機書上c語言都很少,沒有LCD,網(wǎng)上找了很久也沒找到什么資源,無奈只好尋求幫助了
回復

使用道具 舉報

11#
ID:388197 發(fā)表于 2019-6-15 13:00 | 只看該作者
建議還是先把中斷弄清楚,否則后面的學習問題多多,進展緩慢.
回復

使用道具 舉報

12#
ID:560111 發(fā)表于 2019-6-15 15:30 | 只看該作者
為什么上邊信息顯示完了以后只顯示40一直閃爍呢?
回復

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久久久久国产精品免费免费 | 亚洲乱码国产乱码精品精98午夜 | 免费看一级毛片 | 欧美aaa一级片 | 天堂免费 | 欧美日韩久久久久 | a国产一区二区免费入口 | 夜夜骚 | 久久国产欧美日韩精品 | 正在播放国产精品 | 国产精品中文字幕一区二区三区 | 国产精品久久视频 | 欧美精品一区在线发布 | 国产日韩在线观看一区 | 精品日韩一区二区 | 亚洲综合无码一区二区 | 91在线精品一区二区 | 欧美综合精品 | 欧美日韩亚洲视频 | 99色在线视频 | 亚洲一卡二卡 | 国产一级淫片免费视频 | 欧美三级在线 | 欧美精品一区二区在线观看 | 日韩电影免费在线观看中文字幕 | 久久精品小视频 | 国产一卡二卡三卡 | 成人精品鲁一区一区二区 | 成人一区二区三区在线观看 | 男女羞羞视频在线观看 | 男女羞羞视频免费 | 久久久久久九九九九九九 | 精品一二区 | 亚洲精选久久 | 精品久久久久久久久久久院品网 | 黄色成人国产 | 天堂精品视频 | 亚洲人久久 | 国产日韩欧美中文字幕 | 一级做a爰片性色毛片视频停止 | www.色综合 |