当前位置:文档之家› 单片机C语言LED灯点亮程序完全版

单片机C语言LED灯点亮程序完全版

单片机C语言LED灯点亮程序完全版
单片机C语言LED灯点亮程序完全版

1例子1第二个灯亮

#include

void main()

{

P1=0xfd;

}

#include

Sbit D1=P1^0;

V oid main()

{

D1=0

}

注意:稍微改程序时需重新hex化

例子2第一个灯亮

#include //52单片机头文件

sbit led1=P1^0; //单片机管脚位声明

void main() //主函数

{

led1=0; //将单片机P1.0口清零

while(1); //程序停止在这里,在后面会讲到为什么这样写。}

例子3第一个灯亮

#include //52单片机头文件

void main() //主函数

{

P1=0xfe; //将单片机P1口的8个口由高到低分别赋值为11111110 while(1); //程序停止在这里,在后面会讲到为什么这样写。}

2例子1第三个灯闪烁fir循环

#include

sbit D2=P1^2;

unsigned int a;

void main()

{

D2=0;

for(a=0;a<=10000;a++){};

D2=1;

for(a=0;a<=10000;a++){};

}

例子2第三个闪烁while循环

#include

sbit D2=P1^2;

unsigned int a;

void main()

{

a=5000;

D2=0;

while(a--);

a=5000;

D2=1;

while(a--);

}

2.#include //52单片机头文件

sbit led1=P1^0; //单片机管脚位声明

void main() //主函数

{

unsigned int i; //定义一个int型变量

while(1)

{

i=50000; //变量赋初值为50000

led1=0; //点亮灯

while(i--); //延时

i=50000;

led1=1; //熄灭灯

while(i--);

}

}

3例子1 3 5 7灯同时亮

#include //52单片机头文件

sbit led1=P1^0; //单片机管脚位声明

sbit led3=P1^2; //单片机管脚位声明

sbit led5=P1^4; //单片机管脚位声明

sbit led7=P1^6; //单片机管脚位声明

void main() //主函数

{

led1=0; //将单片机P1.0口清零

led3=0; //将单片机P1.2口清零

led5=0; //将单片机P1.4口清零

led7=0; //将单片机P1.6口清零

while(1); //程序停止在这里,在后面会讲到为什么这样写。}

例子2 1 3 5 7同时亮

#include //52单片机头文件

void main() //主函数

{

P1=0xaa; //将单片机P1口的8个口由高到低分别赋值为10101010

while(1); //程序停止在这里,在后面会讲到为什么这样写。}

例子3流水灯一个一个接着亮不循环

#include //52单片机头文件

void main() //主函数

{

unsigned int i; //定义一个int型变量

while(1)

{

i=50000; //变量赋初值为50000

P1=0xfe; //点亮第一个灯

while(i--); //延时

i=50000; //变量赋初值为50000

P1=0xfd; //点亮第二个灯

while(i--); //延时

i=50000; //变量赋初值为50000

P1=0xfb; //点亮第三个灯

while(i--); //延时

i=50000; //变量赋初值为50000

P1=0xf7; //点亮第四个灯

while(i--); //延时

i=50000; //变量赋初值为50000

P1=0xef; //点亮第五个灯

while(i--); //延时

i=50000; //变量赋初值为50000

P1=0xdf; //点亮第六个灯

while(i--); //延时

i=50000; //变量赋初值为50000

P1=0xbf; //点亮第七个灯

while(i--); //延时

i=50000; //变量赋初值为50000

P1=0x7f; //点亮第八个灯

while(i--); //延时

}

}

例子4

#include

#include

#define uint unsigned int

#define uchar unsigned char

uchar temp,num,num1;

sbit beep=P2^3;

void delay(uint);

void main()

{

temp=0xfe;

while(1)

{

for(num1=0;num1<3;num1++)

{

for(num=0;num<8;num++)

{

P1=temp;

beep=0;

delay(100);

temp=_crol_(temp,1);

P1=0xff;

beep=1;

delay(100);

}

}

for(num1=0;num1<3;num1++)

{

for(num=0;num<8;num++)

{

P1=temp;

beep=0;

delay(100);

temp=_cror_(temp,1);

P1=0xff;

beep=1;

delay(100);

}

}

while(1);

}

}

void delay(uint z)

{

uint x,y;

for(x=z;x>0;x--)

for(y=110;y>0;y--);

}

4延时子程序

void delay()

{

uint x;

for(x=100;x>0;x--){};

}

For的嵌套

void delay()

{

uint x,y; %局部变量

for(x=100;x>0;x--) %小括号后不加分号

for(y=600;y>0;y--); %小括号后的分号表示该语句是上一条语句的,分号将该句与下句隔开(或者{for(y=600;y>0;y--);})#include

例子1#include

#define uint unsigned int

#define uchar unsigned char

sbit D1=P1^0;

void delay(); %注意分号不能少

void main()

{

while(1)

{

D1=0;

delay();

D1=1;

delay();

}

}

void delay()

{

uint x,y;

for(x=100;x>0;x--)

for(y=600;y>0;y--);

}

带参数的比不带参数的要方便

例子2无参和有参的对比#include

#define uint unsigned int

#define uchar unsigned char

sbit D1=P1^0;

//void delay();

void delay(uint);%带一个参数的,参数类型必须要写,参数可不写。比如可以写成uint z。也可以带多个参数

void main()

{

while(1)

{

D1=0;

delay(1200);%亮2秒

D1=1;

delay(1200);

}

}

/*

void delay()

{

uint x,y;

for(x=100;x>0;x--)

for(y=600;y>0;y--); }*/

void delay(uint z)

{

uint x;

uchar y;

for(x=z;x>0;x--)

for(y=20;y>0;y--);

}

例子3#include

#define uint unsigned int

#define uchar unsigned char sbit D1=P1^0;

void delay(uint);

void main()

{

while(1)

{

D1=0;

delay(1200);

D1=1;

delay(1200);

}

}

void delay(uint z)

{

uint x;

uchar y;

for(x=z;x>0;x--)

for(y=20;y>0;y--);

}

5循环左移三位如10100101(a5)-00101101(2d)

基于单片机控制的LED汉字显示

分类号 TP 单位代码 11395 密级公开学号 0605230 学生毕业设计(论文) 题目LED汉字显示 作者 院 (系) 能源工程学院 专业电气工程及自动化 指导教师 答辩日期2010年月日

毕业设计(论文)诚信责任书 本人郑重声明:所呈交的毕业设计(论文),是本人在导师的指导下独立进行研究所取得的成果。毕业设计(论文)中凡引用他人已经发表或未发表的成果、数据、观点等,均已明确注明出处。尽我所知,除文中已经注明引用的内容外,本论文不包含任何其他个人或集体已经公开发表或撰写过的研究成果。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。 本人毕业设计(论文)与资料若有不实,愿意承担一切相关的法律责任。 论文作者签名: 年月日

LED汉字显示 摘要 目前,作为方便、快捷的信息显示方式,LED汉字显示的应用非常广泛。车站、银行、超市等大型公共场所的即时信息及广告的显示,无不应用LED汉字显示屏。在能源日渐危机以及信息日渐重要的今天,具有低耗能、频更新、易维护的LED汉字显示屏必将受到广泛的应用,其具有非常的发展前景。 本文从LED的发展及单片机的简单原理开始,深入的研究了基于AT89C51单片机16×16 LED汉字滚动显示屏的设计并运用Proteus软件的仿真和实现。主要介绍了LED汉字显示屏的硬件电路设计、汇编程序设计与调试、Proteus 软件仿真和实物制作等方面的内容,本显示屏的设计具有体积小、硬件少、电路结构简单及容易实现等优点。能帮助广大电子爱好者了解汉字的点阵显示原理,认识单片机的基本结构、工作原理及应用方法,并提高单片机知识技术的运用能力。 关键词:单片机 LED 点阵 Proteus仿真

用单片机控制的LED流水灯设计(电路、程序全部给出)

1.引言 当今时代是一个新技术层出不穷的时代,在电子领域尤其是自动化智能控制领域,传统的分立元件或数字逻辑电路构成的控制系统,正以前所未见的速度被单片机智能控制系统所取代。单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心就是单片机。目前,一个学习与应用单片机的高潮正在工厂、学校及企事业单位大规模地兴起。学习单片机的最有效方法就是理论与实践并重,本文笔者用AT89C51单片机自制了一款简易的流水灯,重点介绍了其软件编程方法,以期给单片机初学者以启发,更快地成为单片机领域的优秀人才。 2.硬件组成 按照单片机系统扩展与系统配置状况,单片机应用系统可分为最小系统、最小功耗系统及典型系统等。AT89C51单片机是美国ATM EL公司生产的低电压、高性能CMOS 8位单片机,具有丰富的内部资源:4kB闪存、128BRAM、32根I/O口线、2个16位定时/计数器、5个向量两级中断结构、2个全双工的串行口,具有4.25~5.50V的电压工作范围和0~24MHz 工作频率,使用AT89C51单片机时无须外扩存储器。因此,本流水灯实际上就是一个带有八个发光二极管的单片机最小应用系统,即为由发光二极管、晶振、复位、电源等电路和必要的软件组成的单个单片机。其具体硬件组成如图1所示。 图1 流水灯硬件原理图 从原理图中可以看出,如果要让接在P1.0口的LED1亮起来,那么只要把P1.0口的电平变为低电平就可以了;相反,如果要接在P1.0口的LED1熄灭,就要把P1.0口的电平变为高电平;同理,接在P1.1~P1.7口的其他7个LED的点亮和熄灭的方法同LED1。因此,要

单片机LED点阵显示方法与程序代码

单片机LED点阵显示方法与程序代码 点阵的接法有共阴和共阳两种(共阳指的是对每一行LED来讲是共阳)。 由于51单片机驱动能力有限,亮度不够,所以一般需要三极管驱动,下图为一个8X8点阵原理图,仅仅是仿真,如果需要接实物的话,加上三极管才足够亮。 显示的方法有两种: 1、逐列扫描方式。如下图所示,P1口输出列码决定哪一列能亮(相当于位码),P2口输出行码(列数据)决定列上哪些LED亮(相当于段码),能亮的列从左向右扫描完8列(相当于位码循环移位8次)即显示出一帧完整的图像。 2、逐行扫描方式,与逐列扫描调换,即P2口输出位码,P1口输出段码,扫描完8行显示出一帧图像。 以逐行扫描为例,从上图可以很明了的知道点阵的显示原理了(红色表示高电平,绿色表示低电平),当把扫描速度加快,人的视觉停留,看见的就是一幅图或一个字了,如下图所示。

一、行扫描静态显示, 用51单片机实现上图静态显示的程序如下: #include #define uchar unsigned char #define uint unsigned int uchar code TAB[]={0x81,0xFD,0xFD,0xC1,0xBF,0xBF,0xBD,0xC3}; uchar i,t; delay(uchar t) { while (t--) {;} } void main(void) { while(1) { P2=0x01; for(i=0;i<8;i++) { P1=TAB; delay(100); P2=P2<<1|P2>>7; } } } 二、行扫描翻页显示 字码取模方式为逐行 第一次从字码数组中取出第1~8个数据置于列上,行扫描顺序为1~8行,显示一帧,第二次取第9~16个数据,行扫描顺序仍为1~8行,显示第二帧,第三次取第17~24个数据,…… 实现图显示效果的程序如下:

基于单片机控制LED灯亮度调节 邓宇锋

基于单片机控制LED灯智能亮度调节 系部:机电工程系 学生姓名:邓宇锋 专业班级:电气 11C3 班 学号: 6 指导教师:茅阳 2014年3月10日

声明 本人所呈交的基于单片机控制LED灯亮度调节,是我在指导教师的指导和查阅相关著作下独立进行分析研究所取得的成果。除文中已经注明引用的内容外,本论文不包含其他个人已经发表或撰写过的研究成果。对本文的研究做出重要贡献的个人和集体,均已在文中作了明确说明并表示谢意。 作者签名: 日期: 2014年3月10日

摘要 本文介绍LED灯智能亮度调节驱动电路设计,智能照明控制系统在确保灯具能够正常工作的条件下,给灯具输出一个最佳的照明功率,既可减少由于过压所造成的照明眩光,使灯光所发出的光线更加柔和,照明分布更加均匀,又可大幅度节省电能,智能照明控制系统节电率可达20%-40%。智能照明控制系统它可在照明及混合电路中使用,适应性强,能在各种恶劣的电网环境和复杂的负载情况下连续稳定地工作,同时还将有效地延长灯具寿命和减少维护成本。 【关键词】:智能控制;LED;智能光补

目录 引言 (1) 一、智能的概述 (2) (一)智能的定义 (2) (二)智能的分类 (2) 二、LED发光二极管的认识 (2) (一)LED的构造 (2) (二) LED的发光原理 (3) (三)LED的优势 (3) 三、LED亮度控制系统 (3) (一)脉冲宽度调制 (3) (二)调制LED的驱动电流 (3) (三)线性调光法 (3) 四、单片机及程序设计 (3) (一)概述 (4) (二)单片机STC89C51芯片简介 (4) (三)程序 (7) 此套控制分主程序与子程序,截取主程序代码在附件中。 (7) 五、控制系统电路设计 (7) (一)LED驱动电路 (7) (二)光电传感器的选择 (8) (三)电气原理图 (9) 六、实物调试 (9) 总结 (1) 参考文献 (2) 谢辞 (3) 附件 (4)

单片机C语言LED灯点亮程序完全版

单片机C语言L E D灯点亮 程序完全版 Prepared on 24 November 2020

1例子1第二个灯亮 #include<> voidmain() { P1=0xfd; } #include<> SbitD1=P1^0; Voidmain() { D1=0 } 注意:稍微改程序时需重新hex化 例子2第一个灯亮 #include<>include<>//52单片机头文件 sbitled1=P1^0;//单片机管脚位声明 voidmain() //主函数 { unsignedinti;//定义一个int型变量 while(1) { i=50000;//变量赋初值为50000 led1=0; //点亮灯 while(i--);//延时 i=50000; led1=1;//熄灭灯 while(i--); } } 3例子1357灯同时亮

#include<>//52单片机头文件 sbitled1=P1^0;//单片机管脚位声明 sbitled3=P1^2;//单片机管脚位声明 sbitled5=P1^4;//单片机管脚位声明 sbitled7=P1^6;//单片机管脚位声明 voidmain() //主函数 { led1=0; //将单片机口清零 led3=0; //将单片机口清零 led5=0; //将单片机口清零 led7=0; //将单片机口清零 while(1);//程序停止在这里,在后面会讲到为什么这样写。} 例子21357同时亮 #include<>//52单片机头文件 voidmain() //主函数 { P1=0xaa; while(1);//程序停止在这里,在后面会讲到为什么这样写。} 例子3流水灯一个一个接着亮不循环 #include<>//52单片机头文件 voidmain() //主函数 { unsignedinti;//定义一个int型变量

基于51单片机的led点阵显示

项目名称:基于51单片机的LED点阵显示器 目录 一、项目介绍 (2) 1.1 项目背景 1.2 功能介绍 二、电路结构 (3) 三、实现模块 (5) 四、运行程序 (7) 一、项目介绍 1.1项目背景 当今世界,电子技术迅猛发展,点阵式显示器件作为现代信息显示的重要媒体,在金融证券、体育、机场、交通、商业、广告宣传、邮电电信、指挥调度、国防军事等许多领域中得到了广泛应用。因此点阵式显示器件的研制、生产也的到了迅速的发展,并逐步形成产业,成为光电子行业的新兴产业领域。目前,点阵式显示器件具体包括LED显示模块和LCD显示模块等。现在发展的LCD比较先进,LCD的优点较为明显,他体积小,容易控制,功能强,价格适宜,能够适应显示器的发展方向,因而在通信、家电、大屏幕投影等领域得到了越来越广泛的应用;随着社会经济的迅猛发展,工业生产逐渐实现了自动化,其中,设备的工作状态和生产过程状态的显示与监控起到了非常重要的作用,对于那些需要显示

的信息量不是很大,分辨率不是很高,又需要制造成本相对比较低的场合,使用大、小屏幕LED点阵显示器是比较经济适用的,他可以显示字符、数字、汉字和简单图形,可以根据需要使用不同字号、字型,显示亮度较高,并且对环境条件要求比较低。LED显示又可以分为单色显示和双色显示,可以按照需要的大小、形状和颜色进行组合,并用单片机控制实现各种文字或图形的变化,达到宣传和提示的目的。 1.2功能介绍 2本次设计的用单片机控制的显示电路使用比较简单,操作方便。它主要是通过一个8×8点阵来显示图案,通过不同的按键来选择控制图案的种类及显示方式。在通电以后,显示屏全亮,随后进入逐字显示状态。按下复位键K1,系统自动复位,显示diligent,随后进入待命状态。按键1、2、3、4分别控制不同的图案。另外,我们可以通k5键来控制字符移动速度的快慢。 二、电路结构 单片机最小系统设计 2.2.1 各部分具体电路 1 单片机的时钟电路 AT89C52单片机内部的振荡电路是一个高增益反向放大器,引线XTAL1和XTAL2分别是放大器的输入端和输出端。单片机内部虽然有振荡电路,但要形成时钟,外部还需附加电路。AT89C52的时钟产生方式有两种:内部时钟电方式和外部时钟方式。由于外部时钟方式用于多片单片机组成的系统中,所以此处选用内部时钟方式。 内部时钟方式:利用其内部的振荡电路在XTAL1和XTAL2引线上外接定时元件,内部振荡电路产生自激振荡。最常用的是在 XTAL1和XTAL2之间接晶体振荡器与电路构成稳定的自激振荡器,如图2-1电路所示为单片机最常用的时钟振荡电路的接法,其中晶振可选用振荡频率为6MHz的石英晶体,电容器一般选择30PF左右。

51单片机控制LED灯程序设计

51单片机:LED灯亮灯灭程序设计 1.功能说明:控制单片机P1端口输出,使P1.0位所接的LED点亮,其他7只灯熄灭。 程序: 01: MOV A , #11111110B ; 存入欲显示灯的位置数据 02: MOV P1, A ; 点亮第一只灯 03: JMP $ ; 保持当前的输出状态 04: END ; 程序结束 2.功能说明:单片机P1端口接8只LED,点亮第1、3、4、6、7、8只灯。 程序: 01:START: MOV A , #00010010B ; 存入欲显示灯的位置数据 02: MOV P1, A ; 点亮灯

03: JMP START ; 重新设定显示值 04: END ; 程序结束 3.功能说明:单片机P1端口接8只LED,每次点亮一只,向左移动点亮,重复循环。 程序: 01: START: MOV R0, #8 ;设左移8次 02: MOV A, #11111110B ;存入开始点亮灯位置 03: LOOP: MOV P1, A ;传送到P1并输出 04: RL A ;左移一位 05: DJNZ R0, LOOP ;判断移动次数 06: JMP START ;重新设定显示值

07: END ;程序结束 4.功能说明:单片机P1端口接8只LED,每次点亮一只,向右移动点亮,重复循环。 程序: 01: START: MOV R0, #8 ;设右移8次 02: MOV A, #01111111B ;存入开始点亮灯位置 03: LOOP: MOV P1, A ;传送到P1并输出 04: ACALL DELAY ;调延时子程序 05: RR A ;右移一位 06: DJNZ R0, LOOP ;判断移动次数 07: JMP START ;重新设定显示值

基于单片机的LED点阵显示课程设计

1 LED电子显示屏原理 1.1 L ED电子显示屏概述 LED电子显示屏(Light Emitting Diode Panel)是由几百--几十万个半导体发光二极管构成的像素点,按矩阵均匀排列组成。利用不同的半导体材料可以制造不同色彩的LED像素点。目前应用最广的是红色、绿色、黄色。而蓝色和纯绿色LED的开发已经达到了实用阶段。 LED显示屏是一种通过控制半导体发光二极管的亮度的方式,来显示文字、图形、图像、动画、行情、视频、录像信号等各种信息的显示屏幕。 LED显示屏分为图文显示屏和条幅显示屏,均由LED矩阵块组成。图文显示屏可与计算机同步显示汉字、英文文本和图形;而条幅显示屏则适用于小容量的字符信息显示。LED 显示屏因为其像素单元是主动发光的,具有亮度高,视角广、工作电压低、功耗小、寿命长、耐冲击和性能稳定等优点。因而被广泛应用于车站、码头、机场、商场、医院、宾馆、 GAGGAGAGGAFFFFAFAF

银行、证券市场、建筑市场、拍卖行、工业企业管理和其它公共场所。 LED显示屏的发展前景极为广阔,目前正朝着更高亮度、更高气候耐受性、更高的发光密度、更高的发光均匀性,可靠性、全色化方向发展。 1.2 LED显示屏动态显示原理 LED点阵显示系统中各模块的显示方式:有静态和动态显示两种。静态显示原理简单、控制方便,但硬件接线复杂,在实际应用中一般采用动态显示方式,动态显示采用扫描的方式工作,由峰值较大的窄脉冲电压驱动,从上到下逐次不断地对显示屏的各行进行选通,同时又向各列送出表示图形或文字信息的列数据信号,反复循环以上操作,就可显示各种图形或文字信息。 点阵式LED汉字广告屏绝大部分是采用动态扫描显示方式,这种显示方式巧妙地利用了人眼的视觉暂留特性。将 GAGGAGAGGAFFFFAFAF

基于单片机的LED显示系统设计

-14- 引言 随着社会的发展,LED显示户外广告是 目前一种重要的广告形式。LED显示具有功耗 低、寿命长、清晰度高的特点,随着广告内容 的多样化,对LED显示的要求也越来越高。数 码管显示是LED显示的最基本功能,但是其只 能通过各个段位来实现10位数字和少量字母的 显示,一般适用于纯数字显示领域。LED显示 屏是由多个发光二极管组成显示屏幕,通过控 制二极管的亮灭来对内容进行显示,能够实现 对图形、文字、视频等多种信息的显示。 一、单片机的选择 单片机又被称作单片微控制器,它是系统 控制和设计的核心。单片机的选择非常重要, 选择合适的单片机不仅能够提高所设计系统的 性能、简化外围电路和程序的设计,而且能 够降低设计的成本,使所设计的系统更具有实 际意义。本文采用功耗低、I/O口资源丰富、 价格便宜的AVR系列单片机中的ATmega16作为 显示系统控制的核心。针对LED显示系统的特 点,本文选择ATmega16单片机的原因主要有: (1)性能高,功耗低。ATmega16的高速数 据吞吐率很好的解决了功耗和处理速度之间的 矛盾,对于太阳能光伏系统来说,因为产生的 电能非常宝贵,因此功耗小的控制器能为系统 节省更多的能源。 (2)I/O口资源丰富,且功能多样。ATmega16 具有三十二个I/O口,在这些I/O口中,PA口具 有10位精度的ADC,可对单端输入电压进行采 集。本系统需要对多路模拟信号进行采集,利 用ATmega16可以方便的进行数据采集,不必再 进行另外的电路设计,简化了电路。 (3)能够通过对相关定时器的简便的设置 实现PWM波信号的产生和调节。ATmega16有两 个8位和一个16位的定时计数器,可以通过简 单的指令产生频率、相位和占空比可调的PWM 信号,且具有多种PWM信号模式,能够满足不 同的需求。 (4)与Protues硬件仿真软件具有很好的 兼容性。通过Code Vision AVR编译的应用在 Protues中的程序,能够通过编译器直接下载 的单片机中使用,方便了系统的调试。 图1 8×8点阵显示屏内部结构图 二、LED显示原理 LED数码管和点阵显示屏显示的基本原理 都是通过控制发光二极管的亮灭,来形成不同 的字形或者图案。对于点阵显示屏来说,因为 其彩色显示的需要,有时候需要对发光二极管 的颜色进行控制。点阵显示屏的发光二极管数 基于单片机的LED显示系统设计 中山市技师学院 李 威 【摘要】LED显示作为一种重要的数字化显示方式,从起初的纯数字显示功能发展到目前的图像、视频等多种媒体显示功能,给人们带来了完美的视觉享受。本文在对单片机选型的基础上,阐述了LED显示的原理,并且针对LED点阵显示屏,设计了以ATmega16单片机为核心的LED显示控制系统。该系统主要的优点是功耗小、成本低且工作速率快,非常适合室外多媒体和产业化的要求。 【关键词】LED显示;ATmega16;单片机 量较多,因此显示原理也比较复杂,如图1所 示是共阳极LED显示屏的内部结构图。点阵显 示屏一般具有多个LED发光二极管,不能直接 通过单片机的I/O口来控制其亮灭,一般都采 用动态扫描的方法,对点阵进行逐行或者逐列 的控制。对于共阳型的点阵来说,根据要显示 的字形,设置每一行和每一列的数据,从第一 行第一列开始,先对应第一行二极管的亮灭送 出列数据并锁存,然后选通第一行,送行数 据,延迟一段时间后送行数据00H;然后选通第 二行,采取相同的方法来控制二极管亮灭,直 至8行扫描结束,然后重复扫描。因为扫描的 速度非常快,由于人眼的余辉效应,就可以再 显示屏上看到稳定显示的字形。 三、系统硬件电路设计 本系统采用ATmega16单片机作为显示控 制的核心,采用8×8点阵单色点阵显示屏来进 行显示,同时系统还包括行驱动器、列驱动器 以及相关电源电路。系统的整体框图如图2所 图2 系统整体设计框图 图3 晶振电路图 1.ATmega16单片机最小系统设计 单独的一个单片机是不能发挥其控制作用 的,只有通过相关辅助电路的设计,使其构成 一个最小系统,才能发挥其强大的微控制器功 能。 (1)晶振电路的设计 ATmega16单片机内部具有RC振荡电路,可 实现四种振荡频率。但是内置振荡电路产生的 振荡信号不是很准确,因此在某些对振荡频率 要求比较高的情况下,例如定时器准确定时等 情况,一般都采用外部振荡电路为单片机提供 振荡频率。一般在外部晶振电路设计中,都要 求接22pF左右的电容。其电路图如图3所示。 (2)复位电路设计 对于ATmega16单片机来说,其内部已经设 置了上电复位,通过对相应熔丝位的控制,可 以实现对复位时间长短的控制,因此单片机外 部的复位电路设计就简化了许多,具体做法是 在外部接一个上拉电阻R 到VCC,本文选择10K 的上拉电阻。 本文设计的复位电路图如图4,在设计的 过程中,为了增加电路的可靠性,一般会增加 一个滤波电容来实现消除杂波和干扰的功能, 本文采用增加一个0.1uF的电容。电路中的二 极管D3(1N4148)的主要有两个主要功能:功能 一是当系统突然断电后,将上拉电阻短路,同 时使滤波电容C 实现快速放电,当系统再次通 电时,保证复位的有效性;功能二是系统在复 位时将其输入电压限制在VCC±0.5V之间。本 课题采用按键方式进行复位,当单片机正常工 作时,按下复位开关,由于电路的设计复位脚 输入相应的低电平信号,对系统进行复位。 图4 最小系统复位电路设计 (3)电源电路设计 AVR单片机最常用的是5V与3.3V两种电 压。本线路以开关切换两种电压,并且以双 色二极管指示(5V时为绿灯,3.3V时为红灯)。 二极管D1防止用户插错电源极性。D2可以允许 用户将电压倒灌入此电路内,不会损坏1117- ADJ,系统电源电路如图5所示。 图5 电源电路设计图 1117-ADJ的特性为1脚会有50uA的电流输 出,1-2脚会有1.25V电压。利用这个特点,可 以计算出要求得出输出电压: 当SW开关打向左边时,R6上的电流为 1.25/0.33=3.78ma。R8上的电流为1117-ADJ1脚 电流加上R6上的电流,即0.05+3.78=3.83ma。 可以计算得R8上的电压为3.84V。于是得出 VCC=1.25+3.83=5.08V。误差在2%以内。 当SW开关打向右边时,R6上的电流为 1.25/0.62= 2.02ma。R8上的电流为1117-ADJ1脚 电流加上R6上的电流,即0.05+2.02=2.07ma。 可以计算得R8上的电压为2.07V。于是得出 VCC=1.25+2.07=3.32V。误差在1%以内。

单片机的LED显示屏控制电路设计方案

基于单片机的LED显示屏控制电路设计 时间:2018-10-12 07:50:57 来源:现代电子技术作者:李秀忠 LED显示屏广泛应用于工矿企业、学校、商场、店铺、公共场所等进行图文显示,广告宣传,信息发布。本文设计一种由4个16×16点阵LED模块组成的显示屏,由单片机作控制器,平滑移动显示任意多个文字或图形符号,本电路可级联扩展实现由任意多个16×16点阵LED模块组成的显示屏。 1 电路设计 控制电路由AT89C51单片机作控制器,显示屏由4个16×16点阵LED模块组成,每个16×16点阵LED模块由4个8×8点阵LED模块组成,用户可根据需要扩展增加任意多个16×16点阵LED模块。8×8点阵LED模块结构如图1所示,共8行8列,每个发光二极管放置在行线和列线的交叉点上,共64个发光二极管。当某一列为高电平,某一行为低电平时,则对应的发光二极管点亮。 单片机P3.0引脚接串入并出移位寄存器74LS164(U10>的串行数据输入端,8个 74LS164(U10~U17>级联,P3.1引脚接8个74LSl64的时钟脉冲输入端;8个74LS164分别接8个锁存器74LS373(U18~U25>,8个锁存器的数据输出端接4个16×16点阵LED模块的行线,每个16×16点阵LED模块的行线是独立控制的。P1.O接8个 74LS164(U2~U9>的时钟脉冲输入端,P1.1接U2、U4、U6、U8的串行数据输入端,每两个74LSl64(U2和U3,U4和U5,U6和U7,U8和U9>级联;U2~U9的并行数据输出端接4个16×16点阵LED模块的64条列线。P1.2接所有74LSl64的清0端, P1.3接锁存器的锁存控制端。设计完成的电路如图2所示。

单片机实现发光二极管的循环点亮控制讲解

桂林电子科技大学单片机最小应用系统 设 计 报 告 指导老师:吴兆华

学生:钟静茹 学号:09210202 机电工程学院 2010年6月 单片机最小应用系统设计报告 目录 一、设计题目 (3) 二、设计内容与要求 (3) 三、设计目的意义 (3) 四、系统硬件电路图 (4) 五、程序流程图与源程序 (6) 5.1流程图 (6) 5.2源程序 (7) 5.2.1程序设计思想 (7) 5.2.2源程序清单 (7) 六、系统功能分析与说明 (9) 6.1系统主要组成部分 (9) 6.2指示灯显示部分 (10) 6.3 电路板的制作 (10) 6.3.1 PCB图的制作 (11) 6.3.2 电路板的腐蚀、钻孔和元器件的焊接 (13)

七、设计体会 (11) 八、参考文献 (12) 一、设计题目 用8031单片机实现发光二极管的循环点亮控制。采用3个按键分别控制发光二极管的启动、停止及每个灯点亮的时间的更换,定时时间有软件控制。 二、设计内容与要求 用8031单片机控制8个发光二极管循环点亮。要求用按键控制点亮时间(如每个灯点亮0.5秒或者1秒等,各灯点亮时间相同)。按启动键开始循环点亮;按停止键后停止。 三、设计目的意义 1、掌握单片机系统中扩展简单I/O接口的方法。 2、掌握单片机的硬件接口电路、8031单片机的内部结构及其编程方法。 3、掌握单片机的最小系统的设计。 4、掌握电路板的设计与制作。。 5、了解程序编写与调试的方法和技巧。 6、综合掌握所学的单片机指令系统和硬件接口电路知识,进行简单的最小系统开

发。 四、系统硬件电路图 系统硬件图(图1)包括单片机最小系统(复位电路、晶振电路和相关的控制信号)、外电路接通显示部分、及电源显示部分。 设计硬件电路图时,其基本思想:先通过万能板搭建试验平台,将编好的程序下载到51中,等可以达到预期要求后,最后在PROTEL中设计原理图与PCB,做出电路板。

基于51单片机的LED数码管动态显示

基于51单片机的LED数码管动态显示 LED数码管动态显示就是一位一位地轮流点亮各位数码管,对于每一位LED数码管来说,每隔一段时间点亮一次,利用人眼的“视觉暂留"效应,采用循环扫描的方式,分时轮流选通各数码管的公共端,使数码管轮流导通显示。当扫描速度达到一定程度时,人眼就分辨不出来了。尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,认为各数码管是同时发光的。若数码管的位数不大于8位时,只需两个8位I/O口。 1 硬件设计 利用51单片机的P0口输出段码,P2口输出位码,其电路原理图如下所示。 在桌面上双击图标,打开ISIS 7 Professional窗口(本人使用的是v7.4 SP3中文版)。单击菜单命令“文件”→“新建设计”,选择DEFAULT模板,保存文件名为“DT.DSN”。在器件选择按钮中单击

“P”按钮,或执行菜单命令“库”→“拾取元件/符号”,添加如下表所示的元件。 51单片机AT89C51 一片 晶体CRYSTAL 12MHz 一只 瓷片电容CAP 22pF 二只 电解电容CAP-ELEC 10uF 一只 电阻RES 10K 一只 电阻RES 4.7K 四只 双列电阻网络Rx8 300R(Ω) 一只 四位七段数码管7SEG-MPX4-CA 一只 三极管PNP 四只 若用Proteus软件进行仿真,则上图中的晶振和复位电路以及U1的31脚,都可以不画,它们都是默认的。 在ISIS原理图编辑窗口中放置元件,再单击工具箱中元件终端图标,在对象选择器中单击POWER 和GROUND放置电源和地。放置好元件后,布好线。左键双击各元件,设置相应元件参数,完成电路图的设计。 2 软件设计 LED数码管动态显示是一位一位地轮流点亮各位数码管的,因此要考虑每一位点亮的保持时间和间隔时间。保持时间太短,则发光太弱而人眼无法看清;时间太长,则间隔时间也将太长(假设N位,则间隔时间=保持时间X(N-1)),使人眼看到的数字闪烁。在程序中要合理的选择合适的保持时间和间隔时间。而循环次数则正比于显示的变化速度。 LED数码管动态显示的流程如下所示。

基于51系列单片机的LED显示屏

基于51系列单片机的LED显示屏 【内容简介】本书以当今广告媒体中较为流行的LED 显示屏控制系统为 背景,结合基于51 系列单片机的硬件控制系统,对LED 显示屏的数据组织方 式和灰度、亮度控制做深度剖析,详细地讲解了如何利用LED 单元板驱动控 制方式高效率地排列存储器中的数据。本书提供了一些经过实际应用项目验证 的完整开发实例,供读者参考。在简要讲述普通51 单片机和C51 编程的基础上,本书还对具有40MHz 工作频率、单指令周期的增强型51 单片机 VRS51L3074 及其在LED 显示屏控制系统中的应用做了详细介绍。本书是国内第一本针对铁电单片机的书籍,为初学铁电单片机或是希望了解该单片机的读 者提供了较为全面的资料和开发例程。此外还对通用LED 显示屏上位机控制 软件设计、LED 显示屏控制系统常用时钟芯片DA1302、温度传感器DC18B20 等模块控制程序和硬件电路进行分析和讲解。这些内容是作者近几年来部分开 发工作的实践总结,有些是根据实际生产产品的提炼和推广。本书内容丰富实用,图文并茂,适用于从事单片机开发和应用以及从事LED 控制系统的研发 人员和工程技术人员使用,也可以作为单片机爱好者、铁电单片机初学者,以 及使用C51 编程的研究生、本科生、专科生毕业设计的参考用书。【编辑推荐】编写宗旨:以增强型51 单片机为平台,结合当前比较流行的LED 控制卡设计,采用软件算法优化、程序设计优化和硬件配合的方式,通过实例设计,向读者 展示了单片机的优势和特点,也从另一个方面说明硬件设计最重要的是一种思 想和理念,即:器件的选择并不是决定硬件设计思路的唯一因素。讲解思 路第1 章:简要介绍51 单片机结构体系和主要功能部件,以及指令系统 和汇编语言设计要点。第2 章:分析当前比较流行的C51 编程要点、技巧,并列举常用实例辅助说明。第3 章:详细讲解铁电单片机-VRS51 L3074,

基于51单片机的led点阵显示

项目名称:基于51单片机的LED点阵显示器 目录 一、项目介绍 (2) 1.1 项目背景 1.2 功能介绍 二、电路结构………………………………………3 三、实现模块………………………………5 四、运行程序………………………………………7 一、项目介绍 1.1项目背景 当今世界,电子技术迅猛发展,点阵式显示器件作为现代信息显示的重要媒体,在金融证券、体育、机场、交通、商业、广告宣传、邮电电信、指挥调度、国防军事等许多领域中得到了广泛应用。因此点阵式显示器件的研制、生产也的到了迅速的发展,并逐步形成产业,成为光电子行业的新兴产业领域。目前,点阵式显示器件具体包括LED显示模块和LCD显示模块等。现在发展的LCD比较先进,LCD的优点较为明显,他体积小,容易控制,功能强,价格适宜,能够适应显示器的发展方向,因而在通信、家电、大屏幕投影等领域得到了越来越广泛的应用;随着社会经济的迅猛发展,工业生产逐渐实现了自动化,其中,设备的工作状态和生产过程状态的显示与监控起到了非常重要的作用,对于那些需要显示的

信息量不是很大,分辨率不是很高,又需要制造成本相对比较低的场合,使用大、小屏幕LED点阵显示器是比较经济适用的,他可以显示字符、数字、汉字和简单图形,可以根据需要使用不同字号、字型,显示亮度较高,并且对环境条件要求比较低。LED显示又可以分为单色显示和双色显示,可以按照需要的大小、形状和颜色进行组合,并用单片机控制实现各种文字或图形的变化,达到宣传和提示的目的。 1.2功能介绍 2本次设计的用单片机控制的显示电路使用比较简单,操作方便。它主要是通过一个8×8点阵来显示图案,通过不同的按键来选择控制图案的种类及显示方式。在通电以后,显示屏全亮,随后进入逐字显示状态。按下复位键K1,系统自动复位,显示diligent,随后进入待命状态。按键1、2、3、4分别控制不同的图案。另外,我们可以通k5键来控制字符移动速度的快慢。 ? 二、电路结构 单片机最小系统设计 2.2.1 各部分具体电路 1 单片机的时钟电路 AT89C52单片机内部的振荡电路是一个高增益反向放大器,引线XTAL1和XTAL2分别是放大器的输入端和输出端。单片机内部虽然有振荡电路,但要形成时钟,外部还需附加电路。AT89C52的时钟产生方式有两种:内部时钟电方式和外部时钟方式。由于外部时钟方式用于多片单片机组成的系统中,所以此处选用内部时钟方式。 内部时钟方式:利用其内部的振荡电路在XTAL1和XTAL2引线上外接定时元件,内部振荡电路产生自激振荡。最常用的是在XTAL1和XTAL2之间接晶体振荡器与电路构成稳定的自激振荡器,如图2-1电路所示为单片机最常用的时钟振荡电路的接法,其中晶振可选用振荡频率为6MHz的石英晶体,电容器一般选择30PF左右。

89C51单片机练习示例:LED灯点亮与熄灭操作

89C51单片机练习示例:LED灯点亮与熄灭操作 基本要求: 1、八个LED灯循环点亮,间隔1秒,最后全亮; 2、八个LED灯依次熄灭,间隔1秒,最后全灭; 3、八个LED灯同时点亮,保持1秒; 4、八个LED灯同时熄灭,保持0.5秒; 再将第三、四步重复4遍,最后整个程序重复N遍。 ORG 0000H MAIN:MOV R5,#03H; ACALL PRO1;依次点亮,最后全亮 ACALL PRO2;先灯亮,依次灭灯,后全灭 ACALL PRO3;八个灯同时亮,保持1秒;八个灯同时灭,保持1秒 ACALL PRO4;重复第三步操作,使灯点亮、熄灭4次 LJMP MAIN; PRO1: MOV A,#01H;从0号灯开始点亮 MOV R4,#08;亮灯个数记录 DIANLIANG:MOV R0,A; MOV P0,A;点灯子程序 RL A; ORL A,R0; ACALL DELAY;调用0.26s的延时子程序 ACALL DELAY;调用0.26s的延时子程序 DJNZ R4,DIANLIANG;全亮 ACALL DELAY;调用0.26s的延时子程序 ACALL DELAY;调用0.26s的延时子程序 ACALL DELAY;调用0.26s的延时子程序 ACALL DELAY;调用0.26s的延时子程序 RET PRO2: MOV A,#0FFH;先亮灯 CLR CY;清零CY值 MOV R4,#09H;灭灯个数记录 XIMIE:MOV R0,A; MOV P0,A;

RLC A; ANL A,R0; ACALL DELAY;调用0.26s的延时子程序ACALL DELAY;调用0.26s的延时子程序DJNZ R4,XIMIE;全灭 ACALL DELAY;调用0.26s的延时子程序ACALL DELAY;调用0.26s的延时子程序ACALL DELAY;调用0.26s的延时子程序ACALL DELAY;调用0.26s的延时子程序RET PRO3:MOV A,#0FFH; 先点亮,后熄灭MOV P0,A; ACALL DELAY;调用0.26s的延时子程序ACALL DELAY;调用0.26s的延时子程序ACALL DELAY;调用0.26s的延时子程序ACALL DELAY; 调用0.26s的延时子程序ANL A,#00H; MOV P0,A; ACALL DELAY;调用0.26s的延时子程序ACALL DELAY; 调用0.26s的延时子程序ACALL DELAY; 调用0.26s的延时子程序ACALL DELAY; 调用0.26s的延时子程序RET PRO4:ACALL PRO3;重复点亮,熄灭四次DJNZ R5,PRO4; RET DELAY:MOV R2,#0FFH;延时子程序 DEL1:MOV R3,#0FFH; DEL2: NOP; NOP; DJNZ R3,DEL2; DJNZ R2,DEL1; RET END

基于51单片机的LED显示系统设计

基于51单片机的LED显示系统设计 引言 最近,笔者在某工厂大型生产线上基于现场总线的物流呼叫系统项目中发现,由于所需要显示的信息流比较大,用现有的基于AT89C51 芯片组成的 LED 显示屏控制系统,由于受到微处理器的处理速度、体系架构、寻址范围、 外围接口资源等诸多限制,已难以在要求显示较多像素、显示内容帧频较高、 动态显示效果复杂的情况下,得到良好的动态视觉效果。针对以上情况,在利 用现有资源的基础上,重新设计和研制了一种全新的,由32 位高性能ARM 微 处理器组成的LED 显示屏控制图1 系统的硬件结构框图系统,并通过RS485 接口与现场总线中的上位机进行实时数据通信,实现整个系统的信息显示。 1 系统硬件结构该系统的硬件组成框图如图1 所示。图1 中,微处理器是AtmeEL 公司生产的AT91M42800A,它采用基于ARM7TDMI 内核 的高性能32 位RISC 架构的处理器,有着丰富的外围接口资源。 AT91M42800A 有2 个USART 外围接口,系统用USART0 口和MAX485 组成485 接口电路,具体的接口电路如图2 所示。AT91M42800A 还有2 个SPI 口,每个SPI 口有4 根片选信号,通过片选均可以支持外接15 个设备。该系统的 做法是将2 个SPI 口分别接到列驱动电路和行驱动电路上,并利用各自的2 个 片选信号CS0 和CS1 完成驱动电路的信号锁存和允许输出控制,SPI 的CLK 输出作为驱动电路的时钟信号输入,工作频率为4 MHz。SRAM 接口电路由2 块HY57V641620 芯片并联组成,HY57V641620 是Hynix 公司生产的4 Banks×1M×16位的SDRAM 芯片,单片HY57V641620 存储容量为4 组×16M 位(8 MB),支持自动刷新,16 位数据宽度。为充分发挥32 位CPU 的数据处理能力,系统用2 块8 ns 的HY57V641620 组成32 位SDRAM 存储器系统。

LCD与单片机的连接电路图和LCD显示程序

LCD与单片机的连接电路图和LCD显示程序/LCD测试程序 3.2.5 LCD显示电路 液晶显示器简称LCD显示器,它是利用液晶经过处理后能改变光线的传输方向的特性来显示信息的。要使用点阵型LCD显示器,必须有相应的LCD控制器、驱动器来对LCD显示器进行扫描、驱动,以及一定空间的ROM和RAM来存储写入的命令和显示字符的点阵。现在往往将LCD控制器、驱动器、RAM、ROM和LCD显示器连接在一起,称为液晶显示模块。 液晶显示模块是一种常见的人机界面,在单片机系统中的应用极其广泛。液晶显示模块既可以显示字符,又可以显示简单的图形。本系统采用的是1602的LCD接口。1602是一种点阵字符型液晶显示模块,可以显示两行共32个字符。根据LCD型号的不同,所需要的背光电阻大小会不同,可自行调节。 本系统采用的LCD为RT-1602C,其主要引脚的功能如下: RS:数据/命令选择端,高电平时选择数据寄存器,低电平时选择指令寄存器。 RW:读/写选择端,高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时,可以写入指令或者显示地址;当RS为低电平、RW为高电平时,可以读忙信号;当RS 为高电平、RW为低电平时,可以写入数据。 E:使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。

图3-9 LCD显示电路 LCD测试程序 #include /********IO引脚定义***********************************************************/ sbit LCD_RS=P2^7;//定义引脚 sbit LCD_RW=P2^6; sbit LCD_E=P2^5; /********宏定义***********************************************************/ #define LCD_Data P0 #define Busy 0x80 //用于检测LCD状态字中的Busy标识 /********数据定义*************************************************************/ unsigned char code uctech[] = {"Happy every day"}; unsigned char code net[] = {"https://www.doczj.com/doc/f316539143.html,"}; /********函数声明*************************************************************/ void WriteDataLCD(unsigned char WDLCD); //写数据

基于51单片机的LED显示屏

题目基于51单片机的LED显示屏 摘要: 由于科技的快速发展,LED显示屏已经是在大街上随处可见的应用了,它的应用已经普及到社会中的方方面面。LED点阵具有无限级联的特点,以一个个小的显示屏可以拼接出一块大的显示屏,在许多场合都可以见到它的身影,不仅因为LED显示屏可使呈现的信息更为直观,更为重要的是这种显示方式非常方便且具有较高的性价比,能够给人以视觉上的享受,更能给人一种美的享受。LED显示屏是一个犹发光二极管按照一定的形式排列封装形成的,可显示广告,图文信息等。本设计是基于STC89C51单片机的16*16点阵显示屏,该LED显示屏能实现分辨率16*16的汉字显示,简单的显示图像。该设计包含硬件设计、然健设计以及系统调试等,中需要简单的将硬件模块和软件模块进行组合即可实现显示功能。本文设计的基于51单片机的LED显示屏可实现预期功能,具有功耗低、操作简单、精度高等诸多优势。 关键词:点阵显示屏级联 51单片机 V

Abstract:Due to the rapid development of technology, LED display screen has been widely used in the streets., and its application has been popularized in every aspect of society. LED dot matrix has the characteristics of infinite cascade, with a small display can piece together a large display, on many occasions can see the figure of it, is not only the application of it to make something appear more beautiful, more important is that its application is convenient, cost is low, in addition to can give a person visual impact, more can give a person a kind of beautiful enjoyment. LED displays are arranged in a matrix by several light-emitting diodes, usually used to display advertising, graphics and other information. This design is based on the 16*16 point array display of STC89C51 single chip. The LED display can display the Chinese characters of 16*16 and display the image simply. The design includes hardware, software, debugging, etc., which can realize the expansion of the display screen with simple cascade, but be careful not to exceed the load capacity. The design of this design is small, multi-function, convenient and practical, cost small, the circuit has the structure simple, the operation is convenient, the precision is high, the application is widely characteristic. Keywords: Lattice display Cascade 51 single chip microcomputer V

相关主题
文本预览
相关文档 最新文档