资源简介
包含六个经典的仿真实例 流水灯 走马灯 数字时钟 等 电路图和源代码全数奉上 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个文件信息
相关资源
- pb经典回答
- photoshop经典1000例
- 华为SDH原理教材(很经典的)
- 51单片机基于protues的几个仿真实例
- PC -- 单片机的串口数据传输系统设计
- 硬件课程设计—流水灯(quartus软件
- tsai经典两步法 很不错的
- js实现的日历控件(经典好用)
- 企业局域网毕业论文 经典
- coe2tle经典轨道根数转成二行轨道根数
- 简单三层架构,经典小程序
- 哲学家进餐问题 算法 vc源代码 测试通
- 关于角点检测算法HarrisForstner经典算子
- 经典的Viterbi算法
- 经典近乎绝迹的苹果变色鼠标指针
- 经典wav音乐,特别收录
- OFDM 系统PAPR减小的三种经典方法
- 收藏奉献_DOS汉字系统08:WPS 2.3 + CXD
- 收藏奉献_DOS汉字系统03:WPS 2.0 + 金山
- Windows 1.0 软盘镜像
- Rockey1加密狗易语言读狗写狗源码经典
- plc-西门子S7-226流水灯plc编程(流水灯
- Verilog的135个经典设计
- 黑苹果—盈通 R6770-1024GD5 TA 经典版
- 基于SPCE061A单片机汇编语实现的流水灯
- 翻译的美国大学经典参考书,Roland
- 高导动力学的经典和量子稳定性
- svn版本控制软件经典培训PPT教程,不
- PCB电路设计指南经典
- Electric Motors and Drives (Austin)
评论
共有 条评论