数码管显示字符共43页文档
- 格式:ppt
- 大小:5.47 MB
- 文档页数:43
沈阳工业大学基于单片机的TIMER0控制流水灯设计系别:*** _ ____年级:10级专业:**姓名: ****学号:********** 导师姓名:**职称:教授2017年7月3日1.前言............................................. 错误!未定义书签。
2.系统设计参数要求. (2)3.系统设计 (2)3.1 系统设计总体框图............................ 错误!未定义书签。
3.2 各模块原理说明.............................. 错误!未定义书签。
3.2.1、最小系统AT89C52模块.................. 错误!未定义书签。
3.2.2、74HC245芯片模块...................... 错误!未定义书签。
3.2.3、显示模块功能 (5)3.2.4、控制按钮模块.......................... 错误!未定义书签。
3.3 系统总原理图说明............................ 错误!未定义书签。
3.4 系统印刷版图................................ 错误!未定义书签。
3.5 系统的操作说明.............................. 错误!未定义书签。
3.6 系统操作注意事项............................ 错误!未定义书签。
参考文献.. (11)致谢语 (14)附录................................................ 错误!未定义书签。
附录一.电路总原理图............................. 错误!未定义书签。
附录二.系统印刷电路板图 (11)附录三.电路原件清单............................. 错误!未定义书签。
偶然,在一本老掉牙的进口设备手册里面看到了这个用7段数码管的英文、数字显示编码方式,比起米字管更简单,整理如下页。
虽然这种的显示编码还是有点牵强,更没有档次。
但对于单片机的工业控制来讲还是不失为一种高效、简单、可靠的显示方式。
下面的编码,特别整理制作成word文档,方便再次编辑。
或者将它复制到你的设备说明书里做成附件。
对于字形的编码会根据你的电路的接法不同而不同。
可下载《LED数码管字形发生器》,进行编码。
于此和大家分享。
数码管显示英文字母
显示含义显示含义显示含义显示含义
0 9 I R
1 A J S
2 B K T
3 C L U
4 D M V
5 E N W
6 F O X
7 G P Y
8 H Q Z。
实验四数码管显示1. 驱动原理数码管由7个发光二极管组成,行成一个日字形,它门可以共阴极,也可以共阳极.通过解码电路得到的数码接通相应的发光二极而形成相应的字,这就是它的工作原理.基本的半导体数码管是由7个条状的发光二极管(LED)按图1所示排列而成的,可实现数字"0~9"及少量字符的显示。
另外为了显示小数点,增加了1个点状的发光二极管,因此数码管就由8个LED组成,我们分别把这些发光二极管命名为 "a,b,c,d,e,f,g,dp",排列顺序如下图1。
图1:数码管引脚图及外形图2. 数码管的结构及分类特别提示:注意段码和位码的概念;会找出不同接法的段码分析方法。
数码管按各发光二极管电极的连接方式分为共阳数码管和共阴数码管两种共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。
共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。
当某一字段的阳极为低电平时,相应字段就不亮。
共阴数码管内部连接如图3所示。
共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。
共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。
当某一字段的阴极为高电平时,相应字段就不亮。
共阳数码管内部连接如图2所示。
图2:共阳数码管内部连接图图3:共阴数码管内部连接图二、多位数码管的驱动方法A.静态法静态显示驱动:静态驱动也称直流驱动。
静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。
静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5×8=40根I/O端口来驱动,要知道一个89S51单片机可用的I/O端口才32个呢:),实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。
数码管显示时间及点阵显示字符//数码管显示时间及点阵显示字符#include#include#define uchar unsigned char#define uint unsigned int//定义Max7219端口#define DUAN P0 //P0口控制段#define WEI P2 //P2口控制位sbit k_hour=P1^0; // 更改小时按键sbit k_min=P1^1; // 更改分钟按键sbit k_sec=P1^2; // 更改秒按键//定义数码管端口sbit Max7219_pinCLK = P1^2;sbit Max7219_pinCS = P1^1;sbit Max7219_pinDIN = P1^0;//Max7219位定义unsigned char key; //P3按键扫描(执行模块控制)code uchar seg7code[11]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0XBF }; //显示段码数码管字跟uchar wei[8]={0XFE,0XFD,0XFB,0XF7,0XEf,0XDf,0XBf,0X7f}; //位的控制端uchar numb[8]; //定义字符串uint sec=0,min,hour;//数码管初始定义uchar code disp2[7][8]={{0x00,0x3E,0x2A,0xFF,0xAA,0xBE,0xC0,0x00}, //电{0x00,0x08,0x08,0x08,0x08,0x08,0x08,0x00}, //一{0x00,0x00,0x1E,0x20,0x40,0x20,0x1E,0x00}, //V {0x00,0x00,0x4E,0x4A,0x4A,0x7A,0x00,0x00}, //5 {0x00,0x00,0x42,0x7E,0x42,0x00,0x00,0x00}, //I {0x00,0x0C,0x1E,0x3C,0x3C,0x1E,0x0C,0x00}, //love {0x00,0x00,0x3E,0x40,0x40,0x3E,0x00,0x00}, //U };char flag;//定义点阵显示字符void Delay_xms(uint x){uint i,j;for(i=0;i<x;i++)< p="">for(j=0;j<300;j++);}//公用的延时程序//功能:向MAX7219(U3)写入字节//入口参数:DATA//出口参数:无void Write_Max7219_byte(uchar DATA){uchar i;Max7219_pinCS=0;for(i=8;i>=1;i--){Max7219_pinCLK=0;Max7219_pinDIN=DATA&0x80;DATA=DATA<<1;if(flag)Delay_xms(500);Max7219_pinCLK=1;}}//功能:向MAX7219写入数据//入口参数:address、dat//出口参数:无//说明:void Write_Max7219(uchar address,uchar dat){Max7219_pinCS=0;Write_Max7219_byte(address); //写入地址,即数码管编号Write_Max7219_byte(dat); //写入数据,即数码管显示数字Max7219_pinCS=1;}void Init_MAX7219(void){Write_Max7219(0x09, 0x00); //译码方式:BCD码Write_Max7219(0x0a, 0x03); //亮度Write_Max7219(0x0b, 0x07); //扫描界限;8个数码管显示Write_Max7219(0x0c, 0x01); //掉电模式:0,普通模式:1Write_Max7219(0x0f, 0x00); //显示测试:1;测试结束,正常显示:0 }void t_to_dis(){numb[0]=hour/10; //显示小时十位numb[1]=hour%10; //显示小时个位numb[2]=10; //显示横杠numb[3]=min/10; //显示分十位numb[4]=min%10; //显示分个位numb[5]=10; //显示横杠numb[6]=sec/10; //显示秒十位numb[7]=sec%10; //显示秒个位</x;i++)<>。
第3讲数码管显示第3讲数码管显示一、数码管显示原理我们最常用的是七段式和八段式LED数码管,八段比七段多了一个小数点,其他的基本相同。
所谓的八段就是指数码管里有八个小LED发光二极管,通过控制不同的LED的亮灭来显示出不同的字形。
数码管又分为共阴极和共阳极两种类型,其实共阴极就是将八个LED的阴极连在一起,让其接地,这样给任何一个LED的另一端高电平,它便能点亮。
而共阳极就是将八个LED的阳极连在一起。
其原理图如下。
其中引脚图的两个COM端连在一起,是公共端,共阴数码管要将其接地,共阳数码管将其接正5伏电源。
一个八段数码管称为一位,多个数码管并列在一起可构成多位数码管,它们的段选线(即a,b,c,d,e,f,g,dp)连在一起,而各自的公共端称为位选线。
显示时,都从段选线送入字符编码,而选中哪个位选线,那个数码管便会被点亮。
数码管的8段,对应一个字节的8位,a对应最低位,dp对应最高位。
所以如果想让数码管显示数字0,那么共阴数码管的字符编码为00111111,即0x3f;共阳数码管的字符编码为11000000,即0xc0。
可以看出两个编码的各位正好相反。
如下图。
二、点亮一个数码管下面以七段共阴数码管为例讲述如何点亮一个数码管。
l 51系列单片机的P0口没有上拉电阻(其他端口有),所以如果直接接数码管的段选线,那么不能将其点亮。
我们需要为其加上220欧姆的上拉电阻,注意,上拉电阻阻值不能过大。
实验原理图如下。
其中,7SEG-COM-CAT-GRN为七段共阴数码管,显示为绿色。
RES为电阻。
查找电阻时,需要选中下面的Resistors,如下图。
右击选中图中的电阻再左击,弹出的窗口中可改变它的阻值。
如下图。
那七个电阻看上去很乱,其实他们可以用一个排阻(RESPACK-7)代替。
如下图。
到这里原理图就画完了,我们开始写源程序。
让数码管显示字符“0”。
#includevoid main(){P0 = 0x3f; //P0口送字符…0‟的编码}显示效果如下。
实验三数码管字符显示电路设计一、实验目的1、掌握利用基本逻辑门芯片设计简单组合逻辑电路的方法。
2、掌握七段数码管的显示原理和显示字符的方法。
3、熟悉七段数码管的引脚排列。
二、实验内容1.逻辑功能测试将74LS00的输入端A、B分别按表一接入不同电平(即0态接地,1态接电源,可用实验箱上的输入开关)及输入端均悬空,用万用表测输出端F的电压,填入表一的F(电压值)一栏。
测量中如果输出端F的电压值≥2.4V,记作“1”;若电压值≤0.4,记作“0”。
填写入表一F(逻辑值)一栏。
表一逻辑功能测试结果由上表可见,74LS00输入端悬空相当于态。
2、设计一个字符显示电路。
要求采用共阳极七段数码管显示字符“E”、“F”、“P”、“H”。
电路要求采用基本逻辑门构成。
自行拟定实验步骤,确定所需的数据记录表格。
三、实验仪器1、数字电子技术实验箱一台2、数字万用表一台3、基本逻辑门集成芯片可选四、预习要求1、选择合适的基本逻辑门集成芯片,熟悉芯片功能和引脚排列,并在实验报告上画出所有采用的芯片引脚图。
2、设计电路原理图。
3、拟定实验方法和实验步骤。
五、报告要求1、简述所选芯片的功能,引脚图,列出功能表。
2、画出电路原理图。
3、提供共阳极数码管引脚图及接线方法。
4、记录实验结果,分析实验中出现的异常现象。
六、实验注意事项实验箱的数码管区有一个译码方式的选择开关,本实验要求选择“段译码”方式。
实验四逻辑函数发生器设计一、实验目的1、掌握组合逻辑电路的设计方法。
2、掌握自拟实验步骤、测试以及故障的检查和排除方法。
3、掌握集成芯片的选择方法和灵活应用。
二、实验选题设计一个故障指示电路,用红、黄灯显示三台设备的故障。
要求实现:1、只有一台设备故障时,黄灯亮;1、有两台设备故障,红灯亮;3、三台设备同时有故障时,红灯和黄灯均亮。
三、实验仪器1、数字电子技术实验箱一台2、数字万用表一台3、中小规模数字集成芯片可选四、预习要求1、选择合适的中小规模数字集成芯片,熟悉芯片功能和引脚排列。