版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、下载可编辑课程设计任务书题目单片机原理及应用课程设计学院信息科学与电气工程学院专业电气工程及其自动化班级电气 131学生学号1308121526月29日至7月5日共1周指导教师 ( 签字 )院长(主任) ( 签字)2015年 07 月 05 日.专业 .整理 .下载可编辑一、课程设计容及要求综合运用单片机(STC15F2K60S2)、模拟 / 数字电子技术、传感器、Protel等相关知识,自拟题目,完成本次课程设计。全部题目要求经过老师的审定,并以实物形式 调试完成,参加最终的课程设计作品答辩。 12 人一组,鼓励单人单组。二、设计原始资料单片微机原理与接口技术丁向荣2014 年 12 月单片
2、机开发实验板、开发模块单片机综合实验台(箱) 、单片机实验指导书PC三、设计完成后提交的文件和图表1计算说明书部分1)方案论证报告打印版或手写版2)程序流程图3)具体程序代码2图纸部分绘制所设计系统的具体电路原理图3. 其他资料提交所设计作品演示的视频文件以及相关作品的照片.专业 .整理 .下载可编辑四、进程安排教学容学时地点资料查阅与学习讨论1 天现代电子技术实验室分散设计3天现代电子技术实验室编写报告1天现代电子技术实验室成果验收1天现代电子技术实验室五、主要参考资料电子设计自动化技术基础马建国、孟宪元编清华大学出版2004年 4 月实用电子系统设计基础姜威2008 年1月单片机系统的 P
3、ROTEUS设计与仿真靖武 2007年 4 月指导老师成绩答辩小组成绩总成绩说明:本任务书一式二份,院( 部、系 ) 、教务处各一份。.专业 .整理 .下载可编辑目录一、系统功能设计要求。1二、设计方案。2三、LED点阵的显示原理。3四、单片机结构。4五、源程序、程序设计及流程图。 。5.专业 .整理 .下载可编辑一、 设计要求设计一个 16*16LED点阵位置显示屏, 要求可以在显示屏上可以点亮足够的 led 灯,组成文字和图形,并形成跑马灯、移入移出等显示特色。要求文字显示清晰,图形显示清晰,并且稳定。二、 设计方案从理论上说,不论显示图形还是文字,只要控制组成这些图形或文字的各个点所在的
4、位置相对应的LED器件发光,就可以得到我们想要的显示结果,这种同时控制各个发光点亮灭的方法称为静态驱动显示方式。16× 16 的点阵共有 256 个发光二极管,显然单片机没有这么多的端口,如果我采用锁存器来扩展端口,按 8 位的锁存器来计算,16×16 的点阵需要 256/8=32 个锁存器。这个数字很庞大,因为我们仅仅是 16× 16 的点阵,在实际应用中的显示屏往往要大得多, 这样在锁存器上花的成本将是一个很庞大的数字。因此在实际应用中的显示屏几乎都不采用这种设计,而采用另外一种称为动态扫描的显示方法。动态扫描的意思简单地说就是逐行轮流点亮, 这样扫描驱动电路
5、就可以实现多行(比如 16 行)的同名列共用一套驱动器。具体就 16× 16 的点阵来说,把所有同 1 行的发光管的阳极连在一起,把所有同 1 列的发光管的阴极连在一起(共阳极的接法) ,先送出对应第一行发光管亮灭的数据并锁存,然后选通第1 行使其燃亮一定时间,然后熄灭;再送出第二行的数据并锁存,然后选通第2 行使其燃亮相同的时间,然后熄灭;以此类推,第16 行之后,又重新燃亮第1 行,反复轮回。当这样轮回的速度足够快(每秒 24 次以上),由于人眼的视觉暂留现象,就能够看到显示屏上稳定的图形了。采用扫描方式进行显示时,每一行有一个行驱动器,各行的同名列共用一个驱动器。显示数据通常存
6、储在单片机的存储器中,按 8 位一个字节的形式顺序排放。显示时要把一行中各列的数据都传送到相应的列驱动器上去, 这就存在一个显示数据传输的问题。从控制电路到列驱动器的数据传输可以采用并列方式或串行方式。显然,采用并行方式时,从控制电路到列驱动器的线路数量大,相应的硬件数目多。当列数很多时,并列传输的方案是不可取的。采用串行传输的方法,控制电路可以只用一根信号线,将列数据一位一位传往列驱动器,在硬件方面无疑是十分经济的。但是,串行传输过程较长,数据按顺序一位一位地输出给列驱动器,只有当一行的各列数据都以传输到位之后,这一行的各列才能并行地进行显示。这样,对于一行的显示过程就可以分解成列数据准备(
7、传输)和列数据显示两部分。对于串行传输方式来说,列数据准备时间可能相当长,在行扫描周期确定的情况下留给行显示的时间就太少了,以致影响到LED的亮度。解决串行传输中列数据准备和列数据显示的时间矛盾问题,可以采用重叠处理的方法。即在显示本行各列数据的同时,传送下一列数据。为了达到重叠处理的目的,列数据的显示就需要具有锁存功能。经过上述分析,就可以归纳出列驱动器电路应具有的功能。对于列数据准备来说,它应能实现串入并出的移位功能;对于列数据显示来.专业 .整理 .下载可编辑说,应具有并行锁存的功能。 这样,本行已准备好的数据打入并行锁存器进行显示时,串并移位寄存器就可以准备下一行的列数据,而不会影响本
8、行的显示。列驱动器电源单片机行驱LED显示点阵动器LED驱动显示采用动态扫描方法,动态扫描方式是逐行轮流点亮,这样扫描驱动电路就可以实现多行的同名列共用一套列驱动器。以16×16 点阵为例,把所有同一行的发光管的阴极连在一起,把所有同一列的发光管的阳极连在一起(共阴的接法),先送出对应第 1 列发光管亮灭的数据并锁存,然后选通第 1 列使其燃亮一定的时间,然后熄灭;再送出第 2 列的数据并锁存,然后选通第 2 列使其燃亮相同的时间,然后熄灭; . 第 16 列之后,又重新燃亮第 1 列,反复轮回。当这样轮回的速度足够快(每秒 24 次以上),由于人眼的视觉暂留现象,就能看到显示屏上稳
9、定的图形。该方法能驱动较多的 LED,控制方式较灵活,而且节省单片机的资源。显示数据可通过单片机的 P0,P2 口接驱动电路传输到点阵行引脚。点阵的移动以下以 16×16 点阵为例介绍点阵的移动。要显示一个字符,该字符的点阵数据可以列向(纵向) 16 点组字,又可以行向(横向) 16 点组字。无论哪一种组字方法,都既可以显示字符的水平方向的移动,又可以显示竖直方向的移动。本设计主要采用汉字的左移,所以以下只作左移显示的解释列扫描方式左移动:列向组字显示字符水平方向的移动(左滚动)延长数组法。将原来字符点阵数组的 16 个数据重复一遍延长,点阵数组的数据个数为 32 个。每扫描一帧取
10、8 个数据显示,下一帧取数要在数组中后移一个数取数。循环一遍扫 16 帧。可以假想有两块 16×16 的点阵模块(共 32 帧)水平平行排列,用一个恰好能罩住16 列点阵的中空方框去罩这个点阵,第1(第 1 帧)罩住最左边数起第一列开始的16 列,就扫描显示这16 列;第 2 次(第 2 帧)使方框右移一列,罩住做左边数起第2 列开始的 16 列,就扫描显示这16 列;······;这样每扫描完一帧使方框右移一列,最后第16 次(第 16 帧)时,罩住左边数起的第16 列开始的 16 列,就扫描显示这 16 列。如此完成 1
11、6 帧画面的扫描显示,也就完成了整个一次移动循环扫描、之后反复循环,即可呈现显示字符沿水平向左移动的图像.专业 .整理 .下载可编辑因为是列向组字(列扫描方式,点阵数据为行码,上边为低位下面为高位) ,希望显示移动的一个字符,第 1 次扫描从行码的点阵数组中取第 116 个数据,送行码输出口,对应于这 8 个数据,同时用列码输出口输出列码,分别控制第 116 列。扫描完前 16 个数据之后,第 2 次扫描从点阵数组中取第 318 个数据(第 18 个数据与第 1 个数据同),送行码输出口,对应于这 16 个数据,同时用列码输出口输出列码,仍分别控制扫第 116 列。第 3 次扫描从点阵数组中取
12、第 520 个数据(第 20 个数据码与第 2 个数据码相同)扫描· ·····;如此实现字符向左移动。以上完成一个图形移动的方法, 也可以看成是移动 16 个不同的字形。如图 2.13 所示,首先1扫描第一个字型,同样是 2 16 行, 16 次扫描, 16 次显3示;完成一个字型的扫描以4后,再扫描第二个字型;完成第二个字型的扫描之后,再扫描第三个字型······依此类推,即可产生该文字的左移的感觉。DDU1VCC31EA/VPP0.039C138P0.133P1937X
13、1P0.236P0.3C2Y135P0.4GND12.000MHZ183441 02341 023X2P0.533P3311 111GND11 111GNDP0.6C33274HC59574HC595P0.7U3U49RKERKEVCCRESET21R KRKP2.0E LLLELLL10uF22S CCCSCCCP2.1R RRR RR1223S SSSR1INT0P2.21324INT1P2.314258.2KT0P2.401234 5677012345677GND1526T1P2.527OO OO OO OOQOOOOOOOOQP2.6128CP1.0P2.7C512 345 67951
14、23 45 672P1.1931711P1.2RD416P1.3WR529P1.4PSEN630R?P1.5ALE/P71147P1.6TXD810P1.7RXD87C51VCCD?D?16×16 LED点阵U2R?LEDLED1Q?0285501200 32435B4B236A5227D?D?B6218LEDLEDC7209D810911101813G1111914G2121513GND1614171574LS154三、 单片机系统结构SizeNumberRevisionATitleA51 单片机的概述A4Date:9-Jan-2004Sheet ofFile:F:tempMyDe
15、sign.ddbDrawn By :单片机也被称作“单片机微型计算机” 、“微控制器”、“嵌入式微控制器” ,国际上采1234用“MCU”(Micro ControllerUnit) 称呼单片机。如果将8 位单片机的推出作为起点( 1976 年),那么单片机的发展的历史大致可以分为4 个阶段。第一阶段是单片机探索阶段,主要探索如何把计算机的主要部件集成在单芯上;第二阶段是单片机完善阶段,完善了 8 位单片机的并行总线结构、外围功能单元由CPU集中管理模式、体现控制特性的位地址空间和位操作方式、指令系统趋于丰富和完善,并且增加了许多突出控制功能的指令;第三阶段是向微控制器发展的阶段,说的是在51
16、 系列的基本结构的基础上,加强了外围电路的功能,突出了单片机的控制功能,将一些用测控对象的模数转换器、数模转换器、程序运行监视器、脉宽调制器等纳入芯片中,体现单片机的微控制器特征;第四阶段是单片机的全面发展阶段,很多大半导体和电气厂商都开始加入单片机的研制和生产,单片机世界出现了百花齐放,欣欣向荣的景象。随着单片机在各个领域全面深入地发展和应用,出现了高速、大寻址围、强运算能力的8.专业 .整理 .下载可编辑位、 16 位、 32 位通用型单片机,以及小型谦价的专用型单片机。目前,单片机正朝着高性能和多品种方向发展,今后单片机的发展趋势将是进一步向着 CMOS化、低功耗、小体积、大容量、高性能
17、、低价格和外围电路装等方面发展。单片机的组成单片机通过部总线把计算机的各主要部件连为一体,其部总线包括地址总线、数据总线和控制总线。其中,地址总线的作用是为进行数据交换时提供地址, CPU通过将地址输出到存储器或 I/O 接口;数据总线用于在 CPU与存储器或 I/O 接口之间或存储器与外设之间交换数据; 控制总路线包括 CPU发出的控制信号线和外部送入 CPU的应答线等。四、 源程序、程序设计及流程图显示驱动程序(显示屏扫描函数)流程图。进入中断定时器赋初值读取行号并增1送新行显示数据消隐切换显示数据送新行号、打开显示退出中断图 7.4 显示驱动程序流程图开始系统初始化“卷帘出” 显示效果“
18、上滚屏” 显示效果“左跑马” 显示效果“卷帘入” 显示效果图 7.5 系统主程序流程图以下是 16× 16 点阵 LED电子显示屏的源程序, 分别采用 C及汇编编写, C程序在 Keil uVision2 V2.30 (C51.exe V7.0 )环境下调试通过。/*-16×16 点阵 LED显示屏程序MCU AT89C51 XAL 24MHz.专业 .整理 .下载可编辑-*/#include <reg51.h>#define BLKN 2/列锁存器数sbit G = 0x97;/P1.7为显示允许控制信号端口sbit RCLK = 0x96;/P1.6为输出锁
19、存器时钟信号端sbit SCLR = 0x95;/P1.5为移位寄存器清端void delay(unsigned int);/延时函数unsigned char data dispram32; /显示缓存/*-主函数 void main(void)-*/void main(void)unsigned char code Bmp32=/字模表0xF9,0xBF,0xC7,0xAF,0xF7,0xB7,0xF7,0xB7,0xF7,0xBF,0x00,0x01,0xF7,0xBF,0xF7,0xB7,0xF1,0xD7,0xC7,0xCF,0x37,0xDF,0xF7,0xAF,0xF6,0x6D
20、,0xF7,0xF5,0xD7,0xF9,0xEF,0xFD /* 我*/,0xFF,0x07,0xC0,0x6F,0xED,0xEF,0xF6,0xDF,0xC0,0x01,0xDD,0xFD,0xBD,0xFF,0xC0,0x03,0xFB,0xFF,0xF8,0x0F,0xF3,0xDF,0xF4,0xBF,0xEF,0x3F,0x9C,0xCF,0x73,0xF1,0xCF,0xFB /* 爱*/,0xF7,0xDF,0xF9,0xCF,0xFB,0xBF,0xC0,0x07,0xDE,0xF7,0xC0,0x07,0xDE,0xF7,0xDE,0xF7,0xC0,0x07,0xDE,
21、0xF7,0xFE,0xFF,0x00,0x01,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF /* 单*/,0xFF,0xBF,0xEF,0xBF,0xEF,0xBF,0xEF,0xBB,0xE0,0x01,0xEF,0xFF,0xEF,0xFF,0xEF,0xFF,0xE0,0x0F,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xDF,0xEF,0xDF,0xEF,0xBF,0xEF,0x7F,0xEF/*片*/,0xEF,0xFF,0xEF,0x07,0xEF,0x77,0x01,0x77,0xEF,0x77,0xEF,0x77,0xC
22、7,0x77,0xCB,0x77,0xAB,0x77,0xAF,0x77,0x6E,0xF7,0xEE,0xF5,0xED,0xF5,0xED,0xF5,0xEB,0xF9,0xEF,0xFF/*机*/,0xF8,0x3F,0xE7,0xCF,0xDF,0xF7,0xBF,0xFB,0xB3,0x9B,0x73,0x9D,0x7F,0xFD,0x7F,0xFD,0x6F,0xED,0x67,0xCD,0xB3,0x9B,0xB8,0x3B,0xDF,0xF7,0xE7,0xCF,0xF8,0x3F,0xFF,0xFF /* ? */;register unsigned char i,j,k,l
23、;SCON = 0x00;/串口工作模式 0:移位寄存器方式TMOD = 0x01;/定时器 T0 工作方式1:16 位方式TR0 = 1;/启动定时器 T0P1 = 0x3f;/P1端口初值:允许接收、锁存、显示IE = 0x82;/允许定时器 T0 中断while (1)delay(2000);/延时2秒for (i=0;i<32;i+)/显示效果:卷帘出disprami = Bmp5i;if (i%2) delay(100);/delay(3000);.专业 .整理 .下载可编辑for (i=0; i<6; i+)/显示效果:上滚屏for (j=0; j<16; j+)
24、for (k=0; k<15; k+)dispramk*BLKN = dispram(k+1)*BLKN;dispramk*BLKN+1 = dispram(k+1)*BLKN+1;dispram30 = Bmpij*BLKN;dispram31 = Bmpij*BLKN+1;delay(100);/delay(3000);for (i=0; i<6; i+)/显示效果:左跑马for (j=0; j<2; j+)for (k=1; k<9; k+)for (l=0; l<16; l+)dispraml*BLKN = dispraml*BLKN<<1 |
25、 dispraml*BLKN+1>>7;dispraml*BLKN+1 = dispraml*BLKN+1<<1 | Bmpil*BLKN+j>>(8-k);delay(100);/end (k=0; k<16; k+)/end for (i=0; i< i+)/delay(3000);for (i=0;i<32;i+)/显示效果:卷帘入disprami = 0x00;if (i%2) delay(100);/end while (1)/* 延时函数 */void delay(unsigned int dt)register unsigne
26、d char bt;for (; dt; dt-)for (bt=0; bt<255; bt+);/* 显示屏扫描(定时器T0 中断)函数 */void leddisplay(void) interrupt 1 using 1register unsigned char i, j=BLKN;TH0 = 0xF8;/设定显示屏刷新率每秒62.5 帧TL0 = 0x30;i = P1;/读取当前显示的行号i = +i & 0x0f;/行号加 1,屏蔽高 4 位do j-;.专业 .整理 .下载可编辑SBUF = disprami*BLKN + j; /送显示数据while (!TI)
27、; TI = 0;while (j);/完成一行数据的发送G=1;/消隐(关闭显示)P1 &= 0xf0;/行号端口清RCLK = 1;/显示数据打入输出锁存器P1 |= i;/写入行号RCLK = 0;/锁存显示数据G=0;/打开显示以下为用汇编编写的字符显示控制程序:;*;*;*单个 16*16点阵电子屏字符显示器 *;*AT89C5212MHZ晶振*;*2004.2.11LRM*;*; 显示字用查表法,不占存,字符用16*16 共阳 LED点阵,; 效果:向上滚动显示 19 个字,再重复循环。;R1 :查表偏址寄存器,B:查表首址, R2:扫描地址 ( 从 00-0FH) 。;R
28、3 :滚动显示时控制移动速度,单字显示可控制静止显示的时间。;*; 中断入口程序 ;*;ORG0000HLJMPSTARTORG0003HRETIORG000BH.专业 .整理 .下载可编辑LJMPINTT0ORG0013HRETIORG001BHRETIORG0023HRETIORG002BHRETI;*;初始化程序;*;*;主程序;*;START:MOV 20H,#00H;清标志 ,00H 为第 16 行开始扫描标志 ,01 为 1 帧扫描结束标志MOVA,#0FFH;端口初始化MOVP1,AMOVP2,AMOVP3,AMOVP0,A.专业 .整理 .下载可编辑CLRP1.6; 串行寄存器
29、输入打入输出控制位MOVTMOD,#01H;使用 T0 作 16 位定时器 , 行扫描用。MOVTH0,#0FCH;1ms初值 (12MHZ)MOVTL0,#18HMOVSCON,#00H;串口 0 方式传送显示字节MOVIE,#82H;T0中断允许 , 总中断允许MOVSP,#70HMAIN:LCALL DIS1;显示准备,黑屏, 1.5 秒MOVDPTR,#TABLCALLMOVDISP;向上滚动显示一页 (8 个字 )INCDPHLCALLMOVDISP;向上滚动显示一页 (8 个字 )INCDPHLCALLMOVDISP;向上滚动显示一页 (8 个字 )AJMPMAIN;*;多字滚动显
30、示子程序;*; 每次 8 个字,入口时定义好DPTR值;MOVDISP:MOVB,#00H;向上移动显示,查表偏址暂存(从00 开始)DISLOOP:MOVR3,#07H;移动速度DISMOV:MOVR2,#00H;第0行开始.专业 .整理 .下载可编辑MOVR1,B;SETBTR0;开扫描(每次一帧)WAITMOV:JBC01H,DISMOV1;标志为 1 扫描一帧结束(16 毫秒为 1 帧,每行 1 毫秒)AJMPWAITMOVDISMOV1:DJNZR3,DISMOV;1帧重复显示(控制移动速度)INCB;显示字的下一行(每行2 字节)INCB;MOVA,R1;R1为 0,8 个字显示完
31、JZMOVOUT;AJMPDISLOOP;MOVOUT:RET;移动显示结束;*;单字显示子程序;*; 显示表中某个字DIS1:MOVR3,#5AH;静止显示时间控制(16MS*#=1.6 秒)DIS11:MOVR2,#00H;一帧扫描初始值(行地址从00-0FH)MOVDPTR,#TAB;取表首址MOVR1,#00H;查表偏址(显示第一个字)SETBTR0;开扫描(每次一帧)WAIT11:JBC 01H,DIS111 ;为 1,扫描一帧结束AJMPWAIT11DIS111:DJNZ R3,DIS11.专业 .整理 .下载可编辑RET;*;扫描程序;*;1MS 刷新一次,每行显示1 秒INTT
32、0:PUSHACCMOVTH0,#0FCH;1ms初值重装MOVTL0,#18HJBC00H,GOEND;16行扫描标志为1,结束INCR1;取行右边字节偏址MOVA,R1MOVCA,A+DPTR;查表MOVSBUF,A;串口 0 方式发送WAIT:JBCTI,GO;等待发送完毕AJMPWAIT;GO:DECR1;取行左边字节偏址MOVA,R1MOVCA,A+DPTRMOVSBUF,AWAIT1:JBCTI,GO1AJMPWAIT1GO1:SETBP1.7;关行显示,准备刷新NOP;串口寄存器数据稳定.专业 .整理 .下载可编辑SETBP1.6;产生上升沿,行数据打入输出端NOP;NOP;CLRP1.6;恢复低电平MOVA,R2;修改显示行地址ORLA,#0F0H;修改显示行地址MOVR2,A;修改显示行地址MOVA,P1;修改显示行地址ORLA,#0FH;修改显示行地址ANLA,R2;修改显示行地址MOVP1,A;修改完成CLRP1.7;开行显示INCR2;下一行扫描地址值INCR1;INCR1;下一行数据地址MOVA,R2ANLA,#0FHJNZGO2SET
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年汉中职业技术学院单招职业倾向性测试题库及答案详解一套
- 2026年厦门安防科技职业学院单招职业技能考试题库参考答案详解
- 2026年锡林郭勒职业学院单招综合素质考试题库带答案详解
- 2026年西藏山南地区单招职业适应性考试题库及参考答案详解1套
- 2026年山东省淄博市单招职业适应性测试题库及完整答案详解1套
- 2026年山东文化产业职业学院单招职业倾向性考试题库及参考答案详解1套
- 海南医院面试题目及答案
- 铁路车辆运维面试题及答案
- 维修合同协议书范本
- 2025年四川工商学院招聘党委宣传部工作人员备考题库及1套参考答案详解
- GB/T 41932-2022塑料断裂韧性(GIC和KIC)的测定线弹性断裂力学(LEFM)法
- 2023年浙江省大学生物理竞赛试卷
- GB/T 7253-2019标称电压高于1 000 V的架空线路绝缘子交流系统用瓷或玻璃绝缘子元件盘形悬式绝缘子元件的特性
- GB/T 2007.1-1987散装矿产品取样、制样通则手工取样方法
- GB/T 18226-2015公路交通工程钢构件防腐技术条件
- KRONES克朗斯吹瓶机课件
- 矿井提升与运输斜井提升课件
- 光纤通信期末试题
- 变电站主要电气设备简介课件
- 自然辩证法2018年版课后思考题答案
- LED显示屏售后服务方案
评论
0/150
提交评论