欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

c語言繼電器函數(shù) c語言中繼續(xù)

PC通過485與51單片機(jī)通訊去控制繼電器,如何編單片機(jī)C語言程序?

51對于繼電器的控制,只用高低電平就可以了。關(guān)鍵是,你在明晌你的程序里要有一個判斷子程序,判斷單片機(jī)從PC機(jī)(通過RS485)穿過來的謹(jǐn)賀是什么數(shù)據(jù),從而對單片機(jī)的某位置位或者復(fù)位。比如:你可以用一個if語句,如果收到的數(shù)據(jù)時11111,在置位,如果收到的數(shù)據(jù)時00000,則復(fù)位,相應(yīng)的繼激晌鋒電器就會動作了。

創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于網(wǎng)站設(shè)計、成都網(wǎng)站設(shè)計、華州網(wǎng)絡(luò)推廣、微信小程序、華州網(wǎng)絡(luò)營銷、華州企業(yè)策劃、華州品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎;創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供華州建站搭建服務(wù),24小時服務(wù)熱線:13518219792,官方網(wǎng)址:chinadenli.net

單片機(jī)C語言編程作業(yè)求幫助, (1)可通過串口控制光敏傳感器、數(shù)碼管、繼電器、蜂鳴器的開關(guān), 發(fā)送

沒有芯片和設(shè)備,所以程序沒調(diào),有問題可以再q我。

光敏傳感器是個檢測設(shè)備,你要怎么控制它。

#includestc15f2kxx.h

#define?u16?unsigned?int

#define?u8?unsigned?char

sbit?PHOTORESISTOR=P3^7;

sbit?RELAY=P3^6;

sbit?BEEP=P4^5;

u8?ds[8]={0,1,2,3,4,5,6,7,};?//數(shù)碼管顯示緩存

u8?smg_zt=1;

//共陽

code?u8?w[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,}; //位碼

code?u8?d[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff,};//斷碼

void?dispaly(){//顯示函數(shù)

static?u8?a;

if(++a=8)a=0;

P0=0xff;

P2=w[a];

P0=d[ds[a]];

}

/*

//共陰

code?u8?w[]={~0x01,~0x02,~0x04,~0x08,~0x10,~0x20,~0x40,~0x80,}; //位碼

code?u8?d[]={~0xc0,~0xf9,~0xa4,~0xb0,~0x99,~0x92,~0x82,~0xf8,~0x80,~0x90,0x00,};//斷碼

void?dispaly(){//顯示函數(shù)

static?u8?a;

if(++a=8)a=0;

P0=0x00;

P2=w[a];

P0=d[ds[a]];

}

*/

#define?UART_RX_SIZE?30

u8?uartRx_buf[UART_RX_SIZE];

u8?uartRx_count=0;

u8?uartRx_outtime=0;

void?UartInit(void) //9600bps@11.0592MHz

{

SCON?=?0x50; //8位數(shù)搜陵團(tuán)據(jù),可變波特率

AUXR?|=?0x40; //定時器1時鐘為Fosc,即1T

AUXR?=?0xFE; //串口1選擇定時器1為波特率發(fā)生器

TMOD?=?0x0F; //設(shè)定定時器1為16位自動重裝方式

TL1?=?0xE0; //設(shè)定定時初值

TH1?=?0xFE; //設(shè)定定時初值

ET1?=?0; //禁止定時器1中斷

TR1?=?1; //啟動定時器1

}

void?Send_byte(u8?val){

SBUF=val;

while(!TI);

TI=0;

}

void?Send_Uart(u8?*p,u8?size){

while(size--0){

Send_byte(*p);

p++;

}

}

void?Timer0Init(void) //1毫秒@11.0592MHz

{

AUXR?|=?0x80; //定時器時鐘1T模式

TMOD?=?0xF0; //設(shè)置定時器模式

TL0?=?0xCD; //設(shè)置定時世橘初值

TH0?=?0xD4; //設(shè)置定時初值

TF0?=?0; //清除TF0標(biāo)志

TR0?=?1; //定時器0開始計時

}

void?IO_Init(){

P0M1=0x00;//P0口和P2口設(shè)為強(qiáng)推挽輸出

P0M0=0xff;

P2M1=0x00;

P2M0=0xff;

}

void?init() //初始化函數(shù)

{???

IO_Init();

UartInit();

Timer0Init();

}

//判斷兩個字符串是否相等

u8?puanduan(u8?*p,u8?size,u8?*pp){

u8?i;

for(i=0;pp[i]!=0;i++){

if(i=size)return?0;

if(p[i]!=pp[i])return?0;

}

return?1;

}

//串口解析程序

void?UART_Protocol(){

if(uartRx_outtime=10汪鄭uartRx_count=3){

if(puanduan(uartRx_buf,uartRx_count,"lightsensor:on")!=0){

}else?if(puanduan(uartRx_buf,uartRx_count,"lightsensor:off")!=0){

}else?if(puanduan(uartRx_buf,uartRx_count,"digital:on")!=0){

??smg_zt=1;

}else?if(puanduan(uartRx_buf,uartRx_count,"digital:off")!=0){

smg_zt=0;

}else?if(puanduan(uartRx_buf,uartRx_count,"relay:on")!=0){

RELAY=0;

}else?if(puanduan(uartRx_buf,uartRx_count,"relay:off")!=0){

RELAY=1;

}else?if(puanduan(uartRx_buf,uartRx_count,"beep:on")!=0){

BEEP=1;

}else?if(puanduan(uartRx_buf,uartRx_count,"beep:off")!=0){

}

uartRx_count=0;

}

}

void?main()//主函數(shù)

{

u8?i;

init();

while(1){

UART_Protocol();

if(smg_zt==1){

for(i=0;i8;i++)ds[i]=i;

}else?{

for(i=0;i8;i++)ds[i]=10;

}

}

}

void?timer0()?interrupt?1//定時器,實(shí)現(xiàn)倒計時

{???

dispaly();

if(++uartRx_outtime=100){

uartRx_outtime=0;

uartRx_count=0;

}

}

void?uart0()?interrupt?4

{

if(RI){

u8?t=SBUF;RI=0;

uartRx_outtime=0;

if(uartRx_countUART_RX_SIZE){

uartRx_buf[uartRx_count++]=t;

}

}

}

求STC89c52單片機(jī)控制繼電器程序:關(guān)、開時間間隔為120s。 有懸賞

#includereg52.h

#define uchar unsigned char

#define uint unsigned int

uchar Count = 0; //20ms計數(shù)

uchar SecCount = 0; // 1m計數(shù)

sbit DELAY = P2^0; //P20引腳控制繼電器

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

* 名稱 : Time0_Init()

* 功能 : 定時器的初始化,11.0592MZ晶振,50ms

* 輸入 : 無

* 輸出 : 無

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

void Time0_Init()

{

TMOD = 0x01;

IE = 0x82;

TH0 = 0x4c;

TL0 = 0x00;

TR0 = 1;

}

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

* 名稱 : Time0_Int()

* 功悶乎能 : 定時器中斷,中斷中實(shí)現(xiàn) Count 加一

* 輸入 : 無

* 輸出 : 無

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

void Time0_Int() interrupt 1

{

TH0 = 0x4c;

TL0 = 0x00;

Count++;

if(Count == 20)//中斷20次,等于1s

{

Count = 0;

SecCount ++; //秒數(shù)加1

}

}

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

* 名稱 : Main()

* 功能 : 主函數(shù)

* 輸入纖信 : 無

* 輸出 : 無

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

void main()

{

RELAY = 1; //上電使繼電器處于關(guān)閉狀態(tài).圖中的8550三極管,低電平時為繼電器打開,高電平關(guān)閉.

Time0_Init(); //定時器初始化

while(1)

{

if(SecCount == 120) //當(dāng)螞豎悉SecCount等于120秒時

{

RELAY = ~RELAY; //繼電器狀態(tài)取反,原本關(guān)閉的打開,

}

}

}

當(dāng)前標(biāo)題:c語言繼電器函數(shù) c語言中繼續(xù)
本文鏈接:http://chinadenli.net/article47/dspjehj.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供響應(yīng)式網(wǎng)站域名注冊外貿(mào)建站品牌網(wǎng)站設(shè)計靜態(tài)網(wǎng)站云服務(wù)器

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化