欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 4050|回復(fù): 0
收起左側(cè)

大家好,我C51有一個(gè)源程序編譯能通過(guò),可下載后不能運(yùn)行。請(qǐng)高手給指點(diǎn)為盼

[復(fù)制鏈接]
ID:37185 發(fā)表于 2012-3-27 11:17 | 顯示全部樓層 |閱讀模式

/**1位數(shù)碼管上先顯示零,按下SW0鍵(外中斷1)蜂鳴器發(fā)出"答"的一聲,數(shù)碼管遞增加數(shù),
到9回零;按下SW1鍵(外中斷0)蜂鳴器發(fā)出"笛"的一聲,數(shù)碼管遞減減數(shù),到0回9,用外中
斷和定時(shí)器編程實(shí)現(xiàn)?***********/


#include"stc.h"/*包含STC單片機(jī)頭文件*/
#include"top51.h"/*包含TOP51開(kāi)發(fā)板頭文件*/
#include"delay.h"/*包含愛(ài)晶電子提供延時(shí)函數(shù)頭文件*/
//#include "buzzer.h"/*愛(ài)晶電子提供的蜂鳴器頭文件*/

sbit sw0=P3^3;
sbit sw1=P3^2;

/*0-F共陰字形碼表*/
uchar code sz[17]={0x3f  , 0x06 , 0x5b , 0x4f , 0x66 ,
   0x6d ,0x7d , 0x07 , 0x7f  , 0x6f , 0x77 , 0x7c ,
   0x39 , 0x5e , 0x79 , 0x71 , 0x00};

uchar num,tt0,i;/*局部變量定義*/
void main()/*主函數(shù)*/
{
   top51_init();/*TOP51開(kāi)發(fā)板初始化*/
 COL0=1;/*選中4位數(shù)碼管的最右邊一位,并使SW0-SW2可作為獨(dú)立按鍵使用*/

 IT1=1;/*設(shè)定外部中斷觸發(fā)方式:IT1=0為低電平觸發(fā);IT1=1為下降沿觸發(fā)*/
 IT0=1;/*設(shè)定外部中斷觸發(fā)方式:IT0=0為低電平觸發(fā);IT1=0為下降沿觸發(fā)*/
 PX0=1;/*設(shè)定中斷0優(yōu)先級(jí)高優(yōu)先級(jí)*/
    PX1=1;/*使能中斷1也為高優(yōu)先級(jí)*/
 PT0=0;/*使能T0為低優(yōu)先級(jí)*/

 TMOD=0X01;//置T0的工作模式01
 TH0=(65536-50000)/256;
 TL0=(65536-50000)%256;
   EX0=1;//開(kāi)INT0禁止、允許位
 EX1=1;//開(kāi)INT1禁止、允許位
 ET0=1;//開(kāi)T0禁止、允許位
 EA=1;//開(kāi)全局中斷
 //TR0=1;

 while(1)
 {
    if (SW0==0)
     {
        //TR0=1;//delay20ms();
          while(sw1==1)
   {
     
        num++;
        if(num>9) num=0;
   }
    }
     
  if(sw1==0)
  {
     //TR0=1;//delay20ms();
   while(sw0==1)
   {
      
       num--;
       if(num<1) num=9;
   }
  }
    P0=sz[num]; 
 }
 
}

 


void timer0_routine() interrupt 1
{
    TH0=(65536-50000)/256;
    TL0=(65536-50000)%256;
  tt0++;
  if(tt0==20) tt0=0;
}


/*---高優(yōu)先級(jí)中斷服務(wù)程序---*/
void int1_routine() interrupt 2
{
   TR0=1;
   for(i=50;i>0;i--)
   {
       BZ=1;//蜂鳴器發(fā)出答的一聲桑?
       delay500us();
       BZ=0;
       delay500us();
   }
}

/*---高優(yōu)先級(jí)中斷服務(wù)程序---*/
void init0_routine() interrupt 0
{
   TR0=1;
 for(i=50;i>0;i--)
    {
       BZ=1;//蜂鳴器發(fā)出嘀的一聲,
       delayms(1);
       BZ=0;
       delayms(1);
    }
}

回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表