文档库 最新最全的文档下载
当前位置:文档库 › LCD显示设计

LCD显示设计

LCD显示设计
LCD显示设计

《单片机原理及应用》

课程设计报告

题目: LCD显示设计

院 (系):机电与自动化学院

专业班级:电气工程及其自动化1204 学生姓名:

学号:

指导教师:

2015年6月 23日至2015年 7 月 3日

华中科技大学武昌分校制

《单片机及控制系统》课程设计任务书

目录

1.课程设计目的 (1)

2. 课程设计题目及要求 (2)

2.1 课程设计题目 (2)

2.2 课程设计要求 (2)

3. 课程设计主要内容 (3)

3.1 LCD显示原理 (3)

3.2 LCD显示电路 (3)

3.3L C D引脚说明 (4)

3.4 SED1520的基本原理 (4)

3.5 SED1520的13条指令 (6)

3.6 LCD与单片机的连接 (6)

3.7 汉字字模的获取 (7)

3.8 课程设计程序流程 (8)

3.8.1显示子程序 (8)

3.8.2 初始化程序 (8)

3.8.3 显示程序 (9)

3.8.4 清屏子程序 (9)

3.9 课程设计具体程序 (10)

3.9.1翻屏 (10)

4.课程设计总结 (16)

参考文献 (17)

1.课程设计目的

随着科技的高速发展,液晶显示设备越来越多,各种各样的液晶显示产品走进我们生活中。为了进一步巩固学习的理论知识,增强我们对所学知识的实际应用能力和运用所知识解决实际问题的能力,开始为期两周的单片机课程设计。单片机课程设计的目的是培养我们综合设计的能力,训练我们灵活运用所学知识,独立完成问题分析、总体设计和编程实现等软件开发过程的综合实践能力,巩固深化学生的理论知识,提高编程水平,并在此过程中培养我们严谨的科学态度和良好的学习作风。为今后其他计算机课程打下基础。按照教学计划的要求,利用二周时间,综合应用所学知识,设计具有一定功能的LCD显示,培养我们一定的自学能力和独立分析问题、解决问题的能力,要求我们能通过独立思考、查阅工具书、参考文献,提出自己的设计方案。

2. 课程设计题目及要求

2.1 课程设计题目

LCD显示设计

2.2 课程设计要求

了解122×32A点阵式LCD液晶显示的结构、工作原理、编程方法;SED1250的特性、内部结构、各个管脚的功能,以及获取字模的方法;编写一个完整的程序,按要求在LCD上显示内容。

具体显示效果为:

(1) 显示汉字:华中科技大学武昌分校自己的姓名。

(2) 实现显示内容的翻屏功能。拓展:实现显示内容的滚动功能。

3. 课程设计主要内容

3.1 LCD显示原理

液晶是一呈液体状的化学物质,像磁场中的金属一样,当受到外界电场影响时,其分子会产生精确的有序排列。如果对分子的排列加以适当的控制,液晶分子将会允许光线穿越。无论是笔记本电脑还是桌面系统,采用的LCD显示屏都是由不同部分组成的分层结构。位于最后面的一层是由荧光物质组成的可以发射光线的背光层。背光层发出的光线在穿过第一层偏振过滤层之后进入包含成千上万水晶液滴的液晶层。液晶层中的水晶液滴都被包含在细小的单元格结构中,一个或多个单元格构成屏幕上的一个像素。当LCD中的电极产生电场时,液晶分子就会产生扭曲,从而将穿越其中的光线进行有规则的折射,然后经过第二层过滤层的过滤在屏幕上显示出来。

3.2 LCD显示电路

采用122×32A点阵式LCD液晶显示模块,内置SED1520液晶显示控制器。LCD 显示电路如图3-1所示。

图3-1 LCD显示电路

图3-2 LCD显示屏

3.3 LCD引脚说明

SED为内置液晶显示器控制器,集行、列驱动器和控制器与一体,广泛应用于小型液晶显示模块中,内置2560位显示RAM区(32行80列),RAM中的1位数据控制液晶屏上一个像素的亮暗,“1”为亮,“0”为暗。

(1) 1-61列为左半屏;62-122为右半屏。

(2) 每半屏页数分配一致。

(3) 每页含8行80列(80个字节)。(前61列有效)

(4) 每半屏为32行,共4页。

(5) 每个汉字占16行,即用2页才能写完。

(6) 液晶屏上最多能显示两行汉字(静态时最多显示16字)。

图3-3 SED液晶显示控制器

3.5 SED1520的13条指令

表1

单片机与LCD模块之间有四种基本操作:

写命令:R/W接低电平即A7为0

读状态:R/W 接高电平即A7为1

写显示数据:A0接高电平

读显示数据:A0接低电平

表3-4 E1和E2的四个地址

3.7 汉字字模的获取

(1)打开字模软件

(2)在“取模方式”中选择“纵向8点下高位”

(3)点击“参数确认”

(4)输入字串

(5)得到字模代码

(6)粘贴到程序中即可

图3-6 字模获取示意图

3.8 课程设计程序流程

3.8.1显示子程序

程序流程为“开始”→“确定字符字模块首地址”→“取代”→“计算字符字模块首地址”→“取间址寄存器”→“取汉字字模数”→“写数据”。

图3-7 显示子程序流程图

3.8.2初始化程序

写初始化程序时,要根据SED1520的13条指令得到控制代码。

程序流程为“开始”→“分别置COM=0E2H,复位;COM=0E2H,关闭空闲状态;COM=0A4H,设置占空比;COM=0A9H,正向排序;COM=0A0H,设置显示起始行;COM=0C0H,开显示设置”→“调用E1写指令代码子程序”→“调用E2写指令代码子程序”。

图3-8 初始化程序流程图

3.8.3显示程序

显示主程序流程为:“调用LCD初始化子程序”→“调用LCD清屏子程序”→“设置页地址=03H,列地址=30H,字符代码寄存器”→“调用显示‘陈’字子程序”→“设置页地址=03H,列地址=40H,字符代码寄存器”→“用显示‘泽’字子程序”。

图3-9 显示主程序流程图

3.8.4 清屏幕子程序

清屏幕子程序流程为“开始”→“页面地址0,列地址0”→“显示数据为0”→“判断一页是否满80个字节,否,跳转到‘显示数据为0’,是,顺序执行”→“页面地址加1”→“判断是否满4页,否,跳转到‘显示数据为0’,是,顺序执行”→“结束”。

图3-10 清屏幕子程序流程图

3.9 课程设计具体程序

3.9.1翻屏

在第一页显示“武昌首义学院郑明亮”。

在第二页显示“电气工程及自动化”。

程序如下:

#include

#include

#include

#define PD1 61 /* 122/2 分成左右两半屏(122x32) */ unsigned char Column;

unsigned char Page_ ; /* 页地址寄存器 D1,DO:页地址 */

unsigned char Code_ ; /* 字符代码寄存器 */

unsigned char Command; /* 指令寄存器 */

unsigned char LCDData; /* 数据寄存器 */

#define CWADD1 XBYTE[0xfa00] /* 写指令代码地址(E1) */

#define DWADD1 XBYTE[0xfa40] /* 写显示数据地址(E1) */

#define CRADD1 XBYTE[0xfa80] /* 读状态字地址(E1) */

#define DRADD1 XBYTE[0xfac0] /* 读显示数据地址(E1) */

#define CWADD2 XBYTE[0xf800] ///* 写指令代码地址(E//2

#define DWADD2 XBYTE[0xf840] ///* 写显示数进地址(E

#define CRADD2 XBYTE[0xf880] ///* 读状态字地址(E2

#define DRADD2 XBYTE[0xf8c0] ///* 读显示数据地址(E2

#define _Nop() _nop_ (); _nop_ (); _nop_ (); _nop_ (); _nop_ () /*中文字模库 16x16点阵 */

unsigned char code CCTAB[][32]={

/*点阵:16x16

提取点阵方向:纵向

字节掉转:是

字节方式:C语言 */

0x20,0x20,0x24,0x24,0x24,0xE4,0x26,0x24,

0x20,0xFF,0x20,0x22,0x2C,0x20,0x20,0x00,

0x20,0x60,0x3F,0x20,0x20,0x1F,0x11,0x11,

0x10,0x03,0x1C,0x20,0x40,0x80,0xE0,0x00,//

0x00,0x00,0x00,0x7F,0x49,0x49,0x49,0x49,

0x49,0x49,0x49,0x7F,0x00,0x00,0x00,0x00,

0x00,0x00,0xFF,0x49,0x49,0x49,0x49,0x49,

0x49,0x49,0x49,0x49,0xFF,0x00,0x00,0x00,//

0x04,0x04,0x04,0xE4,0x25,0x36,0x2C,0x24,

0x00,0x00,0x00,0xFF,0x49,0x49,0x49,0x49, 0x49,0x49,0x49,0xFF,0x00,0x00,0x00,0x00,// 0x40,0x44,0x54,0x54,0x55,0x56,0x54,0x7C, 0x54,0xD6,0x55,0xD4,0x54,0x44,0x40,0x00, 0x40,0x44,0x25,0x25,0x95,0x7F,0x0D,0x05, 0x84,0x5F,0x24,0x54,0x8D,0x84,0xC4,0x00,// 0x00,0xC0,0x7F,0x55,0x55,0x40,0x55,0x4A, 0x55,0x40,0x55,0x55,0x7F,0x40,0xC0,0x00, 0x09,0x08,0x08,0x09,0x09,0x49,0x89,0x7D, 0x0D,0x0B,0x09,0x08,0x08,0x09,0x08,0x00,// 0x00,0xFE,0x22,0x5A,0x86,0x0C,0x24,0x24, 0x25,0x26,0x24,0x24,0xA4,0x14,0x0C,0x00, 0x00,0xFF,0x04,0x08,0x87,0x81,0x41,0x31, 0x0F,0x01,0x7F,0x81,0x81,0x81,0xF0,0x00,// 0x00,0xFE,0x22,0x5A,0x86,0x00,0xF4,0x54, 0x54,0xFF,0x54,0x54,0x54,0xF4,0x00,0x00, 0x00,0xFF,0x04,0x08,0x27,0x10,0x09,0x05, 0x01,0xFF,0x01,0x05,0x09,0x31,0x10,0x00,// 0x10,0x21,0x62,0x06,0x80,0xAE,0xAA,0xAE, 0xAA,0xFA,0xAE,0xAA,0xAA,0x8E,0x00,0x00, 0x04,0x04,0xFE,0x01,0x10,0x14,0x15,0x16, 0x14,0xFC,0x16,0x15,0x14,0x10,0x10,0x00,// 0x00,0x00,0xF8,0xF0,0x90,0x90,0x90,0xFF, 0xFE,0x90,0x90,0x90,0xF0,0xF8,0x10,0x00, 0x00,0x00,0x0F,0x07,0x04,0x04,0x04,0x7F, 0xFF,0xC4,0xC4,0xC4,0xCF,0xC7,0xF0,0x40,// 0x00,0x40,0x20,0x70,0x5C,0x4F,0x56,0x54, 0x54,0x54,0xD4,0xFC,0x56,0x04,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x0F,0x3F,0x60,0xC0,0xF0,0x40,// 0x00,0x00,0x04,0x04,0x04,0x04,0x04,0xFC, 0xFC,0x04,0x04,0x04,0x06,0x04,0x00,0x00, 0x00,0x40,0x40,0x40,0x40,0x40,0x40,0x7F, 0x7F,0x40,0x40,0x40,0x40,0x60,0x40,0x00,// 0x00,0x20,0x22,0xE2,0xFE,0xFF,0xA3,0x22,

0x00,0x08,0x07,0x01,0xFF,0xFF,0x01,0x03,

0x80,0x84,0x84,0xFF,0xFF,0x84,0xC4,0x80,//

0x00,0x00,0x00,0x02,0x82,0xFE,0xFE,0x02,

0x42,0x62,0x72,0x5E,0xCF,0xE2,0x40,0x00,

0x00,0x80,0x60,0x3C,0x8F,0x83,0x40,0x61,

0x36,0x1C,0x18,0x3E,0x67,0xE1,0xC0,0x40,//

0x00,0x00,0x00,0xFC,0xF8,0x88,0x8C,0x8F,

0x8A,0x88,0x88,0x88,0xF8,0xFC,0x08,0x00,

0x00,0x00,0x00,0xFF,0x7F,0x44,0x44,0x44,

0x44,0x44,0x44,0x44,0xFF,0x7F,0x00,0x00,//

0x00,0x40,0x44,0x44,0xC4,0xC4,0x46,0x64,

0x50,0x10,0xFF,0xFE,0x10,0xF0,0xF8,0x10,

0x00,0x08,0x1C,0x1F,0x0B,0x08,0x9E,0x6C,

0x30,0x1C,0x0F,0x43,0xC0,0x7F,0x3F,0x00,//

0x00,0x00,0x80,0xE0,0xF8,0xFE,0x07,0x02,

0x00,0xFF,0xFE,0x82,0xE0,0x7C,0x18,0x00,

0x00,0x02,0x01,0x00,0xFF,0x7F,0x00,0x10,

0x0C,0x7F,0xFF,0xC1,0xC0,0xC0,0xF8,0x60//

};

//汉字表://武昌首义学院郑明亮

//汉字表://电气工程及自动化

void WriteCommandE1() /*1.写指令代码子程序(E1)*/

{//while(IN(CRADD1) & 0x80); //实际的液晶操作中可以不判断是否忙CWADD1=Command;Nop();}

void WriteDataE1() /*2.写显示数据子程序(E1)*/

{//while(IN(CRADD1) & 0x80);DWADD1=LCDData;Nop();}

void WriteCommandE2() /* 4.写指令代码子程序(E2) */

{//while(IN(CRADD2) & 0x80);CWADD2=Command;_Nop();}

void WriteDataE2() /* 5.写显示数据子程序(E2) */

{//while(IN(CRADD2) & 0x80);DWADD2=LCDData;_Nop();}

/* 初始化程序 */

void Init(){

Command = 0xe2;WriteCommandE1();WriteCommandE2();

Command = 0xa4;WriteCommandE1();WriteCommandE2();

Command = 0xa9;WriteCommandE1();WriteCommandE2();

Command = 0xa0;WriteCommandE1();WriteCommandE2();

Command = 0xc0;WriteCommandE1();WriteCommandE2();

Command = 0xaf;WriteCommandE1();WriteCommandE2();}

/* 清屏 */

void Clear(){unsigned char i,j;i = 0;

do{

Command = (i + 0xb8);/* 页地址设置 */

WriteCommandE1();WriteCommandE2();

Command = 0x00; /* 列地址设置为"0" */

WriteCommandE1();WriteCommandE2();

j = 0x50; /* 一页清 80个字节 */

do {LCDData = 0x00; /* 显示数据为"0" */

WriteDataE1();WriteDataE2();}

while(--j !=0); /* 页内字节清零循环 */}

while(++i !=4); /* 页地址暂存器加一 */ /* 显示区清零循环 */} /*延时函数*/

void delay(){ unsigned int i;

for(i=0;i<=50000;i++);}

/*中文显示子程序*/

void WriteCHN16x16(){ unsigned char i,j,k;

i= 0;j=0;while(j<2) {

Command = ((Page_ + j) & 0x03) | 0xb8; /* 设置页地址 */ WriteCommandE1();WriteCommandE2();k=Column; /* 列地址值 */ while(k < Column + 16){

if (k < PD1) { /* 为左半屏显示区域(E1) */

Command = k;WriteCommandE1(); /* 设置列地址值 */

LCDData = CCTAB[Code_][i]; /* 取汉字字模数据 */

WriteDataE1(); /* 写字模数据 */

} else{ /* 为右半屏显示区域(E2) */

Command = k-PD1;

WriteCommandE2(); /* 设置列地址值 */

LCDData = CCTAB[Code_][i];/* 取汉字字模数据 */

WriteDataE2(); /* 写字模数据 */

};i++;if( ++k >= PD1 * 2) break; /* 列地址是否超出显示范围 */ };j++;};}

/* 中文显示程序 */

void main(){ Init();Clear();

while(1){Clear();

Page_ = 0x02;Column = 0x20;Code_ = 0x00;WriteCHN16x16();

Page_ = 0x02;Column = 0x30;Code_ = 0x01;WriteCHN16x16();

Page_ = 0x02;Column = 0x40;Code_ = 0x02;WriteCHN16x16();

Page_ = 0x02;Column = 0x50;Code_ = 0x03;WriteCHN16x16();

Page_ = 0x00;Column = 0x20;Code_ = 0x04;WriteCHN16x16();

Page_ = 0x00;Column = 0x30;Code_ = 0x05;WriteCHN16x16();

Page_ = 0x00;Column = 0x40;Code_ = 0x06;WriteCHN16x16();

Page_ = 0x00;Column = 0x50;Code_ = 0x07;WriteCHN16x16();

delay();Clear();

Page_ = 0x02;Column = 0x20;Code_ = 0x08;WriteCHN16x16();

Page_ = 0x02;Column = 0x30;Code_ = 0x09;WriteCHN16x16();

Page_ = 0x02;Column = 0x40;Code_ = 0x0a;WriteCHN16x16();

Page_ = 0x02;Column = 0x50;Code_ = 0x0b;WriteCHN16x16();

Page_ = 0x00;Column = 0x20;Code_ = 0x0c;WriteCHN16x16();

Page_ = 0x00;Column = 0x30;Code_ = 0x0d;WriteCHN16x16();

Page_ = 0x00;Column = 0x40;Code_ = 0x0e;WriteCHN16x16();

Page_ = 0x00;Column = 0x50;Code_ = 0x0f;WriteCHN16x16();delay();}}

4.课程设计总结

通过我们的这个课题,我们发现理论与实际真的差的很远,就比如说你明明看着这个程序没有问题,但是实际效果就是不能达到预期效果。一开始我们是先编译一些简单的程序,但是连简单的程序都无法实现,只能一句句的重新找错误,看看是哪里出了问题。后来发现,不是硬件有问题,就是软件编译有问题。另外,我的另一体会就是做事的时候一定马虎不得,一点点的失误就可能导致整个项目的失败。

回顾这两周的课程设计,我仍感慨良多,从理论到实践,在这段日子里,我学到很多很多的东西,不仅巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。还有团队合作的精神也很重要。在今后的学习和生活中我将继续保持在此次课程设计中展现出来的谨慎、认真、踏实、有耐心、坚持不放弃的优良作风,任何事都要自己亲手去做才会觉得有成就感,没有付出是不会有回报的。

在整个设计过程中,我发现了自己理论知识的不足,同时所学的知识掌握的不牢固,通过这次课程设计,不仅拓宽了我的知识面,还巩固和夯实了所学的理论知识,更纠正了一些知识点上的错误认识和理解。其次,有一些问题,当我一个人面对的时候怎么都想不明白,可是跟其他人一起探讨时就迎刃而解了,这说明了团队合作的精神很重要。

参考文献

[1] 李广弟.单片机基础.北京:北京航空航天大学,2009.

[2] 李群芳.微型计算机与接口技术.北京:电子工业出版社,2012.

[3] 单片机综合仿真实验系统Keil C实验指导书.深圳:深圳市雷迈特科

技有限公司,2012.

[4] 沈庆阳.8051单片机实践与应用.机电一体化系统设计.北京:化学

工业出版社,2009.

[5] 朱定华.单片微机原理与应用.北京:清华大学出版社,2006.

课程设计成绩评定表

实验三 数码管动态显示程序设计1

实验三数码管动态显示程序设计 实验目的 1、理解数码管动态显示原理 2、理解数码管动态显示电路的设计方法 3、掌握数码管动态显示程序的设计方法 实验仪器 单片机开发板、万利仿真机、稳压电源、计算机 实验内容 1、动态扫描显示程序 2、特征位小数点控制显示程序 实验电路图

实验步骤及调试信息 1、新建实验项目 2、输入实验程序并补充完整 ;------------------------------------------------------ ;数码管动态显示程序 ;包含小数点显示 ;位选码输出有两种方式: ; DispSelection1: 一次一位 ; DispSelection2: 一次一字节 ; ; 2009-08-20 ;------------------------------------------------------- LEDCLK bit P3.4 LEDDIN bit P2.3 LEDDATA data P0 dseg at 30h dispbuf: ds 8 ;显示缓冲区8字节 disppoint: ds 1 ;小数点控制数据maincode SEGMENT CODE CSEG at 0 LJMP Start

RSEG maincode Start: CLR E A mov sp,#0c0h mov dispbuf ,#08h mov dispbuf+1, #04h mov dispbuf+2, #00h mov dispbuf+3, #08h mov dispbuf+4, #02h mov dispbuf+5, #00h mov dispbuf+6, #02h mov dispbuf+7, #07h mov disppoint,#02h ;第2位小数点亮 LCALL disp SJMP $-3 ;------------------------------------------------------ ;数码管动态显示程序 ;包含小数点显示 ;位选码输出有两种方式: ; DispSelection1: 一次一位 ; DispSelection2: 一次一字节 ; ; 2009-08-20 ;------------------------------------------------------- Disp: MOV R7,#8 MOV R0,#dispbuf CLR LEDCLK SETB L EDDIN Disp1: MOV A,@R0 MOV DPTR,#DispTab MOVC A,@A+DPTR cpl a ; LCALL Dispdot ;显示小数点程序 MOV LEDDA TA,A ;在输出之前加入显示小数点程序 LCALL DispSelection1 ;输出位选择信号,DispSelection2是第二种; lcall dispsel3 LCALL Delay1ms mov p2,#0ffh INC R0 DJNZ R7,Disp1 mov p2,#0ffh RET ;------------------------------------------------- ;位选码以一次一位方式输出

霓虹灯灯控制系统的课程设计

前言 根据在常熟理工这半年对于自动化专业的学习,尤其是电工学、自动控制原理以及电力电子技术等专业课程的学习,让我对于PLC课程设计打下了基础。对于我们自动化专业来讲,这个专业对于现实生活是非常有用的。而我们在这半年进行的大都是理论知识,虽有实验课程,但那也是基于对于理论知识的进一步分析,故而我们也非常需要一种把我们理论应用到实际的实习锻炼。我们的老师,根据我们自动化专业的特点,以及学生日常学习的反应给与了我们四个课题去进行实习:进行PLC编程的语言设计。 PLC可以说是我们来到常熟理工学院时学习最苛刻也是以后工作时实用的一门课程。和学别的科学一样,在学完PLC理论课程后我们做了课程设计,此次设计一分组的方式进行,老师进行抽挑课题,可以说每人的程序都不一样。我抽到的就是霓虹灯灯控制系统的设计。虽然说平时理论的学习成绩还可以,但是真要自己去设计这个程序,还真是束手无策。还好有我小组的其他成员,他们帮组我解决了不少难题,合作是成功的基础。 通过这次的课程设计,我学会了PLC的基本编程方法,以及对PLC的工作原理和操作步骤有了深刻的理解。在对理论的运用中,提高了我们的工程素质,在没有做课程设计以前,我对其的掌握都停留在思想上,许多次出现了问题总是卡在那里,却很难知道问题出在哪里,实践检验成果,理论只是基础。 本设计中详细讲解了霓虹灯等控制系统中三个不同的表现方式,如依次点亮,全亮全灭等等,我组的其他成员还有更多显示方式,在此不一一介绍。 本设计程序得到了常熟理工学院老师的大力辅导,在此深表谢意。 由于编者水平有限,错误与不妥之处,敬请原谅

目录 目录 (2) 一.课程设计任务书 (3) 1.1课程设计任务.....................................................................................错误!未定义书签。 1.2课程设计目的.....................................................................................错误!未定义书签。 1.3课程设计要求.....................................................................................错误!未定义书签。 1.4课程设计内容.....................................................................................错误!未定义书签。二.PLC的简介.. (5) 2.1PLC基本概念 (5) 2.2PLC的基本结构 (5) 2.3PLC的工作原理 (6) 三.组态王简介 (7) 3.1组态王基本特性 (7) 3.2组态王与西门子S7-200的几种通信方式 (8) 四.总体设计方案 (10) 4.1控制要求 (10) 4.2设计思路 (10) 4.3PLC外部接线图 (11) 4.4I/O分配表 (11) 4.5PLC梯形图 (13) 4.6组态王监控画面显示 (16) 五.个人小结 (17) 参考文献 (18)

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

数码管显示与键盘扫描系统 摘要: 现如今已经跨越了三个“电”的时代,即电气时代、电子时代和现已进入的电脑时代。不过,这种电脑,通常是指个人计算机,简称PC机。它由主机、键盘、显示器等组成。还有一类计算机,这种计算机就是把智能赋予各种机械的单片机(亦称微控制器)。这种计算机的最小系统只用了一片集成电路,就可进行简单运算和控制。因为它体积小,通常都是放置在一个机械装置的内部。它在整个装置中,起着有如人类头脑的作用,它出了毛病,整个装置就瘫痪了。各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词——“智能型”,如智能型洗衣机等。现在有些工厂的技术人员或其它业余电子开发者搞出来的某些产品,不是电路太复杂,就是功能太简单且极易被仿制。究其原因,可能就卡在产品未使用单片机或其它可编程逻辑器件上。数码管显示与键盘扫描系统是单片机系统中十分典型的应用,可将4×4键盘的按键对应显示在数码管上。 关键词:单片机数码管 一、绪论 1. 研究意义 用单片机驱动LED数码管有很多方法,按显示方式可分静态显示和动态(扫描)显示;按译码方式可分硬件译码和软件译码。静态显示数据稳定,占用很少的CPU 时间。动态显示需要CPU时刻对显示器件进行数据刷新,显示数据有闪烁感,占用的CPU时间多。LED数码管的外围电路一般需要一个限流电阻和加大驱动电流的晶体管。 LED数码管是由发光二级管显示字段组成的显示器,有“8”字段和“米”字段之分,这种显示器有共阳极和共阴极两种。实际上不用驱动电路即可达到正常亮度,为了可靠性设计可采用晶体管构成驱动电路。 2. 设计目的 在单片机的产品设计中,人机界面是非常重要的部分,而且随着系统的日益复杂,以及人们对产品的人机交互能力的要求不断提升,常握单片机系统中的人机界面基础设计能力成为了学习单片机的基础课程,而4X4键盘的操作和LED数码管的动态显示是人机界面设计的基础内容,掌握这些基础设计能力,加深对人机界面的认识,同时提高人机界面系统设计能力。

霓虹灯的PLC控制系统设计概要(doc 16页)

霓虹灯的PLC控制系统设计概要(doc 16页)

前言 随着改革的不断深入,社会主义市场经济的不断繁荣和发展,个大中小城市都在进行亮化工程。个企业为宣传自己企业的形象和产品,均采用广告手法之一:霓虹灯广告屏来实现这一目的.当我们夜晚走在大街上,马路两旁各色各样的霓虹灯广告均可以见到,一种是采用霓虹灯管做成的各种形状和多中彩色的灯管,另一种为日光等管或白炽灯管作为光源,另配大型广告语或宣传画来达到宣传的效果。这些灯的亮灭,闪烁时间及流动方向等均可以通过PLC来达到控制的要求. 可编程控制器PLC可编程序控制器:英文全称Programmable Logic Controller ,中文全称为可编程逻辑控制器,是一种数字运算操作的电子系统,专为在工业环境应用而设计的。它采用一类可编程的存储器,用于其内部存储程序,执行逻辑运算,顺序控制,定时,计数与算术操作等面向用户的指令,并通过数字或模拟式输入/输出控制各种类型的机械或生产过程. 可编程控制器是工业环境下应用及满足用户需要而设计,它具有以下的特点:(1)可靠性高。平均无故障工作时间场合故障平均修复时间短。可在恶劣的环境下工作。简单、操作方便而使失误少。 (2)柔性好。柔性好是指在使用过程中的适应性和灵活性。只需通过程序的编制和更改即可适应生产的要求。 (3)功能强大。可编程控制器不但具有开关量控制、模拟量控制、数据通信、中断控制等完善的功能。 (4)使用方便。编程方便,极易被技术人员接受和掌握,操作方便。 (5)体积小,功耗低。可编程控制器以其丰富的功能和显著的特点得到了广泛的运用。 关键词: PLC 霓虹灯控制系统

LED_数码管显示设计(单片机)

键盘和LED 数码管显示设计 一、预备知识 有关 LED 数码管、滑动变阻器控制的具体编程原理见单片机课程教材。 二、设计目的 掌握 LED 数码管的使用,熟悉单片机人机接口设计,提高实际应用 的能力。 三、设计内容 1、设计LED 数码管显示电路原理图; 2、设计程序流程图; 3、编程调试; 四、参考接线 1、人机接口补丁板,可通过选择跳线,选择数码管段选输入是并行或串行输入; 2、不要忽略从实验箱主板上接+5V、GND 到人机接口补丁板; 3、具体接线参见人机接口补丁板原理图。 五、设计步骤 程序: LED_0 EQU 30H ;存放三个数码管的段码 LED_1 EQU 31H LED_2 EQU 32H ADC EQU 35H ;存放转换后的数据

ST BIT P3.2 OE BIT P3.0 EOC BIT P3.1 ORG 00H START: MOV LED_0,#00H MOV LED_1,#00H MOV LED_2,#00H MOV DPTR,#TABLE ;送段码表首地址 SETB P3.4 SETB P3.5 CLR P3.6 ;选择ADC0808的通道3 WAIT: CLR ST SETB ST CLR ST ;启动转换 JNB EOC,$ ;等待转换结束 SETB OE ;允许输出 MOV ADC,P1 ;暂存转换结果 CLR OE ;关闭输出 MOV A,ADC ;将AD转换结果转换成BCD码 MOV B,#100 DIV AB MOV LED_2,A MOV A,B MOV B,#10 DIV AB MOV LED_1,A MOV LED_0,B LCALL DISP ;显示AD转换结果 SJMP WAIT DISP: MOV A,LED_0 ;数码显示子程序 MOVC A,@A+DPTR CLR P2.3 MOV P0,A LCALL DELAY SETB P2.3 MOV A,LED_1 MOVC A,@A+DPTR CLR P2.2 MOV P0,A

霓虹灯模拟显示课程设计

霓虹灯模拟显示课程设计

1.设计任务及要求分析 本次课程设计要求用汇编语言设计“霓虹灯”模拟显示,需要实现的功能如下:1、按下b/B键,分六笔快速画出矩形及其两条对角线;2、按下y/Y 键,流水灯从左到右依次点亮,然后一次熄灭;3、按下q/Q键,退出程序。分析本设计不需要硬件设备,在微机原理实验集成环境MF2KP中编写程序,调用DOS命令和BIOS命令,并用合适的字符代替霓虹灯来实现。 1方案论证 2.1方案一 我们可以采用编写延时子程序的方法来实现延时,这种方法的主要原理是运用计算机相应每一条的时间积累。程序如下: push bx push cx mov cx ,xx ;输入正数 A1: mov bx,xx ;输入正数 A2: dec bx Jnz A1 Loop A2 pop cx pop bx 此方案的原理是运用循环指令来进行,主要通过设置cx和bx的值来进行复循环,从而达到时间的积累即延时。 2.2方案二 方案二:运用DOS功能调用。采用21H来中断调用,功能号为AH=2CH,完成的功能是设置时间,DH的值变换一次是0.01秒,这样通过设置DH的值来设

置时间的延时。 2.3方案比较 两种方案在理论上都是可行的,但是课程设计任务在时间要求上不是很严格 只要区分快慢的大概效果既可,故选择方案一。 3设计原理 3.1设计思想 本次课程设计主要中显示图案是通过显示单个字符逐步实现的,通过移动光标可以改变字符输出的位置,位置的改变又是通过宏定义定义了一个程序段用于改变光标,设计了两个变量分别为光标在屏幕上的行和列坐标,把已经设计好了的图案的行列坐标分别定义在数据段的行列数据组里,用指针自加的方式进行连续调用显示。在显示中插入延时程序控制显示的效果。本次课程设计设计了二个延时程序分别满足二种不同的延时需要。延时程序是通过LOOP循环来实现的,可以改变CX的值来改变延时的长短。本次课设还涉及到清屏功能,故设计了一个清屏子程序,通过BIOS功能的调用实现清屏,和屏幕属性的设置。 整个程序分为三部分:第一段是继续与否的选择,检查输入是否为设计的字符b/B,是则进入下一程序断,否则继续检测;第二段是快速显示设计图案,通过光标移动逐步显示完预设图案,并询问是否进入下一程序段,检查输入是否为字符y\Y,是则进入下一程序段,否则跳回第二段程序重复执行一遍;第三段程序以较慢速度依次出现“*”,以实现模拟流水灯的效果,然后一次消失,在这个过程中检查是否有“q/Q”输入,有则跳转到中止程序段退出程序,否则继续。

PLC控制数码管显示程序设计

? PLC控制数码管显示程序设计》 学院名称:信息工程学院 专业名称:电气自动化技术 班级名称:电气1204 班 姓名:赵传锋 学号:1205130425 指导教师:汪清平 完成时间:2014年06 月01 日

摘要 数码管显示是一个典型的PIC教学项目。在交通灯、电梯、抢答器等系统的控制中都融入了数码管显示。 本设计就是利用PLC作为核心部件用对数码管显示进行设计,让学生在学习过程中更熟练地掌握PIC的编程技巧,提高编程能力。 利用PLC控制数码管的显示过程,并且给出了接线图、梯形图。 关键词:PLC编程设计;接线图:梯形图

、系统组成 1. 设计要求: 先按下“开”按钮,再按“循环显示”按钮,数码管就会从0~9循环显示。按下“置数”按钮,数码管实时显示8 4、2、1编码开关所置数值。用“循环显示”和“置数”按钮来切换数码管的循环显示和置数状态。 2. 系统组成及工作原理: 系统由pic硬件系统和梯形图程序组成。 PLC的控制方式是由继电器控制方式演化而来,由PLC内部的微电子电路构成的软元件线圈和触点取代了硬件继电器的线圈和触点,用PLC的程序指令取代继电器控制的连接导线,将各个元件按照一定的逻辑关系连接起来,PLC内部的中央控制器(CPU)根据输入条件和预定的程序,控制各个软元件的状态,并输出到外部执行部件,控制设备运行。 3. 硬件原理图: +24 v COM 数 管

4.程序流程图:

二、系统设计 设计可以分为循环模式与置数模式的切换控制部分、循环与置数控制部分和输出部分三大模块。 1. 输出部分: 定义: 编码部分中间继电器的常开触点接法: 将Mxx中低位数字相同的中间继电器的常开触点并联接到一起;输出的接法: Y000接a段、Y001接b段、Y002接c段、Y003接d段、 Y004 接e 段、Y005接f 段、Y006接g 段、Y007接dot 段。 工作过程:当编码部分中的某一组工作时,该组中的中间继电器相应的常开触点闭合,从而使相对应的Y00x有输出,这样与输出相连的段就发亮,并组合形成数字。

霓虹灯显示程序设计

引言 我们知道汇编语言是一种功能很强的程序设计语言,也是利用计算机所有硬件特性并能直接控制硬件的语言,汇编语言对于硬件的控制具有独特的优势。一方面,汇编语言指令是用一些具有相应含义的助忆符来表达的,所以,它要比机器语言容易掌握和运用,但另一方面,它要直接使用CPU的资源,相对高级程序设计语言来说,它又显得难掌握。 霓虹灯是日常生活中常见的灯饰,它装点了夜空,丰富了人们的生活,让夜间的城市更加美丽。通过汇编语言的学习,我们通过汇编语言,可实现霓虹灯的控制与操作,实现其显示与闪烁,或者是其他的动态变化,从而可以很方便的达到理想效果。INT 10H 是由BIOS 对屏幕及显示器所提供的服务程序,汇编语言的INT 10号中断提供了设置显示模式、设置颜色模式、设置光标位置、按指定属性显示字符等功能,可以显示汉字或图像,同时也提供了初始化屏幕或滚屏等功能号,通过擦除子程序以及清屏子程序的配合运用,可以达到让汉字或图像闪烁或运动的功能。而文字的显示我们又可以通过取模软件轻松获得,这使得整个编译过程轻松了很多,同时可以让文字或图标的显示更加规范和多样化,达到霓虹灯多样变化的目的。 本次课程设计,研究的正是霓虹灯显示程序设计,我们可通过对INT 10号中断的功能调用实现,设计出我们想要的霓虹灯显示效果。在整个设计过程,我们可以加强对课本知识的巩固,并借此拓展自己的知识面。 关键词:汇编语言霓虹灯中断字符运行调试 1设计要求及分析 1.1设计要求 1)用汇编语言编写一个霓虹灯的模拟显示程序; 2)在屏幕上显示你的中文名字或其它文字,按某种规律闪烁变化,按“q”键退出; 3)撰写课程设计说明书。内容包括:摘要、目录、正文、参考文献、附录(程序清单)。正文部分包括:设计任务及要求、方案比较及论证、软件设计说明(软件思想,流程,源程序设计及说明等)、程序调试说明和结果分析、课程设计收获及心得体会。

单片机控制数码管显示设计

毕业设计与论文注意: 1.选题要求:选题内容应与所学专业相关 2.论文正文:字数3000字以上 3.字体:中文为宋体,西文和数字为New Roman,字符间距标准,正文行距为单倍行距(五号字) 4.页面A4,页边距上下2,左边2.5,右2 5.图和表、公式的编号方法:图1-1xxx,图1-2xxx….;表1-1xxx,表1-2xxx;…….(小五号字) 6.页码1、2、3…..居中从正文开始编排 7.开题报告内容包括毕业论文题目的确定、选题的意义、论文综述、论文大纲。字数要求在1000字以上。 8.应列入主要的文献可6篇及以上。 9.章节编号方法应采用分级阿拉伯数字编号方法,第一级为?、?、?等,第二级为??、?金、??等,第三级为?金?、?金金、?金?等,但分级阿拉伯数字的编号一般不超过三级,两级之间用下角圆点隔开,每一级的末尾不加标点。 各层标题均单独占行书写。正文中对总项包括的分项采用⑴、⑵、⑶…单独序号,对分项中的小项采用①、②、③…的序号或数字加半括号,括号后不再加其他标点。

绍兴职业技术学院 毕业论文 (2011届) 单片机控制数码管显示设计 学生姓名 学号 系别 专业指导教师 完成日期

2 / 25 绍兴职业技术学院 毕业设计综合实践任务书 岗位名称 岗位职责 岗位能力要求 课题任务名称 本课题完成的条件 1、按照自己所学的单片机进行设计和开发; 本课题任务要求 <一> 技术应用设计要求 1、从设计实际需要出发,选择设计方案; <二> 进程安排要求 1、熟悉毕业任务书要求。 2、开题,确定设计方案,并进行方案论证。 3、汇编语言,绘制电路路图 4、进行实验,是否能够实现显示控制。 5、撰写毕业论文。 6、指导教师的过程指导和初稿的审评,提出修改意见并反馈。 7、资料整理并上交论文(制作的演示实物或图样成果),参加答辩。 1 / 25 毕业设计(论文)工作进度计划表 计(文)90121234 12341234123412341234123412341234 熟悉毕业任务书要求,或根据岗位1展调研选题和查阅文献资 开题,确定设计方案,并进行方案2 证设计计算、绘图、编制工艺、编制3 工程序、生产制造、装配测试等产品或设计方案(图样)的优化与4 进撰写毕业论文5 指导教师的过程指导和初稿的审评6提出修改意见并反馈。资料整理并上交论文(制作的演示实 7 ,参加答辩。物或图样成果) 8

汇编语言霓虹灯字符显示

信息工程学院 《汇编语言程序设计》课程设计 设计题目:霓虹灯的字符显示 年级专业: 组长: 小组成员: 指导教师: 完成日期:

霓虹灯的字符显示 【摘要】: 五光十色的霓虹灯对于我们并不陌生,但却从不知道是如何被设计和应用的,通过本学期学习的汇编语言,我组在本次课程设计中便尝试设计模拟霓虹灯显示,所以,设计内容是采用本学期所学的8086汇编语言设计一个运行于计算机的“霓虹灯”的模拟显示程序。霓虹灯的主题为英文单词“HELLO”,在白色单词的基础上,红色不断的在每个英文字母上循环闪烁。并且,键盘数字键“1”和“2”均可控制不同的闪烁方式,按键“ESC”可控制退出程序运行。这就要求了该霓虹灯能够动态的进行变化,最后,按键“esc”退出,以免程序一直运行导致电脑死机。该霓虹灯模拟显示程序主要是进行程序的循环、子程序的调用,来完成这一动态变化效果。 【Abstract】 Colorful neon no stranger to us, but they never know how the design and application, through the semester to learn assembly language, I team during the course design, the design will try to simulate neon display, so the design content is learned this semester using 8086 assembly language running on the computer to design a "neon" analog display program. Neon theme for the English word "HELLO", in white the word, based on constantly in the red letters on each cycle of flicker. Also, the keyboard number keys "1" and "2" can be controlled flashes of different ways, the key "ESC" to control exit program is running. This requires that the neon can be changed dynamically, and finally, the key "esc" to exit, so as not to cause the computer to crash the program has been run. The neon analog display program is primarily one of the program cycle, a subroutine call, to complete this dynamic effect. 关键词:霓虹灯;汇编语言;子程序;循环

PLC霓虹灯闪烁控制系统设计

PLC霓虹灯闪烁控制系统设计 课程设计任务书 课程名称:xxxxxxxxxxxxxxx 学院: xxxxxxxxxxxx 专业:xxxxxxxxxxxxxxxxxx 班级: xxxxxxxxxx 学号:xxxxxxxxxx 学生姓名:xxxxxxxx 指导教师:xxxxxxxx 职称:教授 2013年7月12日 目录 第一章、概述 (1) 第二章、霓虹灯闪烁控制系统设计 (2) 2。1设计目的 (2) 2。2控制要求 (2) 第三章、 PLC型号选择 (3) 第四章、PLC接口电路 (4) 第五章、 PLC梯形图与指令表 (5) 5。1梯形图 (5) 5.2指令表 (11)

第六章、组态设计 (15) 6。1、新建项目……………………………………15 6。2、数据词典 (15) 6.3、画面制作……………………………………17 6.4、整体布局……………………………………20 第七章、调试心得 (21) 第八章、参考文献………………………………………………21 任务书 一、设计课题 霓虹灯闪烁控制系统设计 二、设计目的 1.进一步巩固理论知识,培养所学理论知识在实际中的应用能力。 2.掌握一般电气设备电气控制系统的设计方法。 3.掌握一般电气设备电气控制系统的施工设计、安装与调试方法。 4.培养查阅图书资料、工具书的能力。 5.培养工程绘图、书写技术报告的能力。 三、控制要求 用HL1~HL6六个霓虹灯,分别做成“曹妃甸欢迎您”6个字。闪烁要求见下表,时间间隔为1s,反复循环进行。

四、设计任务 1.简述本设计的意义.根据控制要求,制定合理的设计方案。 2.硬件选型并进行硬件电路(接口电路)设计。 3。控制程序的设计(并加以注释). 4.监控系统设计. 选择工业领域流行的组态软件,然后经过制作监控界面、画面属性设置及与PLC进行通信等步骤完成监控系统的设计(必须要有设计过程)。 5.模拟调试 6.编写设备的电气工作原理说明及其使用说明。 五、设计时间安排(共1周) 五、设计参考书 1.教材《可编程控制器应用技术》. 2.《流行PLC实用程序及设计(西门子S7—200系列)》.(可到院图书馆借阅) 3.其它参考书:(可到院图书馆借阅) 一、课题说明

霓虹灯程序设计

信控学院专业课实验报告 专业计算机科学与技术班级0901 姓名评分 学号2010年3月26日 一、实验名称:霓虹灯程序设计 二、实验目的: 使学生掌握输入输出语句及循环语句的使用。(综合性) 三、实验仪器: 一台装有Ezwin,Windows操作系统及VC++6.0的计算机。 四、实验原理及内容: 该实验的验证知识点及内容包括:输入输出语句、Ezwindow图形调用方法、循环语句的执行过程。 程序见附件1。 五、实验结果(实验数据、曲线等): 输出不停闪动颜色的“快乐”字样。 其结果见附件2。 六、实验分析及结论: 利用图形构成汉字以及循环语句使其循环闪动颜色,以此为例,还可以构成其他图形或组成其他霓虹灯样式。

附件1: 霓虹灯程序: #include"rect.h" #include"circle.h" #include"position.h" #include"ellipse.h" SimpleWindow W("MY MHD",22.0,12.0); int ApiMain() {for(int n=1;n<=100;n++) { for(color c=Red;c<=Magenta;c=(color)(c+1)) { W.Open(); Position a(2.5,6.0); EllipseShape E1(W,a,c,2.0,5.0); E1.Draw(); RectangleShape R1(W,4.5,6.0,c,2.0,8.0); R1.Draw(); Position a1(6.5,6.0); CircleShape C1(W,a1,c,2.0); C1.Draw(); RectangleShape R2(W,9.5,4.0,c,4.0,1.0); R2.Draw(); RectangleShape R3(W,10.0,6.0,c,5.0,1.0); R3.Draw(); RectangleShape R4(W,9.5,6.0,c,2.0,8.0); R4.Draw(); RectangleShape R5(W,12.0,4.5,c,1.0,2.0); R5.Draw(); Position a2(12.0,8.0);

单片机霓虹灯控制

辽宁工业大学 单片机及接口技术课程设计(论文)题目:霓虹灯控制器的设计 院(系):电子与信息工程学院 专业班级: 学号: 学生姓名: 指导教师: 教师职称: 起止时间:2013.07.03---2013.07.12

课程设计(论文)任务及评语

摘要 这次的课程设计的任务是设计一个霓虹灯控制器,并且可以通过按键开控制霓虹灯的闪烁方式。随着人们生活环境的不断改善和美化,在许多场合可以看到彩色霓虹灯。LED彩灯由于其丰富的灯光色彩,低廉的造价以及控制简单等特点而得到了广泛的应用,用彩灯来装饰街道和城市建筑物已经成为一种时尚。 本设计是以单片机AT89C51为核心控制用8个发光二极管代替霓虹灯并进行5种闪烁方式的变换。本次采用的方案主要是通过对基于单片机的多控制、多闪烁方式的LED彩灯循环系统的设计,来达到本设计的要求。利用时钟电路、复位电路即单片机最小系统以及按键控制电路来控制单片机,进而控制霓虹灯的输出闪烁方式。 最终对设计的结果进行仿真,观察LED发光二极管的闪烁方式以及规律。 关键词:AT89C51;最小系统;发光二极管;闪烁方式

目录 第1章设计方案论证 (1) 1.1霓虹灯控制器的设计意义 (1) 1.2本文设计要求及参数要求 (1) 1.3总体设计方案 (2) 第2章硬件各单元电路设计 (3) 2.1单片机最小系统设计 (3) 2.2LED彩灯显示电路设计 (4) 2.3按键控制电路设计 (5) 第3章软件程序设计及仿真 (6) 3.1工作在方式三时的输出情况仿真 (6) 3.2源程序清单 (7) 第4章设计总结 (11) 参考文献 (12) 附录1 (13) 附录2 (14)

微机原理课设 霓虹灯闪烁控制系统

《微机原理与接口技术》课程设计 题目:可控制霓虹灯 班级:电气本151 小组组长: 小组成员:王军三( 黄国涛() 刘飞鸿() 指导教师:刘微 日期: 2017年10月11日 齐齐哈尔工程学院机电工程系 一、设计可控制霓虹灯目的及意义 霓虹灯其设计目的主要为: (1) 进一步熟悉8255A并行接口的基本工作原理 (2) 运用CES-86通用微机实验装置,了解键盘的基本结构,学会编写程序. (3)在熟悉了小键盘的基础上,加上LED发光二极管的使用设计出绚丽闪耀的霓虹灯 .本课程设计是自动化专业学生的一次较全面的的设计训练,是配合“微机与接口技术”课堂教学的最后一个重要的实践教学环节,它将起到巩固课堂和书本上所学的知识、加强综合能力、提高系统设计水平、启发创新思想的作用。 当然,虽然程序最后达到了预期控制要求,但是由于实际情况和理想情况存在差距,我知道还有很多地方有待改进,同时我还是个初学者,各方面肯定存在不足,如果老师发现了缺陷之处,请指出,我们一定会虚心接受。 二、芯片介绍

8086内部介绍 8086 CPU 中寄存器总共为 14 个,且均为 16 位。 即 AX,BX,CX,DX,SP,BP,SI,DI,IP,FLAG,CS,DS,SS,ES 共 14 个。而这 14 个寄存器按照一定方式又分为了通用寄存器,控制寄存器和段寄存器。与CPU的接口电路 (1)与CPU的接口电路由数据总线缓冲器和读/写控制逻辑组成。 数据总线缓冲器是一个三态、双向、8位寄存器,8条数据线D 7~D 与系 统数据总线连接,构成CPU与8255A之间信息传送的通道,CPU通过执行输出指令向8255A 写入控制命令或往外设传送数据,通过执行输入指令读取外设输入的数据。 读写控制逻辑电路用来接收CPU系统总线的读信号RD,写信号WR,片选择信号CS,端口选择信号A和复位信号RESET,用于控制8255A内部寄存器的读写操作和复位操作。(2)内部控制逻辑电路 内部控制逻辑包括A组控制与B组控制两部分。A组控制寄存器用来控制A口PA 7~PA 和C口的高四位PC 7~PC 4 ;B组控制寄存器用来控制B口PB 7 ~PB 和低四位PC 3 ~PC 。它们接 收CPU发送来的控制命令,对A,B,C3个端口的输入/输出方式进行控制。 (3)输入输出接口电路 8255A片内有A,B,C3个8位并行端口,A口和B口分别有1个8位的数据输出锁存/缓冲器和1个8位数据输入锁存器,C口有一个8位数据输出锁存/缓冲器,用于存放

用数码管显示实时日历时钟的应用设计

(用数码管显示实时日历时钟的应用设计)

摘要 本课题通过MCS-51单片机来设计电子时钟,采用汇编语言进行编程,可以实现以下一些功能:小时,分,秒和年,月,日的显示。本次设计的电子时钟系统由时钟电路,LED显示电路三部分组成。51单片机通过软件编程,在LED数码管上实现小时,分,秒和年,月,日的显示;利用时钟芯片DS1302来实现计时。本文详细介绍了DS1302 芯片的基本工作原理及其软件设计过程,运用PROTEUS软件进行电路连接和仿真,同时还介绍了74LS164,通过它来实现I|O 口的扩展。 关键词:时钟芯片,仿真软件,74LS164

目录 前言 0.1设计思路 (8) 0.2研究意义 (8) 一、时钟芯片 1.1 了解时钟芯片……………………………………………….8-9 1.2 掌握时钟芯片的工作原理………………………………….10-11二、74LS164 2.1 了解74LS164........................................................11-12 2.2 掌握的74LS164工作原理. (12) 三、数码管 3.1 熟悉常用的LED数码管...........................................12-13 3.2 了解动态显示与静态显示. (13) 四、程序设计 4.0 程序流程图 (14) 4.1 DS1392的驱动.......................................................15-16 4.2 PROTUES实现电路连接. (17) 4.3 数码管的显示:小时;分;秒 (18) 4.4 数码管显示:年;月;日 (19) 五、总结…………………………………………………………………..20-21 六、附页程序………………………………………………………………22-31

基于51单片机霓虹灯

实训报告 基于单片机的霓虹灯设计 姓名:xxx 学号:xxxxxxxxxxxxxxx 2018/5/31 1.模块功能简介 1.1 STC89C52单片机及其引脚说明 89C52是一种高性能低功耗的采用CMOS工艺制造的8位微控制器,它提供下列标准特征:4K字节的程序存储器,128字节的RAM,32条I/O线,2个16位定时器/计数器, 一个5中断源两个优先级的中断结构,一个双工的串行口, 片上震荡器和时钟电路。 引脚说明: ·V CC:电源电压 ·GND:地 ·P0口:P0口是一组8位漏极开路型双向I/O口,作为输出口用时,每个引脚能驱动8个TTL 逻辑门电路。当对0端口写入1时,可以作为高阻抗输入端使用。 当P0口访问外部程序存储器或数据存储器时,它还可设定成地址数据总线复用的形式。在这种模式下,P0口具有内部上拉电阻。 在EPROM编程时,P0口接收指令字节,同时输出指令字节在程序校验时。程序校验时需要外接上拉电阻。 ·P1口:P1口是一带有内部上拉电阻的8位双向I/O口。P1口的输出缓冲能接受或输出4个

TTL逻辑门电路。当对P1口写1时,它们被内部的上拉电阻拉升为高电平,此时可以作为输入端使用。当作为输入端使用时,P1口因为内部存在上拉电阻,所以当外部被拉低时会输出一个低电流

双位数码管显示

前言 《单片机应用技术》是自动化类专业一门理论较深.实践较强的主干综合专业课,该课程包括检测转换技术,微控技术和可编程控制技术等三大部分。检测与转换技术主要是实现物理量检测并将被检测的物理量转换成计数机或plc能识别的有效信号,作为控制系统的感知部分。而微机控制技术和可编程控制技术则在接收感知系统传来的信号技术基础上,根据执行机构的动作要求进行程序编制,形成控制信号,从而驱动动力系统进行各种操作。 单片机比专用处理器更适合应用于嵌入式系统,因此它得到了最多的应用。事实上单片机是世界上数量最多的计算机。现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机。而个人电脑中也会有为数不少的单片机在工作。汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作!单片机的数量不仅远超过PC机和其他计算的综合,甚至比人类的数量还要多。

原理图

程序说明 数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8可分为1位、2位、4位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。 动态显示驱动:数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,h"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。

微机原理课设霓虹灯的模拟显

1.设计意义与要求 1.1设计意义 通过课程设计,能够对所学知识有更进一步的理解,并能掌握学习理论时没有注意的细节。调试程序,排除故障有助于提高分析问题、解决问题的能力。课程设计中碰到的挫折,有助于养成良好的学习习惯、严谨的工作作风。 通过此课程设计的汇编语言练习,可以熟悉汇编语言的寻址方式和指令系统,BIOS和DOS系统功能调用,程序设计方法并熟悉汇编的编程环境。 1.2设计要求 设计内容:采用汇编语言设计一个在屏幕中央以$字符显示一矩形,并以#将矩型从上之下、从左至右填满;然后再按相反的次序消失的程序。按Q退出程序 设计要求: (1)设计任务及要求分析 (2)方案比较及认证说明 (3)系统原理阐述 (4)软件设计课题需要说明:软件思想,流程图,源程序及程序注释 (5)调试记录及结果分析 (6)总结 (7)参考资料 (8)附录:芯片资料或程序清单,软件演示屏幕拷贝图或硬件实物图

2方案论证 2.1方案比较 在设计过程中字符的显示有2中不同的方式。 方案一:运用DOS功能的2号调用,程序的设计如下 MA ROW,COLUME ;MA是个宏定义光标位置 MOV AH,02H MOV DL,’#’ INT 21H 在本程序中,显示方式很简洁很直观很容易记忆理解。但是它无法设置字符的属性,同时还会在下个坐标位置显示光标,影响光看者的视觉享受。 方案二:运用BIOS功能的9号调用,程序设计如下 CALL CURSOR ;调用光标设置子程序 MOV AL,23H MOV BL,0BH PUSH CX MOV CX,1 MOV AH,09H INT 10H POP CX 这个程序设计起来占用寄存器较多,略微复杂点,但是它的功能更加完备,更能实现霓虹灯的颜色变化显示效果,给人一种美感。 2.2方案选择 从上面的分析比较可知方案二的可行性和实际达到的效果更好。所以选则方案二实现霓虹灯的功能。

相关文档
相关文档 最新文档