娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2024年10月15日(星期二)

正在發(fā)生

2019年10月15日 | 單片機(jī)國旗自動升降系統(tǒng)仿真及程序

發(fā)布者:keiss2018 來源: 51hei關(guān)鍵字:單片機(jī)  國旗自動升降系統(tǒng)  proteus仿真 手機(jī)看文章 掃描二維碼
隨時隨地手機(jī)看文章

lcd1602顯示,正轉(zhuǎn)翻轉(zhuǎn)停止顯示高度;這個是花了100元買的.

基于51單片機(jī)做的國旗自動升降系統(tǒng)的proteus仿真原理圖:
 

如果沒有裝KEIL軟件
找到  .c   .h結(jié)尾的文件即為程序。打開方式選擇記事本打開
或者到開發(fā)資料里安裝KEIL軟件

單片機(jī)源程序如下:

#include                  //調(diào)用單片機(jī)頭文件

#define uchar unsigned char  //無符號字符型 宏定義        變量范圍0~255

#define uint  unsigned int         //無符號整型 宏定義        變量范圍0~65535

#include


unsigned char code zheng[4]={0xfe,0xfd,0xfb,0xf7};//正轉(zhuǎn)表格

unsigned char code fan[4]={0xf7,0xfb,0xfd,0xfe};//反轉(zhuǎn)表格


uchar flag_start ;     //啟動標(biāo)志位  1為起動步進(jìn)電機(jī) 否則關(guān)閉電機(jī)

uchar flag_z_f;        //正反標(biāo)志位  0為順時鐘 1為逆時史上轉(zhuǎn)

uchar flag_shudu = 1;      //4種速度 0,1,2,3,

bit flag_1s;   

uint flag_value;       

uchar time;

uchar gaodu;


sbit red    = P3^2;           //升期  指示燈

sbit green  = P3^3;           //旗停下指示燈

sbit yellow = P3^4;     //降旗  指示燈


sbit rs=P1^4;         //寄存器選擇信號 H:數(shù)據(jù)寄存器          L:指令寄存器

sbit rw=P1^5;         //寄存器選擇信號 H:數(shù)據(jù)寄存器          L:指令寄存器

sbit e =P1^6;         //片選信號   下降沿觸發(fā)


sbit wx0 = P2^5;

sbit wx1 = P2^6;

sbit wx2 = P2^7;

uchar key_can_wx;


/***********************語音模塊控制IO口的定義************************/

sbit  VRST = P2^4; 

sbit  VBUSY= P2^0;        

sbit  VSDA = P2^1; 

sbit  VCS  = P2^2;  

sbit  VSCL = P2^3;



/******************1ms 延時函數(shù)*******************/

void delay_1ms(uint q)

{

        uint i,j;

        for(i=0;i                for(j=0;j<120;j++);

}


void  delay_us (unsigned int us)

{


        while(us--)

        {

                _nop_();

        }

}


/***********************三線發(fā)碼子程序************************/

void Send_threelines(unsigned char addr) 

{

   unsigned char i;


        if(VBUSY == 1)

        {

                VRST=0;

                delay_1ms(5);

                VRST=1;

                delay_1ms(20); /* 復(fù)位拉高20ms*/

                VCS=0;

                delay_1ms(5);  /* 片選拉低5ms */

            for(i=0;i<8;i++)

                {

                        VSCL=0;

                        if(addr&0x01)

                        {

                                VSDA=1;

                        }

                        else 

                                VSDA=0;

                        addr>>=1;

                        delay_us(150); /* 150us */

                        VSCL=1;

                        delay_us(150); /* 150us */

                }

                VCS=1;

                delay_1ms(200);

        }

}



/********************************************************************

* 名稱 : delay_uint()

* 功能 : 小延時。

* 輸入 : 無

* 輸出 : 無

***********************************************************************/

void delay_uint(uint q)

{

        while(q--);

}


/********************************************************************

* 名稱 : write_com(uchar com)

* 功能 : 1602命令函數(shù)

* 輸入 : 輸入的命令值

* 輸出 : 無

***********************************************************************/

void write_com(uchar com)

{

        e=0;

        rs=0;

        rw=0;

        P0=com;

        delay_uint(3);

        e=1;

        delay_uint(25);

        e=0;

}


/********************************************************************

* 名稱 : write_data(uchar dat)

* 功能 : 1602寫數(shù)據(jù)函數(shù)

* 輸入 : 需要寫入1602的數(shù)據(jù)

* 輸出 : 無

***********************************************************************/

void write_data(uchar dat)

{

        e=0;

        rs=1;

        rw=0;

        P0=dat;

        delay_uint(3);

        e=1;

        delay_uint(25);

        e=0;        

}


/********************************************************************

* 名稱 : write_string(uchar hang,uchar add,uchar *p)

* 功能 : 改變液晶中某位的值,如果要讓第一行,第五個字符開始顯示"ab cd ef" ,調(diào)用該函數(shù)如下

                  write_string(1,5,"ab cd ef;")

* 輸入 : 行,列,需要輸入1602的數(shù)據(jù)

* 輸出 : 無

***********************************************************************/

void write_string(uchar hang,uchar add,uchar *p)

{

        if(hang==1)   

                write_com(0x80+add);

        else

                write_com(0x80+0x40+add);

                while(1)

                {

                        if(*p == '

主站蜘蛛池模板: 黑山县| 阜城县| 永年县| 西吉县| 沧州市| 云阳县| 延川县| 靖安县| 卢湾区| 武宣县| 北辰区| 栖霞市| 双柏县| 凭祥市| 肇庆市| 囊谦县| 鄂伦春自治旗| 蕉岭县| 崇信县| 南通市| 利川市| 革吉县| 宜兰县| 新巴尔虎右旗| 德惠市| 湖南省| 三亚市| 潞西市| 积石山| 宣武区| 安平县| 嘉义县| 乡城县| 开阳县| 琼结县| 龙口市| 介休市| 繁峙县| 威信县| 四川省| 茂名市|