资源简介

1、P1为输出口,INT0为电平触发接开关产生中断请求。要求:主程序8个发光二极管同时闪烁,当发生中断时使8个发光二极管循环点亮,结束时再返回主程序。 2、P1为输出口,INT0为电平触发接单次脉冲源产生中断请求。要求:主程序8个发光二极管循环点亮,当发生中断时循环暂停,小喇叭响,松开脉冲源后再返回主程序8个灯循环亮。

资源截图

代码片段和文件信息

#include	//52系列单片机头文件
#include //包含_crol_函数所在的头文件
#define uchar unsigned char
#define uint unsigned int

void delayms(uint);
uchar aa;
uchar bb;
uchar cc;
uchar num;

void main()
{
aa = 0x00;
cc = 0xff;
EA = 1; //开总中断
EX0 = 1; //开外部中断 0
//IT0 = 0; //外部中断 0 触发方式为电平触发方式,低电平有效

while(1)
{
P1 = cc;
delayms(500);
P1 = aa;
delayms(500);
}
}

void Int_0() interrupt 0
{
num = 0;
bb = 0xfe; //赋初值 1111 1110,1 灯亮,2 3 4 5 6 7 8 循环点亮

while(num < 8)
{
P1 = bb;
delayms(500);
bb = _crol_(bb 1); //将 bb 循环左移 1 位后再赋给 bb
num++;
}
}

void delayms(uint xms)
{
uint ij;
for(i = xms; i > 0; i--)
for(j = 110; j > 0; j--);
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2012-10-22 20:42  Test_5-1\
     文件         778  2012-10-13 20:00  Test_5-1\Test_5-1.c
     文件      112161  2012-10-12 00:55  Test_5-1\Test_5-1.DSN
     文件         540  2012-10-13 20:00  Test_5-1\Test_5-1.hex
     目录           0  2012-10-22 20:42  Test_5-2\
     文件         607  2012-10-14 10:36  Test_5-2\Test_5-2.c
     文件      103831  2012-10-13 23:04  Test_5-2\Test_5-2.DSN
     文件         489  2012-10-13 23:33  Test_5-2\Test_5-2.hex

评论

共有 条评论