GYJ-0126-A-NPN 16路输入输出可编程晶体管工控 串口485通讯

发布者:qiuxubiao最新更新时间:2020-10-15 来源: 51hei关键字:GYJ-0126-A-NPN  输入输出  可编程晶体管  串口485通讯 手机看文章 扫描二维码
随时随地手机看文章

*********************************************************************/
#include "hedder\STC12C5A60S2.h"
#include"hedder\DODI.h"
#define  uchar unsigned char
#define  uint  unsigned int
uchar dat;
/********************************************************************
                                串口初始化
*********************************************************************/
void init ()
{
   //串口2波特率
        TMOD = 0x20;                                  //定时器1产生波特率
        SCON = 0x50;                                 //方式1,8位数据,波特率可变
        TH1=0xfd;
        TL1 = 0xfd;                         //波特率 9600

  //串口1波特率        
        S2CON = 0x50;                                 //方式1,八位数据,可变波特率
        BRT=0XFD;                                  //设置波特率9600
        TR1=1;                                          //启动定时器产生串口2波特率        
        AUXR=0x10;                                 //启动串口1波特率发生器
        IP=0x00;                                 //优先级默认
        EA=1;                                  //开总中断
        ES=1;                                         //开串口1中断
        IE2=0x01;                                 //开串口2中断
}

/*
       // 串口一 发送一个字符
void  uart1_txd(uchar x)
{
        SBUF = x;
}
//     串口二   发送一个字符
void  uart2_txd(uchar x)
{
        S2BUF = x;
}
*/
/********************************************************************
                                延时函数
*********************************************************************/
void delay ( uint t )
{
        uint i,j;
        for( i=0; i        for( j=0; j<250; j++);
}
/********************************************************************
                                    主函数
*********************************************************************/
void main()
{
   uchar k=10;
    //配置P4.4为IO口
   P4SW|=0x70;                  
   P4M0&=0x80;                  
   P4M1&=0x80;

   init();   //串口初始化
   fxctl=0;  //485接收
   while(1)
   {
/********************************************************************
                            接收数据判断函数
*********************************************************************/
        switch(dat) //接收数据判断
        {
                case 'I':
                                  P1&=0x0c;
                                  P3&=0x03;
                          P4&=0x81;
                                  P5=0;
                          delay(200);
                                  init();
                              break; //  全开
                                 
                case 'i':
                           P3|=0XFF;
                                   P1|=0XFF;
                           P4|=0xff;
                                   P5=0xff;
                                   delay(k);        
                                   break; //  全关
               
                case 'A': OUT1=0;delay(k);break;           //  第一路开
                case 'B': OUT2=0;delay(k);break;           //  第二路开
                case 'C': OUT3=0;delay(k);break;           //  第三路开
                case 'D': OUT4=0;delay(k);break;           //  第四路开
                case 'E': OUT5=0;delay(k);break;           //  第五路开
                case 'F': OUT6=0;delay(k);break;           //  第六路开
                case 'G': OUT7=0;delay(k);break;           //  第七路开
                case 'H': OUT8=0;delay(k);break;           //  第八路开
                case 'J': OUT9=0;delay(k);break;           //  第九路开
                case 'K': OUT10=0;delay(k);break;           //  第十路开
                case 'L': OUT11=0;delay(k);break;           //  第十一路开
                case 'M': OUT12=0;delay(k);break;           //  第十二路开
                case 'N': OUT13=0;delay(k);break;           //  第十三路开
                case 'O': OUT14=0;delay(k);break;           //  第十四路开
                case 'P': OUT15=0;delay(k);break;           //  第十五路开
                case 'Q': OUT16=0;delay(k);break;           //  第十六路开
                        
                case 'a': OUT1=1;delay(k);break;           //  第一路关
                case 'b': OUT2=1;delay(k);break;           //  第二路关
                case 'c': OUT3=1;delay(k);break;           //  第三路关
                case 'd': OUT4=1;delay(k);break;           //  第四路关
                case 'e': OUT5=1;delay(k);break;           //  第五路关
                case 'f': OUT6=1;delay(k);break;           //  第六路关
                case 'g': OUT7=1;delay(k);break;           //  第七路关
                case 'h': OUT8=1;delay(k);break;           //  第八路关
                case 'j': OUT9=1;delay(k);break;           //  ...
                case 'k': OUT10=1;delay(k);break;           //  ...
                case 'l': OUT11=1;delay(k);break;           //  ...
                case 'm': OUT12=1;delay(k);break;           //  ...
                case 'n': OUT13=1;delay(k);break;           //  ...
                case 'o': OUT14=1;delay(k);break;           //  ...
                case 'p': OUT15=1;delay(k);break;           //  ...
                case 'q': OUT16=1;delay(k);break;           //  ...
           default:break;                      //  跳出
   }
}        
}
/********************************************************************
                         串口一 发送接收中断函数
*********************************************************************/
void uart_isr()  interrupt 4
{
        if( RI ) RI = 0;
        
        dat = SBUF;
        
        if( TI ) TI = 0;
}
/********************************************************************
                         串口二    发送接收中断函数
*********************************************************************/
void uart2_isr()  interrupt 8
{
   if( S2CON & 0x01 )
         {
                S2CON &= ~0x01;
                   dat= S2BUF;
         }

        if( S2CON & 0x02 )
        {
          S2CON &= ~0x02;
        }
}
/********************************************************************
                                    结束
*********************************************************************/

[1] [1]
关键字:GYJ-0126-A-NPN  输入输出  可编程晶体管  串口485通讯 引用地址:GYJ-0126-A-NPN 16路输入输出可编程晶体管工控 串口485通讯

上一篇:基于STC15F101W单片机调光灯/按键状态机源程序
下一篇:200米433或者315M无线遥控器检测单片机源程序

推荐阅读最新更新时间:2024-11-06 03:03

实验三:MSP430输入输出接口实验(2学时)
1.实验目的 学会对P口的使用。 2.实验要求 利用板上的按键,控制LED显示。 3.实验内容 (1)编写键盘扫描程序。 (2)编写LED闪烁(时间间隔1秒,软件延时)显示程序。 (3)编写用每一个键控制两个LED灯发光的程序,按键可以随时切换。 4.参考资料 #include #include Config.h #include 1602.c uchar key; //************************************************************************* // 初始化按键IO口子程序 //**************
[单片机]
美高森美推出全新任意输入输出频率倍频及去抖芯片
器件提供业界领先的250fs抖动及5x5mm的超小封装,适用于各种通信应用。 致力于提供功耗、安全、可靠与高性能半导体技术方案的领先供应商美高森美公司(Microsemi Corporation,纽约纳斯达克交易所代号:MSCC) 宣布推出新型ZL30252和 ZL30253任意输入频率至任意输出频率时钟倍频器 (any-to-any frequency clock multiplier)和抖动衰减器(jitter attenuator)集成电路(IC)。这些器件采用超小型5x5 mm封装,是具有业界一流抖动性能的时钟倍频器(在12kHz-20MHz频段为160fs) 及抖动衰减器 (在12kHz-20MHz 频段为25
[网络通信]
STM32端口输入输出模式配置
STM32的IO口模式配置 根据数据手册提供的信息,stm32的io口一共有八种模式,他们分别是: 四种输入模式 上拉输入: 通过内部的上拉电阻将一个不确定的信号通过一个电阻拉到高电平。 下拉输入: 把电压拉到GND。与上拉原理相似。 浮空输入: 引脚内部什么都不接,处于浮空模式下,电平状态是不确定的。外部信号输入什么,IO口就是什么状态。 模拟输入: 接收到的是连续的模拟信号,一般用于AD转换。 四种输出模式 推挽输出: 可以输出高低电平,连接数字器件。在stm32中推挽电路由两个MOS管组成:输出高电平时P-MOS管导通,引脚联通VDD(3.3v)。输出低电平时N-MOS导通,引脚联通GND。**该方式既提高电路的负
[单片机]
[STM32]STM32F407系列教程之二,gpio输入输出实验
一、实验准备 1.模板demo 原因呢,我在第一讲中已经说过,费尽千辛万苦搭建了一个模板,流过多少泪、费劲多少事,只有亲自搭建过的才会体会到(第一讲我只是讲了组成,后续有机会,我将带大家亲手搭建一个),搭建完成后,备份压缩(玩过Linux的大概有点感触,配置了一个新环境,就得做个镜像,哪天系统崩了,就可以重装系统,这里也是一样的)。 2.板级支持包 就是在我的工程文件中,所有以”Bsp_”开头的文件,位于BSP文件夹下: BSP文件夹下有两个文件夹:BINC、BSRC。一个存放h文件,一个存放c文件,是可以放到一个文件中,我只是为分类能够明显点。 PS:关于这种分类,我在其他文件夹中也有类似的设计,有兴趣可自行查找
[单片机]
[STM32]STM32F407系列教程之二,gpio<font color='red'>输入输出</font>实验
跑马灯/输入输出接口(片选地址74LS273)
;NAME: 跑马灯 ;AUTOR: ;CONTENT: P1.0~P1.7接发光二极管L1~L8      CSEG AT 4000H ;定义起始地址,为什么是4000H呢       ;存储器:程序存储器、数据存储器统一编址,达64K,板上ROM(16K);RAM       ;(32K)供用户使用,可扩展至48k。用户存储器起始地址为4000H;8051原       ;有中断入口地址均定位在偏移4000H之后的相应地址 LJMP START CSEG AT 4100H START: MOV A, #01H  ; 先让第一个发光二极
[单片机]
跑马灯/<font color='red'>输入输出</font>接口(片选地址74LS273)
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved