文章目录

  • 一.目的:
  • 二.在keil中进行程序编译
  • 三.在proteus上画出电路图
  • 四.将keil中编译的hex文件在proteus电路图中进行仿真运行

一.目的:

使用keil进行编译并且用proteus画出电路图,实现一个简单的用51单片机来完成0~F的数码管字符显示

二.在keil中进行程序编译

1.打开keil应用,建立一个新工程,输入工程名并且保存至文件中

2.创建一个新的.c文件,输入需要的代码,保存至指定文件


代码如下:

//#include<reg52.h>  //包含头文件void delay(void){unsigned char i,j;for(i=0;i<255;i++){for(j=0;j<255;j++);}}   //主函数void main(void){unsigned char i;unsigned char code Tab[16]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E};   //定义数字0-f的断码表while(1){for(i=0;i<16;i++)   //循环16次。数码管循环显示数字0-f{P0=Tab[ i];  //P0口输出数字0-F对应的断码delay( );  //延时}}}

3.对程序进行编译,看是否存在错误,其编译结果如下所示:

三.在proteus上画出电路图

1.新建一个工程,修改工程的名字,点下一步
(1)点新建工程

(2)点击下一步


(3)后面继续点下一步,然后得到一个布景图,便可以开始进行电路图的绘制:

2.进行元件的选择:
基本的proteus的使用,便是进行元件的选择,然后进行摆放、连线,现在介绍51单片机实现0~F的数码管字符显示所需要的元件:
(1)51单片机的选择
点击左侧的P键

在搜索框输入“89c51",选择相应的器件

(2)晶振的选择:
同样在P键中进行元器选择,在搜索框中输入”crystal”,找到相应的元件:

(3)电阻的选择:
在搜索框中输入“res",找到元件点击确定

(4)电容的选择:
在搜索框中输入“cap”,选择元件并确定

(5)数码管的选择
在搜索框中输入“7seg”,找到元件并进行确定

(6)终端的选择:
点击左侧按钮,电源和接地都在如图所示中选择

3.进行电路图的连接绘制
按照如图所示进行电路图的连接:

四.将keil中编译的hex文件在proteus电路图中进行仿真运行

1.右键点击Target 1,点击Options for 'Target 1’

2.点击output,勾选“Create HEX File",点击OK

可以看到文件中生成了hex文件

3.hex文件在proteus上运行
(1)双击89c51单片机,出现如下界面,点击Program File旁边的文件图标

(2)添加hex文件,点击确定

4.进行电路图的仿真
(1)点击三角形符号运行

(2)仿真结果如下:


如何使用keil进行编译并且用proteus进行51单片机仿真实现0~F的数码管字符显示相关推荐

  1. 基于proteus的51单片机仿真实例二、关于proteus

    一.proteus的使用 proteus软件能对单片机系统同时进行软件和硬件仿真.是初学单片机而又没有硬件工具的一个很好的选择. 后面的学习将以protwus 7.4中文版为学习平台. 1.软件的下载 ...

  2. 基于proteus的51单片机仿真实例五十七、定时器/计数器T0的定时实例

    1.本例使用定时器T0的定时中断来控制P1.0端口的LED闪烁,定时周期为100MS,LED点亮50MS,熄灭50ms. 2.实现方法:首先将定时器设置为定时方式,然后选择工作方式,在使用定时中断前要 ...

  3. 基于proteus的51单片机仿真实例七十六、8-3编码芯片74HC148应用实例

    1.本例使用8-3编码芯片74HC148实现外部中断扩展,可以实现对8路外部中断信号按优先级进行处理 2.74HC148是带优先级的编码芯片,对于外部的8根数据输入线,只要有一根或者几根被置0,编码芯 ...

  4. 基于proteus的51单片机仿真实例七十二、并口转串口器件74HC165应用实例(续)

    1.本例使用单片机的串口,使串口工作于移位寄存器模式,165的串行输出端口连接到单片机的串行数据输入端,单片机的串行数据发送端负责发送移位时钟脉冲,与165的CLK引脚相连.学要注意的是SH/LD引脚 ...

  5. proteus矩阵按键计算机,基于proteus的51单片机仿真实例八十二、4X4矩阵键盘应用实例...

    1.矩阵键盘的工作原理: 1)接口电路:在单片机系统中,当按键数量较多时,为了减少IO口的使用,通常将按键排列成矩阵型式,例如本例中的16个按键,被排列成了如下图所示的4X4矩阵方式.即由4根行线和4 ...

  6. 51单片机蜂鸣器播放音乐C语言程序实例,基于proteus的51单片机仿真实例八十八、用蜂鸣器播放一段音乐应用实例...

    1.前面我们已经学习了如何让单片机控制蜂鸣器发出不同的声音.现在我们更进一步,让单片机控制蜂鸣器发出再复杂一些的声音:模拟乐音输出 2.关于音乐的乐谱和节拍这些知识,我们将在下一节进一步说明 3.在k ...

  7. 基于proteus的51单片机仿真实例五、第一个proteus仿真实例(续)

    接上一节,继续来学习一下PROTEUS的应用. 1.元器件的放置.移动.旋转删除 以at89c51为例来介绍元器件的放置和编辑操作. 1)放置 在对象选择器中选择"at89c51" ...

  8. c++程序设计_基于proteus的51单片机开发实例30-模块化程序设计

    1. 基于proteus的51单片机开发实例30-模块化程序设计 1.1. 实验目的 模块化程序设计 不知不觉我们的51单片机开发实例已经进行到第三十篇了,是时候进行一个总结和反思了,总结什么?反思什 ...

  9. hc05与单片机连接图_基于proteus的51单片机开发实例(13)-LED指示那个按键被按下

    1. 基于proteus的51单片机开发实例(13)-LED指示那个按键被按下 1.1. 实验目的 本实例将实现两路外部中断的检测和识别,让我们能够更好地理解51单片机的外部中断以及中断优先级的概念. ...

最新文章

  1. 从零开始学python数据分析-从零开始学Python数据分析与挖掘 PDF 扫描版
  2. Spring松耦合的实现
  3. 解决ubuntu Gvim 菜单乱码
  4. 【Linux】一步一步学Linux——Linux系统常用快捷键(12) 待更新...
  5. 双链表的基本操作---插入,删除,交,并,相邻元素的交换,不相邻元素的交换...
  6. AUTOSAR专业知识篇(六)-自动驾驶传感器的选择与布置
  7. windows安装java环境
  8. 02怎么取整php,php取整的几种方式
  9. mac nginx映射ip和端口_步骤四、nginx反向代理
  10. 移动端webview canvas bug
  11. igm焊接机器人基本操作_焊接机器人编程与操作
  12. 洛谷OJ P1802 5倍经验日 动态规划
  13. 用Windows自带的画图软件拼接(合成)多张图片
  14. 使用pandas对excel表格筛选
  15. Distractor-aware Siamese Networks for Visual Object Tracking 论文学习
  16. linux用mpi运行命令,linux mpirun命令
  17. Cannot find any credentials with id 283d811e-7a65-4977-b560-9c66555e19d6
  18. 生活用纸抗张强度预测Baseline
  19. 解决一切运行库问题 运行库合集安装包、DirectX修复工具、.net最新合集包
  20. 2019年全网最全的新手SEO教程

热门文章

  1. 不填写内容用哪个斜杠代替_【几月几日怎么写斜杠】作文写作问答 - 归教作文网...
  2. java中正则表达式校验日期,1999-01-01 ,1991\01\01,-分割和\分割两种形式
  3. 选择模型 _ 审查回归算法
  4. 系统时间不够精确?试试RTC(实时时钟)
  5. 自适应业务提供的NGN业务体系结构项目调研论文(Draft1)
  6. 力扣 python刷题
  7. super()的两个参数
  8. Windows Terminal 配置GIT
  9. python写手机应用宝下载_APK 批量爬取脚本(应用宝和360市场)
  10. 《流畅的python》这本确实老辣