基于单片机LED点阵显示电子时钟设计
基于AT89C52LED点阵显示电子钟的制作

海南大学《单片机原理与应用技术》课程设计报告书题目:基于AT89C52LED点阵显示电子钟的制作学院:班级:姓名:学号:指导教师:完成日期:2015年6月25日摘要:介绍了基于AT89C51为控制器的LED点阵显示屏的设计,包括硬件设计和软件设计两部分。
系统硬件部分由单片机、行驱动电路、列驱动电路、上位PC 机,RS-232通讯接口等部分组成;软件设计采用动态显示模式的16×16点阵显示屏,LED点阵模块选用8×8基础模块,每4块排列构成一个16×16的点阵屏。
并且可以对其进行设置。
基于AT98C52单片机的LED点阵显示电子钟具有结构简单,性能靠,价格低和灵活等优点,因此得到了广泛应用。
利用单片机来设计的系统,既能实现系统所需的功能,也可以满足计数的准确性、迅速性,并且电路简单、操作简单、通用性强。
关键词:单片机;LED点阵;电子钟Abstract: The design of LED dot matrix display based on AT89C51 is introduced, which includes two parts, hardware design and software design. System hardware is composed of a single chip computer, drive circuit, a column driver circuit, PC, RS-232 communication interface parts; software design using a dynamic display 16 * 16 dot matrix display, LED dot matrix module selection of 8 * 8 basic module and arranged in each of four blocks constitute a 16 * 16 dot matrix screen. And can be set up. Based on AT98C52 microcontroller LED dot matrix display electronic clock has the advantages of simple structure, performance, low price and flexible, so it has been widely used. The use of single-chip microcomputer to design the system, both to achieve the system functions, but also to meet the accuracy of the count, and fast, simple operation, simple operation, general.目录:一、绪论.................................................................................................................................... - 1 -1.1:前言............................................................................................................................. - 1 -1.2:设计任务和要求......................................................................................................... - 1 -1.3:工艺要求..................................................................................................................... - 2 -二、系统方案............................................................................................................................ - 2 -2.1:方案一......................................................................................................................... - 2 -2.2:方案二......................................................................................................................... - 3 -三、器件介绍............................................................................................................................ - 3 -3.1:STC89C52 ................................................................................................................... - 3 -3.2:LED点阵.................................................................................................................... - 4 -3.3:74LS373 ...................................................................................................................... - 7 -3.4:74LS245 ...................................................................................................................... - 7 -3.5:74LS138 ...................................................................................................................... - 8 -3.6:74LS04 ........................................................................................................................ - 9 -3.7:74LS30 ........................................................................................................................ - 9 -四、系统的硬件设计................................................................................................................ - 9 -4.1:晶振电路................................................................................................................... - 10 -4.2:复位电路................................................................................................................... - 11 -4.3:按键电路................................................................................................................... - 12 -4.4:显示电路................................................................................................................... - 12 -五、软件设计及程序分析...................................................................................................... - 13 -六、仿真与测试...................................................................................................................... - 16 -七、实验.................................................................................................................................. - 17 -八、结论.................................................................................................................................. - 18 -九、感谢.................................................................................................................................. - 19 - 参考文献:................................................................................................................................ - 19 - 附件一:C51源代码......................................................................................................... - 19 - 附件二:PCB原理图......................................................................................................... - 24 - 附件三:PCB板图............................................................................................................. - 25 -一、绪论1.1:前言数字时钟是为了满足人们对精确度的更高要求应运而生的。
基于单片机的LED点阵电子钟 C程序代码

//------------------------------定义头文件#include <reg51.h>//MCS-51单片机//------------------------------定义缩写字符#define uchar unsigned char#define uint unsigned int//------------------------------定义扬声器接口,低电平使能sbit Bell_Out = P1 ^ 5;//扬声器驱动//------------------------------定义DS18B20音sbit DQ = P1 ^ 6;//ds1820data(单总线)//------------------------------定义DS1302时钟接口sbit clock_clk = P3 ^ 5;//ds1302_clk(时钟线)sbit clock_dat = P3 ^ 6;//ds1302_dat(数据线)sbit clock_Rst = P3 ^ 7;//ds1302_Rst(复位线)//-----------------------------定义数据口#define Led_13 P0 //第1、3屏数据口#define Led_24 P2 //第2、4屏数据口#define Led_E P1 //74HC154的BCD列驱动(P1.0~P1.4)sbit Led_EA = P1 ^ 4;//显示列驱动器(74HC154)使能//-----------------------------独立键盘定义sbit Add_Key = P3 ^ 1;//前位加1键sbit Add2_Key = P3 ^ 0;//后位加1键sbit OK_Key = P3 ^ 2;//确定键sbit int_Key = P3 ^ 3;//中断入口//-----------------------------定义累加器A中的各位sbit a0 = ACC ^ 0;sbit a1 = ACC ^ 1;sbit a2 = ACC ^ 2;sbit a3 = ACC ^ 3;sbit a4 = ACC ^ 4;sbit a5 = ACC ^ 5;sbit a6 = ACC ^ 6;sbit a7 = ACC ^ 7;//------------------------------------定义全局变量bit txx = 0;uchar settime;//定义标志位uchar yy,mo,dd,xq,hh,mm,bn;//定义时间映射全局变量(专用寄存器)static uchar timecount = 0;//定义静态软件计数器变量static uchar pp = 0;//定义静态小时更新用数据变量//------------------------------------函数声明(按字母顺序排列)void Beep(void);void Beep_key(void);void Beep_set(void);void clearRAM (void);uchar clock_in(void);void clock_out(uchar dd);void Delay(int num);void DelayM(uint a);void display (void);void display_s (void);void Init_1302(void);void int1 (void);void putin (uchar u);uchar read_clock(uchar ord);void read_clockS(void);void Set_time(unsigned char sel);void setput (uchar k);void Timer0(void);void Timer0_Init(void);void write_clock(uchar ord, uchar dd);uchar DL (uchar);uchar DSS (void);//-----------------------------定义显示缓冲寄存器(32个字节全局变量)uchar Ledplay [35];////-----------------------------定义字符数据表单(二维数组)uchar code no[][10]={//-----------------------------------数字字符表{0x7E,0xFF,0x81,0x81,0xFF,0x7E,0},//0{0x82,0xFF,0xFF,0x80,0}, //1{0xC6,0xE7,0xB1,0x99,0x8F,0x86,0},//2{0x42,0xC3,0x89,0x89,0xFF,0x76,0},//3{0x30,0x28,0xA6,0xFF,0xFF,0xA0,0},//4{0x4F,0xCF,0x89,0x89,0xF9,0x71,0},//5{0x7E,0xFF,0x89,0x8B,0xFB,0x70,0},//6{0x03,0x03,0xF9,0xFF,0x07,0},//7{0x76,0xFF,0x89,0x89,0xFF,0x76,0},//8{0x0E,0xDF,0xD1,0x91,0xFF,0x7E,0},//9//-----------------------------------星期字符表{0x10,0x10,0x10,0x10,0x10,0x10,0x18,0x10,0},//一10{0x40,0x44,0x44,0x44,0x44,0x44,0x44,0x40,0},//二{0x82,0x92,0x92,0x92,0x92,0x92,0x82,0x80,0},//三{0xFE,0xA2,0x9E,0x82,0x9E,0xA2,0xFE,0},//四{0x80,0x89,0xFF,0x89,0x89,0x89,0xF9,0x80,0},//五{0x88,0x68,0x38,0x0E,0x38,0x68,0x88,0},//六{0xFE,0x92,0x92,0x92,0x92,0xFE,0},//日10+6//-----------------------------------特殊字符表{0x6C,0x6C,0},//“:”17{0x18,0x18,0x18,0x18,0},//“-”18{0x06,0x06,0x78,0xFC,0x84,0x84,0x84,0x80,0},//“oC”19{0x02,0x8E,0xFC,0xFC,0x8E,0x02,0},//“Y”(在调时时表示年)20{0x80,0x7E,0x15,0x15,0x95,0xFF,0},//“月”21{0xFE,0x92,0x92,0x92,0x92,0xFE,0}//“日”22};//-----------------------------------开机画面,显示“DYDIY”uchar code dydiy[]={//显示“DYDIY”0x82,0xFE,0xFE,0x82,0xFE,0x7C,0,0x02,0x8E,0xFC,0xFC,0x8E,0x02,0,0x82,0xFE,0xFE,0x82,0xFE,0x7C,0,0x82,0xFE,0xFE,0x82,0,0x02,0x8E,0xFC,0xFC,0x8E,0x02,0,0x99};//---------------------------------------延时函数2uS/次void Delay(int num){for (;num>0;num--);}//---------------------------------------延时函数1MS/次void DelayM(unsigned int a){unsigned char i;while( --a != 0){for(i = 0; i < 125; i++); //一个; 表示空语句,CPU空转。
单片机课程设计之LED点阵电子显示屏设计

LED点阵电子显示屏的设计一、选用器材AT89C52单片机1个,74LS138型号3线-8线译码器1个,74LS373三态输出的八D透明锁存器型号,+5V电源1个,Led8*8点阵屏绿色5个,tPd PD5个,带公共端的8电阻排(排阻)1个,电容30pF3个,电阻10K欧1个,按钮6个,石英晶振1MHz1个二、设计方案1、实验功能本实验要实现的功能就是,显示时分秒,年月日,且可修改。
实现实时时间的显示,显示屏数字显示,时:分:秒;星期的显示;年月日的显示。
显示屏通过按键切换显示星期,年月日,时间。
2、总体方案(1)工作原理用单片机AT89S52控制,写入程序,将数据传输到显示模块,即点阵LED 电子显示屏显示器,实现日历的显示。
(2)总体设计电路图LED和52单片机配合实现时间显示功能。
显示模块为点阵LED电子显示屏显示器,把单片机中的数据显示出来。
该电路是通过按键来切换各种显示要求。
3、方案论证(1)显示部分:显示部分是本次设计最核心的部分,对于LED8*8点阵显示有以下两种方案:静态显示,即将每个二极管的状态分别用1和0表示,0则无电流,为暗,1则有电流,为亮。
若给每个二极管一个驱动电路,一个图像输入后,所有LED的状态保持到下一个图像。
对于静态显示方式,所需的译码驱动装置很多,引线多而负责,成本高,可靠性也低。
动态显示,即对每一个LED屏进行分割,对组成图像的各个部分分别显示,这样利用人眼的暂留效应和发光二极管发光时间的长短,也同样可以实现显示功能,这样就可以避免静态显示出现的问题。
但是,设计上如果处理不当,容易造成图像闪烁的问题,因此合理的涉及要保证驱动电路容易实现而且保证图像稳定补闪烁。
本实验采用软件实现数字时钟。
原理为:在单片机内部存储器分别存放时钟的年、月、日、时、分、秒、星期的信息。
利用定时器与软件结合实现1秒定时中断,每产生一次中断,存储器内相应的秒值加1;若秒值达到60,则清零且相应的分值加1;若分值达到60,则清零且相应的时值加1;若相应的时值达到24,则清零且相应的日值加1;若相应的日值分别达到29,30,31时,根据判断来增加月值;若相应的月值达到12时,清零且年值加1。
基于单片机的16_64LED点阵式时钟电子显示屏设计与实现

Southwest university of science and technology本科毕业设计(论文)基于单片机的点阵式时钟电子显示屏设计与实现学院名称信息工程学院专业名称电子信息工程学生姓名王钧仟学号指导教师郭锋二〇一〇年六月相关资料下载地址:打包放送,欢迎下载,谢谢!里面包括:源程序包iarLed1664proteus仿真文件74HC154 74HC595资料AVR_fighterLED点阵取模软件ATmage8 芯片中文资料硬件电路板和usbasp下载器的Pcb文件毕业设计论文基于单片机的点阵式时钟电子显示屏设计与实现摘要:电子时钟,它最大的特点在于走时精准和功能的多样化,为咱们带来了极大的方便。
而LED点阵式显示屏,具有亮度高、功耗小、寿命长等优势。
假设以LED 点阵来作为电子时钟的显示屏,那么可实现远距离、大视角的时钟显示。
从而超级适合于在公开场合中显示时刻。
本设计的重点在于对点阵式显示屏的显示研究。
从宏观上来上,显示屏可分为两个部份:显示器件和微操纵器。
由微操纵器操纵显示器件的亮灭、颜色转变,从而组合出所需要的图相。
在这次设计中,采纳了16 x 64 个单色LED作为显示器件,用Mega8作为微操纵器,以静止和左移的方式进行时钟显示。
由于充分考虑了软硬件的易扩充性,用本设计的构架思想可很方便地进行点阵扩充和多个汉字或图形的显示。
设计中所涉及的知识点要紧有:点阵显示原理,字模提取,显示左移算法的实现,单片机Meg8和编译器IAR的利用。
和在软硬件设计调试进程中的各类现象及解决方案。
关键词: 电子时钟;点阵显示原理;LED点阵;单片机;Mega8;IAR;74HC154;74HC595;Design and Implementation of Dot-matrix ClockDisplay ScreenAbstract: Electronic clock system, which features that time is very accurate and function are diversity, brought us great ,The LED dot matrix have advantage of high brightness, low power consumption, long lifetime etc. If use LED dot matrix as screen to display electronic clock, can achieve long-range, large angle of the clock display very suitable to display the time in public places.This design focuses on the display of dot matrix .Look from the macro, the design can be divided into two parts: the screen part and microcontroller part. The micro-controller control the Leds off and on. In this design, using 16 x 64 monochrome LED as the display screen, using Mega8 as micro-controller,We can get an effect of static display and left-move full consideration to the ease Expansion of hardware and software , the framework of ideas can be easily expanded to dispaly a large number of Chinese characters or expanded to more dot-matrix Led screenThe knowledge involved in this design are: dot matrix display principle, font data extraction, left-move showe algorithm, Meg8 and the use of IAR the solutions to problem Encountered in the process of debugging software and hardware.Keywords: electronic clock; dot matrix display principle; LED dot matrix; SCM; Mega8; IAR; 74HC154; 74HC595;目录摘要Abstract引言...............................................................................................................................错误!未定义书签。
基于单片机的多功能LED点阵电子显示屏的设计方案

基于单片机的多功能LED 点阵电子显示屏的设计方案第一章 总体设计1.1 课题及目标我们要做的是一块16*16的LED 点阵,通过这个点阵可以显示特定字符。
利用的是单片机原理,通过写入程序控制单片机来显示不同的字样。
1.2 框架设定如图1-1所示,本产品拟采用以AT89C51单片机为核心芯片的电路来实现,主要由AT89C51芯片、电源、行驱动器、列驱动器、16×32 LED 点阵5部分组成。
图1-1 显示屏电路框图从理论上说,不论显示图形还是文字,只要控制与组成这些图形或文字的各个点所在的位置相对应的LED 器件发光,就可以得到我们想要的显示结果,这种同时控制各个发光点亮灭的方法称为静态驱动显示方式。
16x32的点阵共有512个发光二极管,显然单片机没有这么多的端口,如果我采用锁存器来扩展端口,按8位的锁存器来计算,16x32的点阵需要512/8=64个锁存器。
这个数字很庞大,因为我们仅仅是16x32的点阵,在实际应用中的显示屏往往要大得多,这样在锁存器上花的成本将是一个很庞大的数字。
因此在实际应用中的显示屏几乎都不采用这种设计,而采用另外一种称为动态扫描的显示方法。
动态扫描的意思简单地说就是逐行轮流点亮,这样扫描驱动电路就可以实现多行(比如32行)的同名列共用一套驱动器。
具体就16x32的点阵来说,把所有同1行的发光管的阳极连在一起,把所有同1列的发光管的阴极连在一起(共阳极的接法),先送出对应第1列发光管亮灭的数据并锁存,然后选通第1列使其燃亮一定时间,然后熄灭;再送出第2列的数据并锁存,然后选通第2列使其燃亮相同的时间,然后熄灭;以此类推,第32列之后,又重新燃亮第1列,反复轮回。
当这样轮回的速度足够快(每秒24次以上),由于人眼的视觉暂留现象,就能够看到显示屏上稳定的图形了。
第二章系统硬件选择2.1 AT89C51单片机的结构AT89C51是一种带4KB闪烁可编程可擦除只读存储器(Flash Programmable and Erasable Read Only Memory,FPEROM)的低电压、高性能CMOS型8位微处理器,俗称单片机。
基于单片机点阵LED电子钟设计程序.

ORG 0000H ;定义程序开始地址LJMP MAIN ;初始化复位入口ORG 0003H ;定义MAIN起始地址为0003HLJMP PINT0ORG 000BHLJMP INTT0 ;初始化中断入口ORG 0013HLJMP PINT1ORG 0030H ;主程序MAIN: MOV SP,#60H ;把立即数0x60植入SPMOV TMOD,#01H ;送立即数01H到定时器的寄存器MOV TL0,#0e0H ;送立即数0e0H到定时/计数器0 的低8位MOV TH0,#0b1H ;送立即数0b1H到定时/计数器0 的高8位MOV IE,#87H ;送立即数0x87到中端允许寄存器MOV 30H,#01H ;时十位MOV 31H,#02H ;时个位MOV 32H,#0AH ;光标点位MOV 33H,#00H ;分十位MOV 34H,#00H ;分个位MOV 35H,#00H ;秒十位MOV 36H,#00H ;秒个位SETB IT0 ;外部中断0中断触发方式选择位,为0是低电平触发,为1是下降沿触发SETB IT1 ;外部中断1中断触发方式选择位,为0是低电平触发,为1是下降沿触发SETB PT0SETB TR0 ;定时/计数器0开始运行LOOP0: LCALL DISPLJMP LOOP0INTT0: MOV TL0,#0e0HMOV TH0,#0b1HPUSH ACCPUSH PSWINC 36HMOV A,36HCJNE A,#25,PLLMOV 32H,#0BHPLL: CJNE A,#50,ENDD ;1SMOV 32H,#0AHMOV 36H,#00HINC 35HMOV A,35HCJNE A,#60,ENDd ;分个位 MOV 35H,#00H INC 34HMOV A,34HCJNE A,#0AH,ENDd ;分个位 MOV 34H,#00H INC 33HMOV A,33HCJNE A,#06H,ENDd ;分十位 MOV 33H,#00H INC 31HMOV A,30HCJNE A,#02H,END1MOV A,31HCJNE A,#04H,END1 ;时个位 MOV 31H,#00H MOV 30H,#00HEND1: MOV A,31HCJNE A,#0AH,ENDd ;时个位 MOV 31H,#00H INC 30HENDd: POP PSWPOP ACCRETIDISP: PUSH ACCPUSH PSWMOV A,30H ;显示要显示的数字 MOV B,#08H MUL ABMOV 3BH,AMOV R4,#00HMOV R5,#08HLOOP00: MOV A,3BHMOV DPTR,#TABEMOVC A,@A+DPTRMOV P2,R4MOV P0,AMOV P1,#0FEHINC 3BHINC R4LCALL DELAYDJNZ R5,LOOP00MOV A,31H ;显示要显档的数字 MOV B,#08H MUL ABMOV 3BH,AMOV R4,#00HMOV R5,#08HLOOP11: MOV A,3BHMOV DPTR,#TABEMOVC A,@A+DPTRMOV P2,R4MOV P0,AMOV P1,#0FDHINC 3BHINC R4LCALL DELAYDJNZ R5,LOOP11MOV A,32H ;显示要显档的数字 MOV B,#08H MUL ABMOV 3BH,AMOV R4,#00HMOV R5,#08HLOOP22: MOV A,3BHMOV DPTR,#TABEMOVC A,@A+DPTRMOV P2,R4MOV P0,AMOV P1,#0FBHINC 3BHINC R4LCALL DELAYDJNZ R5,LOOP22MOV A,33H ;显示要显档的数字 MOV B,#08H MUL ABMOV 3BH,AMOV R4,#00HMOV R5,#08HLOOP33: MOV A,3BHMOV DPTR,#TABEMOVC A,@A+DPTRMOV P2,R4MOV P0,AMOV P1,#0F7HINC 3BHINC R4LCALL DELAYDJNZ R5,LOOP33MOV A,34H ;显示要显档的数字 MOV B,#08H MUL ABMOV 3BH,AMOV R4,#00HMOV R5,#08HLOOP44: MOV A,3BHMOV DPTR,#TABEMOVC A,@A+DPTRMOV P2,R4MOV P0,AMOV P1,#0EFHINC 3BHINC R4LCALL DELAYDJNZ R5,LOOP44POP PSWPOP ACCRETDELAY: MOV 37H,#50DEL: MOV 38H,#4DJNZ 38H,$DJNZ 37H,DELRETTABE: ;0DB 00H,18H,24H,24H,24H,24H,18H,00H ;1DB 00H,10H,30H,10H,10H,10H,38H,00H ;2DB 00H,18H,24H,04H,18H,20H,3CH,00H ;3DB 00H,18H,24H,18H,04H,24H,18H,00H ;4DB 00H,08H,18H,28H,7CH,08H,08H,00H ;5DB 00H,1CH,10H,18H,04H,24H,18H,00H ;6DB 00H,18H,24H,38H,24H,24H,18H,00H ;7DB 00H,3CH,28H,08H,10H,10H,10H,00H ;8DB 00H,18H,24H,18H,24H,24H,18H,00H ;9DB 00H,18H,24H,24H,1CH,24H,18H,00H ;:DB 00H,00H,18H,18H,00H,18H,18H,00H ;DB 00H,00H,00H,00H,00H,00H,00H,00H RET PINT0: MOV 4AH,#20DJNZ 4AH,$JB P3.2, END_DDMOV 36H,#00HINC 34HMOV A,34HCJNE A,#0AH,END_DD ;分个位 MOV 34H,#00H INC 33HMOV A,33HCJNE A,#06H,END_DD ;分十位 MOV 33H,#00H END_DD: RETIPINT1: MOV 4AH,#20DJNZ 4AH,$JB P3.3,END_DINC 31HMOV A,30HCJNE A,#02H,END_1MOV A,31HCJNE A,#04H,END_1 ;时个位 MOV 31H,#00H MOV 30H,#00HEND_1: MOV A,31HCJNE A,#0AH,END_d ;时个位 MOV 31H,#00H INC 30HEND_D: RETIEND。
基于单片机的点阵电子显示屏的设计

基于单片机的点阵电子显示屏的设计电子显示屏是现代科技产品中不可或缺的一部分,它被广泛应用于电子印刷、生产控制、工业检测以及图形用户界面等领域。
而基于单片机的点阵电子显示屏因其低成本、低功耗、易于控制和灵活性,逐渐成为当前设计中的一个热门选择。
本文将介绍基于单片机的点阵电子显示屏的设计原理、操作方法和应用场景。
一、设计原理基于单片机的点阵电子显示屏主要是由点阵驱动芯片和单片机控制芯片构成。
点阵驱动芯片是将显示内容转换为点阵信号的核心组件,它通常采用串行数据输入、并行数据输出的方式,以节省芯片面积和减小功耗。
而单片机控制芯片则负责获取外部信号,处理并将其转换为点阵驱动芯片所需要的控制信号,从而实现对点阵屏幕的控制。
二、操作方法1. 硬件连接首先需要将点阵驱动芯片和单片机控制芯片进行连接。
通常情况下,这两个芯片之间通过SPI或I2C接口进行数据传输。
另外,由于点阵电子显示屏需要供电,因此需要将供电模块与芯片通电。
2. 软件编程在完成连接后,需要编写控制程序。
编写程序需要根据具体的芯片型号和自己的需求来进行。
通常需要完成以下几个步骤:①初始化芯片在打开电源后,需要先对芯片进行初始化,包括设置端口、时钟等参数。
②设置显示内容通过写入相应的数据(如ASCII码),来显示你想要的内容。
③控制显示位置可以通过设置显示的行数和列数,来控制显示位置,从而达到屏幕滚动、闪烁等特效。
④控制亮度可以通过设置不同的PWM占空比,来控制显示的亮度。
⑤控制刷新率可以通过设置刷新间隔,来实现快速刷新或节能。
三、应用场景1. 电子看板基于单片机的点阵电子显示屏可以应用于电子看板,特别是室内电子看板。
通过在显示屏上展示店铺名称、营销信息等内容,可以吸引顾客的注意力,提高店铺曝光和转化率。
2. 工业监控工业监控系统需要监测和控制大量的设备和系统。
基于单片机的点阵电子显示屏可以在现场显示设备状态、警报消息等信息,以帮助工厂工作人员更快速地识别和解决问题。
《2024年基于AT89C51单片机的LED点阵显示系统设计》范文

《基于AT89C51单片机的LED点阵显示系统设计》篇一一、引言随着科技的进步和电子设备的普及,LED点阵显示系统因其独特的显示效果和灵活性被广泛应用于各种领域。
本文将介绍一种基于AT89C51单片机的LED点阵显示系统设计,旨在提供一种可靠、高效的LED点阵显示解决方案。
二、系统概述本系统以AT89C51单片机为核心控制器,通过驱动电路控制LED点阵模块进行显示。
系统主要由AT89C51单片机、电源电路、驱动电路和LED点阵模块等部分组成。
其中,AT89C51单片机负责处理输入信号、控制驱动电路,从而实现对LED点阵的显示控制。
三、硬件设计1. 单片机选择:本系统选用AT89C51单片机作为核心控制器,其具有高性能、低功耗、易编程等优点,适用于各种嵌入式系统。
2. 电源电路:电源电路为系统提供稳定的电源,包括正负电源。
其中,正电源用于驱动LED点阵模块,负电源用于提供参考电压。
3. 驱动电路:驱动电路是连接单片机与LED点阵模块的桥梁,负责将单片机的控制信号转换为驱动LED点阵的电流信号。
本系统采用适当的驱动芯片和电路设计,以保证驱动能力和稳定性。
4. LED点阵模块:LED点阵模块是本系统的显示部分,由多个LED灯珠组成。
通过控制不同灯珠的亮灭,可以实现各种文字、图案和动画的显示。
四、软件设计软件设计是本系统的关键部分,主要包括单片机的编程和控制逻辑设计。
本系统采用C语言进行编程,具有易读、易维护、可移植性强的优点。
在软件设计中,需要根据LED点阵的规格和需求,编写相应的控制程序,实现对LED点阵的精确控制。
同时,还需要考虑系统的实时性和稳定性,以保证系统的正常运行。
五、系统实现在系统实现过程中,需要完成硬件电路的搭建和软件的编写、调试。
首先,根据硬件设计图纸,完成电路板的制作和元器件的焊接。
然后,编写单片机程序,并进行调试和优化。
最后,将程序烧录到单片机中,进行系统测试和验证。
在测试过程中,需要检查系统的各项性能指标,如显示效果、稳定性、实时性等,以确保系统满足设计要求。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2015~2016学年第一学期《单片机原理及应用》课程设计报告题目:基于单片机LED点阵显示电子时钟设计班级:13级电子信息姓名:指导教师:电气工程学院2015年11月《单片机原理及应用》任务书摘要LED显示屏作为信息传播的一种重要手段,已经成为城市信息现代化建设的标志,LED显示屏随着社会经济的不断进步,以及LED制造技术的完善,人们对LED显示屏的认识将会越来越深入,其应用领域将会越来越广;LED显示屏经多年的开发、研制、生产,其技术目前已经成熟。
现在各种广告牌不再是白底黑字了,也不再是单一的非电产品,而是用上了丰富多彩的LED电子产品,为城市增添了一道靓丽的风景。
本次课程设计是基于AT89C52单片机的LED点阵电子显示器的设计,采用的并行方式的显示方案来实现。
该电子时钟由AT89C51,74LS373数码管等构成,采用晶振电路作为驱动电路,由延时程序和循环程序产生的一秒定时,达到时分秒的计时。
用keil软件生成.hex文件,用Proteus的ISIS软件实现了单片机LED 点阵电子时钟系统的设计与仿真。
关键词:单片机;LED点阵;电子显示器目录《单片机原理及应用》 (I)课程设计报告 (I)《单片机原理及应用》任务书 (II)摘要 (III)第1章方案选择与论证 (1)1.1 设计任务与要求 (1)1.2 总体设计方案 (1)1.2.1 硬件部分的设计 (1)1.2.2 软件部分设计 (2)第2章硬件电路的设计 (3)2.1 晶振电路设计 (3)2.2 复位电路设计 (3)2.3 时分调节电路设计 (4)2.4 驱动电路设计 (4)2.5 总原理图 (5)第3章系统软件设计 (6)3.1 软件流程图 (6)3.2 主要软件程序内容 (7)3.2.1 定时器工作程序 (7)3.2.2 数字显示程序 (7)第4章系统调试与仿真 (11)4.1开发过程 (11)4.2 电路仿真 (14)总结 (19)参考文献 (20)附录 (21)答辩记录及评分表 (27)第1章方案选择与论证1.1 设计任务与要求(1)采用LED灯进行显示(2)可以根据按键来对时间进行调整(3)初始时间为12:00.1.2 总体设计方案1.2.1硬件部分的设计这次硬件电路部分用PROTEUS软件,该软件主要用来进行元器件的绘制和原理图的绘制,PROTEUS软件对绘制好的原理图进行仿真和调试。
根据课程设计任务书的要求,经过思考和筛选,选择并行方式显示,I/O口通过锁存芯片来扩展,以此来控制LED点阵40个列线,双缓冲寄存器由5片锁存器74LS373来组成,可以驱动LED点阵8组列线,并用3/8译码器74LS138对LED点阵的8行进行扫描。
在送每一行的数据到LED点阵时,先把数据分别送到5个74LS373,然后再把数据一起输出到LED点阵列中,送出去的时间数据由AT89C51来控制。
电子钟由显示电路、行驱动电路、列驱动电路、中央控制器AT89C52、按键电路和复位电路组成。
图1.2.1 系统框图a) 显示模块的选择显示模块采用8*8的点阵LED数码管,这种模块由64个发光LED芯片以8*8的形式构成一个正方形模块,然后用两列12针引脚将内部电路接口引出,供驱动电路使用。
这种结构是市面上最通用,也是现在应用最为广泛采用的形式。
b) 时钟信号的选择秒信号由单片机提供,使用程序由时、分、秒计数。
采用这种方案的优点在于,它可以有效减少电路的复杂程度,减少多余芯片的使用,节约成本。
并可以减少时间误差,以达到设计要求。
c) 总体设计方案根据以上方案所述本次毕业设计采取的总体方案如下:用锁存芯片来扩展I/O口,控制LED点阵40个列线;5片锁存器74LS373组成双缓冲寄存器,驱动LED点阵8组列线;采用8*8的点阵LED数码管组成显示模块,显示出运行调试结果;主控系统由AT89C51组成,通过它的串行输出动态扫描来实现时和分的显示。
1.2.2 软件部分设计将需要实现的功能用Keil 软件写好程序,并对写入单片机的代码进行编译和调试。
第2章硬件电路的设计2.1 晶振电路设计晶振电路部分由两个值为30uf的电容C1、C2和一个6MHz的晶振X1串联组成。
由它产生的振荡信号可以保证精度高而且稳定并且频率稳定在6MHz,次方波信号提供给单片机作为一个时钟信号,当定时器需要定时的时候使用。
图2-1 晶振电路部分2.2 复位电路设计复位电路由一个数值为10uf的电容和一个按键串联组成,电路中的复位设定为上电与按键均有效的模式,当电路上电时,RST引脚获得一个高电频,随着C3电容不断的在运行过程中充电,所以导致RST引脚的高电频不断地下降。
因为RST引脚上的高电频只能维持两个机器周期的时间,所以单片机就可以通过这个复位电路进行复位操作。
在电路运行期间,当按下按键开关的瞬间,RST 上的电频立即变为高电频,以此来实现电路复位图2-2 复位电路部分2.3 时分调节电路设计由AT89C51的P3.2端口接入按键S1,P3.3端口接入按键S2,再将二者并联,分别接入74LS138的E2和E3端口,以此来实现按键调节时分的设计。
当电路运行时,LED显示器初始值为12:00。
每按一次S1按键,分针数字就会加1,当分针数字满60再次按下按键S1,就会回归为0;每按下按键S2时,时针数字就会依次加1,当时针为12时再次按下按键S2,时针为就会显示为0。
图2-3 时分电路部分2.4 驱动电路设计驱动部分采用5个74LS373并行的方式,该芯片是常用的三态门8D锁存器。
只有当同时满足以下两个条件时,D端的数据才会被锁存到锁存器的输出端,即有正脉冲输入到门控端G,有效的高电频输出控制OE。
其它情况下,当G为低电频,输出Q保持不变;当OE为低电频,输出Q为高阻态。
图2-4 驱动电路部分2.5 总原理图图2-5 总原理图第3章系统软件设计3.1 软件流程图设计中,计时采用定时器T0中断完成,其余状态循环调用显示子程序,当端口开关按下时,转入相应功能程序。
当计时中断开始时,LED显示器开始接受信号,接受到一个信号时秒数增加1,当秒数累计加到60时,则分数为主动进1,分数位累计加到60时,时数位主动增加1。
秒针、分针、时针只要有一位未接受到信号,那么系统就会自动结束。
其程序执行流程见下图3.2 主要软件程序内容3.2.1定时器工作程序MOV SP,#60HMOV TMOD,#01HMOV TL0,#0e0HMOV TH0,#0b1HMOV IE,#87HMOV 30H,#01H ;//时十位MOV 31H,#02H ;//时个位MOV 32H,#0AH ;//光标点位MOV 33H,#00H ;//分十位MOV 34H,#00H ;//分个位MOV 35H,#00H ;//秒十位MOV 36H,#00H ;//秒个位SETB IT0//IT0变成1(IT0为外部中断0,1为下降沿触发,是按键功能)SETB IT1//同理SETB PT0SETB TR0//TR0为定时器开关,开定时器03.2.2数字显示程序LOOP00: MOV A,3BHMOV DPTR,#TABEMOVC A,@A+DPTRMOV P2,R4MOV P0,AMOV P1,#0FEHINC 3BHINC R4LCALL DELAYDJNZ R5,LOOP00MOV A,31H ;显示要显档的数字MOV B,#08HMUL ABMOV 3BH,AMOV R4,#00HMOV R5,#08HLOOP11: MOV A,3BHMOV DPTR,#TABEMOVC A,@A+DPTRMOV P2,R4MOV P0,AMOV P1,#0FDHINC 3BHINC R4LCALL DELAYDJNZ R5,LOOP11MOV A,32H ;显示要显档的数字MOV B,#08HMUL ABMOV 3BH,AMOV R4,#00HMOV R5,#08HLOOP22: MOV A,3BHMOV DPTR,#TABEMOVC A,@A+DPTRMOV P2,R4MOV P0,AMOV P1,#0FBHINC R4LCALL DELAYDJNZ R5,LOOP22MOV A,33H ;显示要显档的数字MOV B,#08HMUL ABMOV 3BH,AMOV R4,#00HMOV R5,#08HLOOP33: MOV A,3BHMOV DPTR,#TABE,MOVC A,@A+DPTRMOV P2,R4MOV P0,AMOV P1,#0F7HINC 3BHINC R4LCALL DELAYDJNZ R5,LOOP33MOV A,34H ;显示要显档的数字MOV B,#08HMUL ABMOV 3BH,AMOV R4,#00HMOV R5,#08HLOOP44: MOV A,3BHMOV DPTR,#TABEMOVC A,@A+DPTRMOV P2,R4MOV P1,#0EFHINC 3BHINC R4 LCALL DELAY DJNZ R5,LOOP44 POP PSWPOP ACCRET第4章系统调试与仿真Keil是德国Keil Software公司出品的单片机集成开发软件,该软件支持51单片机的所有变种(目前共有400多种型号)。
Keil提供了包括C编译器、宏汇编、连接器、库管理及一个功能强大的仿真调试在内的完整开发方案,并通过一个集成开发环境(μVision2)将这些部分组合在一起。
Keil单片机集成开发软件可以运行在Windows98/NT/2000及XP等操作系统下。
4.1 开发过程a)建立项目图4-1(a-1)建立新项目图4-1(a-2)保存新项目图4-1(a-3)选择CPUb)新建文件,将文件保存并改成abc.c文件,再将程序输入到文件中并进行编译。
图4-1(b-1)创建程序文件图4-1(b-2)保存程序文件c)生成hex文件并进行编译图4-1(c)生成hex文件4.2下载、调试a)打开Proteus,双击单片机并将hex文件加进去,点击“OK”即可。
图4-2(a)b)按下仿真键,即出现如下图初始仿真结果。
初始时间显示为12:00,所有元器件未报错,结果正确。
图4-2(b)初始仿真结果图c)电路仿真过程中,按下按键S1时LED显示器的分钟显示将以步进为1进行进位变化。
当按下按键S2时LED显示器的时钟显示也以步进为1进行进位变化,调试结果如下图所示:LED分别显示为12:03和13:02,说明元器件连接正确,程序编写没有出现错误。
图4-2(c)分钟部分仿真结果图图4-2(c)时钟部分仿真结果图总结经过一个星期的奋战我们的课程设计终于完成了。
在没有做课程设计以前觉得课程设计只是对这本学期来所学知识的单纯总结,但是通过这次做课程设计发现自己的看法有点太片面。