654|5

4

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

求大佬写个定时+点灯的STC8G1程序 [复制链接]

小白求大佬写个定时+点灯的程序,就是相当于IO脚当做一个按键来用每20秒按一次。
硬件这样吧,不知道有没有错,MCU用的STC8G1K08A-36I-DFN8


1、开机后每20秒拉低1秒,无操作1小时后关机或休眠
2、K2断开1小时定时关机,闭合2小定时关机或休眠
3、K1触发一次重新计时1或2小时。

 

硬件这样有问题吗?

求大佬门给个 keil能编译过的程序或编译好的固件也行

此帖出自单片机论坛

最新回复

你可以参考 STC-ISP 根据你的芯片型号, 都是提供的有demo的. 关于你的定时器定时的时间, 你需要自己去使用定时器的计时器去计算(STC也有提供)   详情 回复 发表于 2024-8-6 03:15
点赞 关注
 

回复
举报

6533

帖子

9

TA的资源

版主

沙发
 

你这上来就20秒定时或者无操作1小时这些动作,时间太长了,你的这个需求实际上涉及到的就是GPIO的输出控制和输入采集,还有定时器,没有什么太特别的

此帖出自单片机论坛
 
个人签名

在爱好的道路上不断前进,在生活的迷雾中播撒光引

 

回复

4

帖子

0

TA的资源

一粒金砂(中级)

板凳
 
秦天qintian0303 发表于 2024-8-3 19:08 你这上来就20秒定时或者无操作1小时这些动作,时间太长了,你的这个需求实际上涉及到的就是GPIO的输出控制 ...

时间太久了不行吗??不懂程序………………

此帖出自单片机论坛
 
 
 

回复

7244

帖子

2

TA的资源

版主

4
 

这逻辑,电路这么设计看着没问题,作业吗?还是用在什么产品上。

此帖出自单片机论坛
 
 
 

回复

6107

帖子

4

TA的资源

版主

5
 
本帖最后由 damiaa 于 2024-8-5 13:02 编辑

 

#include <reg52.h>
 
sbit LED = P1^0;
sbit K1 =P5^4;
sbit K2 = P3^2;
#define TiMVAL 20

#define TiMCLOSEVAL1 3600
#define TiMCLOSEVAL2 7200

unsgined int T =0;
unsgined int TOVER =7200;
void delay(unsigned int time) {
    while(time--);
}
 
void main() {
    SCON = 0x50; // 用于启用定时器0,但不用于串口通信
    TMOD |= 0x01; // 设置定时器0为16位定时模式,使用系统时钟/12
    TH0 = 0xFC; // 设置定时器0的初始高8位
    TL0 = 0x67; // 设置定时器0的初始低8位,定时1ms
    EA = 1; // 开启总中断
    ET0 = 1; // 开启定时器0中断
    TR0 = 1; // 启动定时器0
     
    T =0;
    while(1) {
        if(K1 == 0) {
            delay(100); // 消抖处理
            if(K1 == 0) {
                if(K2 == 0)
				{
					TOVER =TiMCLOSEVAL2;
				}
				else
				{
					TOVER =TiMCLOSEVAL1;
				}
            }
        }
    }
}
 
void timer0() interrupt 1 {
    static unsigned char count = 0;
    TH0 = 0xFC; // 重新加载定时器0的高8位
    TL0 = 0x67; // 重新加载定时器0的低8位
 
    if(++count == 1000) { // 1s中断一次
        count = 0;
		static unsigned char CT20 =0;
        CT20++;
		if(CT20 >=20) 
		{	CT20=0;
        	LED = 0; // 切换LED状态
		}
		else
			LED =1;
		T++;
		if(T >= TOVER)
		{
			//关机 这里自己整
		}
	}
}

 

此帖出自单片机论坛
 
 
 

回复

194

帖子

4

TA的资源

纯净的硅(初级)

6
 

你可以参考 STC-ISP 根据你的芯片型号, 都是提供的有demo的. 关于你的定时器定时的时间, 你需要自己去使用定时器的计时器去计算(STC也有提供)

此帖出自单片机论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

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