打印
[其它应用]

控制LED亮灭

[复制链接]
5562|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
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 | 只看该作者
没看出啥来

使用特权

评论回复
5
zhuhuis|  楼主 | 2021-6-1 23:43 | 只看该作者
问下79F166A这颗芯片的中断级别是怎么定义的,有外部中断0,1,2,3.内部定时期从2开始

使用特权

评论回复
6
songqian17| | 2021-6-1 23:44 | 只看该作者

没用过中颖单片机,也许是定时器2中断入口地址不对(interrupt xx),看下datasheet。

使用特权

评论回复
7
chenho| | 2021-6-1 23:46 | 只看该作者
T2MOD=0   代表什么,16位计数器还是其它?

使用特权

评论回复
8
gongche| | 2021-6-1 23:48 | 只看该作者
中断标志?

使用特权

评论回复
9
wangzsa| | 2021-6-1 23:50 | 只看该作者
我用过1611,端口是需要定义的,166a不太清楚是不是这个问题

使用特权

评论回复
10
zhuhuis|  楼主 | 2021-6-1 23:52 | 只看该作者
好的,我明天去单位试一下,多谢各位大侠了哈

使用特权

评论回复
11
chenjun89| | 2021-6-2 07:29 | 只看该作者
定时中断翻转IO就可以了啊

使用特权

评论回复
12
littlelida| | 2021-6-16 10:10 | 只看该作者
我觉得if不要放到中断里,这样不好

使用特权

评论回复
13
merry_zsp| | 2021-6-16 12:04 | 只看该作者
我感觉程序没什么问题,就是你那个宏定义的替代有点怪怪的

使用特权

评论回复
14
gouguoccc| | 2021-6-17 12:28 | 只看该作者
这个很简单吧

使用特权

评论回复
15
天意无罪| | 2021-6-17 12:40 | 只看该作者
定时器中断模式下,翻转IO来控制LED的亮灭,怎么会不能实现,检查一下你的程序吧。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

728

主题

8464

帖子

6

粉丝