- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
湖北大学
计算机与信息工程学院
第二学期
报告册
班级
学号083
课程名称单片机原理与应用
任课教师
目录
1. 摘要 3
2. 关键字: 3
3. 需求分析 3
系统设计 4
1.硬件框图 4
2.总设计图 5
3.选用AT89C51的引脚功能 5
4.说明 6
硬件详细设计 6
1.复位电路部分 6
2.晶振部分 7
3.开关部分 7
4.LED显示部分 8
软件详细设计 8
软件框图 8
摘要:
近年来,随着电子技术和微型计算机的发展,单片机的档次不断提高,起应用领域也在不断的扩大,已在工业控制、尖端科学、智能仪器仪表、日用家电、汽车电子系统、办公自动化设备、个人信息终端及通信产品中得到广泛的应用、成为现代电子系统中最重要的智能化的核心部件。而AT89C51就是其中一种,它是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMO8位微处理器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
关键字:单片机、流水灯
需求分析:
随着现代社会的发展,人们越来越追求审美和新颖,而流水灯就是其中一种,以前简单的照明工具变得越来越多样化,流水灯的千姿百态恰能给人一种视觉冲击,现在不管大街小巷我们都可以随处可见这种变幻万千的流水灯,而这种流水灯我们可以产用电子电路去设计,我们主要可以用装套控制器和状态译码器来实现灯光的流水效果,但是现在我们可以用单片机AT89C51来实现,因为其相对于电子电路有明显的优越性,控制硬件电路比较简单,软件方面程序也不复杂,因此制作的远离简单,但功能作用并不低于电子电路设计的,由于它的小巧方便、通俗易懂,所以我们往往采用单片机来做流水灯。
系统设计
1.硬件框图
2.总设计图
3.选用AT89C51的引脚功能
XTAL1:单芯片系统时钟的反向放大器输入端。
XTAL2:系统时钟的反向放大器输出端,一般在设计上只要在XTAL1和XTAL2上接上一只石英震荡晶体系统就可以工作了,此外可以在两引脚与地之间加入20PF的小电容,可以使系统更稳定,避免噪音干扰而死机。
RESET:重置引脚,高电平动作,当要对晶体重置时,只要对此引脚电平提升至高电平并保持两个及其周期以上的时间便能完成系统重置的各项动作,使得内部特殊功能寄存器内容均被设成已知状态。
P0:端口0是一个8位宽的开路汲汲双向输出入端口,共有8个位,P0.0表示0,P0.1表示1,以此类推。
P2:端口2是具有内部提升电路的双向I/O端口,每一个引脚可以推动4个LS的TTL负载,若将端口2的输出设为高电平时,此端口便能当成输入端口来使用。
4.说明
如图所示,S1为复位开关,S2、S3、S4分别为切换不同流水效果的开关,P2口控制LED灯D1~D7的显示,P0口作为LED的输出控制。当按下S2后能实现D1和D7同时亮其他不亮,然后D2和D6亮,依此类推。当按下复位S1,然后按下S2实现LED灯从D7到D1循环亮,按下S1然后按下S3实现LED从D1到D7的循环亮。
硬件详细设计
1.复位电路部分
如图所示,当要对晶片重置时,只要按此开关就能完成LED和开关的重置。
2.晶振部分
产生时钟信号
3.开关部分
S2、S3、S4 分别控制3种LED显示效果,这里就不用详细说明了。
4.LED显示部分
限流电阻为470欧姆,经过的电流大概为10mA。
软件详细设计
软件框图
2.详细程序清单
#includereg51.h // 头文件
sbit k1=P0^0; //定义按键k1
sbit k2=P0^1; //定义按键k2
sbit k3=P0^2; //定义按键k3
code unsigned char num[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,//左移
0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,//右移
0x7e,0xbd,0xdb,0xe7,0xe7,0xdb,0xbd,0x7e};//两边到中间
unsigned char k; //数组的移动指针
void delay10ms(void) //延时10ms
{
unsigned char i,j;
for(i=20;i0;i--)
for(j=248;j0;j--);
}
void delay02s(void)//延时0.2s
{
unsigned char i;
for(i=20;i0;i--)
{delay10ms();
}
}
void KEY(void) //按键扫描程序
您可能关注的文档
最近下载
- 通信工程师:通信专业综合能力考试题库(三).docx VIP
- 创业:道与术(中南财政)中国大学MOOC慕课 章节测验期末考试答案.docx VIP
- 2025至2030半导体气体检测行业产业运行态势及投资规划深度研究报告.docx
- 建筑工程资料管理:工程实施阶段的施工资料PPT教学课件.pptx
- 《数字供应链管理实务》课程标准.pdf VIP
- 大学课程《水利工程制图与AutoCAD》PPT课件:2 投影基本知识.pptx VIP
- 精酿啤酒行业研究报告.pdf VIP
- 园林景观工程施工组织设计方案.doc VIP
- 配送人员组织架构及分工职责描述.docx VIP
- 人民大2024《人工智能与Python程序设计》课件(教材配套版)第7章-数据可视化.pdf VIP
文档评论(0)