单片机c语言版数码动态显示实验报告

数码管动态显示实验一、实验要求在Proteus软件中画好51单片机最小核心电路,包括复位电路和晶振电路在电路中增加四个7段数码管(共阳/共阴自选),将P1口作数据输出口与7段数码管数据引脚相连 ,P2.0~P2.3引脚输出选控制信号在Keil软件中编写程序,采用动态显示法,实现数码管显示变量unsigned int show_value的值(show_value的值范围为0000~9999),即把show_value的千百十个位的值用数码管显示出来。二、实验目的巩固Proteus软件和Keil软件的使用方法学习端口输入输出的高级应用掌握7段数码管的连接方式和动态显示法掌握查表程序和延时等子程序的设计三.实验说明(条理清晰,含程序的一些功能分析计算)如下图(五)所示,由P1口将要显示的数字输给七段数码管;再由P2第四位输给数码管的公共端,作为扫描输入信号;用外部中断P3.2和P3.3分别接PB1与PB2,实现数字的增减。所要实现的功能是,开始运行???路功能图时,四个数码管分别显示0000,按下PB1增1,直到9999回到0000,相反按下PB2减1,直到0000回到9999。在算相关数据时,由于要显示个十百千的不同数字,要调用disp函数, disp[0]=show/1000; //显示千位的值 disp[1]=show%1000/100; //显示百位的值disp[2]=show%100/10; //显示十位的值 disp[3]=show%10; //显示个位的值本实验需要用到IE寄存器与TCON寄存器。四、硬件原理图及程序设计(一)硬件原理图设计

图(五) 开始运行proteus,四个数码管显示0000,按下PB1数码管增1,按下PB2数码管减1。(二)程序流程图设计 开始声明函数与变量变量 中断设置 显示数组延迟函数

三)程序设源代码#include //定义8051寄存器头文件#defineSEG7PP1 // 定义数码管输入信号接P1#defineSCANPP2 //定义数码管扫描信号接P2char code TAB[10]={0xc0, 0xf9, 0xa4, 0xb0, 0x99,//数字0~4 0x92, 0x83, 0xf8, 0x80, 0x98 };//数字5~~9char disp[4]={0,0,0,0}; //显示数组void delay_ms(int x); //声明延迟函数char scan[4]={0xfe,0xfd,0xfb,0xf7}; //声明输入扫描信号char i,j; //声明变量void display(); //显示数组diso的内容int show=0000; //定义初始值void get_disp(); //声明返回diapmain() //主程序开始{ IE=0X85; //开IE寄存器,允许INT0和INT1中断 TCON=0X05; //开INT0,INT1 while(1) //无穷循环 { get_disp(); display(); }}void delay_ms(int x) //声明延迟函数{int i,j; //定义变量for (i=0;i

单片机c语言数码显示实验报告,单片机c语言版数码动态显示实验报告.doc相关推荐

  1. 2048java课程设计报告_软件工程——Java版2048游戏学习报告

    2048游戏学习报告 姓名:王浩 专业:计算机科学与技术 年级:15级4班 学号:201510411420 目录 一. 前言                                       ...

  2. python网站设计开题报告_(完整word版)网站设计开题报告

    网站设计开题报告 题目:基于 Web 的网上书店系统前台子系统 学院:基础与信息工程学院 专业:网络工程 年级: *** 学生姓名:王 ** 指导教师:曹 ** 日期: ** 年 12 月 15 日 ...

  3. c语言单片机驱动数码管程序,51单片机IO口直接驱动LED数码管方法

    1.实验任务 如图13所示,利用AT89S51单片机的P0端口的P0.0-P0.7连接到一个共阴数码管的a-h的笔段上,数码管的公共端接地.在数码管上循环显示0-9数字,时间间隔0.2秒. 2.电路原 ...

  4. 51单片机c语言io口程序,51单片机IO口直接驱动LED数码管方法

    1.实验任务 如图13所示,利用AT89S51单片机的P0端口的P0.0-P0.7连接到一个共阴数码管的a-h的笔段上,数码管的公共端接地.在数码管上循环显示0-9数字,时间间隔0.2秒. 2.电路原 ...

  5. 单片机c语言数码显示实验报告,单片机动态显示技术实验报告.doc

    桂林电子科技大学 实验报告 开 课 单 位 适用年级.专业 机械 课 程 序 号 课 程 代 码 实 验 名 称 <动态显示技术> 动态显示技术实验报告 一.实验目的 1.掌握动态显示技术 ...

  6. 单片机按键控制数码管c语言程序,基于单片机的按键控制LED数码管共阴极动态显示电路设计报告(毕业论文).doc...

    基于单片机的按键控制LED数码管共阴极动态显示电路设计报告(毕业论文) 物理与电子工程学院2014级课程设计 PAGE IV 物理与电子工程学院 <单片机原理与接口技术> 课程设计报告书 ...

  7. 51单片机c语言显示hello,51单片机控制动态数码管显示12345和HELLO字样的设

    1.实验任务 如图4.13.1所示,P0端口接动态数码管的字形码笔段,P2端口接动态数码管的数位选择端,P1.7接一个开关,当开关接高电平时,显示"12345"字样:当开关接低电平 ...

  8. 单片机c语言ad与da转换实验报告,单片机AD与DA转换实验报告.docx

    单片机AD与DA转换实验报告.docx 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我们的网址水印. 3 ...

  9. 单片机实例21——拉幕式数码显示技术(硬件电路图+汇编程序+C语言程序)

    21. 拉幕式数码显示技术 1. 实验任务 用AT89S51单片机的P0.0/AD0-P0.7/AD7端口接数码管的a-h端,8位数码管的S1-S8通过74LS138译码器的Y0-Y7来控制选通每个数 ...

最新文章

  1. 体素法滤波(附实现代码)
  2. 数组之间的计算matlab,MATLAB软件数组的运算
  3. React官方文档学习笔记(二)
  4. InnoDB和MyISAM是否支持hash索引
  5. debian与cenos常见命令不同处
  6. boost::multiprecision模块random相关的测试程序
  7. echarts python源码_基于Django快速集成Echarts代码示例
  8. python如何删除代码_Python列表删除的三种方法代码分享
  9. ZuulFilter的使用场景
  10. 简 易 版 线 程 池 模 型 学 习
  11. oracle10g rac升级到10.2.0.5
  12. java 应用监控系统_GitHub - jiangbin216/JavaMonitor: 一款适用于Java应用的在线性能监控系统(JM)...
  13. php 新浪ip接口,php利用新浪接口查询ip获取地理位置示例
  14. 唐努乌梁海问题的由来
  15. Redis 与 MySQL 数据一致性问题
  16. RK3326 Android 8.1 吉字节问题解决
  17. FYI | 谷歌的summer project围观一下
  18. 云开发表情包制作神器微信小程序源码下载,支持各种自定义
  19. IE-LAB网络实验室:VPLS技术介绍
  20. 【.Net实用方法总结】 整理并总结System.IO中FileInfo类及其方法介绍

热门文章

  1. hdu 4288 Coder (成都赛区 线段树)
  2. The last time...
  3. PHP Lumen Laravel 解决validate方法自定义message无效的问题
  4. rsa加解密的内容超长的问题解决
  5. WinForm 处理未处理的异常 Application.ThreadException + AppDomain.CurrentDomain.UnhandledException
  6. angular5使用httpclient时解决跨域问题
  7. 【报告分享】2021年中国企业直播成长路径研究报告.pdf(附下载链接)
  8. 【报告分享】2020中国基民图鉴.pdf(附下载链接)
  9. 【推荐视频】中科院赵军:知识图谱关键技术及其在推荐系统中的应用
  10. 算法工程师面试备战笔记5_下面哪个不属于数据的属性类别