基于arm的嵌入式循环彩灯课程设计

基于arm的嵌入式循环彩灯课程设计

ID:16514562

大小:477.50 KB

页数:14页

时间:2018-08-13

基于arm的嵌入式循环彩灯课程设计_第1页
基于arm的嵌入式循环彩灯课程设计_第2页
基于arm的嵌入式循环彩灯课程设计_第3页
基于arm的嵌入式循环彩灯课程设计_第4页
基于arm的嵌入式循环彩灯课程设计_第5页
资源描述:

《基于arm的嵌入式循环彩灯课程设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、14黎明职业大学09嵌入式《软件工程》项目设计项目名称:循环彩灯课程设计姓名:王官辉学号:0905150104指导老师:骆旭坤2011年6月1414目录1.项目背景22.项目框架23.技术分解23.1程序流程图53.2单片机说明53.3问题分析与解决方案54.完成情况展现25.项目总结36.收获、体会和建议56.1单片机模拟系统56.2系统连线57.参考资料68.程序714141项目背景现代生活中,彩灯越来越成为人们的装饰品,它不仅能美化环境,渲染气氛,还可用于娱乐场所和电子玩具中,现以该课题为例进行分析与设计。

2、循环彩灯是我们日常生活经常见到也是必不可少的,随着城市社会经济的发展,城市道路边和楼房上都有这种循环彩灯。本文根据城市城市夜景越来越美,设计出循环彩灯闪烁系统。巩固和加深课堂所学知识;熟悉各种指令的应用及条件;学习掌握一般的软硬件的设计方法和查阅、运用资料的能力。本课程是利用单片机最小系统设计交通灯,单片机最小系统包括:复位电路、外部晶振、低位地址锁存等。该课程应该据有的功能是:具有循环彩灯显示功能。14142.项目框架开始定义8255各个端口地址8255初始化装入控制字al=10hal=20hal=00hal=

3、02hal=01hal=03h彩灯左循环彩灯右循环彩灯递增循环彩灯交替闪烁停止系统延时子程序结束系统启动,屏蔽高四位,继续检测按键值14143.技术分解(系统原理)在设计中利用软件程序延时的方法来控制循环彩灯亮灭的时间。考虑延时时间较长所以先用DELAY来实现延时。利用P2口的八个发光二极管作为循环彩灯的输出端口。3.1程序流程图:开始P1口延时灯亮延时灯亮灯灭3.2AT89C52是一个低电压,高性能CMOS8位单片机,片内含8kbytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储

4、器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C51单片机可为您提供许多较复杂系统控制应用场合。AT89C51有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开

5、发成本。 主要功能特性:•兼容MCS51指令系统•8k可反复擦写(>1000次)FlashROM•32个双向I/O口•256x8bit内部RAM•3个16位可编程定时/计数器中断•时钟频率0-24MHz•2个串行中断1414•可编程UART串行通道•2个外部中断源•共6个中断源•2个读写中断口线•3级加密位•低功耗空闲和掉电模式•软件设置睡眠和唤醒功能图2.AT89C51芯片3.3问题分析与解决方案3.3.1.unknow1-byteopcodeatB900:7056!61[SPICE]error---tooma

6、nyiterationswithoutconvergence在仿真过程中,出现以上两行的错误,太多的迭代没有收敛性,和某个汇编语言在编码过程中的地址不正确:说明程序代码过于分散,没有模块化,之后再将程序能够模块化的地方尽量改善,达到更加简洁易读易运行的目的由于程序中定义了dzdb01h,03h,07h,0fh,1fh,3fh,7fh,0ffh,00h,0ffh,00h,0ffh在在最初的调试的时候variable里面elements的值总是显示1,然而此处共有12个值,si共需要在此取11个偏移地址,所以改成11

7、后,程序调试运行正常;3.3.2.延时子程序模块的编写方法多种,之前1414为了测试单一的彩灯循环左移是否能够成功,采用nop延时,由CPU晶振频率计算,12M的晶振频率,执行一个nop需要时间1us,8086的晶振频率是5MHz,所以执行一个nop需要的时间是12/5us若要实现短暂而精确的延时可以用nop,然而此处流水灯的延时仅仅用空指令nop并不具有很好的移植性和修改性,程序代码也显得冗余;一般一定功能的程序段设计成一个子程序,MASM宏汇编程序用“过程”(Procedure)来构造子程序。如此段延时子程序

8、:delayprocpushcxpushbxmovcx,0fh;修改此处的值,可以改变延时时间d1:movbx,0fhd2:decbxjnzd2popbxpopcxretendendp在写此系统程序中,我采用的是分支结构编写延时程序,后查的一般分支程序为计算机根据某种判断,利用条件转移指令,改变程序执行顺序所用;然而一般具有公用性,重复性,和相对独立性的某段程序应设计成子

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。