资源简介

包含六个经典的仿真实例 流水灯 走马灯 数字时钟 等 电路图和源代码全数奉上 proteus 7.1+keil c51环境 流水灯 , 数字时钟 , 走马灯

资源截图

代码片段和文件信息

#include 
#include “SoundPlay.h“

unsigned char RunMode;

//**********************************System Fuction*************************************************
void Delay1ms(unsigned int count)
{
unsigned int ij;
for(i=0;i for(j=0;j<120;j++);
}

unsigned char code LEDDisplayCode[] = { 0xC00xF90xA40xB00x990x920x820xF8 //0~7
                           0x800x900x880x830xC60xA10x860x8E0xFF};

void Display(unsigned char Value)
{
P3 = LEDDisplayCode[Value];
}

void LEDFlash(unsigned char Count)
{
unsigned char i;
bit Flag;
for(i = 0; i {
Flag = !Flag;
if(Flag)
Display(RunMode);
else
Display(0x10);
Delay1ms(100);
}
Display(RunMode);
}

unsigned char GetKey(void)
{
unsigned char KeyTempCheckValueKey = 0x00;
CheckValue = P2&0x32;
if(CheckValue==0x32)
return 0x00;

Delay1ms(10);
KeyTemp = P2&0x32;
if(KeyTemp==CheckValue)
return 0x00;

if(!(CheckValue&0x02))
Key|=0x01;
if(!(CheckValue&0x10))
Key|=0x02;
if(!(CheckValue&0x20))
Key|=0x04;
return Key;
}

unsigned int Timer0CountSystemSpeedSystemSpeedIndex;
void InitialTimer2(void)
{
T2CON  = 0x00; //16 Bit Auto-Reload Mode
  TH2 = RCAP2H = 0xFC;   //重装值初始值 TL2 = RCAP2L = 0x18;
ET2=1; //定时器 2 中断允许
TR2 = 1; //定时器 2 启动
EA=1;
}

unsigned int code SpeedCode[]={   1   2   3   5   8  10  14  17  20  30
     40  50  60  70  80  90 100 120 140 160
180 200 300 400 500 600 700 800 9001000};//30
void SetSpeed(unsigned char Speed)
{
SystemSpeed =SpeedCode[Speed];
}

void LEDShow(unsigned int LEDStatus)
{
P1 = ~(LEDStatus&0x00FF);
P0 = ~((LEDStatus>>8)&0x00FF);
}

void InitialCPU(void)
{
RunMode = 0x00;
Timer0Count = 0;
SystemSpeedIndex = 9;

P1 = 0x00;
P0 = 0x00;
P2 = 0xFF;
P3 = 0x00;
Delay1ms(500);
P1 = 0xFF;
P0 = 0xFF;
P2 = 0xFF;
P3 = 0xFF;
SetSpeed(SystemSpeedIndex);
Display(RunMode);
}

//Mode 0
unsigned int LEDIndex = 0;
bit LEDDirection = 1LEDFlag = 1;
void Mode_0(void)
{
LEDShow(0x0001< LEDIndex = (LEDIndex+1)%16;
}
//Mode 1
void Mode_1(void)
{
LEDShow(0x8000>>LEDIndex);
LEDIndex = (LEDIndex+1)%16;
}
//Mode 2
void Mode_2(void)
{
if(LEDDirection)
LEDShow(0x0001< else
LEDShow(0x8000>>LEDIndex);
if(LEDIndex==15)
LEDDirection = !LEDDirection;
   LEDIndex = (LEDIndex+1)%16;
}
//Mode 3
void Mode_3(void)
{
if(LEDDirection)
LEDShow(~(0x0001< else
LEDShow(~(0x8000>>LEDIndex));
if(LEDIndex==15)
LEDDirection = !LEDDirection;
   LEDIndex = (LEDIndex+1)%16;
}

//Mode 4
void Mode_4(void)
{
if(LEDDirection)
{
if(LEDFlag)
LEDShow(0xFFFE<     else
LEDShow(~(0x7FFF>>LEDIndex));
}
else
{
if(LEDFlag)
LEDShow(0x7FFF>>LEDIndex);
else
LEDShow(~(0xFFFE< }
if(LEDIndex==15)
{
LEDDirection = !LEDDirection;
if(

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

     文件     161062  2006-01-19 02:54  8051单片机\dg\Last Loaded LiWan.DBK

     文件      23950  2005-09-17 04:05  8051单片机\dg\LiWan

     文件    2801078  2005-09-17 04:18  8051单片机\dg\LiWan.BMP

     文件      14547  2005-09-17 03:56  8051单片机\dg\LiWan.c

     文件     166706  2008-05-20 01:42  8051单片机\dg\LiWan.DSN

     文件      10713  2005-09-17 04:05  8051单片机\dg\LiWan.hex

     文件         42  2005-09-17 04:05  8051单片机\dg\LiWan.lnp

     文件      25826  2005-09-17 04:05  8051单片机\dg\LiWan.LST

     文件      33171  2005-09-17 04:05  8051单片机\dg\LiWan.M51

     文件      28934  2005-09-17 04:05  8051单片机\dg\LiWan.OBJ

     文件       1176  2005-09-17 04:05  8051单片机\dg\LiWan.Opt

     文件        883  2005-09-17 04:05  8051单片机\dg\LiWan.plg

     文件        806  2008-05-20 01:42  8051单片机\dg\LiWan.PWI

     文件       1992  2005-05-25 04:38  8051单片机\dg\LiWan.Uv2

     文件       1178  2005-09-17 04:01  8051单片机\dg\LiWan_Opt.Bak

     文件          0  2005-05-25 04:38  8051单片机\dg\LiWan_Uv2.Bak

     文件     224768  2005-08-08 01:02  8051单片机\dg\MusicEncode.exe

     文件       6247  2005-09-17 04:01  8051单片机\dg\SoundPlay.h

     文件       5115  2005-05-25 04:38  8051单片机\dg\STARTUP.A51

     文件      11679  2005-05-25 04:38  8051单片机\dg\STARTUP.LST

     文件        749  2005-05-25 04:38  8051单片机\dg\STARTUP.OBJ

    ..A.SH.      5120  2005-09-17 13:23  8051单片机\dg\Thumbs.db

     文件      71012  2005-09-19 03:13  8051单片机\DS1302时钟\Backup Of DS1302.DBK

     文件      16822  2005-09-19 05:58  8051单片机\DS1302时钟\DS1302

     文件    1401078  2005-09-19 05:59  8051单片机\DS1302时钟\DS1302.BMP

     文件        549  2005-09-19 05:42  8051单片机\DS1302时钟\DS1302.c

     文件      95477  2008-05-20 01:43  8051单片机\DS1302时钟\DS1302.DSN

     文件       5954  2005-09-19 05:56  8051单片机\DS1302时钟\DS1302.h

     文件       5954  2005-09-19 05:55  8051单片机\DS1302时钟\DS1302.h.bak

     文件       3021  2005-09-19 05:58  8051单片机\DS1302时钟\DS1302.hex

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

评论

共有 条评论