• 大小: 2.29MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-09-08
  • 语言: 其他
  • 标签: 中断  查询  

资源简介

设计一个声光报警器的硬件电路和控制程序。一旦按下SW3按钮开关,发光二级管按规律闪烁,同时扬声器发出声音;当按下SW2按钮开关,发光二级管停止闪烁,声音停止。 硬件设备包括一台微机、一个MIFID微机实验箱、插线若干。控制程序采用Intel8088宏汇编语言编写。

资源截图

代码片段和文件信息

#include      //kbhit();
#include      //printf();
#include        //delay();
#ifdef      __cplusplus     //if in C++ mode
    #define __CPPARGS ...
#else
    #define __CPPARGS
#endif

int p = 0x303;
int pa = 0x300;
int pb = 0x301;
int pc = 0x302;

int pstate = 0xb8; //10111000b
int p2 = 0x05; //00000101b
int p1 = 0x03; //00000011b
int p0 = 0x01; //00000001b

int ou = 0x307;
int ou0 = 0x304;
int ou1 = 0x305;
int ou2 = 0x306;

int mus_freq[]={262294330262262294330262
330349392330349392
392440392349330262392440392349330262
294196262294196262-1};

int mus_time[]={88888888
88168816
444488444488
88168816};

void interrupt handler(__CPPARGS)  //数据采集中断服务程序
{
int i = 0; //音符指针
int getout = 1;
int c = 0; //num5num6
int pp = 0;
double mf=0;
disable();

//printf(“hdslkjdf\n“);

//关中断
outportb(0xa1inportb(0xa1)&0xff);
outportb(0x21inportb(0x21)&0xff);

//设置计数器2,1,0
outportb(ou0xb6); //10110110b
outportb(ou0x70); //01110110b
outportb(ou0x36); //00110110b


while(getout)
{
if(kbhit())
{
if(getch()==0x1b) 
{
getout = 0;//esc键按下返回
break;
}
}

if(mus_freq[i]== -1) i = 0;
//显示学号
if(c == 0)
{
outportb(pb0xfa); //00000101b
c = 1;
}
else
{
outportb(pb0xf9); //00000110b
c = 0;
}

//扬声器发声设置
//置8255的PC1、PC0为1,使扬声器发声 
outportb(pp1);
outportb(pp0);
//设置8255工作状态A口1,B/C口0
//outportb(ppstate);
//计数器2计数初值
mf = 1193100.0/mus_freq[i];
//printf(“%d  %d\n“int(mf)%256int(mf/256));
outportb(ou2int(mf)%256);  //0x12348c
outportb(ou2int(mf/256));

//算延时的计数初值计数器0,1初值
mf = mus_time[i]*2;
//printf(“%d  %d\n“int(mf)%256int(mf/256));
outportb(ou0int(mf)%256); //2*37287 74568/32768
outportb(ou0int(mf/256));
//outportb(ou00x80); 
//outportb(ou00x80);
outportb(ou10); 
outportb(ou10x80);


//pc7
do{
pp = inportb(pc); //10000000b;
//printf(“%x\n“pp);
pp = pp&0x80;
//printf(“%x\n“pp);
}while(pp == 0); //?????????????????

//getch();
outportb(p0x0e); //00001110b
pp = inportb(pc); 
//printf(“%x\n“pp);


//置8255的PC1、PC0为0,使扬声器关闭
outportb(pc0x02); //00000010b
outportb(pc0); //00000000b

i++;

}
//end_mus
outportb(pc0x2); //00000010b
outportb(pc0); //00000000b

outportb(0xa00x62);//发中断结束命令(OCW2)向从片8259发EOI命令
              //即指定从片8259的ISR2复位
 outportb(0x200x20);//向主片8259发EOI命令,结束当前最高级中断服务

outportb(0xa1inportb(0xa1)&0xfb);
outportb(0x21inportb(0x21)&0xfb);

outportb(p0x4);

//enable();
}

int main()
{
int status;
//int getout=1;
int check = 0;

void interrupt (*oldhandler)(__CPPARGS);
oldhandler=getvect(0x72);//获取原中断向量
setvect(0x72handler);//设置新中断向量

//设状态字8255 
outportb(p0xb8);
outportb(pb0xff);


 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件    1160672  2009-04-17 13:20  接口课设\2VB.rar

     文件    3571200  2010-07-07 19:58  接口课设\MFID微机实验平台.doc

     文件       5048  2010-07-07 21:03  接口课设\xiaolanz.asm

    ..A..H.       162  2010-07-07 20:08  接口课设\~$中断控制的声光报警器的设计-接口课程设计.doc

     文件       3691  2009-07-08 20:59  接口课设\基于中断控制的声光报警器的设计\music_final.cpp

     文件       4960  2009-07-08 20:59  接口课设\基于中断控制的声光报警器的设计\music_final_final_final.asm

     文件     209021  2009-07-08 20:59  接口课设\基于中断控制的声光报警器的设计\电路图.JPG

     文件     175304  2009-11-14 15:45  接口课设\基于中断控制的声光报警器的设计.rar

     文件    1885696  2010-07-09 01:36  接口课设\声光报警器的设计.doc

    ..A..H.       162  2010-07-07 20:28  接口课设\微机接口课程设计(2010)\微机接口课程设计(2010)\~$技术课程设计指导书.doc

     文件      32768  2010-06-30 08:18  接口课设\微机接口课程设计(2010)\微机接口课程设计(2010)\接口技术课程设计指导书.doc

     文件      27136  2010-06-30 14:38  接口课设\微机接口课程设计(2010)\微机接口课程设计(2010)\接口技术课程设计题目明细表(计0701班).xls

     文件      26624  2010-06-30 14:38  接口课设\微机接口课程设计(2010)\微机接口课程设计(2010)\接口技术课程设计题目明细表(计0702班).xls

     文件      26112  2010-06-30 14:39  接口课设\微机接口课程设计(2010)\微机接口课程设计(2010)\接口技术课程设计题目明细表(计0703班).xls

    ..A..H.       162  2010-07-07 20:01  接口课设\微机接口课程设计(2010)\微机接口课程设计(2010)\课程设计任务书\~$报警器的设计.doc

     文件      57856  2010-06-30 13:28  接口课设\微机接口课程设计(2010)\微机接口课程设计(2010)\课程设计任务书\单通道微机信号采集接口的设计.doc

     文件      44032  2010-06-30 13:25  接口课设\微机接口课程设计(2010)\微机接口课程设计(2010)\课程设计任务书\双机并行传送接口的设计.doc

     文件      36864  2010-06-30 09:37  接口课设\微机接口课程设计(2010)\微机接口课程设计(2010)\课程设计任务书\声光报警器的设计.doc

     文件      56832  2010-06-30 13:27  接口课设\微机接口课程设计(2010)\微机接口课程设计(2010)\课程设计任务书\多通道微机信号采集接口的设计.doc

     文件     692736  2010-06-30 12:25  接口课设\微机接口课程设计(2010)\微机接口课程设计(2010)\课程设计任务书\步进电机控制接口的设计.doc

     文件      35328  2010-06-30 09:32  接口课设\微机接口课程设计(2010)\微机接口课程设计(2010)\课程设计任务书\音乐发生器的设计.doc

     文件     117326  2010-07-07 14:49  接口课设\微机接口课程设计(2010).rar

     目录          0  2010-07-09 01:40  接口课设\微机接口课程设计(2010)\微机接口课程设计(2010)\课程设计任务书

     目录          0  2010-07-09 01:40  接口课设\微机接口课程设计(2010)\微机接口课程设计(2010)

     目录          0  2010-07-09 01:40  接口课设\基于中断控制的声光报警器的设计

     目录          0  2010-07-09 01:40  接口课设\微机接口课程设计(2010)

     目录          0  2010-07-09 01:40  接口课设

----------- ---------  ---------- -----  ----

              8169692                    27



............此处省略0个文件信息

评论

共有 条评论