亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? 一些實(shí)用的單片機(jī)c程序.txt

?? 一些實(shí)用的單片機(jī)c程序
?? TXT
字號(hào):
//16進(jìn)制<->10進(jìn)制互換程序


unsigned char d[10];    //用于顯示的10位顯示緩存

//========================================================
    //16進(jìn)制to10進(jìn)制輸出子程序:顯示數(shù)據(jù),起始位,結(jié)束位,有無(wú)小數(shù)點(diǎn)
//========================================================
void output(unsigned long dd,unsigned char s,unsigned char e,unsigned char dip) {
    unsigned long div;
    unsigned char tm[8],i,j;
    div=10000000;
    for (i=0;i<8;i++) {
        tm[i]=dd/div;
        dd%=div;
        div/=10;
    }
    for (i=0;i<6;i++) {
        if (tm[i]!=0) break;
        tm[i]=nul;
    }
    tm[5]|=dip;            //小數(shù)點(diǎn)控制,請(qǐng)看“串行LED數(shù)碼管顯示驅(qū)動(dòng)程序”
    j=7;
    for (i=s;i<e;i++) {
        d[i]=tm[j];
        j--;
    }
}

//把顯示位5-9位的10進(jìn)制數(shù)轉(zhuǎn)換成為16進(jìn)制數(shù)
unsigned int input(void) {
    unsigned int dd,dat;
    dd=10000;dat=0;
    for (i=5;i<10;i++) {
        dat+=dd*temp;
        dd/=10;
    }
    return(dat);
}
/*    89C51系列CPU編程器接收CPU程序*/

#include <reg51.h>
#include <intrins.h>
#include <absacc.h>

#define e 8
#define p 9
#define l 10

sbit led=P3^2;
sbit p27=P2^7;
sbit p26=P2^6;
sbit p36=P3^6;
sbit p37=P3^7;
sbit rst=P3^3;
sbit ale=P3^5;
sbit vpp=P3^4;

bit b_break;
unsigned int adds;


//    13.8mS
void int_t0(void) interrupt 1 {
    TH0=-100;
    b_break=1;
}

void wait(unsigned char w) {
    unsigned int t=w*184;
    b_break=0;
    TL0=-t%256-1;TH0=-t/256;
    while (b_break==0) {}
}

void nop(void) {
    _nop_();_nop_();_nop_();_nop_();
    _nop_();_nop_();_nop_();_nop_();
    _nop_();_nop_();_nop_();_nop_();
    _nop_();_nop_();_nop_();_nop_();
    _nop_();_nop_();_nop_();_nop_();
}

unsigned char command(void) {
    TH0=-100;b_break=0;
    while (RI==0) {if (b_break==1) return(0);}
    RI=0;
    return(SBUF);
}

void earsure(unsigned char cpu) {
    switch (cpu) {
    case 1:        //89C51
    case 2:rst=p26=1;p27=p36=p37=0;nop();vpp=1;nop();
        ale=0;wait(110);ale=1;nop();
        break;
    case 3:
    case 4:break;
    case 5:
    case 6:break;
    }
}

void program(unsigned char cpu) {
    unsigned int bdata adds=0;
    unsigned char d;
    switch (cpu) {
    case 1:    //89C51
    case 2:
        p36=p37=1;rst=1;
        while (1) {
            TH0=-100;b_break=0;
            while (RI==0) {if (b_break==1) return;}
            RI=0;
            d=SBUF;
            //address
            P0=adds%256;
            P2=adds/256;
            p27=1;
            //data
            P1=d;
            nop();    //48clcl
            //vpp
            vpp=1;
            nop();    //48clcl
            //ale
            ale=0;
            wait(1);//100uS
            ale=1;
            nop();    //10uS
            vpp=0;
            nop();    //48clcl
            p27=0;
            nop();    //48clcl
            P1=0xff;
            TH0=-100;b_break=0;
            while (d!=P1) {if (b_break==1) return;}    //data polling
            SBUF=d;
            adds++;
        }
        break;
    case 3:
    case 4:
    case 5:
    case 6:break;
    }
}

void lock(unsigned char cpu) {
    unsigned char i;
    switch (cpu) {
    case 1:    //89c51
    case 2:
        //lock 1
        rst=p26=p36=p27=p37=1;nop();
        vpp=1;
        nop();
        ale=0;
    //    for (i=0;i<6;i++) wait(100);
        wait(1);
        ale=1;
        nop();
        vpp=0;
        nop();
    
        //lock 2
        rst=p26=p27=1;p36=p37=0;nop();
        vpp=1;
        nop();
        ale=0;
    //    for (i=0;i<6;i++) wait(100);
        wait(1);
        ale=1;
        nop();
        vpp=0;
        nop();
        
        //lock 3
        rst=p26=p36=1;p27=p37=0;nop();
        vpp=1;
        nop();
        ale=0;
    //    for (i=0;i<6;i++) wait(100);
        wait(1);
        ale=1;
        nop();
        vpp=0;
        nop();
        break;
    case 3:
    case 4:
    case 5:
    case 6:break;
    }
}

void main(void) {
    unsigned char disp,flash,temp,cpu;
    EA=1;
    SCON=0xd8;PCON=0x80;
    TMOD=0x21;
    TL1=TH1=0xff;TR1=1;
    TH0=-100;ET0=TR0=1;

    flash=0x80;




    while (1) {
        temp=command();
        switch (temp) {
        case 0:
        case 1:        //89c51
        case 2:        //89C52
        case 3:        //80f51
        case 4:        //80F52
        case 5:        //87F51
        case 6:cpu=temp;SBUF=temp;break;//87f52
        case e:SBUF=temp;earsure(cpu);break;    //erasure
        case p:SBUF=temp;program(cpu);break;    //program
        case l:lock(cpu);SBUF=temp;break;    //lock
        default:SBUF=temp;break;
        }
        b_break=0;
        if ((++disp)>flash) {disp=0;led=!led;}
    }
}
//HT1380實(shí)時(shí)時(shí)鐘驅(qū)動(dòng)程序

sbit clock_dat=P0^1;
sbit clock_clk=P0^2;
sbit clock_rst=P0^3;

sbit a0=ACC^0;
sbit a1=ACC^1;
sbit a2=ACC^2;
sbit a3=ACC^3;
sbit a4=ACC^4;
sbit a5=ACC^5;
sbit a6=ACC^6;
sbit a7=ACC^7;

void clock_out(unsigned char dd) {
    ACC=dd;
    clock_dat=a0;clock_clk=1;clock_clk=0;
    clock_dat=a1;clock_clk=1;clock_clk=0;
    clock_dat=a2;clock_clk=1;clock_clk=0;
    clock_dat=a3;clock_clk=1;clock_clk=0;
    clock_dat=a4;clock_clk=1;clock_clk=0;
    clock_dat=a5;clock_clk=1;clock_clk=0;
    clock_dat=a6;clock_clk=1;clock_clk=0;
    clock_dat=a7;clock_clk=1;clock_clk=0;
}
unsigned char clock_in(void) {
    clock_dat=1;
    a0=clock_dat;
    clock_clk=1;clock_clk=0;a1=clock_dat;
    clock_clk=1;clock_clk=0;a2=clock_dat;
    clock_clk=1;clock_clk=0;a3=clock_dat;
    clock_clk=1;clock_clk=0;a4=clock_dat;
    clock_clk=1;clock_clk=0;a5=clock_dat;
    clock_clk=1;clock_clk=0;a6=clock_dat;
    clock_clk=1;clock_clk=0;a7=clock_dat;
    return(ACC);
}
unsigned char read_clock(unsigned char ord) {
    unsigned char dd=0;
    clock_clk=0;
    clock_rst=0;
    clock_rst=1;
    clock_out(ord);
    dd=clock_in();
    clock_rst=0;
    clock_clk=1;
    return(dd);
}
void write_clock(unsigned char ord,unsigned char dd) {
    clock_clk=0;
    clock_rst=0;
    clock_rst=1;
    clock_out(ord);
    clock_out(dd);
    clock_rst=0;
    clock_clk=1;
}
/*單個(gè)漢字庫(kù)字摸提取程序,tc2.0編譯*/
#include "stdio.h"
#include "dos.h"
#include "process.h"
#include "string.h"


void main(void) {
    long int num_bytes,qm,wm;
    unsigned char d,i,j,k,a[132],b[132];
    unsigned char * data;
    unsigned char * hz;
    static unsigned  char dd[103];
    FILE *fp;

    if ((fp=fopen("hzk16f","rb"))==NULL) {
        printf("can't open hzk16\n");
        exit(1);
    }
    clrscr();
    while (1) {

        data=(unsigned char *) malloc(33);
        printf("please input:\n");
        scanf("%s",dd);    /*輸入一個(gè)漢字*/

        qm=* dd;        /*通過(guò)區(qū)位碼計(jì)算其在hzk16f文件中的偏移地址*/
        qm=qm-161;
        if (qm>87) exit(0);
        wm=* (dd+1);
        wm=wm-161;
        if (wm>94) exit(0);
        num_bytes=((long)qm*94+wm)*32;
        fseek(fp,num_bytes,SEEK_SET);
        fgets(data,33,fp);
        for (i=0;i<32;i++) b[i]=* data++;
        for (i=0;i<32;i+=2) a[i/2]=b[i];
        for (i=0;i<32;i+=2) a[i/2+16]=b[i+1];
        for (i=8;i<16;i++) b[i]=a[i];
        for (i=8;i<16;i++) a[i]=a[i+8];
        for (i=8;i<16;i++) a[i+8]=b[i];

        /*轉(zhuǎn)換,hzf16f在電腦的儲(chǔ)存格式是以行為字節(jié)計(jì)算的,一般的lcd都采用以列為字節(jié)計(jì)算*/
        for (k=0;k<32;k+=8) {
            for (j=0;j<8;j++) {
                d=0;
                for (i=0;i<8;i++) {
                    if (a[i+k]>=0x80) {
                        switch (i) {
                        case 0:d+=1;break;
                        case 1:d+=2;break;
                        case 2:d+=4;break;
                        case 3:d+=8;break;
                        case 4:d+=0x10;break;
                        case 5:d+=0x20;break;
                        case 6:d+=0x40;break;
                        case 7:d+=0x80;break;
                        }
                    }
                }
                for (i=0;i<8;i++) a[i+k]<<=1;
                b[j+k]=d;
            }
        }
        clrscr();
        printf("/*%s:*/\n",dd);        /*輸出0x00格式的16進(jìn)制數(shù)*/
        for (k=0;k<32;k+=8) {
            for (j=0;j<8;j++) printf("0x%x,",b[j+k]);
            printf("\n");
        }
        getch();
    }
}
//按鍵掃描驅(qū)動(dòng)程序

unsigned char key,key_h,kpush;
unsigned int key_l;

//按鍵連接到p1.0、p1.1、p1.2

void int_t0(void) interrupt 1 {
    unsigned char dd,i;
    TL0=TL0+30;TH0=0xfb;    //800
    /*    按鍵判別    */
    if ((P1&0x7)==0x7) {
        if ((key_l>30)&&(key_l<800)&&(key_h>30)) {        //釋放按鍵,如果之前按鍵時(shí)間少于1秒,讀入鍵值
            key=kpush;
        }
        if ((++key_h)>200) key_h=200;
        key_l=0;
        if (key>=0x80) key=0;                            //如果之前的按鍵為長(zhǎng)按1秒,清除鍵值
    } else {
        kpush=P1&0x7;
        key_l++;
        if ((key_l>800)&&(key_h>30)) {                    //如果按鍵超過(guò)1秒,鍵值加0x80標(biāo)志長(zhǎng)按鍵
            key=kpush|0x80;
            key_h=0;
            key_l=0;
        }
    }
}
void main(void) {
    TMOD=0x1;TR0=1;ET0=1;EA=1;
    while (1) {
        while (!key) {}
        switch (key) {
        case 1:break;
        case 2:break;
        }
    }
//串行驅(qū)動(dòng)led顯示,
//一個(gè)74hc595位移寄存器驅(qū)動(dòng)三極管驅(qū)動(dòng)led位,
//兩個(gè)74hc595驅(qū)動(dòng)led段,方式位5位x8段x2=10個(gè)數(shù)碼管
//5分頻,每次掃描時(shí)間位1.25ms


//定義特殊符號(hào)

#define nul 0xf
#define qc 0xc
#define qb 0xb
#define q_ 0xa
#define q__ 0xd
#define q___ 0xe
#define qp 0x10
#define qe 0x11
#define qj 0x12
#define qn 0x13
#define qf 0x14
#define qa 0x15
#define qr 0x16
#define qd 0x17
#define qu 0x18
#define ql 0x19
#define qh 0x1a
#define qwen 0x1b
#define qt 0x1c
#define qla 0x1d
#define qlb 0x1e
#define qlc 0x1f
#define qld 0x20
#define qle 0x21
#define qlf 0x22
#define qlg 0x23
#define qldp 0x24


//顯示段信息,不同led排列組合的段信息只需更改8個(gè)數(shù)值即可。
//因此,該定義具有通用性。

//    顯示    
//        -d 20
//    |c 40    |e 10
//        - g        80        
//    |b 2    |f 4
//        _a1    .dp 8
#define pa 1
#define pb 2
#define pc 0x40
#define pd 0x20
#define pe 0x10
#define pf 4 
#define pg 0x80
#define pdp 8

//--------------
#define l0 pdp+pg
#define l1 255-pf-pe
#define l2 pdp+pc+pf
#define l3 pdp+pc+pb
#define l4 pdp+pa+pb+pd
#define l5 pdp+pb+pe
#define l6 pdp+pe
#define l7 pdp+pc+pg+pb+pa
#define l8 pdp
#define l9 pdp+pb
#define la pdp+pa
#define lb pdp+pd+pe
#define lc pdp+pg+pe+pf
#define ld pdp+pc+pd
#define le pdp+pe+pf
#define lf pdp+pe+pf+pa
#define l_ 255-pg
#define lnul 255
#define ll pdp+pg+pd+pf+pe
#define lp pdp+pa+pf
#define lt pdp+pd+pe+pf
#define lr pdp+pe+pf+pg+pa
#define ln pdp+pg+pa
#define lh pdp+pd+pe+pa
#define ly pdp+pb+pd
#define lu pdp+pg+pd
#define l__ pdp+pg+pb+pc+pe+pf
#define l___ l__-pg
#define l_1 255-pa
#define l_2 255-pa-pg
#define lj 255-(pe+pf+pa)
#define lwen 255-(pd+pe+pg+pb)
#define lall 0


#define lla 255-pa
#define llb 255-pb
#define llc 255-pc
#define lld 255-pd
#define lle 255-pe
#define llf 255-pf
#define llg 255-pg
#define lldp 255-pdp


//串行送出的位信息,目前是10位led顯示。
unsigned char code un_dig[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb};
//串行送出的短信息。
unsigned char code un_disp[]={l0,l1,l2,l3,l4,l5,l6,l7,l8,l9,l_,lb,lc,l__,l___,lnul,lp,le,lj,ln,lf,la,lr,ld,lu,
ll,lh,lwen,lt,lla,llb,llc,lld,lle,llf,llg,lldp,lnul};




sbit d_clk=P0^0;        //移位時(shí)鐘
sbit d_dat=P0^1;        //移位數(shù)據(jù)
sbit d_st=P0^2;            //移位鎖定


unsigned char dig;            //位掃描計(jì)數(shù)器
unsigned char d[10];                            //顯示緩沖

//送出8位串行數(shù)據(jù)
void out_disp(unsigned char dd) {
    unsigned char i;
    for (i=0;i<8;i++) {
        if (dd&1) d_dat=1; else d_dat=0;
        d_clk=0;
        dd>>=1;
        d_clk=1;
    }
}
//控制小數(shù)點(diǎn)和閃爍,顯示數(shù)據(jù)|0x040表示有小數(shù)點(diǎn);顯示數(shù)據(jù)|0x80表示閃爍。
void out_displ(unsigned char dd) {
    if (dd>=0x80) {
        if (s001>flash_time) {out_disp(0xff);return;}
    }
    dd&=0x7f;
    if (dd>=0x40) {
        dd=un_disp[dd&0x3f]^pdp;
    } else dd=un_disp[dd];
    out_disp(dd);
}





unsigned int s001;    //閃爍時(shí)間參考
void int_t0(void) interrupt 1 {
    unsigned char dd;
    TL0=TL0+30;TH0=0xfb;    //800
    time++;
    if ((++s001)>=800) s001=0;
    //    顯示    
    if ((++dig)>4) dig=0;
    d_st=0;
    dd=d[dig+5];
    out_displ(dd);
    dd=d[dig];
    out_displ(dd);
    out_disp(un_dig[dig]);
    d_st=1;
}
void main(void) {
    unsigned char i;
    TMOD=0x1;
    TR0=ET0=1;
    EA=1;
    for (i=0;i<10;i++) d[i]=i;    //display test
    while (1) {}
}

 

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
337p粉嫩大胆色噜噜噜噜亚洲 | 国产精品久久毛片a| 91精品国产一区二区三区蜜臀 | 精品久久国产老人久久综合| 在线不卡欧美精品一区二区三区| 欧美伊人精品成人久久综合97| 色老汉一区二区三区| 色综合久久中文综合久久牛| 色婷婷综合久久久中文字幕| 97国产一区二区| 色综合天天综合网国产成人综合天| 成人免费av在线| 99国产一区二区三精品乱码| 色综合中文字幕| 欧美日韩久久久| 欧美精品成人一区二区三区四区| 欧美一区二区视频在线观看| 日韩欧美高清一区| 久久影院电视剧免费观看| 国产亚洲美州欧州综合国| 国产精品免费视频观看| 中文字幕一区二区在线观看| 国产精品一二一区| zzijzzij亚洲日本少妇熟睡| 色综合久久久久网| 欧美精品xxxxbbbb| 精品国产91乱码一区二区三区 | 91麻豆精品国产自产在线观看一区| 538prom精品视频线放| 欧美成人女星排名| 国产日韩三级在线| 一区二区免费在线| 麻豆免费看一区二区三区| 国产精品一级片| 色婷婷久久久久swag精品| 欧美美女黄视频| 久久久久久久综合狠狠综合| 亚洲人精品午夜| 日本成人在线视频网站| 成人免费视频国产在线观看| 欧美综合视频在线观看| 欧美成人综合网站| 亚洲乱码国产乱码精品精的特点| 日韩激情av在线| 成人中文字幕电影| 欧美日本在线一区| 国产农村妇女精品| 天堂蜜桃91精品| 成人激情免费电影网址| 伊人夜夜躁av伊人久久| 伦理电影国产精品| 91视频在线看| 久久综合色播五月| 一区二区三区成人| 国产精品性做久久久久久| 欧美最猛黑人xxxxx猛交| 久久久综合精品| 日韩国产欧美在线观看| jlzzjlzz欧美大全| 欧美刺激午夜性久久久久久久| 亚洲精选一二三| 国产精品888| 91精品一区二区三区久久久久久| 国产精品乱码一区二区三区软件 | 国产日韩影视精品| 日韩成人精品在线| 91亚洲精品乱码久久久久久蜜桃 | 亚洲午夜一区二区| 国产成人精品www牛牛影视| 欧美日韩精品免费观看视频| 国产精品剧情在线亚洲| 国内精品写真在线观看| 欧美日韩国产电影| 亚洲免费成人av| 国产成人免费视| 日韩欧美国产一区二区三区 | 国产一本一道久久香蕉| 欧美日韩一区二区三区在线看 | 亚欧色一区w666天堂| 成人app在线观看| 狠狠久久亚洲欧美| 欧美日韩国产三级| 亚洲午夜免费电影| 成人av先锋影音| 国产日韩综合av| 国产露脸91国语对白| 日韩一级免费观看| 日韩国产欧美一区二区三区| 欧美午夜精品一区| 亚洲精品国产成人久久av盗摄 | 成人动漫精品一区二区| 久久婷婷综合激情| 久久精品免费观看| 欧美一二三区精品| 日韩福利视频网| 欧美日韩一级黄| 亚洲高清不卡在线观看| 欧美在线免费观看视频| 亚洲精品写真福利| 91丨九色丨国产丨porny| 国产精品久久久久一区二区三区 | 九色综合狠狠综合久久| 欧美一区二区免费视频| 日日摸夜夜添夜夜添精品视频 | 精品福利av导航| 日本 国产 欧美色综合| 欧美一级视频精品观看| 琪琪一区二区三区| 欧美一区欧美二区| 免费成人美女在线观看.| 日韩欧美亚洲国产另类| 精品一区二区三区免费| 日韩欧美视频一区| 国产一区二区三区在线观看免费 | 99re视频精品| 亚洲欧美视频一区| 色悠悠久久综合| 亚洲动漫第一页| 欧美剧情电影在线观看完整版免费励志电影| 一级做a爱片久久| 欧美二区三区的天堂| 美女爽到高潮91| 欧美激情综合网| 99re热视频精品| 亚洲妇熟xx妇色黄| 精品三级av在线| 成人免费毛片嘿嘿连载视频| 亚洲另类春色校园小说| 欧美福利一区二区| 国内外成人在线| 国产成人在线视频免费播放| 国产精品久久久久影院| 欧美日韩一区二区三区视频| 日本大胆欧美人术艺术动态| 26uuu精品一区二区| 99re8在线精品视频免费播放| 一级中文字幕一区二区| 日韩免费高清av| 成人毛片视频在线观看| 亚洲电影激情视频网站| 欧美精品一区在线观看| a美女胸又www黄视频久久| 午夜av一区二区三区| 久久免费美女视频| 日本韩国欧美三级| 日本中文字幕一区| 国产精品久久久久四虎| 欧美精品三级日韩久久| 丁香婷婷综合网| 亚洲成人动漫精品| 国产色综合一区| 欧美日本韩国一区| 成人免费的视频| 蜜桃一区二区三区在线观看| 亚洲视频一区二区免费在线观看| 日韩欧美一二区| 91极品美女在线| 国产精品88888| 日韩av网站在线观看| 国产精品久久久久久久蜜臀| 777欧美精品| 91丨九色丨国产丨porny| 久久国产精品99久久久久久老狼| 亚洲免费资源在线播放| 久久久久久亚洲综合| 欧美网站大全在线观看| www.一区二区| 激情综合色播五月| 图片区小说区国产精品视频| 国产精品久线在线观看| 精品美女在线观看| 欧美日韩高清一区| 一本久久精品一区二区| 国产精品亚洲综合一区在线观看| 丝袜亚洲精品中文字幕一区| 中文字幕在线观看一区二区| 欧美精品一区二区三区在线播放| 欧美视频你懂的| 波多野结衣在线一区| 精品一区二区免费视频| 天天影视网天天综合色在线播放| 一区二区中文视频| 欧美韩日一区二区三区| 精品乱码亚洲一区二区不卡| 欧美日本国产视频| 欧美亚洲国产一区二区三区va| 成人美女视频在线观看| 国产河南妇女毛片精品久久久 | 欧美性猛交xxxx乱大交退制版| 丰满白嫩尤物一区二区| 韩国精品主播一区二区在线观看| 日韩**一区毛片| 日韩av一区二区三区四区| 天堂va蜜桃一区二区三区 | 精品制服美女丁香| 免费观看在线综合色| 日韩在线一二三区| 亚洲午夜久久久| 午夜精品视频在线观看| 亚洲综合色在线|