单片机课程设计报告.docx
《单片机课程设计报告.docx》由会员分享,可在线阅读,更多相关《单片机课程设计报告.docx(11页珍藏版)》请在冰豆网上搜索。
单片机课程设计报告
单片机课程设计报告
——电子课程表系统
组员:
高三垒尹燕利刘海生
摘要:
该实验设计基于AVRmega16开发板平台,根据点阵屏和七段数码管的基本原理,做出了方便实用的电子课表!
关键字:
单片机8*8点阵屏电子课表
前言:
AVR单片机是一款功能十分强大,集成度非常高的数字处理系统。
它集成了ADC与DAC的模块,而且还有硬件滤波器!
它基本上能够处理生活实时性不太强的模拟信号与数字信号,并实现通信!
近年来,广告的普及和生活水平的提高,点阵大屏的需求日益强烈!
LED因其体积小,耗电量低,高亮度及环保等优点而被广泛应用于公共场所的大屏显示上,LED点阵大屏可应用于户外广告,交通导航,大厅公告,比赛的多媒体实时显示等领域。
老校公教楼的点阵屏可以用来显示整幅课表。
我们的课程设计是基于AVR单片机,用8*8点阵显示滚动的课程英文名称,至于教室门口,可即时显示该教室内正在上的课程名称,方便师生选择合适的教室学习。
所作的点阵屏具有可移植性强,功能简单,可以简单继续添加更多相关功能的模型,也可以扩展成多块点阵屏的组合,以改良显示效果。
正文:
一·系统设计目的、用途以功能
经过一段时间的观察,我们发现,同学们上自习是经常遇到一个问题。
教室中有很多人,但不能确定里面是不是在上课,能不能到里面去自习。
公教楼进门的地方有电子大屏可以显示课程安排,但看起来过于麻烦,也不能具体到每一个教室。
所以我们设想,能不能设计一个电子课表,放在每个教室的门口,显示当前在上的课程,并可以通过一定的按键来及时改变课程,以应对临时变化。
后来经电子设计大赛的老师提醒,我们曾经想设计一种有控制终端的课程显示系统。
即每个教室门口都有一个电子课表,通过终端的控制完成所有课表的显示。
但后来发现,以我们的能力做这样的工作太过复杂,所以我们选择了更容易的方式:
单一的放在教室门口的电子课表,只显示当前的课程。
于是现在的作品应运而生。
电子课表的基本功能如下:
主要功能有
1实现LED点阵屏汉字名称的滚动显示。
2实现不通课程汉字名称的自动切换。
3实现按键控制课程名称的临时更改。
4实现节日动画的显示。
5实现6位七段数码管显示时分秒。
6实现按键控制时间的调整。
二硬件设计原理及内容
硬件设计思想:
通过按键输入控制信号,由单片机进行处理,并将行列信号分别通过显示驱动输入点阵屏和数码管,控制点阵和数码管的显示.
Atmega16引脚图
硬件模块一
——基于Atmega16单片机,利用4片点阵屏的组合来实现16*16的显示,从而使汉字的显示变成可能。
我们分别采用两片74ls595来控制行的显示,用一块74ls154来控列的显示。
本来计划要用两74ls138的级连来控制列的变化,后来在测试中发现出现一些问题,于是改为74ls154.且154的使用可以减少资源的占用。
如焊接图所示,将左右点阵屏的行的控制引脚相连接,按照测试好的顺序排成0~15号,通过100欧的电阻后接到三极管上,三极管的作用是增大亮度。
在三极管后同样使用100欧的电阻,最后接入两片74ls595.将595的电源和接地连好后,控制端连接到单片机的控制端,100欧的电阻起限流作用。
将上下点阵屏的列的控制引脚相连接,同样按照顺序排为0~15号,接入74LS154芯片,再将154芯片的电源和接地连接,控制端借入单片机的控制端。
设置普通键盘,连到单片机的控制端作为电子课表系统的控制按键。
该模块做为电子课程表的核心系统,能直观的显示所需目的,简便、快捷、容易理解。
围绕这一模块完成以后的拓展工作。
模块一硬件图
硬件模块二——七段数码管显示时分秒
1.用74hc164实现8路并口输出的扩展,占用单片机的两个端口。
编写hc164_send_byte()函数,程序控制hc164_data(PD6)作为数据线,将一字节由高位到低位,依次输出,输出时先根据该位的数值置PD6为“1”或“0”,然后控制hc164_CLK(PA7)输出“1”,再输出“0”,模拟时钟信号,将PD6数据打入74hc164。
循环移位8次后,将1字节的数据由低位到高位串行输入到74hc164中,即可在74hc164的输出端得到并行的8位数据,即七段数码管的段码值。
2.用74ls138实现6路并口输出的扩展,将位选的段码值依次打入74ls138,74ls138任一时刻只有一个输出口输出低电平,对应的一位数码管被选中,扫描6次后可以实现六位数码管的显示。
4.51欧电阻起限流的作用。
6.该模块可以实现时分秒的显示,补充并强化了电子课表的功能,为了节省单片机布局有些不合理的端口,用了两处串入并出的扩展。
模块二硬件图
3、系统设计所需资源及参数
Atmega16单片机、8×8共阳点阵屏4个、74HC595移位寄存器2个、74ls154译码器1个、100欧电阻32个、NPN8050三极管16个、排线若干、共阴三位七段数码管两块,74hc164移位寄存器一片,74ls138译码器一片,51欧电阻8个
1、74HC154参数:
描述:
74HC595是告诉的硅结构的CMOS器件,兼容低电压TTL电路,遵守JEDEC标准。
74HC595是有8位移位寄存器和一个存储器,三态输出功能。
移位寄存器和存储器是分别的时钟。
数据在SCHcp的上升沿输入,在STcp的上升沿进入的存储寄存器中去。
如果两个时钟连在一起,则移位寄存器总是比存储寄存器早一个脉冲。
移位寄存器有一个串行移位输入(Ds),和一个串行输出(Q7’),和一个异步的低电平复位,存储寄存器有一个并行8位的,具备三态的总线输出,当使能OE时(为低电平),存储寄存器的数据输出到总线。
特点:
8位串行输入/8位串行或并行输出存储状态寄存器,三种状态;输出寄存器可以直接清除100MHz的移位频率。
输出能力:
并行输出,总线驱动;串行输出;标准中等规模集成电路。
2、74HC595参数:
QA--QH:
八位并行输出端。
QH':
级联输出端。
SI:
串行数据输入端。
74595的控制端说明:
/SCLR(10脚):
低点平时将移位寄存器的数据清零。
SCK(11脚):
上升沿时数据寄存器的数据移位。
QA-->QB-->QC-->...-->QH;下降沿移位寄存器数据不变。
(脉冲宽度:
5V时,大于几十纳秒就行了)
RCK(12脚):
上升沿时移位寄存器的数据进入数据存储寄存器,下降沿时存储寄存器数据不变。
(5V时,大于几十纳秒就行了),更新显示数据。
/G(13脚):
高电平时禁止输出(高阻态)。
如果单片机的引脚不紧张,用一个引脚控制它,可以方便地产生闪烁和熄灭效果。
比通过数据端移位控制要省时省力。
3、74ls138参数
对3个输入信号进行译码。
得到8个输出状态。
G1,G2A,G2B,为数据允许输出端,G2A,G2B低电平有效。
G1高电平有效。
A,B,C为译码信号输出端,Y0~Y7为译码输出端,低电平有效。
4、74ls164参数
4、
测试过程及数据
1.测试仪器:
CVAVR和AVRStudio软件,JTAG下载线,easyavr开发板。
2.测试与分析:
(1)测试点阵:
把万用表调到测二极管的档,用红表笔触行输入端,用黑表笔触列输出端。
注意观察256个点是否正常亮。
(2)测试按键:
直接连接按键到单个可用LED发光二极管(这里采用实验板上发光二极管),按下每个按键看LED是否可亮,若亮,说明按键可用。
(3)程序调试:
通过Cvavr和AVRStudio在线仿真调试,知道程序编译并运行成功。
(4)正式操作过程。
1、通电之后,数码管开始显示11:
00:
30。
没有按键,则依次滚动显示原子物理学30s,课间休息20秒,无课30秒,之后停止显示。
2.显示过程中,若按下key1键,显示有活动,再按下,返回。
3、显示课间时,按key2,实现课间休息和心图案的转换。
4|、显示过程中,按key3键,实现显示效果的滚动快慢显示。
5|显示过程中,按key4键,显示正弦波动的的国旗。
5、成员分工及工作情况
高三垒:
程序编写及调试,帮助检测硬件电路
尹燕利:
焊接部分电路,编写字模
刘海生:
材料购买、硬件焊接、系统测试、论文撰写、心得总结。
我们组的每个成员都认真负责地完成了各自负责的一块工作,使整个系统得以完成。
六参考资料:
《AVR单片机嵌入式系统原理与应用实践》马潮