单片机数码管显示系统课程设计

合集下载

单片机教案新部编本(数码管显示器接口技术)[1]123

单片机教案新部编本(数码管显示器接口技术)[1]123

教师学科教案[ 20 – 20 学年度第__学期]任教学科:_____________任教年级:_____________任教老师:_____________xx市实验学校数码管显示器接口技术一、 LED数码管的结构由8段发光二极管组成。

其中7段组成“8”字,1段组成小数点。

通过不同的组合,可用来显示数字0~9、字母A~F及符号“.”。

LED数码管有共阴极和共阳极两种结构。

二、 LED数码管的工作原理发光二极管导通→亮,不导通→暗。

这样就构成了字符的显示。

其十六进制的编码表如下:显示字h g f e d c b a 字形代码符0 0 0 1 1 1 1 1 1 3FH1 0 0 0 0 0 1 1 0 06H2 0 1 0 1 1 0 1 1 5BH三、数码管接口电路1、静态显示方式(硬件接口方法)这就是我们在数字电路中所学的内容,在数据总线上的信号须经I/O接口电路并锁存,然后通过译码器,就可以驱动LED 显示器中的段发光。

这种方式使用的硬件较多(显示器的段数和位数越多,电路越复杂),缺乏灵活性,且只能显示十六进制数。

2、动态显式方式(软件接口方法)这种接口方法是以软件查表来代替硬件译码,既省去了译码器,又能显示更多段的字符和更多位的LED显示器。

所以广泛应用于单片机系统的显示。

⑴连接方式①将单片机的输出送入可编程的8155芯片,然后利用8155的I/O口提供两路输出信号(一路是段控信号,另一路是位控信号)。

②将各位数码管的a~h端分别并在一起(若有6个数码管,则将它们6个a对a,6个b对b......6个h对h相并接),再和上面的一路I/O口输出的8位段控信号相连,以获得显示代码,对应要发光的段。

③将各位数码管的公共端(共阴极或共阳极)分别与上面的另一路I/O口相连(每一位公共端对应I/O口中的一位),以获得位控信号使该位LED发亮。

④为了存放显示的数字或字符,通常在8155的内部RAM中设置显示缓冲区,其存储单元个数与LED显示器的位数相同。

51单片机数码管显示程序设计

51单片机数码管显示程序设计

练习3主程序参考:
ORG 0000H LJMP START ORG 000BH LJMP T0SERV ;T0中断入口 ORG 0030H START: MOV SP,#50H ;初始化堆栈 LCALL INIT ;初始化 MOV DISBUF,#0 MOV DISBUF+1,#1 MOV DISBUF+2,#2 MOV DISBUF+3,#3 MOV DISBUF+4,#4 MOV DISBUF+5,#0 MOV FLASH,#11000000B MOV R0,#0 LOOP: MOV DISBUF+5,R0 LCALL DELAY INC R0 CJNE R0,#10,LOOP MOV R0,#0 AJMP LOOP
恢复现场
返回
动态显示参考程序1:定义变量
;--------------------------------------------------------;动态显示程序 ;--------------------------------------------------------;全局变量定义 FLAG EQU 20H ;标志位 DISSEG EQU P0 ;显示段驱动 DISBIT EQU P2 ;显示位驱动P2.7-P2.2 DISBUF EQU 21H ;显示缓冲区首地址21H-26H DISBITBUF EQU 27H ;当前显示位计数器0-5 FLASH EQU 28H ;闪烁控制xxxxxx00,将x=1闪烁,=0不闪 ;小数点的处理: ;若显示‘3’,缓冲区放‘3’,若显示‘3.’,缓冲区放‘3+80H’, 最高位为1 S_PULSE EQU FLAG.0 ;秒脉冲 CNT_2D5MS EQU 2FH ;2.5MS计数器 CNT_10MS1 EQU 30H ;10MS计数器 CN_0D5S EQU 31H ;0.5秒计数器 ;----------------------------------------------------------

实验四--单片机驱动数码管显示

实验四--单片机驱动数码管显示

实验四单片机驱动数码管显示一实验目的1 学习单片机驱动数码管动态显示的电路设计和编程方法二实验原理1、单片机系统中常用的显示器有:发光二极管LED(Light Emitting Diode)显示器、液晶LCD(Liquid Crystal Display)显示器、CRT显示器等。

LED、LCD显示器有两种显示结构:段显示和点阵显示。

七段数码管显示为了显示数字或字符,必须对数字或字符进行编码。

七段数码管加上一个小数点,共计8段。

因此为LED显示器提供的编码正好是一个字节。

字母一般用米字型。

编码表:0x3f 0x06 0x5b 0x4f 0x66 0x6d0 1 2 3 4 50x7d 0x07 0x7f 0x6f 0x77 0x7c6 7 8 9 A B0x39 0x5e 0x79 0x71 0x00C D E F 无显示七段数码管对应八位由低到高:a,b,c,d,e,f,g,dp例:数码管显示2则要点亮a,b,g,e,d段,对应的八位是01011011数码管动态显示方式是将所有显示位的段选择线并联在一起,有统一的I/O资源来控制。

各个数码管公共端也有I/O资源来控制,分时的选通各个数码管进行动态显示。

每个瞬间只能选通一个数码管,人眼的暂留时间为,每个数码管的选通时间必须在以内,通常选择15ms~20ms。

电路图见实验附图。

三实验内容理解动态显示电路图,参考驱动程序,单片机P0口作段码输出控制,P1口作位码控制,使单片机驱动6个7段数码管输出实验当天年、月、日六位数字。

四、实验步骤(1)单片机最小应用系统1的P0口接段码口a~h,P1口接位码口S1~S6。

(2)在KEIL软件下编写程序并调试,完成实验内容要求。

(3)下载程序,通过实验箱验证设计电路和编写的程序是否达到实验要求。

下载程序,通过实验箱验证设计电路和编写的程序是否达到实验要求。

五参考程序与电路汇编语言参考程序:ORG 0000HLJMP STARTORG 0030HSTART: MOV R0,#30HMOV R1,#40HMOV 30H,#1MOV 31H,#2MOV 32H,#1MOV 33H,#1MOV 34H,#2MOV 35H,#0START1: MOV DPTR,#TABMOV R3,#6LOOP: MOV A,@R0MOVC A,@A+DPTRMOV @R1,AINC R0INC R1DJNZ R3,LOOPMOV R3,#6MOV R1,#40HMOV A,#20HLOOP1: MOV P1,@R1MOV P2,AACALL DELAYMOV P2,#00HRR AINC R1DJNZ R3,LOOP1LJMP START1TAB:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,58H,5EH,7BH,71H,00H,40H DELAY: MOV R4,#100LOOP2: DJNZ R4,LOOP2RETENDC语言参考程序:#include <reg51.h>#include <intrins.h>unsigned char code table[]={0x3f,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};unsigned char date[]={1,2,1,1,2,0};void delay(){unsigned char j;for(j=0;j<=100;j++);}void main(){unsigned char i,a;while(1){a=0x40;for(i=0;i<6;i++){P1=table[date[i]];a=_cror_(a,1);P2=a;delay();P2=0x00;}}}数码管动态显示电路图(位选信号为高电平,段选信号为高电平):。

数码管显示课程设计报告

数码管显示课程设计报告

目录一.实验前的准备 (2)二.实验目的 (2)三.实验设备 (2)四.实验内容 (3)五.实验原理 (3)六.管脚分配 (4)七.实验步骤 (4)八.实验原理图: (5)九.实验程序代码: (6)(1)CH452_I2C.h代码 (6)(2)Define.h代码 (8)(3)key.h代码 (9)(4)Key.c代码 (10)(5)Seven_seg.c代码 (12)十.结果分析: (15)十一.个人体会与总结: (16)一.实验前的准备打开实验箱开关,连接好JTAG下载线,将开发平台上的MODUL_SEL组合开关的1、2、7拨上,3、4、5、6、8拨下,使两个共阳极数码管显示为C2。

二.实验目的(1)熟悉并学习运用I2C总线的读写方式。

(2)运用CH452芯片的数码管显示功能,熟悉两线制访问CH452芯片的工作原理。

三.实验设备硬件:PC机GX-CIDE-SOC/SOPC综合创新开发实验平台GX-CIDE-SOC/SOPC综合创新开发实验平台核心板软件:Quartus II 8.0Nios II 8.0四.实验内容用七段数码管前三位显示000-999,计数周期为1s;按F1进行加1操作并用数码管显示。

按F2计数停止,并显示当前数。

按F3进行减1操作;当数从000-999时再加1变为000;当数从999-000时再减1变为999。

五.实验原理根据I2C总线时序要求,对CH452进行操作,送地址,送控制字,送数据。

数码管显示是以BCD译码方式显示。

六.管脚分配七.实验步骤(1)打开Quartus II 8.0,打开工程cide_c2,进行SOPC操作,裁剪所需要的内容,综合一下再分配管脚。

(2)启动Nios II IDE并新建一个空白C/C++工程,命名为smm,在SOPC Builder System中选择之前建立好的硬件系统cide_c2.ptf。

(3)转换工程路径,将提供的参考程序seven_seg.c,CH452_I2C.h,define.h加入到建立好的Nios II工程中,修改程序代码符合实验要求。

51单片机-数码管显示

51单片机-数码管显示
P2=0x00; P0=0x03; delay(400); P0=0x9f; delay(400); P0=0x25; delay(400);
} void delay(int x) {
int i,j; for(i=0;i<x;i++)
for(j=1;j<120;j++); }
LED字型显示代码表
段符号
十六进制代码
显示 dp
g
f
e
d
c
b
a 共阴极 共阳极
0
0
1
0
2
0
3
0
4
0
5
0
6
0
7
0
8
0
9
0
A0
b
0
C0
d
0
E0
F
0
H0
P0
0
1
1
1
1
1
1
3FH
C0H
0
0
0
0
1
1
0
06H
F9H
1
0
1
1
0
1
1
5BH
A4H
1
0
0
1
1
1
1
4FH
B0H
1
1
0
0
1
Hale Waihona Puke 1066H
99H
1
1
0
1
1
0
1
6DH 92H
1
1
1
1
1
0
1
7DH
1. 静态显示的特点
静态显示就是单片机将所要显示的数据送出去后,数码管始终显示 该数据(不变),到下一次显示时,再传送一次新的显示数据。

单片机指令编程实例数码管显示程序设计

单片机指令编程实例数码管显示程序设计

单片机指令编程实例数码管显示程序设计在单片机的开发中,数码管是一种常见的输出设备。

通过编程控制数码管的显示,我们可以实现各种功能,如计时、计数、温度显示等。

本文将介绍一个简单的单片机指令编程实例,用于设计一个数码管显示程序。

一、概述数码管是一种由七段LED组成的显示器件,每个数码管可以显示0-9的数字。

通过合理的控制,可以将多个数码管连接起来并显示多位数值。

在这个实例中,我们将使用AT89C51单片机和共阳数码管进行程序设计。

二、硬件连接将数码管的七段LED引脚依次连接到单片机的GPIO引脚,并将共阳极引脚连接到单片机的VCC。

为了方便控制,可以利用74HC595芯片实现数码管的级联连接,这样只需要使用三个IO口即可控制多个数码管。

三、程序设计程序设计的主要逻辑是通过编写一系列的指令来控制数码管的显示。

以下是一个简单的实例程序:```#include <reg51.h>sbit SDA = P1^0; // 74HC595芯片的串行数据引脚sbit SCK = P1^1; // 74HC595芯片的时钟引脚sbit RCK = P1^2; // 74HC595芯片的输出使能引脚unsigned char code num[10] = {0xC0, // 数字0的显示码0xF9, // 数字1的显示码0xA4, // 数字2的显示码0xB0, // 数字3的显示码0x99, // 数字4的显示码0x92, // 数字5的显示码0x82, // 数字6的显示码0xF8, // 数字7的显示码0x80, // 数字8的显示码0x90 // 数字9的显示码};void delay(unsigned int t) {unsigned int i;while (t--) {for (i = 0; i < 1000; i++);}}void writeByte(unsigned char dat) {unsigned char i;for (i = 0; i < 8; i++) {SDA = (dat & 0x80) ? 1 : 0;dat <<= 1;SCK = 0;SCK = 1;}}void display(unsigned char n) {unsigned char i;for (i = 0; i < 8; i++) {writeByte(num[n]);RCK = 1;RCK = 0;delay(1); // 延时一段时间,使数码管显示出来}}void main() {unsigned char i;while (1) {for (i = 0; i < 10; i++) {display(i);delay(500); // 每个数字显示的时间间隔为500ms}}}```以上程序通过将各个数字的显示码存储在一个数组中,然后通过控制74HC595芯片的串行数据引脚、时钟引脚和输出使能引脚,来实现数码管的动态显示。

数码管的课程设计

数码管的课程设计

数码管的课程设计一、课程目标知识目标:1. 让学生理解数码管的基本原理与结构,掌握其显示原理和驱动方式;2. 使学生掌握数码管的连接方式,能正确进行电路设计与搭建;3. 让学生了解数码管在现实生活中的应用,认识到数码管技术的实用价值。

技能目标:1. 培养学生运用所学知识进行数码管电路设计、搭建与调试的能力;2. 培养学生运用编程语言对数码管进行控制,实现简单数字和字符的显示;3. 提高学生动手实践能力和问题解决能力。

情感态度价值观目标:1. 激发学生对电子技术和编程的兴趣,培养其探索精神;2. 培养学生团队协作意识,学会与他人共同解决问题;3. 引导学生关注科技发展,认识到数码管技术在现实生活中的广泛应用,增强社会责任感。

课程性质:本课程为电子技术与编程实践课程,结合理论知识与实际操作,注重培养学生的动手实践能力和问题解决能力。

学生特点:本课程针对初中年级学生,他们对电子技术和编程有一定的基础知识,好奇心强,喜欢动手实践。

教学要求:教师需采用理论与实践相结合的教学方法,注重引导学生自主学习,激发学生的兴趣和积极性,确保课程目标的实现。

在教学过程中,关注学生的个体差异,提供个性化指导,使学生在掌握知识技能的同时,培养良好的情感态度价值观。

通过课程学习,使学生能够达到上述具体的学习成果,为后续相关课程的学习奠定基础。

二、教学内容1. 数码管基本原理与结构:介绍数码管的工作原理、显示原理、类型及特点,结合教材第3章相关内容,让学生对数码管有全面的认识。

- 数码管显示原理- 数码管的类型及特点2. 数码管连接方式与电路设计:讲解数码管的连接方法,指导学生进行电路设计与搭建,参考教材第4章实例。

- 数码管的连接方法- 电路设计与搭建3. 数码管编程控制:学习如何使用编程语言对数码管进行控制,实现数字和字符的显示,结合教材第5章编程实例进行讲解和实践。

- 编程语言控制数码管- 实现数字和字符显示4. 数码管应用案例:介绍数码管在现实生活中的应用,激发学生学习兴趣,参考教材第6章相关案例。

单片机数码管显示课程设计

单片机数码管显示课程设计

单片机数码管显示课程设计班级:机电一班姓名:学号:指导教师:单片机数码管显示课程设计摘要从上世纪70年代第一批单片机问世,短短二三十年时间,单片机技术已经成为计算机技术的一个重要分支,广泛运用到工业控制、仪器、仪表、消费产品,汽车、办公自动化和通信等领域。

因此,单片机技术已经成为电子、测控、自动化、通信等许多工科专业学生的必备技能。

我用AT89C51芯片来设计一个简单的数码管显示。

此设计给出了源代码,通过仿真测试,其性能指标达到了设计要求。

关键词:单片机,AT89C51,数码管设计任务和要求2.1 设计目的1.学习基本理论在实践中综合运用的初步经验,掌握模拟电路设计的基本方法、设计步骤,培养综合设计与调试能力。

2.了解AT89C51这个芯片的使用和性能指标测试方法。

3.培养实践技能,提高分析和解决实际问题的能力。

2.2 设计意义为了更好地熟悉和掌握单片机的基本功能和编程,掌握数码管动态扫描显示原理及实现方法。

自我动态扫描显示电路驱动程序的编写方法。

通过课程设计,达到理论与实际应用相结合,提高学生对微机硬件结构的软件设计方法的理解,使学生能够根据实际应用,初步实现硬件及软件的设计,对硬件开发有更深层的认识,为今后打软硬件开发,打下坚实的基础。

3总原理图及及主要模块的流程图3.1 总原理图及元器件清单(1)我用Proteus 7 professional来画出我设计的总原理图,如图3-1。

此电路图就用到AT89C51这个芯片,和一个数码管。

3.2 主要流程图(四号宋体加粗)1.主程序的流程图图3.2-1主流程图2.子程序的流程图图3.2-2子流程图4性能测试与分析主程序和子程序都存放在AT89C51单片机中。

主程序的功能是:显示数字。

子程序的功能有:延时。

程序代码:ORG 0000H ;初始化LJMP START ;转入主程序ORG 0010H ;初始化START:CLR P2.7 ;P2.7←00H MOV R0,#00H ;R0←00HMOV R2,#10 ;R2←10MAIN:MOV DPTR,#TAB ;DPTR←TABMOV A,R0 ;A←(RO)MOVC A,@A+DPTR ;A←((A)+(DPTR))MOV P0,A ;P0←(A)LCALL DELAY ;调用延时程序INC R0 ;RO←(R0)+1DJNZ R2,MAIN ;判断JMP START ;循环DELAY: ;延时程序MOV R3,#11D1: MOV R4,#100D2: MOV R5,#100DJNZ R5,$DJNZ R4,D2DJNZ R3,D1RETTAB:DB 00101000B ;0DB 11101011B ;1DB 00110010B ;2DB 10100010B ;3DB 11100001B ;4DB 10100100B ;5DB 00100100B ;6DB 11101010B ;7DB 00100000B ;8DB 10100000B ;9END我用Proteus 7 professional 软件来测试我设计的电路图。

数码管动态显示教案

数码管动态显示教案

电子综合设计实训题目数码管动态显示 _ 姓名专业学号指导教师郑州科技学院电气工程学院目录摘要 (I)1背景 (1)1.1介绍 (1)1.2设计步骤 (2)2 设计思路 (3)2.1方案对比 (3)3元件的选择 (6)3.1单片机 (6)3.2 显示元器件的选择 (6)4 设计原理及功能说明 (8)4.1 各部分功能说明 (8)5 装配与调试 (14)5.1装配 (14)5.2调试 (14)6 总结 (15)附录 (17)附录一:元件清单 (17)附录二:电路源程序 (17)数码管动态显示的设计摘要本文介绍了一种基于AT89C51单片机的8个数码管滚动显示单个数字的设计,让八位数码管滚动显示0、1、2、3、4、5、6、7,我们以液晶显示技术的发展为背景,选择了比较常用的液晶数码管显示模块,利用了单片机控制数码管模块的显示机理。

研究学习AT89C51单片机其功能,对学习过的单片机,C语言课程进行巩固,设计一款在8只数码管上流动显示单个数字的程序,并用PROTEUS进行电路设计和实时仿真。

该电路有两部分组成:AT89C51单片机和显示模块组成。

AT89C51单片机具有超低功耗和CPU外围的高度整合性;显示模块数码管是由多个发光二极管封装在一起组成“8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极,方便易用。

实际应用中不需要外部任何元器件即可实现,具有接口电路简单、可靠,易于编程的特点,抗干扰性好等特点。

单片机技术使我们可以利用软硬件实现数码管准确显示各种数码。

而且这种技术相对简单,性价比较高,在我们生活中应用很广泛,具有一定的发展前景。

关键词:AT89C51单片机;数码管;滚动显示1背景1.1介绍随着电子技术的发展,特别是新型集成电路、分立元件的不断投入市场,使得人们对电子技术应用的关注程度已大大超过了电子技术本身。

在计时,自动报时及自动控制等领域发挥着重要的作用,在人们的日常生也愈加离不开数字化的各种生活用品,电子技术深入到社会生活的各个角落。

单片机课设数码管同时循环显示0-9

单片机课设数码管同时循环显示0-9

电子信息工程学院电子设计应用软件训练任务【训练任务】:1、熟练掌握PROTEUS软件的使用;2、按照设计要求绘制电路原理图;3、能够按要求对所设计的电路进行仿真;【基本要求及说明】:1、按照设计要求自行定义电路图纸尺寸;2、设计任务如下:利用51单片机、BCD译码芯片和两位LED构成一个数码管扫描显示系统,两个数码管同时循环显示0~9。

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

【按照要求撰写总结报告】指导教师年月日负责教师年月日学生签字年月日成绩评定表摘要该专业是前沿学科,现代社会的各个领域及人们日常生活等都与电子信息技术有着紧密的联系。

全国各地从事电子技术产品的生产、开发、销售和应用的企事业单位很多,随着改革步伐的加快,这样的企事业单位会越来越多。

为促进市场经济的发展,培养一大批具有大专层次学历,能综合运用所学知识和技能,适应现代电子技术发展的要求,从事企事业单位与本专业相关的产品及设备的生产、安装调试、运行维护、销售及售后服务、新产品技术开发等应用型技术人才和管理人才是社会发展和经济建设的客观需要,市场对该类人才的需求越来越大。

为此电子信息工程专业的人才有着广泛的就业前景,毕业生可从事电子设备、信息系统和通信系统的研究、设计、制造、应用和开发工作。

目录一、任务说明 (1)1.1 专业介绍 (1)1.2 专业背景与市场预测 (1)1.3 本课题分析 (1)二、绘制原理图 (2)2.1 Proteus软件介绍 (2)2.2 原理图绘制说明 (2)2.3 原理图绘制步骤 (3)三、程序编译说明及程序流程图 (6)3.1 Main程序说明 (6)3.2 初始化子程序说明 (6)3.3 display(uchar tmp)子程序说明 (7)3.4 延时子程序说明 (8)3.5 中断子程序说明 (9)四、Proteus仿真说明 (11)4.1 导入仿真文件 (11)4.2 进行仿真 (12)五、课程设计体会及合理化建议 (14)致谢 (16)一、任务说明1.1专业介绍电子信息工程是一门应用计算机等现代化技术进行电子信息控制和信息处理的学科,主要研究信息的获取与处理,电子设备与信息系统的设计、开发、应用和集成。

数码管显示课程设计

数码管显示课程设计

数码管显示课程设计一、课程目标知识目标:1. 理解数码管的基本结构、工作原理及显示方式;2. 学会使用编程语言控制数码管显示数字及简单字符;3. 掌握数码管的电路连接方法及其与微控制器的接口技术;4. 了解数码管在现实生活中的应用。

技能目标:1. 能够独立完成数码管的电路搭建及编程控制;2. 培养学生动手实践能力,提高解决实际问题的能力;3. 学会查阅相关资料,培养学生的自学能力和团队协作精神。

情感态度价值观目标:1. 培养学生对电子技术及编程的兴趣,激发学习热情;2. 增强学生对科技创新的认识,提高创新意识;3. 树立正确的价值观,认识到科技发展对社会进步的重要性;4. 培养学生严谨、细致的学习态度,养成良好的学习习惯。

课程性质:本课程属于电子技术与编程相结合的实践课程,注重理论知识与实践操作的结合。

学生特点:学生具备基本的电子技术知识,对编程有一定了解,具有较强的动手实践能力。

教学要求:教师应注重引导学生主动参与,激发学生的学习兴趣,注重培养学生的实际操作能力,提高学生的综合素养。

在教学过程中,将课程目标分解为具体的学习成果,以便进行有效的教学设计和评估。

二、教学内容1. 数码管基础知识:介绍数码管的结构、工作原理、种类及其显示方式,对应教材第3章第1节内容;- 结构与原理:数码管的内部构造、发光二极管的工作原理;- 显示方式:共阴极、共阳极数码管的显示原理及区别。

2. 数码管编程控制:学习使用编程语言(如Arduino)控制数码管显示数字和简单字符,对应教材第4章第2节内容;- 编程基础:了解编程环境,学会编写基本程序;- 数码管控制:掌握数码管的动态扫描显示方法,实现数字和简单字符的显示。

3. 数码管电路连接与接口技术:学习数码管与微控制器(如Arduino)的连接方法,对应教材第3章第2节内容;- 电路连接:掌握数码管与电源、微控制器之间的电路连接方法;- 接口技术:了解数码管的驱动电路设计,掌握I/O口的控制方法。

单片机控制8位数码管显示秒表课程设计

单片机控制8位数码管显示秒表课程设计

长沙学院《单片机原理及应用》课程设计说明书题目 LED数码管显示电子秒表设计系(部) **系专业(班级) *************姓名邹部长9931学号******指导教师***起止日期 2016.12.19—2016.12.24《单片机原理及应用》课程设计任务书1系(部):**系专业:******长沙学院课程设计鉴定表目录摘要 (5)第一章概述 (6)1.1电子秒表的设计要求 (6)1.2电子秒表的电路图 (6)1.3电子秒表的设计原理及方案 (7)第二章电子秒表的程序设计 (8)2.1 程序设计流程图 (8)2.2程序设计源代码 (10)第三章程序的调试 (16)第四章设计总结 (17)参考文献 (18)摘要随着经济与社会的发展对智能化和信息化技术要求的不断提高,单片机作为智能控制的核心,逐渐渗透到社会生产和生活的各个方面。

而本文则主要阐述基于单片机设计的数码管秒表,这次设计所采用的的单片机为stc89c52单片机,数码管则是使用2个4位共阴LED数码管组成的8位。

为减少I/O口,而使用了SM74HC138 和74HCT573这2片芯片实现数码管显示8位数据。

利用单片机内部定时器实现计时功能,分别显示为:分—秒—0.01秒。

控制则是使用一键控制,可实现计时开始,计时暂停,计时清零3个功能的循环。

本次的程序设计采用C语言编写,包括显示程序,定时中断服务程序,延时程序。

最后在单片机电路板来观察工作状态。

第一章概述1.1电子秒表的设计要求○1显示要求在初始状态显示的是00—00—00,最左边的2位显示分钟,中间2位显示秒,左边2位显示十分之一秒和百分之一秒,还有个2个LED数码管只显示中间那一段,用作间隔符。

○2然后还的有一个键用来控制秒表,要求按第一下开始计时,按第二下暂停计时,按第三下清零,以此往复循环控制。

○3使用单片机T0方式实现计时0.01秒。

1.2电子秒表的电路图1.3电子秒表的设计原理及方案设计原理根据单片机本身的定时计数器实现1秒的计时。

单片机实验报告二-数码管显示实验

单片机实验报告二-数码管显示实验

单片机实验报告二-数码管显示实验摘要:本实验使用单片机控制数码管的显示,在实验过程中通过学习单片机的GPIO口的编程,调试程序、调节电路来达到正确的显示效果。

最终按照要求实现了单片机控制数码管的计数器。

关键词:单片机、数码管、GPIO口、计数器一、实验介绍数码管是一种介于机械仪表和液晶显示器之间的电子显示器件,广泛应用于计时器、计数器、仪表等电子产品中。

本实验旨在通过单片机控制数码管的显示来加深对GPIO口的使用和调试程序的理解,同时了解数码管的原理。

本实验主要分为两部分:数码管显示基础实验和数码管控制开关实验。

通过这两部分的实验可以了解数码管的工作原理和单片机的基本控制方式。

二、实验原理2.1 数码管的基本原理数码管显示器将数字显示为一组符号,例如“0”到“9”。

表示不同数字的符号被编码成一个数字码。

七段数码管用一个七段数码字母来表示数字,如下表所示:| 数字 | a | b | c | d | e | f | g || ---- | - | - | - | - | - | - | - || 0 | 1 | 1 | 1 | 1 | 1 | 1 | 0 || 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 || 2 | 1 | 1 | 0 | 1 | 1 | 0 | 1 || 3 | 1 | 1 | 1 | 1 | 0 | 0 | 1 || 4 | 0 | 1 | 1 | 0 | 0 | 1 | 1 || 5 | 1 | 0 | 1 | 1 | 0 | 1 | 1 || 6 | 0 | 0 | 1 | 1 | 1 | 1 | 1 || 7 | 1 | 1 | 1 | 0 | 0 | 0 | 0 || 8 | 1 | 1 | 1 | 1 | 1 | 1 | 1 || 9 | 1 | 1 | 1 | 1 | 0 | 1 | 1 |通过控制数码管的七个LED灯的亮灭,可以实现不同符号显示。

基于单片机LED数码管共阴极显示电路课程设计

基于单片机LED数码管共阴极显示电路课程设计

物理与电子工程学院《单片机原理与接口技术》课程设计报告书设计题目:基于单片机LED数码管共阴极显示电路专业:自动化班级: 14级接本班学生姓名:李超学号: 2010140343108指导教师:成燕平2014年6月9日物理与电子工程学院课程设计任务书专业:自动化班级: 14级接本1班随着计算机技术的发展,现代的计算机都是大规模集成电路计算机它们具有功能强、结构紧凑、系统可靠等特点,其发展趋势是巨型化、微型化、网络化及智能化。

微型化是计算机发展的重要方向,也就是把计算机的运算器、控制器、存储器、I/O接口四个组成部分集成在一个硅片内,于是就出现了一个以大规模集成电路为主要组成的微型计算机即单片机(Single Chip Microcomputer)。

正是由于单片机技术的发展,才能使LED七段数码管能够在减少驱动器的情况下能够直接被驱动。

由于LED数码管显示技术的优势使得它被广泛应用在工业过程控制系统、智能仪表,智能产品等领域。

本论文重点介绍了LED(light emission diode)数码管显示技术,并且编写了这种显示技术在单片机中实现的关键编码以及提供了参考原理简图。

关键词:LED技术;计算机硬件;单片机;数码管1 引言 (1)2 设计的目的 (2)3 电路的设计与分析 (2)3.1电路的总体设计 (2)3. 2数码管的工作原理 (3)3.3电路的原理框图 (5)3.4计数电路的分析与设计 (6)4 译码显示电路的设计与分析 (7)4 .1译码电路的设计 (7)4.2译码电路的分析 (8)5调试及运行结果分析 (9)5.1调试及运行 (9)5.2结果分析 (9)5.3总电路仿真 (10)6心得体会 (11)参考文献 (12)附录 (13)1 引言用单片机驱动LED数码管有很多方法,按显示方式可分静态显示和动态(扫描)显示;按译码方式可分硬件译码和软件译码。

静态显示数据稳定,占用很少的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口线,又增加驱动能力。

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

数码管显示与键盘扫描系统摘要:现如今已经跨越了三个“电”的时代,即电气时代、电子时代和现已进入的电脑时代。

不过,这种电脑,通常是指个人计算机,简称PC机。

它由主机、键盘、显示器等组成。

还有一类计算机,这种计算机就是把智能赋予各种机械的单片机(亦称微控制器)。

这种计算机的最小系统只用了一片集成电路,就可进行简单运算和控制。

因为它体积小,通常都是放置在一个机械装置的内部。

它在整个装置中,起着有如人类头脑的作用,它出了毛病,整个装置就瘫痪了。

各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词——“智能型”,如智能型洗衣机等。

现在有些工厂的技术人员或其它业余电子开发者搞出来的某些产品,不是电路太复杂,就是功能太简单且极易被仿制。

究其原因,可能就卡在产品未使用单片机或其它可编程逻辑器件上。

数码管显示与键盘扫描系统是单片机系统中十分典型的应用,可将4×4键盘的按键对应显示在数码管上。

关键词:单片机数码管一、绪论1. 研究意义用单片机驱动LED数码管有很多方法,按显示方式可分静态显示和动态(扫描)显示;按译码方式可分硬件译码和软件译码。

静态显示数据稳定,占用很少的CPU 时间。

动态显示需要CPU时刻对显示器件进行数据刷新,显示数据有闪烁感,占用的CPU时间多。

LED数码管的外围电路一般需要一个限流电阻和加大驱动电流的晶体管。

LED数码管是由发光二级管显示字段组成的显示器,有“8”字段和“米”字段之分,这种显示器有共阳极和共阴极两种。

实际上不用驱动电路即可达到正常亮度,为了可靠性设计可采用晶体管构成驱动电路。

2. 设计目的在单片机的产品设计中,人机界面是非常重要的部分,而且随着系统的日益复杂,以及人们对产品的人机交互能力的要求不断提升,常握单片机系统中的人机界面基础设计能力成为了学习单片机的基础课程,而4X4键盘的操作和LED数码管的动态显示是人机界面设计的基础内容,掌握这些基础设计能力,加深对人机界面的认识,同时提高人机界面系统设计能力。

3.研究范围及技术要求半导体数码管,4×4键盘。

做此实验用51板,因为51板提供了相应的LED模组,LED显示器是单片机应用中常用的输出器件,4×4键盘的扩展显示也是在MCS-51上进行实验。

给 4×4 键盘的每个键定义一个功能,其中把定义为 0~9 的键盘称为数字键,把定义成 DEL 的键称为删除键,把定义成 ENT 的键成为确认键,其他键称为保留键。

如果是数字键按下,把代表数字显示在数码管上:按键按下时,6 位数码管靠右边显示该键的代表数字;继续按键时,已经显示在数码管上的数字左移一位,按键代表的数字显示在最右边的数码管上。

4.发展及指导思想单片机在开发过程中 ,常常会因为资源不足而不得不大量扩展接口芯片以满足应用系统的需要。

国外主要采用串行接口的键盘显示专用芯片,如BC7280/81、HD7279、CH451等。

这类芯片占用CPU的资源少,传输速度较快,外围器件要求也较少,在中小系统中都可得到广泛的应用。

指导思想主要是用串行接口使得键盘的扩展在LED上显示。

二、方案论述1.数码管工作原理数码管由8 个发光二极管(以下简称字段)构成,通过不同的组合可用来显示数字0~9,字符A~F、H、L、P、R、U、Y 等符号及小数点“.”。

数码管又分为共阴极和共阳极两种类型。

共阳极数码管中8 个发光二极管的阳极(二极管正端)连接一起,即为共阳极接法,简称共阳数码管。

通常,公共阳极接高电平(一般接电源),其它管脚接段驱动电路输出端。

当某段驱动电路的输入端为低电平时,该端所连接的字段导通并点亮。

根据发光字段的不同组合可显示出各种数字或字符。

此时,要求段驱动电路能吸收额定的段导通电流,还需根据外接电源及额定段导通电流来确定相应的限流电阻。

共阴极数码管中8 个发光二极管的阴极(二极管负端)连接在一起,即为共阴极接法,简称共阴数码管。

通常,共阴极接低电平(一般接地),其它管脚接段驱动电路输出端。

当某段驱动电路的输出端为高电平时,该端所连接的字符导通并点亮,根据发光字段的不同组合可显示出各种数字或字符。

同样,要求段驱动电路能提供额定的段导通电流,还需根据外接电源及额定段导通电流来确定相应的限流电阻。

单片机数码管显示控制程序设计仿真图2. 4×4行列式键盘的工作原理行列式键盘的工作方式是先用列线发送扫描字,然后读取行线的状态,查看是否有按键按下。

键盘部分提供一种扫描的工作方式,可以和具有64个按键的矩阵键盘相连接,能对键盘不断扫描、自动消抖、自动识别按下的键,并给出编码,能对双键或n个键同时按下的情况实行保护。

在显示部分,它可以为发光二极管、荧光管及其他显示器提供按扫描方式工作的显示接口,而且为显示器提供多路复用信号,可以显示多达16位的字符或数字。

键盘中有无按键按下是由列线送入全扫描字、行线读入行线状态来判断的,其方法是将列线的所有I/O线均置成低电平,然后将行线电平状态读入累加器A中,如果有键按下,总会有一根行线被拉至低电平,从而使行输入不全为1。

键盘中哪一个键按下可由列线逐列置低电平后,检查行输入状态来判断,其方法是依次给列线送低电平,然后检查所有行线状态,如果全为1,则所按下的键不在此列,如果不全为1,则所按下的键必在此列,而且是在与0电平线相交的交点上的那个键。

4×4键盘电路图图中C1~C4为4×4键盘的列扫描线,L1~L4为4×4键盘的行扫描线。

先使行扫描线输出高电平,然后读取列扫描线的状态,得到与按键横向位置对应的4位列码;如果是有键被按下时,则对应的列扫描线必然会被读回高电平,如果是无键盘按下时,则读取的列码必定全是0(低电平)。

这也就可以判断有无按键的按下了。

3.软件流程图程序开始先对第一列进行扫描,如果没有按键,再对第二列、第三列、第四列分别进行扫描,如果没有返回到开始;如果第一列有按键,在分别对第一行、第二行、第三行、地四行,进行扫描,若有按键按下分别显示 0、1、2、3;第二列、第三列、第四列类似第一列,分别对第一行、第二行、第三行、第四行进行扫描,有按键相应的显示出数值。

流程图见附件1。

4.电路硬件说明(1).键盘与单片机连接在“单片机系统”区域中,把单片机的P3.0-P3.7端口通过8联拨动拨码开关JP3连接到“4×4行列式键盘”区域中的M1-M4,N1-N4端口上。

(2).单片机与LED连接在“单片机系统”区域中,把单片机的P0.0-P0.7端口连接到“静态数码显示模块”区域中的任何一个a-h端口上;要求:P0.0对应着a,P0.1对应着b,……,P0.7对应着h。

5.程序设计内容(1).4×4矩阵键盘识别处理(2).按键的行列接法每个按键都有它的行值和列值,行值和列值的组合就是识别这个按键的编码。

矩阵的行线和列线分别通过两并行接口和CPU通信。

键盘的一端(列线)通过电阻接VCC,而接地是通过程序输出数字“0”实现的。

键盘处理程序的任务是:确定有无键按下,判断哪一个键按下,键的功能是什么?还要消除按键在闭合或断开时的抖动。

两个并行口中,一个输出扫描码,使按键逐行动态接地;另一个并行口输入按键状态,由行扫描值和回馈信号共同形成键编码而识别按键,通过软件查表,查出该键的功能。

6.程序#include <reg52.h>#define uchar unsigned char#define uint unsigned intsbit BEEP = P3^7;uchar code DSY_CODE[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa 1,0x86,0x8e,0x00};uchar Pre_KeyNO = 16,KeyNO = 16;void DelayMS(uint ms){uchar t;while(ms--){for(t=0;t<120;t++);}}void Keys_Scan(){uchar Tmp;P1 = 0x0f;DelayMS(1);Tmp = P1 ^ 0x0f;switch(Tmp){case 1: KeyNO = 0; break; case 2: KeyNO = 1; break; case 4: KeyNO = 2; break; case 8: KeyNO = 3; break; default: KeyNO = 16;}P1 = 0xf0;DelayMS(1);Tmp = P1 >> 4 ^ 0x0f;switch(Tmp){case 1: KeyNO += 0; break; case 2: KeyNO += 4; break; case 4: KeyNO += 8; break; case 8: KeyNO += 12;}}void Beep(){uchar i;for(i=0;i<100;i++){DelayMS(1);BEEP = ~BEEP;}BEEP = 1;}void main(){P0 = 0x00;while(1){P1 = 0xf0;if(P1 != 0xf0)Keys_Scan();if(Pre_KeyNO != KeyNO){P0 = ~DSY_CODE[KeyNO]; Beep();Pre_KeyNO = KeyNO;}DelayMS(100);}}7.结果分析结果仿真图8.结论通过这次课程设计,Keilc51软件工作环境的熟悉以及掌握基本的操作,实现电路原理图的绘制及电路仿真的实现,我还认识到理论与实际相结合的重要性,理论知识再丰富,没有实际的操作经验是不行的,这样还可以锻炼我们的实际动手操作能力和独立思考能力。

单片机知识在电子领域越来越重要了,在这次课程设计中我又了解了更多单片机的知识,从而也对单片机仿真软件产生了兴趣,学到了书上没有的东西,为以后工作又做了一层铺垫。

在课程设计过程中遇到的一些问题,通过查询资料和结合平时学到的知识,当然还有和同学的讨论得到了解决。

9.致谢经过这一个周的实训,单片机课程设计也已接近尾声,回顾这星期内和老师、同学们一起努力时的点点滴滴,不经感慨万千。

在此我首先要感谢学校,是学校给我们提供了良好的硬件设施,让我们能顺利的完成实训。

其次,我要感谢我的单片机老师—陈显明老师。

陈老师无论在课程学习、设计上,还是在为人处事上,都给予我许多教诲,这些影响将使我终身受益。

同时我还要感谢和我一起完成这份课程设计的同学康秀梅,我们在学习和实践中一起讨论,一起研究,我在她身上学到了许多东西,同时也学会了做一件事应该坚持,不耻下问。

相关文档
最新文档