建立仿真工程

初学者学习单片机编程,并不需要去网上买个开发板才能开始编程做实验,若是想先了解,可以先用proteus仿真软件来做实验,Protues软件具有其它EDA工具软件的功能。这些功能是:

1.原理布图

2.PCB自动或人工布线

3.SPICE电路仿真

另外,它可以仿真51系列、AVR、PIC、ARM、等常用主流单片机。还可以直接在基于原理图的虚拟原型上编程,再配合显示及输出,能看到运行后输入输出的效果。配合系统配置的虚拟逻辑分析仪、示波器等,Proteus建立了完备的电子设计开发环境。下面用AT89C55单片机外部连接8个LED反光二极管,采用共阴极连接方法。当单片机管脚输出为0时,LED亮;当管脚输出为1时,LED灭。

链接方法

编程环境

使用Keil 开发编译环境,首先建立一个新工程,接着建立一个.C文件,如main.c,单片机运行程序入口main(),开始编写程序代码。

编程环境

跑马灯程序代码

跑马灯需要一个延时程序,延时子程序调用delay(),然后单片机管脚在不同时段输出控制LED发光二极管,进行跑马灯的控制。以下贴上本次实验代码。欢迎讨论留言!

#include

#include

typedef unsigned char uint08;

typedef unsigned short int uint16;

typedef unsigned long int uint32;

void delay_ms(uint16 ms)

{

uint16 i,j;

for(i=0;i

{

for(j=0;j<255;j++)

{

_nop_();

}

}

}

// 0x01 0x02 0x04

uint08 display1[8] = {0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff};

uint08 display2[8] = {0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff};

void main()

{

uint08 i;

uint08 temp;

uint08 ptemp;

// 初始化变量

P2 = 0xff;

ptemp = 0;

while(1)

{

if(ptemp>=8)

{

ptemp = 0;

}

temp = display1[ptemp]; // ÿ´ÎÏÔʾledÊýÁ¿¼Ó1µÄ×Ö¶ÎÂë

for(i=0;i<8;i++)

{

P2 = ~temp;

temp <<= 1;

delay_ms(200);

}

temp = display2[ptemp];// ÿ´ÎÏÔʾledÊýÁ¿¼Ó1µÄ×Ö¶ÎÂë

for(i=0;i<8;i++)

{

P2 = ~temp;

temp >>= 1;

delay_ms(200);

}

ptemp++;

}

}

效果图

proteus跑马灯仿真_不花费一分钱,实现跑马灯编程实验相关推荐

  1. csgo跑图文件_[CSGO]Neko社区:跑图服务器简易使用指南

    前言 本文旨在玩家入门并熟悉使用本服跑图插件常用功能,提升跑图效率和竞技水平.我本人对于插件和游戏理解并没有到得心应手的程度,如有遗缺,欢迎评论补漏.当然也有为服务器打广告的目的. 基本跑图指令 在跑 ...

  2. python跑得慢_为什么我的smo跑得这么慢?

    我用python实现了一个smo算法.因为我只是作为一种实践,所以我没有使用像numpy和scipy这样的科学计算库.我只希望它能正常工作.但是当我在diabetes上测试我的代码时,它会持续运行一周 ...

  3. 基于51单片机8位竞赛抢答器_倒计时可调+LED跑马灯

    基于51单片机8位竞赛抢答器_倒计时可调+LED跑马灯仿真设计 (程序+proteus仿真+报告) Proteus仿真版本:proteus 7.8 程序编译器:keil 4/keil 5 编程语言:C ...

  4. 51单片机——软件延时实现跑马灯仿真

    注:本文主要利用keil和proteus软件联合仿真51单片机进行跑马灯实例(软件延时). keil 程序 #include <REGX51.H> void delay(unsigned ...

  5. 基于51单片机十字路交通灯仿真_黄灯闪烁_正常模式+夜间模式+紧急模式

    基于51单片机十字路交通灯仿真_黄灯闪烁+夜间+夜间 目录 基于51单片机十字路交通灯仿真_黄灯闪烁+夜间+夜间 演示视频 基本功能: 仿真图 程序 程序代码 程序讲解 倒计时的产生 红黄绿灯状态处理 ...

  6. 白光干涉衍射实验的计算机仿真,白光干涉_衍射实验的计算机仿真_蓝海江.pdf

    白光干涉_衍射实验的计算机仿真_蓝海江 28 12 实 验 室 研 究 与 探 索 V o.l 28 No. 12 2009 12 RESEARCH AND EXPLORAT ION IN LABOR ...

  7. 简单使用Modelsim跑个仿真

    简单使用Modelsim跑个仿真 第一步:打开Modelsim 第二步:点击File->New->Project(注意等待加载完了再去操作) 第三步:输入工程名称->选择工程文件-& ...

  8. matlab频分复用,基于MATLAB的频分复用系统的仿真_.doc

    基于MATLAB的频分复用系统的仿真_ 基于MATLAB的频分复用系统的仿真_毕业论文(设计) Abstract With the development of communication techn ...

  9. 基于OpenGL的雷达P显的系统设计与仿真 PPI_雷达仿真_雷达模拟器_雷达目标_雷达ppi_PPI显示器_源码

    基于OpenGL 开发的雷达P显 可以设置各种参数 源码下载链接 PPI_雷达仿真_雷达模拟器_雷达目标_雷达ppi_PPI显示器_源码-C++文档类资源-CSDN下载

最新文章

  1. AutoMapper用法
  2. android stack error message is Fail to start the plugin
  3. SQL Server 2005 Express附加(Attach)的数据库为“只读”的解决方法
  4. html css integrity,integrity 属性
  5. python 类函数 成员函数_python中的类函数、静态函数、成员函数以及类变量、成员变量...
  6. 【Go API 开发实战 5】基础1:启动一个最简单的 RESTful API 服务器
  7. 软件常用版本英文snapshot和ga
  8. 复旦大学计算机保研经历,#易保研#经验分享 | 个人经历分享,圆梦复旦大学!...
  9. oracle map order,oracle面向对象技术中的map和order方法有何不同?
  10. C/C++的memset函数的说明和使用
  11. 2018.8.29牛客OI测试赛A-斐波那契题解(找规律)
  12. 【安信可IDE 1.5模板专题1】安信可windows一体化环境IDE V1.5 版本降临,体积更小,兼容新旧版本SDK编译
  13. java中的public void_public void什么意思
  14. 《惢客创业日记》2019.01.30(周三)一月份的工作总结
  15. AMD将用FPGA干什么?
  16. fastapi 参数
  17. 新手想开一个传奇该如何操作?开一个传奇必须掌握哪些知识要点
  18. 电器企业网站建设-电器网站设计建设方案
  19. java实现.费诺编码_香农费诺编码的matlab实现.doc
  20. 对tabcontrol控件增强,添加关闭按钮功能、呼吸灯标签闪烁功能、类QQ消息数量标签提示TIP

热门文章

  1. 关于域名解析到服务器的问题
  2. java nio改造io,java – 将NIO与IO混合
  3. 关于struts2在页面请求转发到action的问题
  4. 2021宿州市地区高考成绩排名查询,2021年宿州市所有的高中排名,宿州市高中高考成绩排名出炉...
  5. 导致集群重启_干货丨如何水平扩展和垂直扩展DolphinDB集群?
  6. 终端滑模matlab程序,滑模变结构控制 MATLAB程序
  7. Two Paths CodeForces - 14D(暴力+树的直径)
  8. java mysql dao_Java DAO 模式
  9. 用MATLAB函数绘制系统的,用matlab绘制odes系统定义的函数
  10. 【计算机组成原理】计算机软硬件组成