资源简介
包含六个经典的仿真实例 流水灯 走马灯 数字时钟 等 电路图和源代码全数奉上 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个文件信息
相关资源
- KSVD 经典PPT
- 数据挖掘经典英文文献.rar
- VS2008 柔黑色底主题,保护眼睛主题
- 深入理解计算机系统原书第三版超高
- 西门子200 PLC 自动焊机经典梯形图 程
- 经典polar编码译码程序
- CC2530 外部中断控制流水灯
- ANSYS经典_m17耦合和约束方程
- 二手物品交易系统概要设计说明书经
- 功率谱估计源代码 AR 经典谱 现代
- XR21V1410芯片USB转UART应用图很经典的
- 经典的阵列信号的处理方法教材讲义
- 走马灯,流水灯,KEIL,PROTEUS
- 锁相环经典芯片MB1504的51控制程序
- dreaming in code
- DSP经典程序
- Kalman 滤波经典论文
- 经典内弹道C程序源代码
- 经典的css+div模板
- 满屏幕下雪花圣诞经典推荐
- 数据结构经典例题经典考试题复习题
- 自己写的51单片机基本程序,适合初学
- 经典进化算法SPEA2程序
- 32心形流水灯
- 前端面试经典题目合集
- 极客学院 Docker全面解读零基础实战
- 数字IC设计笔试面试经典100题
- 国外经典的31个flash as特效as3.0
- CVTE经典面试题目,考察80%模电功底
- MIMO基础,包括包括MIMO的信号模型和各
评论
共有 条评论