找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 711|回复: 0
打印 上一主题 下一主题
收起左侧

单片机按键产生外部中断等功能的程序问题

[复制链接]
跳转到指定楼层
楼主
ID:406454 发表于 2019-4-5 15:51 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
若系统时钟频率为12MHz,编写软件实现:按一下K键,产生一次外部中断1中断信号,启动T2定时,使P1.1输出周期为2秒的方波。

我的程序:
#include<reg52.h>
#define uchar unsigned char
uchar COUNT=20;
sfr IPH=0xB7;
sfr T2MOD=0xC9;
sbit P11=P1^1;
void main()
{
        SP=0x06;
        T2MOD=0x00;T2CON=0x00;
        TL2=0xb0;TH2=0x3c;
        RCAP2H=0x3c;RCAP2L=0xb0;
        IE=0xa4;
        IP=0x04;
        IT1=1;
        IPH=0x24;
        while(1)
        {
                ;
        }
}
void exint1(void)interrupt 2
{
        TR2=1;
}
void time2(void) interrupt 5
{
        TF2=1;
        if(COUNT==0)
        {
                P11=!P11;
                COUNT=20;
        }
        else
        {
                COUNT=COUNT-1;
        }
}

我在Proteus里仿真无法实现要求,我的结果是按一次才取反一次。

求助哇!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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