MCS51单片机与八段数码管接口设计

合集下载

51单片机-八段数码管显示

51单片机-八段数码管显示

实验一八段数码管显示1、实验目的:(1)了解数码管动态显示的原理。

(2)了解74LS164扩展端口的方法。

2、实验要求:利用实验仪提供的显示电路,动态显示一行数据.3、实验电路图LED1LED2LED3LED4LED5LED64、实验器材:(1)超想-3000TB综合实验仪 1 台(2)超想3000仿真器 1 台(3)计算机 1 台5、实验连线无 6、实验说明:(1)本实验仪提供了8段码LED 显示电路,学生只要按地址输出相应数据,就可以实现对显示器的控制。

显示共有6位,用动态方式显示。

8段数码管是由8155的PB0、PB1经74LS164“串转并”后输出得到。

6位位码由8155的PA0口输出,经Ua2003反向驱动后,选择相应显示位。

74LS164是串行输入并行输出转换电路,串行输入的数据位由8155的PB0控制,时钟位由8155的PB1控制输出。

写程序时,只要向数据位地址输出数据,然后向时钟位地址输出一高一低两个电平就可以将数据位移到74LS164中,并且实现移位。

向显示位选通地址输出高电平就可以点亮相应的显示位。

本实验仪中数据位输出地址为0e102H ,时钟位输出地址为0e102H ,位选通输出地址为 0e101H 。

本实验涉及到了8155 I0/RAM 扩展芯片的工作原理以及74LS164器件的工作原理。

(2)七段数码管的字型代码表显示字形g f e d c b a 段码 0 0 1 1 1 1 1 1 3fh 1 0 0 0 0 1 1 0 06h 2 1 0 1 1 0 1 16bh 3 1 0 0 1 1 1 1 4fh 4 1 1 0 0 1 1 0 66h 5 1 1 0 1 1 0 1 6dh 6 1 1 1 1 1 0 1 7dh 7 0 0 0 0 1 1 1 07h 8 1 1 1 1 1 1 1 7fh 9 1 1 0 1 1 1 1 6fh A 1 1 1 0 1 1 1 77h B 1 1 1 1 1 0 0 7ch C 0 1 1 1 0 0 1 39h D 1 0 1 1 1 1 05ehE 1 1 1 1 0 0 1 79h F1111 71hab c def g dp7、程序框图8、实验步骤1.将KEIL仿真器上40芯排线一端和实验箱上51CPU板上的40芯排针连接起来,将仿真器连接的USB或串口线与PC机对应的USB或串口连接起来,打开实验箱电源。

基于51单片机的8路抢答器的设计

基于51单片机的8路抢答器的设计

摘要随着电子技术的飞速发展,在电子领域尤其是自动化智能控制领域,传统的分立元件或数字逻辑电路构成的控制系统,正以前所未有的速度被单片机智能化控制所取代。

单片机具有体积小、功能强、成本低、应用面广等优点,可以说智能化控制与自动控制的核心就是单片机。

基于单片机的控制系统已广泛应用于各行业。

此次设计提出了以AT89C51单片机为核心控制元件,设计一个简易的八路抢答器,AT89C51 单片机为主控核心,与晶振、数码管、蜂鸣器等构成八路抢答器,利用了单片机的延时电路、按键复位电路、时钟电路、定时器/计数器等设计的八路抢答器不仅具有实时显示抢答选手的号码和抢答时间的功能,同时还利用汇编语言编程,使其实现复位、定时和报警的功能。

本次设计的系统实用性强、判断精确、操作简单、扩展功能强。

关键词:八路报警AT89C51 抢答器定时AbstractWith the rapid development of electronic technology, intelligent control in the electronics field especially automation, traditional discrete components or control system of digital logic circuits, are at an unprecedentedrate sheets replaced by chip computer intelligent control. MCU has small size, functions and advantages of low cost, wide application, it can be said of intelligent control and automation of core is a single chip. Based on single chip microcomputer control system has been widely used in various industries.This design made has to AT89C51 single tablets machine for core control components , design a simple of eight - way preemptive answer device , AT89C51 single tablets machine mainly controlled core , and Crystal vibration , and digital tube , and bee Ming device , constitute eight - way preemptive answer device , using has single tablets machine of delay circuit , and press reset circuit , and clock circuit , and timer counter , design of eight - way preemptive answer device not only has real-time display preemptive answer players of number and preemptive answer time of function , while also using assembly language programming , makes its implementation reset , and scheduled and alarm of function . The design system of practical, accurate, simple operation and extended functions of judgment.Key words : eight —way alarm AT89C51 preemptive an swer time目录第 1 章绪论 (1)1.1 选题背景、意义 (1)1.2 八路抢答器的功能简介 (1)第 2 章系统硬件设计 (2)2.1 芯片的选择 (2)2.1.1 控制器的选择 (2)2.1.2 显示模块的选择 (2)2.1.3 键盘的选择 (3)2.2.4 芯片最终选择方案 (3)2.2 AT89C51 单片机简单概述 (4)2.2.1 51 系列单片机的功能特性 (4)2.2.2 AT89C51 单片机结构说明 (5)2.3 硬件的构成及功能 (6)2.3.1 抢答器的硬件图 (6)2.3.2 时钟频率控制电路 (7)2.3.3 复位电路的设计 (8)2.3.4 报警电路的设计 (8)2.3.5 显示电路的设计 (9)2.3.6 键盘扫描电路的设计 (10)第 3 章系统软件设计 (11)3.1 系统主程序设计 (11)3.2 键盘扫描程序设计 (12)3.3 显示程序设计 (13)第 4 章系统调试与软件仿真 (14)4.1 硬件调试 (14)4.2 Keil uVision2 软件调试 (14)4.3 Proteus 仿真 (15)第 5 章总结 (18)参考文献 (19)附录. (20)附录一主程序清单 (20)附录二单片机八路智能抢答器原理图 (28)附录三英文资料 (29)译文. (31)致谢. (33)第1章绪论1.1选题背景、意义当今时代是一个新技术层出不穷的时代,在电子领域尤其是自动化智能控制领域,传统的分立元件或数字逻辑电路构成的控制系统,正以前所未有的速度被单片机智能化控制所取代。

利用51单片机,8个按键,8路发光二级管构成一个独立式键盘系统,按下8个按键,点亮对应的灯。

利用51单片机,8个按键,8路发光二级管构成一个独立式键盘系统,按下8个按键,点亮对应的灯。

电子信息工程学院电子设计应用软件训练任务【训练任务】:1、熟练掌握PROTEUS软件的使用;2、按照设计要求绘制电路原理图;3、能够按要求对所设计的电路进行仿真;【基本要求及说明】:1、按照设计要求自行定义电路图纸尺寸;2、设计任务如下:利用51单片机,8个按键,8路发光二级管构成一个独立式键盘系统,按下8个按键,点亮对应的灯。

3、按照设计任务在Proteus 6 Professional中绘制电路原理图;4、根据设计任务的要求编写程序,在Proteus下进行仿真,实现相应功能。

【按照要求撰写总结报告】指导教师年月日负责教师年月日学生签字年月日成绩评定表电子设计应用软件训练总结报告一.任务说明本次任务是利用51单片机、按键以及发光二极管设计一个独立式键盘系统,要求独立简单可控。

首先要明确51单片机的工作原理,在此基础上编写单片机程序,再载入到所连电路原理图中实现按键控制二极管亮灭。

此次任务需要完成电路原理图的绘制、单片机汇编语言的编程。

目的是通过本次设计熟悉Proteus软件的工作环境,掌握基本的操作及流程以及对单片机汇编语言的进一步学习,使之前的学习得到巩固。

二.原理图绘制说明总体而言,一个完善的系统最重要的是稳定,精确,设计简单,修护容易,成本低,体积小。

满足以上条件的系统我们都可以说是完善的系统。

因此,我在设计中选用了一些比较成熟的器件,这些器件都经过时间的考验,能稳定的工作,同时,价格也相对便宜。

下面对原理图中主要的硬件进行简单介绍。

2.1 AT89C51的基本概述AT89C5l单片机,是一种低功耗、高性能的、片内含有4KB Flash ROM的8位CMOS 单片机,工作电压范围为2.7~6V(实际使用+5V供电),8位数据总线。

它有—个可编程的全双工串行通信接口,能同时进行串行发送和接收。

AT89C51具有4K并行可编程的非易失性FLASH程序存储器,可实现对器件串行在系统编程ISP和在应用中编程(IAP)。

单片机与接口技术课程设计题目(1)

单片机与接口技术课程设计题目(1)

心之所向,所向披靡单片机与接口技术课程设计题目1、基于单片机的电子秒表本设计以MCS-51系列单片机为核心,采用常用电子器件设计,一个电源开关,两个按键,三位数码管显示,打开电源开关后显示8,每秒循环左移一位,即□□8—>□8□—>8□□—>□□8—>…,按A键开始计时,实时显示所经历的时间,按B键停止计时并显示从开始到当前时刻的时间,要求精确到0.1秒,量程为0~99.9秒。

要求按键输入采用中断方式,按键A接INT0,按键B接INT1。

2、智能电动百叶窗本设计以MCS-51系列单片机为核心,采用常用电子器件设计,一个电源开关,用一台直流电机控制百叶窗叶片的旋转(正转/反转),用一个光敏电阻传感器测量室内光强度,并用两位数码管显示测量结果,设置三个按键:手动/自动切换、手动正转和手动反转,用一个发光二极管显示手动/自动状态,自动状态时二极管亮。

设置两个极限位置保护行程开关,用于保护百叶窗叶片:当正转到极限位置压下行程开关时,电机停止正转,但还可以反转;当反转到极限位置压下行程开关时,电机停止反转,但还可以正转。

按键输入采用中断方式,按键中断请求信号接INT0.单片机根据设定光强S1和S2(S2 > S1)和实测光强P控制电机M的动作:当P<=S1时,控制M正转以增加进光量;当P>S2时,控制M反转以减少进光量;当S1<P<=S2时,M停转。

3、智能温控器本设计以MCS-51系列单片机为核心,采用常用电子器件设计,一个电源开关,两个控制温度设定按键(增大 / 减小),四位数码管分别显示设定温度和实际温度,量程为0~99度,打开电源开关后设定温度值初始化为26度。

按键输入采用中断方式,两个按键分别接INT0和INT1.采用铂电阻(Pt100)温度传感器进行温度测量,模数转换采用ADC0809.单片机根据设定温度S和实测温度P控制继电器R的动作,死区设为2度:当P<=S-1时,控制R接通电加热回路;当P>S+1时,控制R断开电加热回路;当S-1<P<=S+1时,R保持原状态不变。

51单片机8个发光二极管闪烁设计方案

51单片机8个发光二极管闪烁设计方案

51单片机8个发光二极管闪烁设计方案1. 方案目标本方案旨在设计一个基于51单片机的电路和程序,实现8个发光二极管的闪烁效果。

具体目标如下:1.实现8个发光二极管的交替闪烁。

2.控制每个发光二极管的亮灭时间和频率。

3.确保方案具有可行性和高效性。

2. 实施步骤2.1 硬件设计根据目标需求,我们需要以下硬件组件:1.51单片机(如STC89C52):作为主控芯片,负责控制8个发光二极管的亮灭状态。

2.8个发光二极管:用于显示亮灭状态。

3.8个电流限流电阻:用于限制发光二极管的工作电流,防止过流损坏。

4.连接线:用于连接主控芯片、发光二极管和电流限流电阻。

硬件连接步骤如下:1.将主控芯片与发光二极管之间通过连接线连接起来。

2.将每个发光二极管与对应的电流限流电阻连接起来,确保电流在安全范围内。

2.2 软件设计软件设计包括编写主控芯片的程序代码,实现对8个发光二极管的控制。

以下是一个基本的软件设计思路:1.定义8个IO口用于连接发光二极管,并设置为输出模式。

2.定义一个变量ledState表示当前发光二极管的亮灭状态,初始值为0。

3.在主循环中,通过改变ledState的值来控制发光二极管的亮灭状态。

4.使用延时函数或定时器来控制每个发光二极管的亮灭时间和频率。

具体步骤如下:1.初始化IO口:将8个IO口设置为输出模式。

2.定义变量:定义一个整型变量ledState用于记录当前发光二极管的亮灭状态,默认为0。

3.进入主循环:–设置第一个发光二极管为亮,其他7个发光二极管为灭。

–延时一段时间(如200ms)。

–设置第一个发光二极管为灭,第二个发光二极管为亮,其他6个发光二极管为灭。

–延时一段时间(如200ms)。

–重复以上步骤,依次控制每个发光二极管的亮灭状态。

4.返回主循环。

2.3 预期结果通过上述硬件和软件设计,我们可以实现8个发光二极管的交替闪烁效果。

具体预期结果如下:1.8个发光二极管按照顺序交替亮灭。

第5章 MCS–51单片机的接口与应用 99页 5.8M

第5章  MCS–51单片机的接口与应用 99页 5.8M

(1) 用键盘连接的I/O线的二进制组合表示键码。例如用4行、
4列线构成的16个键的键盘,可使用一个8位I/O口线的高、低4 位口线的二进制数的组合表示16个键的编码,如图5.4(a)所示。 各键相应的键值为88H、84H、82H、81H、48H、44H、42H、 41H、28H、24H、22H、21H、18H、14H、12H、11H。这种键 值编码软件较为简单直观,但离散性大,不便安排散转程序的 入口地址。
第5章 MCS–51单片机的接口与应用 JNB ACC.2,K2 JNB ACC.3,K3 JNB ACC.4,K4 JNB ACC.5,K5 JNB ACC.6,K6 ;检测2号键是否按下,按下转 ;检测3号键是否按下,按下转 ;检测4号键是否按下,按下转 ;检测5号键是否按下,按下转 ;检测6号键是否按下,按下转
;0号键功能程序
;0号键功能程序执行完返回 ;0号键功能程序
JMP START
……………………… PROM7: ……………………… JMP START …
;1号键功能程序执行完返回
;7号键功能程序 ;7号键功能程序执行完返回
第5章 MCS–51单片机的接口与应用
5.1.4 行列式键盘
行列式键盘又叫矩阵式键盘。用I/O口线组成行、列结构, 按键设置在行列的交点上。例如4×4的行列结构可组成16个键 的键盘。因此,在按键数量较多时,可以节省I/O口线。 1.行列式键盘的接口 行列式键盘的接口方法有许多,例如直接接口于单片机的 I/O口上;利用扩展的并行I/O接口;用串行口扩展并行I/O口接 口;利用一种可编程的键盘、显示接口芯片8279进行接口等。 其中,利用扩展的并行I/O接口方法方便灵活,在单片机应用系
MOVX @DPTR,A

51单片机八路数码管抢答器控制原理

51单片机八路数码管抢答器控制原理

51单片机八路数码管抢答器控制原理
该抢答器通过使用51单片机作为控制器,实现了对8个数码管的控制,以及对抢答器的各种状态进行监测,并通过7个按键进行操作。

同时,该抢答器采用中断方式实现按键操作,提高了实时性和精确性。

具体实现原理如下:
1. 程序启动后,先对8个数码管和7个按键进行初始化,设置对应的端口和通道。

2. 在主循环中,通过调用显示函数,实现对8个数码管的控制,实时更新抢答器的状态和抢答者的得分情况。

3. 通过中断方式实现按键的操作,对应的中断服务函数会检测按键是否按下,如果是则根据按键的编号执行对应的操作,如启动抢答、重置得分、结束游戏等。

4. 在启动抢答后,每隔一段时间会通过随机数生成器选择一个抢答者,并通过数码管显示其编号,此时其他抢答者需要尽快按下对应的按键,首先按下的抢答者将获得得分,并且进行下一轮抢答。

总之,该抢答器通过51单片机的控制和多种功能的实现,可以有效地提高游戏的趣味性和竞争性,适用于各种场合的抢答游戏。

第3章MCS-51单片机的内部资源及应用

第3章MCS-51单片机的内部资源及应用
出数据写入P0~P3的端口锁存器,然后通过输出驱动器送 到端口引脚线。例如,下面的指令均可在P0口输出数据。
MOV P0, A ANL P0, #data ORL P0, A
(2)读端口数据方式: CPU读入的这个数据并非端口引脚线 上的数据。读端口数据可以直接读端口。例如,下面的指 令均可以从P1口输入数据,这是锁存器上的数据。
2.P2口
P2口常用做外部存储器的高8位地址 口。当不用做地址口时,P2口也可作为 通用I/O口,这时它也是一个准双向I/O 口。不必外接上拉电阻就可以驱动任何 MOS驱动电路,且只能驱动4个TTL输 入。P2口的位结构如右图所示。
3.P1口
P1口常用做通用I/O口,它也是一 个标准的准双向I/O口,不必外接上拉 电阻就可以驱动任何MOS驱动电路, 且只能驱动4个TTL输入。P1口的位结 构如右图所示。
制。
(3)中断允许控制寄存器IE (0A8H)
EA
ES ET1 EX1 ET0 EX0
(3)中断允许控制寄存器IE (0A8H)
中断与子程序的最主要区别:子程序是预先安排好的,中断 是随机发生的。
中断涉及的几个环节:中断源、 中断申请、开放中断、保护 现场、中断服务、恢复现场、中断返回。
2. 中断源
中断源是指引起中断的设备或事件,或发出中断请求的源头。
3. 中断的分类
中断按功能通常可分为可屏蔽中断、非屏蔽中断和软件中断三类。 可屏蔽中断是指CPU可以通过指令来允许或屏蔽中断的请求。 非屏蔽中断是指CPU对中断请求是不可屏蔽的,一旦出现,CPU必须响应。 软件中断则是指通过相应的中断指令使CPU响应中断。
1.I/O口直接用于输入/输出
在I/O口直接用做输入/输出时,CPU既可以把它们看做数据口,也可以看 做状态口,这是由用户决定的。

单片机课程设计-8位8段LED数码管动态扫描显示资料

单片机课程设计-8位8段LED数码管动态扫描显示资料

华南理工大学广州汽车学院单片机课程设计题目:8位8段LED数码管动态扫描专业:电子信息工程班级:09电信(1 )班姓名:付锦辉学号:200930062745一、内容要求:在8位8段LED数码管显示8.8.8.8.8.8.8.8.”持续500ms,之后灭显示器200ms;然后显示“ WELCOM-1 ”(由于8位8段LED数码管显示不能显示字母 W 和M,所以改为显示“ HELLO-93 ”)二、目的和意义1、掌握数码管动态扫描显示原理及实现方法。

2、掌握动态扫描显示电路驱动程序的编写方法。

三、总体方案设计思路LED 数码动态显示的基本做法在于分时轮流选通数码管的公共端,使得各数码管轮流导通,再选通相应的数码管后,即显示字段上得到显示字形码。

这种方式数码管的发光效率,而且由于各个数码管的字段线是并联使用的,从而大大简化了硬件线路。

动态扫描显示接口是单片机系统中应用最为广泛的一种显示方式。

其接口电路是把所有显示器的 8 个笔画段 A-DP 同名端并联在一起,而每个显示器的公共极 COM 各自独立地接受 I/O 线控制, CPU 向字段输出口送出字段形码是,所有显示器由于同名端并连接收到相同的字形码,但究竟是哪个显示器亮,则取决于COM 端,而这一端是由 I/O 控制的,所以就可以自行决定何时显示哪一位了。

而所谓动态扫描是指采用分时的方法,轮流控制各个显示器的 COM 端,使各个显示器轮流点亮。

再轮流点亮扫描过程中,每位显示器的点亮时间是极为短暂的(约1ms),但由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上个位显示器并非同时点亮,但只要扫描的速度足够快,给人的影响就是一组稳定的显示数据,不会有闪烁感。

采用总线驱动器 74HC245 提供 LED 数码管的段驱动,输出高电平时点亮相应段;采用集电极开路的BCD-十进制译码器/驱动器完成LED数码管位驱动,输出低电平时选通相应位。

P2 口每个口线输出灌电流不足以驱动一个数码管显示器的位-公共极,所依通过集电极开路的BCD-十进制译码器/驱动器7445驱动,即节约P2 口线,又增加驱动能力。

基于51单片机八路抢答器的设计

基于51单片机八路抢答器的设计

基于51单片机八路抢答器的设计八路抢答器是一种常见的电子设备,利用该设备可以实现多人同时抢答的功能。

本设计基于51单片机,通过电路和程序的设计,实现了一个八路抢答器。

一、硬件设计1.单片机选择本设计选择51单片机作为控制核心,采用STC89C52微控制器,该单片机具有丰富的外设接口和较大的存储空间,能够满足实现八路抢答器的要求。

2.抢答按键设备中需要设置八个抢答按键,用于参与者抢答。

按键采用常闭型按键,接通时为低电平,用于触发中断。

3.电源设计为了提供稳定的电源给抢答器,设计中采用了5V稳压电源电路,供电采用AC220V转DC5V电源适配器。

4.显示设计为了方便显示抢答结果,本设计采用了一个共阴数码管,用于显示抢答结果。

具体显示方式根据需求进行编程显示。

5.连接器设计为方便接线和扩展,设计中使用了排针排插连接器,将各个按键、数码管等连接到主控板上。

二、软件设计1.引脚设置首先需要对单片机的I/O引脚进行设置,将各个按键连接到相应的引脚上。

同时,还需要设置数码管的引脚,用于控制显示。

2.中断设置为了实现按键的检测和抢答功能,需要设置外部中断。

具体的中断设置根据引脚的连线情况进行配置。

3.抢答逻辑抢答的逻辑可以根据需求进行设计,本设计采用最先按下的键位为答题者,其他键位将被屏蔽。

按下按键后,相应的数码管会显示该答题者的编号或名称,并输出一个信号用于记录答题者的顺序。

4.结果显示抢答结束后,根据答题者的顺序,将结果显示在数码管上。

可以根据需求进行设计,如按照答题者的编号显示。

5.功能扩展除了基本的抢答功能外,还可以对设备进行功能扩展。

如设置答题时间限制,设置显示答题者的得分,设置答题者的排名等。

三、PCB设计完成硬件电路和软件设计后,需要进行PCB设计,将各个元件进行布局,进行连线和焊接。

PCB设计需要保证连接的正确性和布线的合理性。

四、测试与调试完成PCB的焊接后,需要进行设备的测试与调试。

通过逐个按下按键,观察数码管的显示结果是否正确。

MCS-51单片机与八段数码管接口设计

MCS-51单片机与八段数码管接口设计

而形成的, “0”的段码为3FH(共阴)。反之, 如将格式改为下列格式:
则 “0”的段码为7EH(共阴)。 段码由设计者自行设定,习惯上还是以“a”段对应 段码的最低位。
数码管的工作原理:静态显示与动态显示(扫描显示) 下图是4位数码管的结构原理图。
N个数码管有N位位选线和8×N根段码线。
段码线控制显示的字型,
d E
F P U T y H
5EH 79H
71H 73H 3EH 31H 6EH 76H
A1H 86H
8EH 8CH C1H CEH 91H 89H
9
A b
6FH
77FH 7CH
90H
88H 83H
L
“灭” …
38H
00H …
C7H
FFH …
段码是相对的,它由各显示段在字节中所处的位置 决定。上表中8段数码管的段码是按格式:
按上述格式,8段数码管的段码表如下所示:
数码管段码表(8段)
显示字符 0 共阴极 段码 3FH 共阳极 段码 C0H 显示字符 c 共阴极 段码 39H 共阳极 段码 C6H
1 2
3 4 5 6 7 8
06H 5BH
4FH 66H 6DH 7DH 07H 7FH
F9H A4H
B0H 99H 92H 82H F8H 80H
MCS-51单片机与八段数码管接口设计
八段数码管 由八段LED构成,各LED阴极或阳极并在一起,称为 “位选线”:位选线有有共阴极和共阳极两种,其 余8个引脚各自引出,称为“段选线”,各段可以分 别控制。
多位起,位选线各自引出。
数码管的段码表
为使数码管显示不同的符号或数字,要为数码管提供 段码。提供给数码管的段码正好是一个字节(8段)。 各段与字节中各位对应关系如下(注意这与电路图的 连接顺序有关):

MCS-51单片机与八段数码管接口设计ppt课件

MCS-51单片机与八段数码管接口设计ppt课件

例 软延时方式扫描数码管,8位数码管从左至 右显示“76543210”。
12
ORG 0000h
JMP start
ORG 0030h
start: mov r0,#0
;段码表BUFFER中的偏移量
mov b,#0feh
;共阴数码管位选初值,只有最末位开启
next: mov dptr,#0D800h
为使数码管显示不同的符号或数字,要为数码管提供 段码。提供给数码管的段码正好是一个字节(8段)。 各段与字节中各位对应关系如下(注意这与电路图的 连接顺序有关):
按上述格式,8段数码管的段码表如下所示:
3
数码管段码表(8段)
显示字符 共阴极 共阳极 显示字符 共阴极 共阳极
段码 段码
段码 段码
0
3FH
9
下图是4位8段数码管动态显示电路。其中段码线占 用一个8位I/O口,而位选线占用一个4位I/O口。
10
11
0 5 5 5 8 QS A 1 A 6 P fgedcDba DS? 23458790 ? K 1 R1 0 5 5 4 8 QS A 1 A 6 P fgedcDba DS? 0 2345879 ? K 1 R1 0 5 5 3 8 QS A 1 VCC A 6 P fgedcDba DS? 23458790 ? K 1 R1 0 5 5 2 8 QS A 1 A 6 P fgedcDba DS? 23458790 ? K 1 R1 VCC VCC 19876543212345678900 33333333322222222234 VCC PSEN P2.0/A8P2.1/A9 EA/VPP P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15 P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7 ALE/PROG D 12N P3.0/RXDXXRESETP3.7/RDP3.6/WRP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P1.0/T2P1.1/T2EXP1.2P1.3P1.4P1.5/MOSIP1.6/MISOP1.7/SCKP3.1/TXDG 2 U(AT/STC/SST)89(S/C)5X 09876234510 912345678 11111111112 K 21 0 p R1C0.1uFREST 9 2 C2 D N VCC G D 1 N X G 12-40M p 8 52 SC2 RESET

51单片机控制系统有8个发光二极管,试画出51单片机与外设的

51单片机控制系统有8个发光二极管,试画出51单片机与外设的

51单片机控制系统有8个发光二极管,试画出51单片机与外设的(原创实用版)目录一、51 单片机控制系统概述二、8 个发光二极管的连接方式三、51 单片机与外设的连接方式四、总结正文一、51 单片机控制系统概述51 单片机是一种常见的微控制器,广泛应用于各种自动控制和智能化系统中。

控制系统中,常常需要对外部设备进行控制,例如发光二极管(LED)等。

本例中,我们假设有一个 51 单片机控制系统,其中包含 8 个发光二极管。

二、8 个发光二极管的连接方式在 51 单片机控制系统中,8 个发光二极管可以采用串行或并行的方式进行连接。

1.串行连接:将 8 个发光二极管依次连接,形成一个串行电路。

这种方式的优点是只需要较少的 I/O 端口,但缺点是每个 LED 的亮度会受到前一个 LED 的影响。

2.并行连接:将 8 个发光二极管同时连接到同一个 I/O 端口上。

这种方式的优点是每个 LED 的亮度不会受到其他 LED 的影响,但缺点是需要较多的 I/O 端口。

三、51 单片机与外设的连接方式在 51 单片机控制系统中,单片机与发光二极管等外设的连接方式主要有两种:1.直接连接:单片机的某个 I/O 端口直接连接到发光二极管的正极,负极通过限流电阻连接到地。

这种方式简单,但需要注意限流电阻的选择,以保证 LED 正常工作。

2.通过驱动电路连接:单片机的 I/O 端口连接到驱动电路,驱动电路再将信号传递给发光二极管。

这种方式可以实现更大的驱动能力,适合于高亮度 LED 或远距离传输的情况。

四、总结通过以上分析,我们可以了解到在 51 单片机控制系统中,可以通过串行或并行的方式连接 8 个发光二极管,并通过直接连接或通过驱动电路连接的方式实现单片机与 LED 的控制。

八段数码管单片机

八段数码管单片机

单片机实验报告(四)实验名称八段数码管显示(51/96/88)一、实验目的1.了解数码管动态显示的原理。

2.了解用总线方式控制数码管显示二、实验原理1.本实验仪提供了 6 位 8 段码 LED 显示电路,学生只要按地址输出相应数据,就可以实现对显示器的控制。

显示共有 6 位,用动态方式显示。

8 位段码、6 位位码是由两片74LS374 输出。

位码经 MC1413 或 ULN2003 倒相驱动后,选择相应显示位。

本实验仪中 8 位段码输出地址为 0X004H,位码输出地址为 0X002H。

此处 X 是由KEY/LED CS 决定,参见地址译码。

做键盘和 LED 实验时,需将 KEY/LED CS 接到相应的地址译码上。

以便用相应的地址来访问。

例如,将 KEY/LED CS 接到CS0 上,则段码地址为08004H,位码地址为 08002H。

三、实验所用仪器LED 、 89C51 、试验箱、导线四、操作步骤图1-1 实验电路及其连线图1-2 七段数码管的字形代码表图1-3 实验框图五、实验程序1、wave实验箱实验程序ORG 0100HMAIN: MOV SP,#70HMOV 75H,#1MOV 76H,#1MOV 77H,#5MOV 78H,#9MOV 79H,#9MOV 7AH,#1MOV R4,#6ONE: LCALL BRITHDAY ;进入死循环,让数码管都一直亮着 LJMP ONEBRITHDAY:MOV R0,#75H;给R0一个单元地址75HMOV R3,#01H ;位选码只让第一个数码管亮MOV A,R3 ;将R3的值给ALOOP: MOV DPTR,#8002HMOVX @DPTR,AINC DPTRINC DPTRMOV A,@R0ADD A,#0DHMOVC A,@A+PCMOVX @DPTR,AACALL DL1MSINC R0MOV A,R3JB ACC.5,LOOP1RL AMOV R3,AAJMP LOOPLOOP1:RETTABLE:DB 3FH,06H,5BH,4FH,66H,6DH,DB 7DH,07H,7FH,6FH,77H,7CHDL1ms: MOV R7,#02HLOOP2: MOV R6,#0F6H ;1LOOP3: DJNZ R6,LOOP3 ;2DJNZ R7,LOOP2 ;2 1000-1*2-2*2-2*2*2-1*2=948 948%4=246(F6H)RET程序设计思路:在89c51内部的RAM中设置6个缓冲单元,分别存放显示器要显示的6位的数据。

51单片机驱动8位数码管电路图+程序

51单片机驱动8位数码管电路图+程序

51单片机驱动8位数码管电路图+程序电路图:JP10排线连接J12 J21跳线跳12处测试程序#include<reg52.h>typedef unsigned char BYTE;typedef unsigned int WORD;sbit LS138A = P2^2; //定义138译码器的输入A脚由P2.2控制sbit LS138B = P2^3; //定义138译码器的输入脚B由P2.3控制sbit LS138C = P2^4; //定义138译码器的输入脚C由P2.4控制//此表为 LED 的字模, 共阴数码管 0-9 -BYTE code Disp_Tab[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40};WORD LedOut[10];//数码管数组/************************************************************** **************** 延时程序 **************************************************************** *************/void Delay(WORD n){WORD x;while (n--){x = 250;while (x--);}}/************************************************************** **************** 显示函数 **************************************************************** *************/void display(WORD num){WORD i,LedNumVal ;LedNumVal=num;LedOut[0]=Disp_T ab[LedNumVal%100000/10000]; //万位LedOut[1]=Disp_T ab[LedNumVal%10000/1000]; //千位LedOut[2]=Disp_T ab[LedNumVal%1000/100]; //百位LedOut[3]=Disp_T ab[LedNumVal%100/10]; //十位LedOut[4]=Disp_T ab[LedNumVal%10]; //个位LedOut[5]=Disp_T ab[LedNumVal%1000/100]|0x80; //百位带小数点LedOut[6]=Disp_T ab[LedNumVal%100/10]; //十位LedOut[7]=Disp_T ab[LedNumVal%10]; //个位for( i=0; i<8; i++) //实现8位动态扫描循环{P0 = LedOut[i]; //将字模送到P0口显示switch(i) //使用switch 语句控制位选也可以是用查表的方式{case 0:LS138A=0; LS138B=0; LS138C=0; break; case 1:LS138A=1; LS138B=0; LS138C=0; break; case 2:LS138A=0; LS138B=1; LS138C=0; break;case 3:LS138A=1; LS138B=1; LS138C=0; break;case 4:LS138A=0; LS138B=0; LS138C=1; break;case 5:LS138A=1; LS138B=0; LS138C=1; break;case 6:LS138A=0; LS138B=1; LS138C=1; break;case 7:LS138A=1; LS138B=1; LS138C=1; break;}Delay(1);}}main(){while(1){display(12345);}}。

利用51单片机+8位数码管+AD0809设计数字直流电压表系统

利用51单片机+8位数码管+AD0809设计数字直流电压表系统

目录1.题目设计要求 (2)2. 系统的组成及工作原理 (2)2.1电路原理图 (2)2.2 A/D转换原理 (3)2.3数据处理原理 (3)2.4器件列表 (3)3. 器件的功能和作用 (4)3.1AT89C51功能介绍 (4)3.1.1AT89C51的简单概述 (4)3.1.2AT89C51的引脚介绍 (4)3.2AD0809功能介绍 (6)3.3 LED数码管功能介绍 (6)4.系统硬件设计 (7)5. 系统软件设计 (8)5.1 程序流程图 (8)5.2程序代码 (10)6.系统仿真调试 (13)6.1仿真原理图设计 (13)6.2 与程序代码链接 (13)6.2.1运用keil uVision4生成.hex文件并链接 (13)6.3 仿真运行结果 (15)7.心得体会 (15)8.参考文献 (16)1.题目设计要求要求:利用51单片机+8位数码管+AD0809设计数字直流电压表系统,精度为0.01V。

完成以下设计环节:1)使用Altium Desinger或Protel99SE开发工具,设计电路原理图与PCB制板图。

2)使用Uvision2开发平台,采用C语言或汇编语言设计软件程序。

3)使用PROTEUS仿真软件,设计仿真原理图并运行软件程序,完成系统仿真。

2.系统的组成及工作原理2.1电路原理图图2.1 电路原理图2.2 A/D转换原理模拟量可以是电压、电流等电信号,也可以是压力、温度、湿度、位移、声音等非电信号。

但在A/D转换前,输入到A/D转换器的输入信号必须经各种传感器把各种物理量转换成电压信号。

A/D转换器的工作原理:采用逐次逼近法,逐次逼近式A/D是比较常见的一种A/D转换电路,转换的时间为微秒级。

逐次逼近法转换过程是:初始化时将逐次逼近寄存器各位清零;转换开始时,先将逐次逼近寄存器最高位置1,送入D/A转换器,经D/A转换后生成的模拟量送入比较器,称为Vo,与送入比较器的待转换的模拟量Vi进行比较,若Vo<Vi,该位1被保留,否则被清除。

MCS-51单片机显示器接口

MCS-51单片机显示器接口

共阳极 字段码
C0H F9H A4H B0H 99H 92H 82H F8H 80H 90H 88H 83H
显示字符
C d E F P U T y L H 8. “灭”
共阴极 字段码
39H 5EH 79H 71H 73H 3EH 31H 6EH 38H 76H FFH 00
共阳极 字段码
C6H A1H 86H 8EH 8CH C1H CEH 91H C7H 89H 00H FFH
a
A
P1.4
b
B
P1.5
c
C
P1.6
d e
D
P1.7
+5V
f LT
g RBO
RBI
74LS47
P2.4
A
a
P2.5
B
b
P2.6
C
c
P2.7 +5V D
d e
LT f RBO g
RBI
a
f gb
e
c
d Dp
a
b
+5V
c
d COM e
f
g
Dp
a
b c
+5V
d COM e
f
g
Dp
例: 编程在4个七段LED数码管上显示1234。
1、静态软译码连接法
2、静态硬译码连接法 3、动态硬译码连接法 4、动态软译码连接法
a
f gb
e
c
d Dp
静态软译码连接法思考:编程在4个七段LED数码管上显示30H,31H单元
中的内容。(30H,31H单元中分别存有2位BCD码)答。案 f
a gb
静态软译码连接法下,4个LED数码管与单片机的连接图 :e

单片机与数码管显示接口设计技巧

单片机与数码管显示接口设计技巧

单片机与数码管显示接口设计技巧在现代电子设备中,数码管已经成为了人们常见的显示器件之一。

为了准确地将信息展示在数码管上,有效地设计单片机与数码管的接口非常重要。

本文将介绍一些单片机与数码管显示接口设计的技巧,帮助读者更好地应用这一技术。

1. 数码管的基本原理数码管是一种具有特定形状的电子显示设备,用来显示数字及一些字母。

常见的数码管有共阳数码管和共阴数码管两种类型。

在共阳数码管中,被点亮的段为低电平,而在共阴数码管中,被点亮的段为高电平。

在接口设计中,需要根据使用的数码管类型选择相应的电平极性。

2. 数码管的电流限制为了确保数码管正常工作,需要控制通过数码管的电流。

过大的电流会烧坏数码管,而过小的电流则无法正常驱动数码管。

通常情况下,数码管的典型工作电流为5-20mA。

通过串联电流限制电阻可以将单片机输出的高电平电流限制到适当范围,以避免损坏数码管。

3. 使用译码器简化接口设计当需要显示多个数字或字母时,使用译码器能够简化接口设计。

译码器将输入的二进制信号转换为相应的数码管段选信号,减少了单片机对每个段的控制。

常见的译码器有BCD译码器和十六进制译码器,根据具体需求选择合适的译码器类型。

4. 使用显存减少单片机压力在需要显示多位数码管时,为了减轻单片机的负担,可以使用显存来存储需要显示的数字或字母。

单片机将数据写入显存后,显存会自动控制数码管的显示,从而减少了单片机的处理需求。

这种方式适用于显示静态信息而无需频繁更新的情况。

5. 考虑消抖技术由于数码管的输入信号可能会受到干扰,导致误触发或抖动现象。

为了确保输入信号的稳定性,可以使用消抖电路。

常见的消抖电路有RC电路和Schmitt触发器等。

通过采取合适的消抖措施,可以保证单片机与数码管接口的稳定性和可靠性。

6. 优化时序设计在进行单片机与数码管接口设计时,需要合理规划时序。

时序过长可能会导致显示延迟,而时序过短则可能引发显示异常。

在串行通信时,可以使用适当的波特率来控制时序。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

;位选锁存器地址
mov a,#0ffh
movx @dptr,a ;共阴数码管,锁存器驱动,关闭所有位,防止出现重影现象
mov dptr,#buffer
mov a,r0
inc r0
cjne r0,#8,goon
mov r0,#0
goon: movc a,@a+dptr ;取段码
mov dptr,#0D000H ;段码锁存器地址
N个数码管有N位位选线和8×N根段码线。
6
段码线控制显示的字型,
位选线控制该显示位的亮或暗。
静态显示和动态显示两种显示方式。
1. 静态显示方式
各位的公共端连接在一起(接地或+5V)。 每位的段码线(a~dp)分别与一个8位的锁存器
输出相连。 显示字符一确定,相应锁存器的段码输出将维持
不变,直到送入另一个段码为止。显示的亮度高。 下图是4位数码管静态显示电路。该电路各位可
DEL PD DEL g DEL f DEL e DEL d 61 DEL AA c P abDcdegf AC-deRypD?SD DEL 9785432 0 1 b DEL a DNG
MCS-51单片机与八段数码管接口设计
八段数码管 由八段LED构成,各LED阴极或阳极并在一起,称为 “位选线”:位选线有有共阴极和共阳极两种,其 余8个引脚各自引出,称为“段选线”,各段可以分 别控制。
1
多位合一的数码管
将多个八段数码管的段选线分别并在一起,位选线各自引出。
2
b p c d a g d LED1 f e bcom3 b p c d a com2g g d f com1c e b p c d p fd a g d ad f e com0e b p c d a g d f e
数码管的段码表
FFH
b
7CH
83H



4
段码是相对的,它由各显示段在字节中所处的位置 决定。上表中8段数码管的段码是按格式:
而形成的, “0”的段码为3FH(共阴)。反之, 如将格式改为下列格式:
则 “0”的段码为7EH(共阴)。 段码由设计者自行设定,习惯上还是以“a”段对应 段码的最低位。
5
数码管的工作原理:静态显示与动态显示(扫描显示) 下图是4位数码管的结构原理图。
9
10
0 5 5 5 8 QS A 1 A 6 P fgedcDba DS? 23458790 ? K 1 R1 0 5 5 4 8 QS A 1 A 6 P fgedcDba DS? 0 2345879 ? K 1 R1 0 5 5 3 8 QS A 1 VCC A 6 P fgedcDba DS? 23458790 ? K 1 R1 0 5 5 2 8 QS A 1 A 6 P fgedcDba DS? 23458790 ? K 1 R1 VCC VCC 19876543212345678900 33333333322222222234 VCC PSEN P2.0/A8P2.1/A9 EA/VPP P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15 P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7 ALE/PROG D 12N P3.0/RXDXXRESETP3.7/RDP3.6/WRP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P1.0/T2P1.1/T2EXP1.2P1.3P1.4P1.5/MOSIP1.6/MISOP1.7/SCKP3.1/TXDG 2 U(AT/STC/SST)89(S/C)5X 09876234510 912345678 11111111112 K 21 0 p R1C0.1uFREST 9 2 C2 D N VCC G D 1 N X G 12-40M p 8 52 SC2 RESET
;(125*2us)
DJNZ r2,next2
;2us total=1us+(1us+(125*2us)+2us)*10= 2.531ms
RET
BUFFER: DB 0xAF,0xA0,0xC7,0xE6,0xE8,0x6E,0x6F,0xA2,0xEF,0xEE,0xEB,0x6D,0x0F,0xE5,0x4F,0x4B
为使数码管显示不同的符号或数字,要为数码管提供 段码。提供给数码管的段码正好是一个字节(8段)。 各段与字节中各位对应关系如下(注意这与电路图的 连接顺序有关):
按上述格式,8段数码管的段码表如下所示:
3
数码管段码表(8段)
显示字符 共阴极 共阳极 显示字符 共阴极 共阳极
段码 段码
段码 段码
0
3FH
独立显示。
7
2. 动态(扫描)显示方式 所有位的段码线相应段并在一起,由一个8位I/O
口控制,形成段码线的多路复用,各位的公共端分别 由相应的I/O线控制,形成各位的分时选通。利用人眼 的视觉暂留效应,使得看上去所有位一起亮。位选线 上的电流可能会很大,一般要用三极管或者数字芯片 驱动位选线。
8
下图是4位8段数码管动态显示电路。其中段码线占 用一个8位I/O口,而位选线占用一个4位I/O口。
例 软延时方式扫描数码管,8位数码管从左至 右显示“76543210”。
11
ORG 0000h
JMP start
ORG 0030h
start: mov r0,#0
;段码表BUFFER中的偏移量
mov b,#0feh
;共阴数码管位选初值,只有最末位开启
next: mov dptr,#0D800h
C0H
c
39H
C6H
1
06H
F9H
d
5EH
A1H
2
5BH
A4H
E
79H
86H
3
4FH
B0H
F
71H
8EH
4
66H
99H
P
73H
8CH
5
6DH
92H
U
3EH
C1H
6
7DH
82H
T
31H
CEH
7
07H
F8H
y
6EH
91H
8
7FH
80HHLeabharlann 76H89H9
6FH
90H
L
38H
C7H
A
77FH
88H
“灭”
00H
movx @dptr,a
mov dptr,#0D800h ;位选锁存器地址
mov a,b
movx @dptr,a ;打开相应显示位
rl a
mov b,a
lcall delay
ljmp next
delay: MOV r2,#10;延时子程序 1us
next2: MOV r3,#125
;1us
next1: DJNZ r3,next1
相关文档
最新文档