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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

ZXC-0168 STC8A8K64D4單片機 第6講 開關信號控制對應繼電器輸出自鎖程序2

[復制鏈接]
ID:280979 發(fā)表于 2023-11-15 12:24 | 顯示全部樓層 |閱讀模式
ZXC-0168 應用舉例.jpg
ZXC-0168 原理圖_00.jpg
ZXC-0168 標識圖.jpg

【聲明】此程序僅用于學習與參考,引用請注明版權和作者信息!
*********************************************************************/
/*************  功能說明    **************
開關信號控制對應繼電器輸出自鎖程序

使用 if....Delay(消抖)...while....Delay(消抖) 實現繼電器輸入控制輸出 (自鎖程序)
******************************************/

#include "STC8A8K64D4.h"   //包含此頭文件后,里面聲明的寄存器不需要再手動輸入,避免重復定義
#include "intrins.h"       //一般程序中需要使用到空指令_nop_();字符循環(huán)移位指令_crol_等時使用。
#define uchar unsigned char//宏定義無符號字符型
#define uint unsigned int  //宏定義無符號整型

/*************        本地常量聲明        **************/
/*************        光耦隔離輸入口        **************/
sbit IN1= P5^5;//光耦隔離輸入口1
sbit IN2= P4^0;//光耦隔離輸入口2
sbit IN3= P6^4;//光耦隔離輸入口3
sbit IN4= P6^5;//光耦隔離輸入口4
sbit IN5= P6^6;//光耦隔離輸入口5
sbit IN6= P6^7;//光耦隔離輸入口6
sbit IN7= P3^2;//光耦隔離輸入口7
sbit IN8= P3^3;//光耦隔離輸入口8
sbit IN9= P3^4;//光耦隔離輸入口9
sbit IN10= P3^5;//光耦隔離輸入口10

/*************        光耦隔離繼電器輸出口        **************/
sbit OUT1= P4^3;//繼電器輸出口1
sbit OUT2= P2^7;//繼電器輸出口2
sbit OUT3= P2^6;//繼電器輸出口3
sbit OUT4= P2^5;//繼電器輸出口4
sbit OUT5= P2^4;//繼電器輸出口5
sbit OUT6= P2^3;//繼電器輸出口6
sbit OUT7= P2^2;//繼電器輸出口7
sbit OUT8= P2^1;//繼電器輸出口8
sbit OUT9= P4^2;//繼電器輸出口9
sbit OUT10= P2^0;//繼電器輸出口10

sbit RUN= P4^4;//運行狀態(tài)指示燈
sbit FMQ= P0^7;//蜂鳴器控制腳

/*******************標志位設定*********************/

bit IN_bz1=0; //輸入標志位
bit IN_bz2=0; //輸入標志位
bit IN_bz3=0; //輸入標志位
bit IN_bz4=0; //輸入標志位
bit IN_bz5=0; //輸入標志位
bit IN_bz6=0; //輸入標志位
bit IN_bz7=0; //輸入標志位
bit IN_bz8=0; //輸入標志位
bit IN_bz9=0; //輸入標志位
bit IN_bz10=0;//輸入標志位
//========================================================================
// 函數聲明
void Delay10ms();                //延時函數@11.0592MHz
//========================================================================
/************************ 10ms消抖延時函數 ****************************/
void Delay10ms()                //延時函數@11.0592MHz
{
unsigned char i, j;
_nop_();
_nop_();
i = 144;
j = 157;
do
{
while (--j);
} while (--i);
}
//========================================================================
// 函數: void main(void)
// 描述: 主函數。
// 參數: none.
// 返回: none.
//========================================================================
void main()//主函數
{
P0M1 = 0x00;   P0M0 = 0x00;   //設置為準雙向口
P1M1 = 0x00;   P1M0 = 0x00;   //設置為準雙向口
P2M1 = 0x00;   P2M0 = 0x00;   //設置為準雙向口
P3M1 = 0x00;   P3M0 = 0x00;   //設置為準雙向口
P4M1 = 0x00;   P4M0 = 0x00;   //設置為準雙向口
P5M1 = 0x00;   P5M0 = 0x00;   //設置為準雙向口
P6M1 = 0x00;   P6M0 = 0x00;   //設置為準雙向口
P7M1 = 0x00;   P7M0 = 0x00;   //設置為準雙向口
RUN=0;        //運行指示燈亮
while (1)//主函數執(zhí)行循環(huán)掃描
{
       
if((IN1==0)&&(IN_bz1==0)){Delay10ms();if(IN1==0){OUT1=!OUT1;IN_bz1=1;}}// 如果IN1有信號輸入和標志位IN_bz1等于0,等待10毫秒再次判斷IN1是否有信號,如果有OUT1繼電器狀態(tài)取反IN_bz1標志位置1
while(!IN1){Delay10ms();if(IN1==1){IN_bz1=0;}}                         // 等待IN1無信號輸入和標志位IN_bz1等于1,等待10毫秒再次判斷IN1是否有信號,如果無IN_bz1標志位置0

if((IN2==0)&&(IN_bz2==0)){Delay10ms();if(IN2==0){OUT2=!OUT2;IN_bz2=1;}}// 如果IN2有信號輸入和標志位IN_bz2等于0,等待10毫秒再次判斷IN2是否有信號,如果有OUT2繼電器狀態(tài)取反IN_bz2標志位置1
while(!IN2){Delay10ms();if(IN2==1){IN_bz2=0;}}                         // 等待IN2無信號輸入和標志位IN_bz2等于1,等待10毫秒再次判斷IN2是否有信號,如果無IN_bz2標志位置0

if((IN3==0)&&(IN_bz3==0)){Delay10ms();if(IN3==0){OUT3=!OUT3;IN_bz3=1;}}// 如果IN3有信號輸入和標志位IN_bz3等于0,等待10毫秒再次判斷IN3是否有信號,如果有OUT3繼電器狀態(tài)取反IN_bz3標志位置1
while(!IN3){Delay10ms();if(IN3==1){IN_bz3=0;}}                         // 等待IN3無信號輸入和標志位IN_bz3等于1,等待10毫秒再次判斷IN3是否有信號,如果無IN_bz3標志位置0

if((IN4==0)&&(IN_bz4==0)){Delay10ms();if(IN4==0){OUT4=!OUT4;IN_bz4=1;}}// 如果IN4有信號輸入和標志位IN_bz4等于0,等待10毫秒再次判斷IN4是否有信號,如果有OUT4繼電器狀態(tài)取反IN_bz4標志位置1
while(!IN4){Delay10ms();if(IN4==1){IN_bz4=0;}}                         // 等待IN4無信號輸入和標志位IN_bz4等于1,等待10毫秒再次判斷IN4是否有信號,如果無IN_bz4標志位置0

if((IN5==0)&&(IN_bz5==0)){Delay10ms();if(IN5==0){OUT5=!OUT5;IN_bz5=1;}}// 如果IN5有信號輸入和標志位IN_bz5等于0,等待10毫秒再次判斷IN5是否有信號,如果有OUT5繼電器狀態(tài)取反IN_bz5標志位置1
while(!IN5){Delay10ms();if(IN5==1){IN_bz5=0;}}                         // 等待IN5無信號輸入和標志位IN_bz5等于1,等待10毫秒再次判斷IN5是否有信號,如果無IN_bz5標志位置0

if((IN6==0)&&(IN_bz6==0)){Delay10ms();if(IN6==0){OUT6=!OUT6;IN_bz6=1;}}// 如果IN6有信號輸入和標志位IN_bz6等于0,等待10毫秒再次判斷IN6是否有信號,如果有OUT6繼電器狀態(tài)取反IN_bz6標志位置1
while(!IN6){Delay10ms();if(IN6==1){IN_bz6=0;}}                         // 等待IN6無信號輸入和標志位IN_bz6等于1,等待10毫秒再次判斷IN6是否有信號,如果無IN_bz6標志位置0

if((IN7==0)&&(IN_bz7==0)){Delay10ms();if(IN7==0){OUT7=!OUT7;IN_bz7=1;}}// 如果IN7有信號輸入和標志位IN_bz7等于0,等待10毫秒再次判斷IN7是否有信號,如果有OUT7繼電器狀態(tài)取反IN_bz7標志位置1
while(!IN7){Delay10ms();if(IN7==1){IN_bz7=0;}}                         // 等待IN7無信號輸入和標志位IN_bz7等于1,等待10毫秒再次判斷IN7是否有信號,如果無IN_bz7標志位置0

if((IN8==0)&&(IN_bz8==0)){Delay10ms();if(IN8==0){OUT8=!OUT8;IN_bz8=1;}}// 如果IN8有信號輸入和標志位IN_bz8等于0,等待10毫秒再次判斷IN8是否有信號,如果有OUT8繼電器狀態(tài)取反IN_bz8標志位置1
while(!IN8){Delay10ms();if(IN8==1){IN_bz8=0;}}                         // 等待IN8無信號輸入和標志位IN_bz8等于1,等待10毫秒再次判斷IN8是否有信號,如果無IN_bz8標志位置0

if((IN9==0)&&(IN_bz9==0)){Delay10ms();if(IN9==0){OUT9=!OUT9;IN_bz9=1;}}// 如果IN9有信號輸入和標志位IN_bz9等于0,等待10毫秒再次判斷IN9是否有信號,如果有OUT9繼電器狀態(tài)取反IN_bz9標志位置1
while(!IN9){Delay10ms();if(IN9==1){IN_bz9=0;}}                         // 等待IN9無信號輸入和標志位IN_bz9等于1,等待10毫秒再次判斷IN9是否有信號,如果無IN_bz9標志位置0

if((IN10==0)&&(IN_bz10==0)){Delay10ms();if(IN10==0){OUT10=!OUT10;IN_bz10=1;}}// 如果IN10有信號輸入和標志位IN_bz10等于0,等待10毫秒再次判斷IN10是否有信號,如果有OUT10繼電器狀態(tài)取反IN_bz10標志位置1
while(!IN10){Delay10ms();if(IN10==1){IN_bz10=0;}}                            // 等待IN10無信號輸入和標志位IN_bz10等于1,等待10毫秒再次判斷IN10是否有信號,如果無IN_bz10標志位置0


}
}
/********************************************************************
                                                結束
*********************************************************************/

ZXC-0168 STC8A8K64D4單片機10路輸入10路輸出可編程工控板原理圖.pdf

1.53 MB, 下載次數: 13, 下載積分: 黑幣 -5

第6講 開關信號控制對應繼電器輸出自鎖程序2.rar

66.82 KB, 下載次數: 15, 下載積分: 黑幣 -5

回復

使用道具 舉報

ID:562099 發(fā)表于 2023-11-18 21:39 | 顯示全部樓層
電路圖,電路板介紹詳細
回復

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲精品在线免费看 | 日本精品一区二区在线观看 | 欧美日本一区 | 久久国产精品99久久久大便 | 亚洲高清视频一区二区 | 精品久久久久久久久久久久久久 | 中文字幕精品一区二区三区精品 | 日韩成人免费在线视频 | 欧美日韩电影一区二区 | 国产96在线 | 一级特黄在线 | 色屁屁在线观看 | 在线观看视频h | 国产精品久久久久久高潮 | 亚洲免费在线 | 天天射影院 | 中文字幕日韩三级 | 久久综合888 | 国产精品成人一区二区 | 久久久久久久91 | 综合色播| 久久成人人人人精品欧 | 人人澡人人射 | 伊人伊人伊人 | 精品国产乱码一区二区三 | 久久99久久 | 365夜爽爽欧美性午夜免费视频 | 国产欧美一区二区三区日本久久久 | 日韩在线 | 伊人99 | 99re国产| 亚洲成人自拍网 | 一级毛片视频 | 看亚洲a级一级毛片 | 国产一区二区不卡 | 欧美专区在线观看 | 国产高潮好爽受不了了夜色 | 午夜看片网站 | 国产福利在线视频 | 一区二区在线看 | 久久久久国产一级毛片 |