[其它应用] 控制LED亮灭

[复制链接]
 楼主| zhuhuis 发表于 2021-6-1 23:31 | 显示全部楼层 |阅读模式
写了个程序,原本想法是用定时的方式去控制LED亮灭,但现在发现,无法实现,哪位大虾帮忙看下哪边有问题
zhanghqi 发表于 2021-6-1 23:33 | 显示全部楼层
楼主程序可以公开吗?贴程序看下吧,这么说看不出什么原因
 楼主| zhuhuis 发表于 2021-6-1 23:35 | 显示全部楼层

void timer2() interrupt xx,这个xx是怎么定义的。。
#include<SH79F166A.h>
#define uint unsigned int
#define uchar unsigned char uchar num;
sbit LED0=P0^2;
void main()
{
T2MOD=0;  
TL2=(65536-45872)%256;  
TH2=(65536-45872)/256;
TF2=0;  
EA=1;//开总中断   
ET2=1;//开定时器2中断  
TR2=1;//启动定时器2  
while(1);   
}  
void timer2() interrupt 5
{
  TL2 = (65536-45872)%256;  //定时1ms重新附初值低位   
  TH2 = (65536-45872)/256; //定时1ms重新附初值高位  
  num++;
if(num==20)  
{   
  num=0;   
  LED0=~LED0;  
}
}
tian111 发表于 2021-6-1 23:40 | 显示全部楼层
没看出啥来
 楼主| zhuhuis 发表于 2021-6-1 23:43 | 显示全部楼层
问下79F166A这颗芯片的中断级别是怎么定义的,有外部中断0,1,2,3.内部定时期从2开始
songqian17 发表于 2021-6-1 23:44 | 显示全部楼层

没用过中颖单片机,也许是定时器2中断入口地址不对(interrupt xx),看下datasheet。
chenho 发表于 2021-6-1 23:46 | 显示全部楼层
T2MOD=0   代表什么,16位计数器还是其它?
gongche 发表于 2021-6-1 23:48 | 显示全部楼层
中断标志?
wangzsa 发表于 2021-6-1 23:50 | 显示全部楼层
我用过1611,端口是需要定义的,166a不太清楚是不是这个问题
 楼主| zhuhuis 发表于 2021-6-1 23:52 | 显示全部楼层
好的,我明天去单位试一下,多谢各位大侠了哈
chenjun89 发表于 2021-6-2 07:29 来自手机 | 显示全部楼层
定时中断翻转IO就可以了啊
littlelida 发表于 2021-6-16 10:10 | 显示全部楼层
我觉得if不要放到中断里,这样不好
merry_zsp 发表于 2021-6-16 12:04 | 显示全部楼层
我感觉程序没什么问题,就是你那个宏定义的替代有点怪怪的
gouguoccc 发表于 2021-6-17 12:28 来自手机 | 显示全部楼层
这个很简单吧
天意无罪 发表于 2021-6-17 12:40 | 显示全部楼层
定时器中断模式下,翻转IO来控制LED的亮灭,怎么会不能实现,检查一下你的程序吧。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

728

主题

8464

帖子

6

粉丝

728

主题

8464

帖子

6

粉丝
快速回复 在线客服 返回列表 返回顶部