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既可以把它们看做数据口,也可以看 做状态口,这是由用户决定的。
  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
相关文档
最新文档