51tracer单片机仿真器之最简单的八路跑马灯源程序
51tracer仿真器完美支持最新版本 keil uv3
51 TRACER仿真器是目前同行业功能完整,稳定,技术先进的仿真器。
兼容KEILC51 UV2 调试环境支持单步、断点、随时可查看寄存器、变量、IO、内存内容。支持夭折功能,全速运行时按STOP按钮即暂停,并指向当前程序行。可仿真各种51指令兼容单片机,ATMEL、WINBOND、INTEL、SST、ST等等。可仿真ALE禁止,可仿真PCA,可仿真双DPTR,可仿真硬件SPI。
真实仿真(32个IO、串口、T2可完全单步仿真),包括任意使用P30和P31口。
单USB接口,无需外接电源和串口,即插即用,台式电脑、无串口的笔记本均适用。三CPU设计,采用仿真芯片+监控芯片+USB芯片结构 。
下载仿真通讯急速115200BPS,也是KEIL支持的最高速度,相比以前版本提高一个数量级(10倍以上),单步运行如飞。如果您以前用过SST单芯片仿真方案,用51TEACER将有 开奔驰的感觉。
内置晶体功能,可以选择最常用的4,11.0592,12,24MHZ晶体。解决晶体引线过长导致的不稳定。
独创多声响和LED指示实时系统状态和自检,特别设计P1.0自检灯,方便排除故障。
独创长按复位键自动进入脱机运行模式,这时仿真机就相当于目标板上烧好的一个芯片,可以更加真实的运行,这种情况下实际上就变了一个下载器,而且下次上电时仍然可以运行上次下载的程序。
主要功能和特性:
可仿真单片机品种: 8xC51/52/54/58及其兼容型单片机
内部仿真时钟: 4mhz,11.0592mhz,12mhz,24mhz
内部仿真程序存储器:63K
断点类型:程序地址/步进/步越/返回
目标系统硬件功能: 支持目标复位功能和目标中断功能
软件特点: 支持多种汇编语言和C语言(包括Keil C 7.0) 支持Keil的IDE集成开发环境,支持软件仿真功能 支持多重嵌套变量和数据结构
提供各种标准的Debug功能
1. 真实仿真P0,P1,P2,P3口,P3.0,P3.1串口,定时器2
2.支持89C52等嵌入式CPU仿真,可以仿真标准的89C51,89C52,89C58等51内核的单片机
3.ISP 在线编程,在线下载,63K程序空间
4.仿真频率涵盖4mhz,11.0592mhz,12mhz,24mhz
5.支持同时最多20个断点
6.支持单步,断点,全速运行,包括以下方式
地址断点
在执行程序中,当遇到用户设置的地址断点时则停止。在文本窗中最左侧的操作列中可执行行的位置点击,可以设置或取消地址断点。程序正确通过编译后, 可执行行与非执行行可以简单地从该行操作列的背景色区分出来:可执行行操作列的背景色是浅蓝色的,而非执行行操作列的背景色是浅灰色的。
步进断点
执行一行程序后停止。在执行中如果遇到调用函数/子程序,则停在函数/子程序的入口。
步越断点
执行一行程序后停止。在执行中遇到调用函数/子程序时不做停留。
返回断点
这是一种特殊功能的断点,使用时必须特别注意使用条件,用户只能在被调用的函数/子程序中使用这种断点。
7.支持汇编,C语言,混合调试
8.内置晶体,解决用户电缆较长带来的干扰问题
9.速度运行如飞,让您的工作充满乐趣。
10.完全兼容keilC51 UV2调试环境,可以通过UV2环境进行单步,断点,全速等操作,兼容keil 7.0以上中文,英文,uv3等版本。即便使用英文版本keil也完全无问题!实验1: 最简单的八路跑马灯
本例实验主要用到了延时子程序,clr,lcall,ajmp 指令, 通过轮流点亮p1.0 …..P1.7 实现效果。用户可以通过此程序的学习, 初步掌握单片机的IO端口操作。
练习1: 怎样把延时的时间改为更短, 或者更长?
练习2: 怎样用P0,P2,P3端口来操作?
练习3: 怎样实现不同的跑马花样?
程序运行照片:
接线方法: 用一条8PIN的数据排线把CPU部份的P1口(JP44)连接到八路指示灯部份的JP32
接线图以及运行瞬间的照片(可以看到8路指示灯轮流点亮)
汇编语言参考程序:
org 0000h ;开始
ajmp loop
org 0080h ;到0030h处避开00-30的敏感地址
loop:
mov p1,#0ffh ;关闭所有灯
clr p1.0 ;点亮灯p1.0
lcall delay ;延时一段时间?
clr p1.1 ;点亮灯p1.1
lcall delay
clr p1.2 ;点亮灯p1.2
lcall delay
clr p1.3 ;点亮灯p1.3
lcall delay
clr p1.4 ;点亮灯p1.4
lcall delay
clr p1.5 ;点亮灯p1.5
lcall delay
clr p1.6 ;点亮灯p1.6
lcall delay
clr p1.7 ;点亮灯p1.7
lcall delay
AJMP LOOP ;到最开始loop处重新运行
delay: mov r5,#20 ;延时。
d1: mov r6,#40
d2: mov r7,#248
djnz r7,$
djnz r6,d2
djnz r5,d1
ret
end
c语言参考程序:
#include<reg51.h> //头文件
#define uchar unsigned char //宏定义,为方便编程
#define uint unsigned int
#define LED P1 //宏定义,将P1口定义为LED
uchar led_value[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0x00}; //定义一数组,内存放跑马灯数据
uchar *p=led_value; //定义指针,指向跑马灯数组首地址
void delay() //延迟函数,与跑马灯跳动频率有关
{
uchar ii,jj;
for(ii=0;ii<200;ii++)
for(jj=0;jj<200;jj++);
}
void run_led() //跑马灯运行函数
{
while(*p!=0x00)
{
LED=*p; //将数组中数据取出赋给P1口
p++; //预取下一数据
delay(); //延迟
}
p=led_value;
}
char code SST516[3] _at_ 0x003b; //仿真器保留
main() //主函数
{
while(1)
run_led(); //上电即运行跑马灯程序
}
一个不需要专业知识和单片机就可以轮流交替闪烁的跑马灯设计
接触过单片机的朋友都会对流水灯有了解,那时我们是用单片机来制作的,但是你如果单纯做个流水灯,选择使用单片机来做的话未免有些资源的浪费,今天就教给大家一个不用单片机就可以交替闪烁的跑马灯。
单片机流水灯(图片来源于网络,若侵权请联系删除)
单片机流水灯(图片来源于网络,若侵权请联系删除)
怎么制作的呢?来看一下原理图
流水灯原理图
由这个原理图可以看出我们使用的元件有电阻、电容、LED灯、三极管就这些常用的元件就可以了。
至于能够闪烁的原理呢也不难理解,三极管在电路中充当开关的作用,通上电后最左边的LED由于三极管最先被导通,从而最先被点亮,集电极串联一个电容连接到下一个三极管,当电容充电后把后一个三极管导通,导致后一个LED灯点亮,而由于后一个三极管导通又会引起前一个三极管截止,造成前一个LED熄灭,以次类推循环,这样就形成了这三类LED灯轮流被点亮,通过改变电容的大小还可以改变跑马灯闪烁的时间。
讲完原理后就准备下材料吧,来看下图片
制作材料
找到材料之后接下来就是按照原理图把应该连接的部分进行电气连接,大家在焊接的时候,最好把这些元件焊接到洞洞板上或者说在面包板上进行连接也行,如果单纯进行连接的话,会很乱,故障也难排查,而且容易失败,这几天给大家介绍几个小制作基本上都用到了洞洞板,也把我仅有的几个洞洞板给消耗完了,如果不用洞洞板直接焊接是很乱的,看下焊接图你就知道了
制作图
是不是看起来非常乱,确实是这样,再来看一张以前打印的PCB
PCB跑马灯
打成PCB板的看起来是不是好多了,把它设计成心形就更好看了。
可能有人不理解了为什么原理图中的跑马灯的制作是三个LED灯,而到变成那么多了,其实不管LED灯再多原理都是一样的,那个原理图可以说是单位电路,我们需要多加LED无外乎在原先有LED的地方再多并联几个LED,这样就能做成上图中的心形。
这种制作方法,简单,材料好找又不需要单片机基础,可以说只要你想做就能做出来,还不赶快制作一个。
注:流水灯和跑马灯是指一种东西,所以文章中没有区分,不同的人有不同的叫法!
相关问答
单片机 编程 跑马灯 怎么停下来继续跑?单片机编程跑马灯可以通过添加一个开关或者延时函数来实现停下来继续跑的功能。当开关被按下时,可以通过改变程序中的循环条件或者控制变量来暂停跑马灯的循环...
vtv 跑马灯 闪烁是怎么回事?1、电视电源灯一直闪烁可能是因为电源线似断非断、插座内部接触不良。解决办法:检查电源线是完好,或者更换一个新的排插。2、电视电源灯一直闪烁可能是因为CP...
51 单片机 最小系统( 跑马灯 )不工作?,视频 跑马灯 系统哪家质量...[回答]微信直播云课堂.叮叮开课微信生态优势:随时随地在微信内管理网校,绑定微信公众号,朋友圈便捷分享、自发社群传播、多重裂变营销自主研发的多个软件...
led 跑马灯 怎么安装?要让跑马灯显示实时行情,需要把软件的行情信号源接入跑马灯。一般这个信号源的接入都是用软实现的。如果你配了跑马灯的话,安装的人员会教你怎么把信号源接入...
烦大神们!咨询一下 51 单片机 最小系统( 跑马灯 )不工作?,视频...[回答]下载部分要接串口通信电路。直接接max232就可以了10年经验开发技术团队-支从事软件开发10余年、反应迅速、讲求团队合作的技术团队,奠定了开发实力...
为什么自己设计不出来 单片机 程序?该怎么做?设计编写单片机程序是一个渐进的过程不可一蹴而就,毕竟单片机程序是与硬件有密切关系的,我们一般称为单片机程序叫底层硬件驱动程序。编写程序不但要对软件要熟...
人眼对于多少赫兹频率以上的刷新率基本不感到闪烁? - 183****...答:刷新率达到100Hz时,几乎不感到闪烁。试验:(1)初始,单片机跑马灯试验,初始设置闪烁周期100ms,使得两个LED灯以10Hz刷新率来回闪烁(交替亮暗)。(2)...
C语言编写年历显示程序20分- 汇财吧专业问答test[回答]一、设计题目万年历的设计二、设计要求1、能够显示星期;2、能够显示年月日;3、能够修改;4、当系统时间变动时,能自动跳到相应的时间。三...C语言设...
请回答! 单片机 开发板怎么使用?仪器仪表 单片机 开发排名好不好...[回答]掌握51单片机开发板的使用步骤;掌握51单片机开发板所需软件的安装过程;以LED灯闪烁为例子,掌握软件KEIL3的使用方法。这是单片机GPIO控制实验报告,...
multisim中的滑动变阻器如何调节单片机电子类等相关专业的一门重要课程,在实际工程中有着广泛应用。全各大中专院校开设了不同类型的单片机课程及相关的实验和综合设计。在些专业的...