课程设计-基于at89c51单片机的花样彩灯仿真分析内容摘要:
些功能;同时支持第三方的软件编译和调试环境,如 Keil C51 uVision MPLAB等软件。 ( 4) 具有强大的原理图绘制功能。 总之,该软件是一款集单片机和 SPICE 分析于一身的仿真软件,功能极其强大。 是目前最好的模拟单片机外围器件的工具 , 可以仿真 51 系列、 AVR、 PIC等常用的 MCU 及其外围电路 ( 如 LCD、 RAM、 ROM、 键盘 、 马达 、 LED、 AD/DA、 部分 SPI器件 、 部分 IIC 器件 等 )。 软件编译采用 KEIL C51 软件 , Keil C51 是美国 Keil Software 公司出品的 51系列兼容单片机 C语言软件开发系统,与汇编相比, C 语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。 用过汇编语言后再使用 C来开发,体会更加深刻。 Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全 Windows界面。 另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到 Keil C51 生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。 在开发大型软件时更能体现高级语言的优势。 仿 真结果 先按复位键,系统初始化, 然后 8 个 LED 开始按照要求闪烁,分别按下列模块点亮: 模块 1:循环单向闪烁,只有一个灯亮 模块 2:循环单向闪烁,只有两个灯亮 模块 3:循环往复闪烁,只有一个灯亮 模块 4:全亮全灭 模块 5:顺次点亮或者熄灭, 多个灯亮 9 模块 6:顺次点亮或者熄灭,多个灯亮,一次点亮两个 模块 7:双端对称往返闪烁 系统 调试 在调试过程中主要是对程序的修改,特别是延时子程序。 开始延时较短时,当按下开关 时, LED 开始闪烁。 如果延时较长则 LED 闪烁更慢。 通过修改程序,将延时 调到适中 ,系统正 常工作。 误差分析 设定预设值后, 记录模式一的数据, 每次送出的数据是不同,具体的数据如下表 1所示 说明 L8 L7 L6 L5 L4 L3 L2 L1 1 1 1 1 1 1 1 0 L1 亮 1 1 1 1 1 1 0 1 L2 亮 1 1 1 1 1 0 1 1 L3 亮 1 1 1 1 0 1 1 1 L4 亮 1 1 1 0 1 1 1 1 L5 亮 1 1 0 1 1 1 1 1 L6 亮 1 0 1 1 1 1 1 1 L7 亮 0 1 1 1 1 1 1 1 L8 亮 后面几种模式的实验结果基本和理论值一样,没什么误差。 10 结束语 该 设计 是以 AT89C51 单片机为主控 芯片 ,与发光二极管、晶振 电路 、复位 电路和电源 电路组成, 通过 程序 控制彩灯流水花样。 本文所给程序实现的功能比较简单,旨在抛砖引玉,可以在此基础上扩展 成 更复杂的 彩 灯控制,比如键盘控制流水花样、控制流水灯显示数字或图案等等。 通过花样彩灯的制作,给我最大的体会是对一个程序整体的把握和控制,只有将子程序有效的结合起来,才能完成设计 的目的。 另外,在程序的调试过程中,我也遇到了很多意想不到的困难,在老师的帮助和自己的不懈努力下,我对伟福这款仿真软件有了更深的认识,将困难一一克服,使程序编译成功,仿真实现。 附录:程序清单 include define uint unsigned int void delay(uint)。 main() { uint fre=0x04。 uint fre1,fre2。 uint p1=0xfe,p2=0x80。 while(1) { /* 模块一:循环单向闪烁,只有一个灯亮 执行 3次,转入下一种闪烁 */ P1=0xfe。 while(1!=fre) { 11 fre1=0x08。 while(1!=fre1) { delay(30000)。 P1=1。 P1|=0x01。 if(P1==0x7f) { delay(30000)。 P1=0xfe。 } } } /* 模块 2:循环单向闪烁,只有两个灯亮 3 次,转入下一种闪烁执行 */ P1=0xfc。 while(3!=fre++) { fre2=。课程设计-基于at89c51单片机的花样彩灯仿真分析
相关推荐
16 6 信 号 发 生 器 软 件 设计 17 7 信 号 发 生 器 的 实 物 图 及 其 输 出 波 形 展示 1 8 正 弦 波 测试 18 方波测试 19 7 . 3 三角 波测试 集成电路 课程设计 基于单片机的低频信号发生器设计 XXX 4 20 7 . 4 锯 齿 波 测试 20 8 结束语 22 参考文献 23 致谢 24 附录 25 集成电路 课程设计
25 发声程序 26 单片机 课程设计 论文 III T0 口溢出中断(响铃程序) 26 T1 口溢出中断(计时程序) 26 单片机 课程设计 论文 1 第 1 章 绪论 AT89C51 单片机简介 AT89C51 是一种带 4K 字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8 位微处理器,俗称单片机。 89C2051 是一种带 2K 字节闪烁可编程可擦除只读存储器的单片机。
CPU 表 2 DS18B20 有六条控制命令 CPU 对 DS18B20 的访问流程是:先对 DS18B20 初始化,再进行 ROM 操作命令,最后才能对存储器操作,数据操作。 DS18B20 每一步操作都要遵循严格的工作时序和通信协议。 如主机控制 DS18B20 完成温度转换这一过程,根据 DS18B20 的通讯协议,须经三个步骤:每一次读写之前都要对DS18B20 进行复位
接很生疏, 需要多加练习。 建议 希望在以后的学习中能过再多做类似本设计的练习,提高动手能力,夯实基础知识。 5 附录 原件明细表 DS18B20 两个、 AT89S52 一块、 74HC573 一块、按钮开关 3个、 10K 电阻三个、 电阻两个、 10uf 电解电容一个、 四位八段数码管一个。 设计原理图 参看上面的仿真图。 设计的主程序: include define uchar
使用 DS18B20 可使系统结构更简单,可靠性更高。 芯片的耗电量很小,从总线上“偷”一点电存储在片内的电容中就可正常工作,一般不用另加电源。 最可贵的是这些芯片在检测点已把被测信号数字化 了,因此在单总线上传送的是数字信号,这使得系统的抗干扰性好、可靠性高、传输距离远。 ( 1) DS18B20 传感器有如下特点: ● 单线接口,只有一根信号线与 CPU 连接; ● 不需要备份电源
读 取温 度温 度数 据处 理温 度显 示报 警温 度比 较超 出范 围。 开 始YNYN 图 52 DS18B20初始化流程图 部分电路图设计 晶振设计 80C52 单片机内部带有时钟电路,只需在片外通过 XTAL1 和 XTAL2 引脚接入定时控制元 件( 12MHZ 晶振和电容)即可构成一个稳定的自激振荡器。 XTAL1 和 8 XTAL2 分别是 80C52