......................抱歉,之前没看到用中断,现在在程序上稍作修改
P3口为控制口(中断int0——p3.2),P1口为输出口,p2口提供高电平,LED为共阳极,程序如下:
#include <reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit k1=P2^0;
sbit k2=P2^1;
sbit k3=P2^2;
sbit LED_1=P1^0;
sbit LED_2=P1^1;
sbit LED_3=P1^2;
void relay(uint ms)
{
uint i,j;
for(i=ms;i>0;i--)
for(j=110;j>0;j--);
}
void main()
{
while(1)
{
EA=1;
ET0=1;
while(P3^2==0)
{
if(k1==0)
{
LED_1=0;
relay(100);
}
if(k2==0)
{
LED_2=0;
relay(100);
}
if(k3==0)
{
LED_3=0;
relay(100);
}
}
}
程序完毕!
下面是电路图:
求at89c51例程:三个按键控制三个灯亮,用外部中断C程序
P3口为控制口(中断int0——p3.2),P1口为输出口,p2口提供高电平,LED为共阳极,程序如下:include <reg51.h> define uchar unsigned char define uint unsigned int sbit k1=P2^0;sbit k2=P2^1;sbit k3=P2^2;sbit LED_1=P1^0;sbit LED_2=P1^1;sbit LED...
求用单片机设计一个秒表AT89C51
;使用T0定时方式1,每隔50ms中断一次,用于修改时间及显示 ;使用外部中断0、1,用于控制启动和清零 ;=== ORG 0000H AJMP MAIN ORG 0003H AJMP X0_INT ORG 000BH AJMP T0_INT ORG 0013H AJMP X1_INT MAIN:MOV TMOD,#01H ;T0定时方式1 MOV TH0, #(65536-50000) \/ 256 ...
MSC-51单片机交通灯论文
对其编写相关程序来控制交通信号灯和数码管的时间显示,并采用外部中断来控制紧急情况。此设计的硬件电路不是很复杂,关键在于软件的设计,即程序的编写。本设计采用的程序编写语言为现在流行的C语言,简单又便于阅读。编写程序的原则是:1.满足设计的要求。2.尽量采用最好,最有效的算法。3.编写时应尽量...
用C语言怎么在单片机AT89C51上编写一个用一个开关控制一个灯亮和灭...
电路有问题啊,电源怎么能直接接到GPIO,这样大电流会损坏IC。P1口好像没有外部中断,那只有轮询了。这个就是按键检测嘛,网上一堆代码,so easy!
求一个单片机外部中断程序,要求用按键模拟单片机外部中断输入源,当按键...
1、打开Keil μVision编译器,新建一个工程,然后保存在硬盘上的位置,然后选择Atmel-AT89C51单片机为模型,并添加STARTUP.A51文件,然后在当前目录下新建一个C文件,并将其添加入工作路径。2、首先要导入51单片机的头文件,否则后续使用的端口都会出现未定义的情况,然后在主函数中,使得EA=1,即总中断...
AT89C51的外部中断检测电路怎么画的,就是只要中断开关合上,LED灯就 ...
应该可以是先的,下面不断读中断,合上开关,进中断然后直到开关断开,脱离中断。。。好久没玩51了。。忘记得差不多了。。哈哈
AT89S51各脚功能,急!!!
·5个中断源 ·可编程串行通道·低功耗的闲置和掉电模式·片内振荡器和时钟电路 2.管脚说明: VCC:供电电压。 GND:接地。 P0口:P0口为一个8位漏级开路双向I\/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据\/地址的第八位。在...
高分 求 单片机直流电压表原理流程图
START:A\/D转换启动信号输入端;ALE:地址锁存允许信号,高电平有效;EOC:输出允许控制信号,高电平有效;OE: 输出允许控制信号,高电平有效;CLK:时钟信号输入端;A、B、C:转换通道地址;3).MC14433是一种双积分A\/D芯片,分辨率相当于二进制的11位,转换速率3~10次\/秒,转换误差是±1LSB,输入...
以AT89C51单片机为核心,制作一个LCD显示的智能电子钟
1<<bit))\/\/读#define enableInterrupts() {_asm("rim\\n");} \/* enable interrupts 使能中断*\/#define disableInterrupts() {_asm("sim\\n");} \/* disable interrupts 不能中断*\/u8 year,month,day,hour,minute,seconds;\/\/定义全局变量void IO_Init(void)\/\/定义IO口{sbi(PG_DDR,3)...
用单片机做电子琴,复音(合音)怎么实现?
单片机的P1.2口线连接着音色增加按键,P1.3则连接音色减小按键,P1.4连接音色快进键。低电平时按键有效,这三个按键通过与门连接外部中断INT0,以便实时响应音色设置。该外部中断0的中断服务子程序流程图见图4,(图中省去了按键延时去抖动部分):图4:音色改变子程序流程图 在该子程序中,变量...