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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2587|回復: 1
收起左側

12864電子秒表

[復制鏈接]
ID:216830 發表于 2017-7-3 16:04 | 顯示全部樓層 |閱讀模式

/* k1,k2,k3,k4分別接P3.0,P3.1,P3.2,P3.3
分別控制啟動,停止,清零,輸認 */      
#include<reg52.h>
typedef unsigned char uint8;
typedef unsigned int uint16;
sbit rs=P2^6;    // 數據命令選擇
sbit rw=P2^5;    //讀寫選擇
sbit e=P2^7;      //使能
sbit k1=P1^0;   //啟動
sbit k2=P1^1;   //停止
//sbit k3=P3^2;  //時加
//sbit k4=P3^3;  //確定/選擇
uint8 a[]="JISHI";  //要顯示的字符

uint8 num[]="0123456789";

uint8 b[8],fen,miao,hao;

uint8 timeset;
uint8 sum;     
void delay(uint16 i) //延時子程序
        {
        while(i--);
        }
void wrc(uint8 c)        //寫命令
        {
                delay(1000);
                rs=0;
                rw=0;
                e=0;
                P0=c;
                e=1;
                delay(10);
                e=0;
        }
void wrd(uint8 dat)       //寫數據
        {
                delay(1000);
                rs=1;
                rw=0;
                e=0;
                P0=dat;
                e=1;
                delay(10);
                e=0;
                rs=0;
        }
void lcdinit()  //初始化LCD屏
        {
        delay(1000);
        wrc(0x38);
        wrc(0x38);
        wrc(0x38);
        wrc(0x06);
        wrc(0x0c);
        wrc(0x01);
        }
void time0init()
        {
                TMOD=0X01;
                TH0=0XFC;
                TL0=0X18; //1ms
                TR0=0; //關閉定時器
                ET0=1;
                EA=1;
        }


void int0init()
        {
                EA=1;
                EX0=1;
                IT0=1;  
        }
void int1init()
        {
                EA=1;
                EX1=1;
                IT1=1;  
        }
void timepros()
        {
               
                b[0]=num[fen/10];
                b[1]=num[fen%10];
                b[2]=0x3a;
                b[3]=num[miao/10];
                b[4]=num[miao%10];
                b[5]=0x3a;
                b[6]=num[hao/10];
                b[7]=num[hao%10];

       
        }
void display()
        {
                uint8 i;
                timepros();

                //for(i=0;i<5;i++) //i<12表示  可顯示漢子4個2個空格                                   
        //        {
                   wrc(0x98);
                        wrd(a[i]);
                     
        //        }


                wrc(0x98+0x04);       //0x98位第四行,0x88)第三行,0x90第二行,0x80第一行
               
                wrd(b[0]);                                                   
                wrd(b[1]);
                wrd(b[2]);
                wrd(b[3]);
                wrd(b[4]);
                wrd(b[5]);
                wrd(b[6]);
                wrd(b[7]);

        }


void main()
        {
                lcdinit();
                time0init();
                int1init();
                while(1)
                {
                        if(k1==0)                //檢測按鍵K1是否按下
                                {      
                                        delay(500);   //消除抖動 一般大約10ms
                                        if(k1==0)        //再次判斷按鍵是否按下
                                        {
                                                TR0=1; //開定時器
                                        }
                                                while(!k1);      //檢測按鍵是否松開
                                }
                        if(k2==0)                 //檢測按鍵K1是否按下
                                {      
                                        delay(500);   //消除抖動 一般大約10ms
                                        if(k2==0)        //再次判斷按鍵是否按下
                                                {
                                                        TR0=0;//關定時器
                                                        //b==b1;
                                                }
                                                        while(!k2);      //檢測按鍵是否松開
                                  
                                }               
                display();
                }

}


void tim0() interrupt 1
        {
                static uint16 n;
                TH0=0XFC;
                TL0=0X18;//1ms
                n++;
                if(n==10)
                        {
                        n=0;
                        hao++ ;
                        if(hao==100)
                                {
                                        hao=0;
                                        miao++;
                                        if(miao==60)
                                                {
                                                        miao=0;
                                                        fen++;
                                                                if(fen==60)
                                                                        {
                                                                                fen=0;
                                                                                hao=0;
                                                                                miao=0;
                                                                                fen=0;

                                                     
                                             }
                         }
                  }  

            }
     }

回復

使用道具 舉報

ID:660653 發表于 2019-12-19 11:37 | 顯示全部樓層
這個是串行的還是并行的?
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲精品一二三区 | 欧美精选一区二区 | 久久久久久高潮国产精品视 | 国产色 | 亚洲视频精品 | 少妇久久久 | www.国产一区| 精品日韩欧美一区二区 | 秋霞性生活| 亚洲一级黄色 | 成人在线观看免费 | 一区二区三区在线 | 国产98色在线 | 日韩 | av免费网址 | 国产色网| 欧美日韩精品一区二区天天拍 | 欧美一极视频 | 欧美一区二区三区在线观看 | 91看片网 | 五月婷六月丁香 | 精品久久久久久亚洲国产800 | 午夜激情影院 | av免费看在线| 亚洲九九精品 | 日本国产欧美 | 91精品国产91久久久久久不卞 | 色影视| 国产精品亚洲二区 | 成年人网站免费 | 成人免费精品视频 | 一区二区三区电影在线观看 | av黄色片| 久久久久久久久久久久久久久久久久久久 | 高清色| 日本aa毛片a级毛片免费观看 | 欧美在线一二三 | 久久久久亚洲国产| 操久久| 在线天堂免费中文字幕视频 | 日韩精品久久一区二区三区 | 一级毛片免费视频 |