电子技术论坛

 找回密码
 快速注册

QQ登录

只需一步,快速开始

搜索
下载方法|用单线程|避免多扣帖子规范|求助必读|发帖建议积分策略|勋章介绍|新人必读获取金币|推广论坛|出售帖子基本礼节|致会员信|版规总则
禁涉政治|反对低俗|举报专帖征集相片|留下足迹|推荐精华上传附件|制作分卷|使用网盘禁发qq群|恶意灌水|纯表情帖加入团队|监督机制|安全上网
楼主: lhxtzlhxtz

晒晒我几年前用51单片机做的16点PLC

[复制链接]
 楼主| 发表于 2016-9-18 14:28:41 | 显示全部楼层
本帖最后由 lhxtzlhxtz 于 2016-9-18 14:31 编辑
绝对整烂 发表于 2016-9-18 14:10
你那个图片, 谁看得清?又不是TXT文件,不能复制的。(STC12C5A60S2 点一个LED那一贴)


看看这样能看清吗?不用STC12C5A60S2的噢!

未命名29.JPG
发表于 2016-9-18 14:34:39 | 显示全部楼层
本帖最后由 绝对整烂 于 2016-9-18 14:37 编辑

可是还是不能复制啊。。。想问一个问题,那个定时器和中断的初始程序一定要放到主程序里吗?主程序不是做最常做的事么?如果程序老是停在NOP那里,是不是不安全?
 楼主| 发表于 2016-9-18 14:42:45 | 显示全部楼层
绝对整烂 发表于 2016-9-18 14:34
可是还是不能复制啊。。。想问一个问题,那个定时器和中断的初始程序一定要放到主程序里吗?主程序不是做最 ...

明白了,原来你要的是两点一线般的一帆风顺!好的,明天就会有东风了,稍等一下,行不?
 楼主| 发表于 2016-9-18 15:26:26 | 显示全部楼层
绝对整烂 发表于 2016-9-18 14:34
可是还是不能复制啊。。。想问一个问题,那个定时器和中断的初始程序一定要放到主程序里吗?主程序不是做最 ...

(1)是。

(2)是,但要看设计者的需求,不能说死的。

(3)反而会安全一些!
发表于 2016-9-18 15:32:45 | 显示全部楼层
几年能学到你这个程度?
发表于 2016-9-18 15:57:56 | 显示全部楼层
现在研究DSP了,单片机80年代的课程
 楼主| 发表于 2016-9-18 16:55:36 | 显示全部楼层
duchanggui 发表于 2016-9-18 15:32
几年能学到你这个程度?

这要看各人的心智和毅力,快者3个月,慢者就难说了!
 楼主| 发表于 2016-9-18 16:56:24 | 显示全部楼层
DOGDOG123 发表于 2016-9-18 15:57
现在研究DSP了,单片机80年代的课程

你说的是实话。
 楼主| 发表于 2016-9-18 18:18:11 | 显示全部楼层
lhxtzlhxtz 发表于 2016-9-18 14:42
明白了,原来你要的是两点一线般的一帆风顺!好的,明天就会有东风了,稍等一下,行不?



// 单片机用 STC15F2K60S2   LED灯一秒一闪的程序//

#include<reg52.h>   //代入头文件//

#include <intrins.h>  // 用空操作  _nop_   时要加这句//

#define uint unsigned int //宏定义变量类型    0----65535/

uint t;//时间累积变量     

sbit Y0=P0^0;           // 定义LED输出

              
void  main( )//主程序
{
   TMOD=0x01; //  TMOD=0x11;//设置定时器0为工作方式1//  
   TH0=(65536-1000)/256;  //12MHZ,1MS一次中断//
   TL0=(65536-1000)%256;   
                              
   EA=1;       //开总中断//

   ET0=1;      //开定时器0中断

   TR0=1; //启动定时器0中断

                 

   while(1) //大循环
   {

    _nop_();
            
   }

}

                                          


void exter0() interrupt 1         //定时器0的中断程序//

{
           
TH0=(65536-1000)/256;         //重装数12MHz ,1ms一次中断//?
TL0=(65536-1000)%256;
                
                 
t++;  //每一毫秒让t累积1
                                        

if(t==500) {t=0; Y0=~Y0;  }  //每500毫秒Y0取反一次,让LED一秒一闪//
                                                               
         
  }





 楼主| 发表于 2016-9-18 18:20:30 | 显示全部楼层
lhxtzlhxtz 发表于 2016-9-18 15:26
(1)是。

(2)是,但要看设计者的需求,不能说死的。

已经发了可以复制的程序。
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|家电维修技术论坛 ( 鄂ICP备09003585号-2 )

GMT+8, 2024-4-29 05:45 , Processed in 0.067107 second(s), 5 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

CopyRight © 电子技术论坛
电子邮箱:8794149@qq.com | 联系 QQ:3081868839 | 官方网址:www.dzdu.com

Qiji. All Rights Reserved


服务条款 | 站长声明

Wuhan Qiji Technology Co., Ltd.武汉奇迹科技有限公司版权所有


鄂ICP备09003585号-2鄂公网安备42010602000420号

快速回复 返回顶部 返回列表