这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 高校专区 » 坤创E-Geek/天科大新电社 » 关于蓝桥杯训练小程序(2)中断练习

共4条 1/1 1 跳转至

关于蓝桥杯训练小程序(2)中断练习

菜鸟
2019-01-23 23:39:42     打赏
 这是关于蓝桥杯备赛路上练习的小程序,蓝桥杯的竞赛路上希望大家互相勉励。    
 祝大家有个好成绩。
以下代码是我利用手头上小红板(JW-51)训练的小程序。
希望大家一同进步。
 #include<reg52.h>  //利用中断使二极管正向或反向流动
#include"intrins.h"
typedef unsigned int u16;
typedef unsigned char u8;
unsigned char code wei[]={0xfe,
  0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
bit flag;
void delay(u16 n)
{
 u8 i ;
 while (n--)
  for(i=0;i<125;i++);
}
void main()
 { 
  u8 aa=1;
  EA=1;
  EX0=1;
  IT0=1;
  while(1)
  {
   P1=0xff;
   delay(500);
   P1=wei[aa-1];
   delay(500);
   if(flag==0)
   {aa++;
    if(aa==9)
   aa=1;}
   else 
   {aa--;
   if(aa==0)
   aa=8;}
    }
  }
 void Ex0()  interrupt 0
{
 EX0=0;
 flag=~flag;
 EX0=1;
}

#include<reg52.h>//利用中断1使数码管显示1-10
typedef unsigned char u8;
typedef unsigned int u16;
sbit ser=P2^7;
sbit srclk=P2^6;
sbit rclk=P2^5;
unsigned char code smgduan[]={0x3f,
0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,
0x77,0x7c,0x39,0x5e,0x79,0x71};
unsigned char code smgwei[]={0xfe,
0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
u8 j;
void DelayMs(u16 n); 
void DispSmg();
void send_595(u8 dat);
main()
{
 EA=1;
 EX1=1;
 IT1=1;
 while(1)
 {
  send_595(smgwei[0]);
  send_595(smgduan[j]);
  rclk=0;
  rclk=1;
  DelayMs(200);
 }
}
void DelayMs(u16 n)
 {
   u8 i;
  while(n--)
    for(i=0;i<113;i++);
 }
 void send_595(u8 dat)
 {
    u8 i;
  for(i=0;i<8;i++)
  {
    if(dat&0x80)
    ser=1;
   else
    ser=0;
   srclk=0;
      srclk=1;
   dat=dat<<1;
  }
 }
 void Ex1() interrupt 2
 {
  EX1=0;
  j++;
  if(j==10)
  j=0;
  EX1=1;
 }
#include <reg52.h>//利用定时器1使LED实现闪烁
#define uchar unsigned char
#define uint  unsigned int
uchar Led,Count; 
void main()
{
 Led = 0x00;
 EA = 1;      
 ET0 = 1;     
 TMOD = 0x01;
 TH0 = (65536-46080)/256;
 TL0 = (65536-46080)%256; 
 TR0 = 1;
 while(1)
 {
  P1 = Led;
 }
}
void timer0() interrupt 1  
{
 TH0 = (65536-46080)/256;
 TL0 = (65536-46080)%256;
 Count ++;
 if(Count == 20)
 {
  Count = 0;
  Led = ~Led; 
 } 
}




关键词: 中断     蓝桥          练习    

高工
2019-01-24 00:18:26     打赏
2楼

定时器用的很巧妙,赞~


管理员
2019-01-24 08:37:36     打赏
3楼

谢谢楼主分享


院士
2019-01-24 11:05:04     打赏
4楼

其实楼主也可以绘制一个流程图


共4条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]