单片机实验——电子表(数码管动态显示技术)

(1. 开机时,显示12:00:00 的时间开始计时;
(2. P2.0 控制“秒”的调整,每按一次加1 秒;
(3. P2.1 控制“分”的调整,每按一次加1 分;
(4. P2.2 控制“时”的调整,每按一次加1 个小时;

 

 

(靠!proteus的7seg-mpx4-cc数码管电器特性仿真不标准,导致显示结果不正常,害我白折腾了7个小时!一直在自己的代码上找错!)

 

 

基本原理:通过计时器/计数器的中断依次使每个数码管显示其所需要的数字,当中断频率较高时,利用人的肉眼的观测延时性,使人看起来像是一直在亮着。

 

编译环境:KEIL C51 V3
仿真软件:proteus 7.4
单片机类型:AT89C52
数码管类型:7seg-mpx4-cc

开关选用:BUTTON

 

单片机上的程序如下:

 

  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
单片机课程设计报告 单 片 机 秒 表 系 统 课 程 设 计 班级: 课程名称: 秒表设计 成员: 实训地点:北校机房 实训时间:6月4日至6月15日 目录 1课程设计的目的和任务 1.1 单片机秒表课程设计的概述 1.2课程设计思路及描述 1.3 课程设计任务和要求 2硬件与软件的设计流程 2.1系统硬件方案设计 2.2所需元器件 3 程序编写流程及课程设计效果 3.1源程序及注释 3.2原理图分析 3.3课程设计效果 4 心得体会 1. 课程设计的目的和任务 1.1单片机秒表课程设计的概述 一、课程设计题目 秒表系统设计——用STC89C51设计一个4位LED数码显示"秒表",显示时间为000.0~9分 59.9秒,每10毫秒自动加一,每1000毫秒自动加一秒。 二、增加功能 增加一个"复位"按键(即清零),一个"暂停"和"开始"按键。 三、课程设计的难点 单片机电子秒表需要解决几个主要问题,一是有关单片机定时器的使用;二是如何实 现LED的动态扫描显示;三是如何对键盘输入进行编程;四是如何进行安装调试。 四、课程设计内容提要 本课程利用单片机的定时器/计数器定时和记数的原理,结合集成电路芯片8051、LE D数码管以及课程箱上的按键来设计计时器。将软、硬件有机地结合起来,使得系统能够 正确地进行计时,数码管能够正确地显示时间。其中本课程设计有三个开关按键:其中 key1按键按下去时开始计时,即秒表开始键,key2按键按下去时数码管清零,复位为"0 0.00". key3按键按下去时数码管暂停。 五、课程设计的意义 1) 通过本次课程设计加深对单片机课程的全面认识复习和掌握,对单片机课程的应用进 一步的了解。 2) 掌握定时器、外部中断的设置和编程原理。 3) 通过此次课程设计能够将单片机软硬件结合起来,对程序进行编辑,校验。 4) 该课程通过单片机的定时器/计数器定时和计数原理,设计简单的计时器系统,拥有正 确的计时、暂停、清零,并同时可以用数码管显示,在现实生活中应用广泛,具有 现实意义 1.2课程设计思路及描述 该课程设计要求进行计时并在数码管上显示时间,则可利用MCS- 51系列单片机的芯片AT89C51的P3.2,P3.3,RST作为按键的入口;定时器T1作为每0.1秒 加一的定时器。其中"开始"按键当开关由上向下拨时开始计时,此时若再拨"暂停"按键 则数码管暂停;"清零"按键当开关由上向下拨时数码管清零,此时若再拨"开始"按键则 又可重新开始计时。 1.3 课程设计任务和要求 1.3.1 设计指标 。 了解8051芯片的的工作原理和工作方式 ,使用该芯片对LED数码管进行显示控制,实现用单片机的端口控制数码管,显示分、秒 ,并能用按钮实现秒表起动、停止、9分59.9秒、清零等功能,精确到0.1秒。 要求选用定时器的工作方式,画出使用单片机控制LED数码管显示的电路图,并实现 其硬件电路,并编程完成软件部分,最后调试秒表起动、停止、清零等功能。 2.软件与硬件设计 2.1系统硬件方案设计 单片机应用系统由硬件系统和软件系统两部分组成。硬件系统是指单片机以及扩展的 存储器、I\O接口、外围扩展的功能芯片以及接口电路。软件系统包括监控程序和各种应 用程序。 在单片机应用系统中,单片机是整个系统的核心,对整个系统的信息输入、处理、信 息输出进行控制。与单片机配套的有相应的复位电路、时钟电路以及扩展的存储器和I\ O接口,使单片机应用系统能够运行。 在一个单片机应用系统中,往往都会输入信息和显示信息,这就涉及键盘和显示器 。在单片机应用系统中,一般都根据系统的要求配置相应的键盘和显示器。配置键盘和 显示器一般都没有统一的规定,有的系统功能复杂,需输入的信息和显示的信息量大, 配置的键盘和显示器功能相对强大,而有些系统输入/输出的信息少,这时可能用几个按 键和几个LED指示灯就可以进行处理了。在单片机应用系统在中配置的键盘可以是独立键 盘,也可能是矩阵键盘。 2.2 所需原器件 "名称 "数量 " "四位数码管 "1个 " "200欧电阻 "13个 " "1千欧电阻 "4个 " "开关 "3个 " "电容 "3个 " "晶振 "1个 " "三极管 "4个 " "AT89C51 "1个 " "导线 "若干 " AT89C51的接口连接示意图 四位数码管的接口连接示意图 共阴级数码管编码 主程序流程图: 子程序流程图 3.程序编写的流程及课程设计效果 3.1 源程序及注释 ORG 0000H AJMP TOU ORG 000BH 外部中断0入口地址 LJMP MIAO ORG 0003H 外部中断0入口地址 LJMP KG ORG 0030H 定时器中0断入口地址 TOU:MOV b,#02H MOV r3,#00H MOV
单片机C语言程序设计实训100例基于8051+Proteus仿真源码: 第 01 篇 基础部分 01 闪烁的LED 02 从左到右的流水灯 03 左右来回的流水灯 04 花样流水灯 05 LED模拟交通灯 06 单只数码管循环显示0-9 07 8只数码管滚动显示单个数字 08 8只数码管显示多个不同字符 09 8只数码管闪烁显示 10 8只数码管滚动显示数字串 11 K1-K4 控制LED移位 12 K1-K4 键状态显示 13 K1-K4 分组控制LED 14 K1-K4 控制数码管移位显示 15 K1-K4 控制数码管加减演示 16 4×4键盘矩阵控制条形LED显示 17 数码管显示4×4键盘矩阵按键 18 开关控制LED 19 继电器控制照明设备 20 数码管显示拨码开关编码 21 开关控制报警器 22 按键发音 23 播放一段音乐 24 INT0中断计数 25 INT0中断控制LED 26 INT0及INT1中断计数 27 TIMER0控制单只LED闪烁 28 TIMER0控制流水灯 29 TIMER0控制四只LED滚动闪烁 30 TIMER0控制LED二进制计数 31 TIMER0与TIMER1控制条形LED 32 10秒的秒表 33 用计数器中断实现100以内的按键计数 34 100000秒以内的计时程序 35 定时器控制数码动态显示 35 定时器控制数码管动管显示 36 8×8LED点阵屏显示数字 37 按键控制8×8LED点阵屏显示图形 38 用定时器设计的门铃 39 演奏一段音阶 40 按键控制定时器选播多段音乐 41 定时器控制交通指示灯 42 报警器与旋转灯 43 串行数据转换为并行数据 44 并行数据转换为串行数据 45 甲机通过串口控制乙机LED闪烁 46 单片机之间双向通信 47 单片机向主机发送字符串 48 单片机与PC机串口通讯仿真 第 02 篇 硬件应用 01 74LS138译码器应用 02 74HC154译码器应用 03 74HC595串入并出芯片应用 04 74LS148扩展中断 05 IIC-24C04与蜂鸣器 06 IIC-24C04与数码管 07 6264扩展内存 08 用8255实现接口扩展 09 555的应用 10 BCD译码数码管显示数字 11 MAX7221控制数码管动态显示 12 1602字符液晶滚动演示程序 13 1602液晶显示的DS1302实时时钟 14 12864LCD图形滚动演示 15 160128LCD图文演示 16 2×20串行字符液晶演示 17 开关控制12864LCD串行模式显示 18 ADC0832模数转换与显示 19 ADC0808 PWM实验 20 ADC0809模数转换与显示 21 用DAC0832生成锯齿波 22 用DAC0808实现数字调压 23 PCF8591模数与数模转换实验 24 DS1621温度传感器实验 25 DS18B20温度传感器实验 26 正反转可控的直流电机 27 正反转可控的步进电机 28 键控看门狗 第 03 篇 综合设计 01 可以调控的走马灯 02 按键选播电子音乐 03 可演奏的电子琴 04 1602LCD显示仿手机键盘按键字符 05 1602LCD显示电话拨号键盘按键实验 06 12864LCD显示计算器键盘按键实验 07 数码管随机模拟显示乘法口诀 08 1602LCD随机模拟显示乘法口诀 09 用数码管设计的可调式电子钟 10 用1602LCD设计的可调式电子钟 11 用DS1302与数码管设计的可调电子表 12 用DS1302与1602LCD设计的可调式电子日历与时钟 13 用DS1302与12864LCD设计的可调式中文电子日历 14 用PG12864LCD设计的指针式电子钟 15 高仿真数码管电子钟 16 1602LCD显示的秒表 17 数码管显示的频率计 18 字符液晶显示的频率计 19 用ADC0832调节频率输出 20 用ADC0832设计的两路电压表 21 用数码管与DS18B20设计温度报警器 22 用1602LCD与DS18B20设计的温度报警器 23 数码管显示的温控电机 24 温度控制直流电机转速 25 用ADC0808设计的调温报警器 26 160128LCD中文显示温度与时间 27 用DAC0808设计的直流电机调速器 28 160128液晶中文显示ADC0832两路模数转换结果 29 160128液晶曲线显示ADC0832两路模数转换结果 30 串口发送数据到2片8×8点阵屏滚动显示 31 用74HC595与74LS154设计的16×16点阵屏 32 用8255与74LS154设计的16×16点阵屏 33 8×8LED点阵屏仿电梯数字滚动显示 34 用24C04与1602LCD设

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值