第一篇:基于51单片机的电子广告牌电路设计
基于51单片机的电子广告牌电路设计
2011-10-15 14:08:20
来源:互联网
关键字:51单片机 电子广告牌
0 引 言
现在城市中用于装点各种建筑物的绚丽色彩依旧是霓虹灯.但是霓虹灯具有发热量大,亮度较小,色彩较暗,价格较贵且耗电量较大等缺点已经不作为现在装饰的主要选择对象。点阵屏具有价格便宜,可视度远,亮度高,耗能较低,体积较小,且可以根据实际情况由几块小的点阵屏组合成较大面积的点阵块等优点。在此主要介绍以AT89S51为控制芯片,用8×8的点阵屏4块来级联实现16×16的点阵屏,从而用于广告牌显示等。系统设计方案
鉴于所设计的点阵屏为16×16单色显示,可以用8×8的点阵屏4块来级联实现,此时点阵屏的行列各为16管脚,需要扩展口,采用74LS164串行输入并行输出来实现。整个系统以AT89S51为控制芯片,P0/P2口为行控制,P3口为芯片74LS164的输入,且2片74LS164级联后为列控制,通过软件程序调用不同的代码来显示字符或文字。元器件介绍
2.1 AT89S51单片机简介
AT89S51拥有4 KB的可编程的闪存(FLASHProgrammahle AND Erasable Read Only Memory)。片上的闪存允许在系统内再编程,在系统开发时可以十分容易地进行程序修改,即使程序错误也不会成为废品。由于在单片机集成电路上包括用8位CPU和闪存,AT89S51成为强大的控制器,它为很多嵌入式系统提供一种高效灵活的解决方案。基于以上理由,选择了AT89S51。
2.2 74LS164芯片简介
在单片机系统中,如果并行口的I/O资源不够,而串行口又没有其他的作用,那么可以用74LS164来扩展并行I/O口,节约单片机资源。74LS164是一个串行输入/并行输出的移位寄存器,并带有清除端。硬件设计
图1电路为1块8×8点阵显示电路连接图。
(1)把“单片机系统”区域中的P1端口用8芯排芯连接到“点阵模块”区域中的“DR1~DR8”端口上;
(2)把“单片机系统”区域中的P3端口用8芯排芯连接到“点阵模块”区域中的“DC1~DC8”端口上;如果要显示大的图像可多个点阵拼在一起,将点阵的行和行相串联,列和列相串联,用741S164控制单个行即可。部分源代码
部分源代码如下:
SEND: MOV A,R1 ;送表首地址
ACALL TAB1 ;查列表
5结 语
在此研究了用AT89S51为控制芯片,用8×8的点阵屏来实现广告字的滚动显示,对环保、节能有重大意义。
(本文转自电子工程世界:http://)
第二篇:单片机控制的LCD 1602的电子广告牌
单片机控制的LCD 1602的电子广告牌
设计要求:
用单片机控制字符型LCD 1602显示字符信息“Hello everyone!”和“Welcome to Harbin”。字符信息“Hello everyone!”、“Welcome to Harbin”分别从LCD 1602右侧第一行、第一行滚动移入,然后再从左侧滚动移出,循环显示。
功能说明:由于液晶模块用怎样的命令控制显示由模块本身在制造时已经给出,实现相应的显示功能参照说明即可,液晶模块与单片机的连接不采用添加多个与非门的方式,而采用更直接、清晰的方式,使WR、RD直接与LCD的R/W、RS相连,使能端与P3^5相连,由软件给出下降沿,电路图如下:
详细的功能说明:
1)给LCD写命令、送数据等均需要进行选中寄存器、发送命令或数据代码、使能端有效等过程,若逐一写出会使程序混乱冗长,因此将写命令、写数据、初始化等分别封装在子函数中,方便随时调用。
2)为实现滚动显示,使用命令打开整体显示移动。
3)由于显示字母只需将相应的ASCII代码发送给LCM即可,因此将需要显示的字符直接设为数组中的元素,显示时逐一写入液晶。4)若数组中只有相应的字符,显示的末尾会出现预料之外的字符,因此加入足够的空格避免这种现象发生。
5)为实现循环不断显示的功能,只需将函数整体放入while(1)中即可,但应注意下一次循环开始前将DDRAM的地址回复为第一行。C语言程序: #include
uchar code tab1[]=”Welcome to Harbin 出现不该出现的字符 sbit LCDE=P3^5;sbit LCDRW=P3^6;sbit LCDRS=P3^7;
void WriteCMD(uchar);
void init();
void WriteData(uchar);
void Delay();
void mydelay(int);
void main(){
uint i;
init();
while(1)
{
for(i=0;i<32;i++)
{
WriteData(tab[i]);的“忙”状态
mydelay(50);
}
mydelay(50);
WriteCMD(0x01);
WriteCMD(0x80+0x40+15);行末尾,从此处开始进入字符
for(i=0;i<33;i++)
{
WriteData(tab1[i]);
mydelay(50);
}
mydelay(50);
“;
”;//字符后面加若干个空格,防止滚动显示时
//定义写命令函数
//定义初始化函数
//定义写数据函数
//定义延迟函数
//定义无符号整形变量
//液晶模块的初始化
//使之一直进行滚动显示程序,不断循环 //显示第一行字符
//每显示一个字符后停留一会,越过液晶
//清屏,准备进行下一行显示
//改变DDRAM的地址,更改为第二 //开始输入第二行字符
WriteCMD(0x01);
WriteCMD(0x80+15);
进入下一次循环,显示重新开始
} }
void Delay(){
uint uiCount;
for(uiCount=0;uiCount<250;uiCount++);}
void WriteCMD(uchar Command)
寄存器 {
Delay();
LCDE=1;
LCDRS=0;
LCDRW=0;
LCDPORT=Command;
LCDE=0;
执行命令 }
void WriteData(uchar dat)
符 {
Delay();
LCDE=1;
LCDRS=1;
LCDRW=0;
LCDPORT=dat;
LCDE=0;
}
void init()
{
LCDRW=0;
LCDE=0;
WriteCMD(0x38);
WriteCMD(0x0c);
WriteCMD(0x07);
WriteCMD(0x01);
WriteCMD(0x80+15);
//DDRAM的地址改回第一行,准备 //写命令函数,用于修改液晶的状态
//先延时,越过液晶“忙”状态
//使能端先置1 //设置RS为0,打开指令寄存器
//设置为写寄存器状态
//输出命令
//使能端由1变0,出现下降沿有效,//写数据函数,用于提供液晶的显示的字
//把LCD改为写入数据状态
//再输出数据
//使能端有效,显示数据
//初始化程序,模块化使程序更清晰
//设置双行显示、8位数据接口
//设置整体显示开、光标关、字符不闪烁//设置为增量方式,整体显示移动开 //清屏
//设置字符进入屏幕的初始位置
}
void mydelay(int x){
int i,j;
for(i=x;i>0;i--)
for(j=255;j>0;j--);}
第三篇:基于51单片机的交通灯控制电路设计
交通灯
一、功能要求
要求甲车道和乙车道两条交叉道路上的车辆交替运行,每次通行时间都设为25秒,黄灯先亮5秒钟,才能变换运行车道;黄灯亮时,要求每秒钟闪亮一次。
二、电路图
说明:1)每一位数码管位选要分开,对应IO口参照程序中红色部分 2)图示数码管为共阳,没加驱动数码管显示较暗,建议加驱动
三、程序
//TrafficLight.c #include“reg52.h”
//IO口定义 sbit red_1 =P2^0;//南北方向 sbit red_2 =P2^3;//东西方向 sbit yellow_1 =P2^1;sbit yellow_2 =P2^4;sbit green_1 =P2^2;sbit green_2 =P2^5;sbit com1_1 =P3^6;//十位 南北方向 数码管位选 sbit com1_2 =P3^7;//个位 南北方向 sbit com2_1 =P3^4;//十位 东西方向 sbit com2_2 =P3^5;//个位 东西方向
//全局变量 char time=30;//倒计时
unsigned char num1=0,num2=0;//辅助计时 unsigned char flag1=0,flag2=0;//黄灯闪标志位 unsigned char shi1,shi2,ge1,ge2;//数码管十位个位
const unsigned char ledNum[] =
{// 0 1
A
b
c
d
E
F
不显示-o(18)H(19)h(20)C(21)0(22)n(23)0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xA7,0xA1,0x86,0x8e,0xFF,0xbf,0xa3,0x89,0x8b,0xc6,0xc0,0xab };//共阳数码管
//中断优先级别T0>T1,数码管显示中断间隔2ms,计时时间间隔50ms //计时要求比较精确,间隔长,不应该被打断,故中断优先级要高,使用T0 //数码管中断可以被打断,打断时间较短,不会影响显示,使用T1 //在交通灯中,计时和数码管显示一直进行,故定时器开启后不用停止 void InitInter(void){ TMOD=0x11;//设置定时器工作方式为16位计时器
TH0=(65535-45872)/256;//11.0592M晶振,50ms TL0=(65535-45872)%256;TH1=(65535-1835)/256;//11.0592M晶振,2ms TL1=(65535-1835)%256;EA=1;ET0=1;ET1=1;TR0=1;TR1=1;}
void Display(void){ static unsigned char i=1;
switch(i){ case 1:
com2_2=0;
P0=ledNum[shi1];
com1_1=1;
break;case 2:
com1_1=0;
P0=ledNum[ge1];
com1_2=1;
break;case 3:
com1_2=0;
P0=ledNum[shi2];
com2_1=1;
break;case 4:
com2_1=0;
P0=ledNum[ge2];
com2_2=1;
break;
default:;}
i++;if(i>4)i=1;}
//红灯可以直接变成绿灯,但绿灯必须先变成黄灯再变红灯 void main(void){ bit i=0;InitInter();
while(1){
red_1=0;//0为亮
red_2=1;
green_2=0;
time=30;
while(time>5)
{
shi1=time/10;
ge1=time%10;
shi2=(time-5)/10;
ge2=(time-5)%10;
}
green_2=1;
yellow_2=0;
flag2=1;
num2=0;
while(time>0)
{
shi1=time/10;
ge1=time%10;
shi2=time/10;
ge2=time%10;
}
flag2=0;
yellow_2=1;
red_2=0;
red_1=1;
green_1=0;
time=30;
while(time>5)
{
shi2=time/10;
ge2=time%10;
shi1=(time-5)/10;
ge1=(time-5)%10;
}
green_1=1;
yellow_1=0;
flag1=1;
num2=0;
while(time>0)
{
shi2=time/10;
ge2=time%10;
shi1=time/10;
ge1=time%10;
}
flag1=0;
yellow_1=1;
//red_1=0;
//green_2=0;} } void Timer_0(void)interrupt 1//计时 { TH0=(65535-45872)/256;TL0=(65535-45872)%256;num1++;if(num1>=20){
num1=0;
time--;
//if(time<0)time=30;
//处理time,显示方式
} if(flag1||flag2){
num2++;
if(num2>=10)
{
num2=0;
if(flag1)yellow_1=~yellow_1;
if(flag2)yellow_2=~yellow_2;
} } }
void Timer_1(void)interrupt 3 { TH1=(65535-1835)/256;//11.0592M晶振,2ms TL1=(65535-1835)%256;
Display();}
第四篇:《单片机与外围电路设计》课程设计大纲(模版)
《单片机与外围电路设计》课程设计大纲
一、基本信息
1、课程中文名称:单片机与外围电路设计课程设计
2、课程英文名称:Course Design of Single-Chip Microcomputer
and its Peripheral Circuit Design3、课程编号:XX X XXX6位,1-2位为开课学院代码,3位为开课层次(研究生0、本科
1、专科2),4-6位为课程序号。在不同学期开设的课程应设置不同的代码。非单独设置的实验课程依所属课程代码。课程编号应与教务综合管理系统中所用编号一致。
4、课程类别:专业课(专业理论课、专业技术课、专业实验课)。
5、课程性质:专业选修课
6、适用层次:汉族本科
7、适用专业:计算机科学与技术、通信工程
8、开课学期:第5学期
9、学时:两周10、学分:1
二、实践教学目标与基本要求
随着就业形势日趋严峻,大学生的动手能力、实践能力和综合素质越来越受到学校和用人单位的重视,在大学期间,课程设计是培养和锻炼动手、实践能力和综合素质的一个重要环节,通过本课程设计能使学生对所学到的单片机知识进行一次综合实践,掌握单片机各主要知识点。
学生应了解单片机技术在家用电器以及自动控制工程中的应用,熟悉单片机的原理与结构。通过实验、实训和一些单片机项目的制作,掌握单片机指令系统、结构原理、接口技术,以及单片机应用系统开发、设计的基本技能。
三、选题
可供选题如下:(每三人一组,要求同时用汇编、C语言实现,并画出电路图;总课程设计时间为两周,在结束时须提交作品和课程设计论文)
(1)万年历设计(LCD显示)
(2)定时闹铃(LCD显示)
(3)定时闹钟(ds1302)
(4)音乐倒数定时器
(5)密码锁控制
(6)可存储式电子琴
(7)电子抢答器设计
(8)串行通信设计
(9)数显交通灯设计
(10)步进电机控制设计
(11)I2C总线器件使用(LCD显示)
(12)用12864设计的指针式电子钟
(13)用1602与ds18b20设计的温度报警器
(14)用ADC0808设计的调温报警器
(15)温度控制直流电机转速
(16)用DAC0808设计的直流电机调速器
(17)用74LS595与74LS154设计的16*16点阵屏
(18)用数码管设计的可调式电子钟
(19)简易计算器设计
(20)多路数字温度测量系统
(21)直流电动机的转速检测与脉宽调速
(22)基于单片机的交通灯控制器设计
(23)基于单片机的路灯控制器设计
(24)基于51单片机的广告灯设计
(25)基于单片机的USB接口设计
(26)PC机与单片机的串口通信
四、仪器设备配置
硬件工具:计算机基本的焊接工具万用表
软件工具:WINDOWS操作系统 汇编编译器及连接器
高级语言编译器 单片机仿真程序
五、教材与教学参考书
建议实验指导书:
单片机C语言程序设计实训100例,彭伟,北京:电子工业出版社,2009.6,第四次印刷
单片机课程设计指导,楼然苗,北京:北京航空航天大学出版社,2007.1,第五次印刷
六、实验(实习)报告
课程设计报告是课程设计工作的总结和提高,课程设计报告应该反映出学生在课程设计过程中所做的主要工作和取得的主要成果,以及心得体会。学生必须以积极认真、严谨求实的态度完成课程设计报告的撰写。
课程设计报告编写基本要求:
1、每个学生必须独立完成课程设计报告;
2、课程设计报告应书写规范、文字通顺、图表清晰、数据完整、结论明确;
3、课程设计报告应附参考文献;
4、课程设计报告不少于5000字,必须附有必要的结构图、流程图及测试结果等项内容。
(一)格式要求:
1、封面(统一格式)
2、课程设计任务书(统一格式)
3、报告内容:
(1)题目
(2)姓名###,专业###,年级###,学号###
(3)摘要
(4)方案论证及概述
①所作题目的意义、本人所做的工作;②系统的主要功能。
(5)电路设计
原理简述:①应用系统的基本原理;②电路原理;③外围设备器件工作原理。
(6)调试及性能分析
(7)结果(分析、讨论)
(8)参考文献
4、附件:
附A、原理图
附B、课程设计的体会(想法与建议)
附C、学生反映意见表
(二)课程设计报告文字编写格式和装订要求
1、设计报告一律要使用A4纸打印成文。
2、字间距设置为“标准”;
3、段落设置为“固定值22磅”;
4、字号设置为:
标题:宋体二号加粗;
正文一级标题:宋体四号加粗;
正文二级标题:宋体小四号加粗;
其余汉字均为宋体小四号;
正文中所有非汉字均为Times New Roman 体;
5、设计报告装订的顺序是:封面、正文、封底(留有指导教师的评阅空间)。
七、考核
课程设计成绩考核,应以学生对待设计的态度,设计中的动手能力和水平,课程设计说明书、设计总结报告的质量及实际动手能力几个方面的情况,对学生进行综合考核,按优、良、中、及格和不及格五个等级评分。成绩通过课程设计表现、动手能力和课程设计报告综合评定学生设计成绩。其中考勤占15%,动手能力和课程设计效果占50%,课程设计报告和总结占35%。
1、优秀(成绩>90)
课程设计态度端正,无缺勤和违纪,劳动刻苦、勤奋,工作积极主动;全面完成大纲要求,实际操作能力强,理论联系实际好,作业质量高,内容正确,课程设计报告全面系统,考试中回答问题正确完满。
2、良好(80<成绩≤90)
课程设计态度端正,无违纪现象,工作积极主动,较好完成大纲要求,有一定的实际操作能力,能理论联系实际,虚心学习,作业内容正确,课程设计报告全面系统,考试中能较完满正确地回答问题。
3、中等(70<成绩≤80)
学习态度基本正确,无违纪现象;有一定的实际操作能力,能理论联系实际,作业内容基本正确,达到课程设计大纲的要求,考核中能正确回答基本问题。
4、及格(60<成绩≤70)
课程设计态度基本正确,达到课程设计大纲的基本要求。能完成课程设计作业和课程设计报告,内容基本正确,考试中能回答基本问题。
5、不及格(成绩<60)
凡属下列条件之一者,均以不及格处理。
①未达到及格要求者;
②因故缺勤时间三分之一以上者。
第五篇:电子密码锁电路设计毕业论文任务书
毕业设计(论文)任务书
课题名称 电子密码锁电路设计
课题性质
工程应用
专业
应用电子技术
班 级
学生姓名
学 号
指导教师
马玉清
教研室主任
姚庆峰
系部主任
王勇
发放日期
2012年06月25日 课题条件:
随着电子工业的发展,数字电子技术已经深入到了人们生活的各个层面,各种各样的电子产品也正在日新月异地向着高精尖技术发展。在安全技术防范领域,具有防盗报警功能的电子密码锁代替传统的机械式密码锁,克服了机械式密码锁密码量少、安全性能差的缺点,使密码锁无论在技术上还是在性能上都大大提高一步,得到了广大用户的青睐。
毕业论文(设计)主要内容:
1.具有密码输入功能,设定密码为4位(或8位)二进制代码(代码自设定),设置退格键,以便删除输入错误的密码。
2.密码输入完毕以确认键开锁。当开锁密码与存储密码一致时,锁被打开。当开锁密码与存储密码不一致时,可重复进行,若连续三次未将锁打开,电路则报警并实现自锁。(报警动作为响m分钟,停n秒)
3.广泛调研,提出几种可行的方案和单元电路的初步实现;多方论证,确定设计方案;按功能模块的划分选择元器件和中小规模集成电路,设计分电路,阐述基本原理;画出总体电路原理图,做简要说明。4.用EWB软件完成仿真;按规定格式完成毕业设计论文。
二、计划进度: 1.资料的收集撰写开题报告 7月18日至9月8日
2.方案设计 9月9日至9月15日
3.电路的设计指标分析与确定;后期的电路优化元器件的选择与参数确定9月16日至11月2日
4.毕业设计论文的修改、完善 11月3日至11月10日 5.毕业设计答辩11月15 日至11月20日 6.毕业设计工作总结11月20日至11月25日
三、主要参考文献:
1)康光华主编.电子技术基础.北京:高等教育出版社,1999.6 2)电子工程手册编委会等编.中外集成电路简明速查手册——TTL、CMOS.北京:电子工业出版社,1991 3)李士雄,丁康源主编.数字集成电子技术教程.北京:电子工业出版社,1995 4)沈尚贤主编.电子技术导论,上册.北京:高等教育出版社,1985 5)曹汉房,陈耀奎主编.数字技术教程.北京:电子工业出版社,1995 6)王卫兵,刘克刚,朱秋萍.用FPGA的电子密码锁.电子技术,2005,32(1):26-28 7)谢嘉奎主编.电子线路.第三版.北京:高等教育出版社,1988 8)康华光.电子技术基础(模拟部分).第四版.北京:高等教育出版社,1999 9)徐以荣.电力电子技术基础.南京:东南大学出版社,1999 10)高文焕,陈润生编.电子线路基础.南京:东南大学出版社.1994
指导教师
马玉清
(系)教研室主任
****年**月**日
****年**月**日