1、单片机原理与应用技术LED 灯设计姓名学号一、 系统设计分析利用单片机 P0 口控制一组流水灯,晶振为 12MHz,使用定时/计数器作为延时控制,要求在三个灯 P0.0、P0.1、 P0.2 之间按 2s 交替闪烁。二、 系统原理图设计三、 程序流程图设计开始定时/计数器初始值设置P0.0 置 1,P0.1 置 0启动定时/ 计数器定时/计数器是否延时 50ms定时 /计数器重新赋值是否循环 40 次(2s)?重新计循环次数P0.0,P0.1,P0.2 依次循环置 0,其它置 1四、 源程序设计#include“reg51.h“#define uint unsigned int#define
2、uchar unsigned charsbit P0_0=P00;sbit P0_1=P01;sbit P0_2=P02;uint t=0, n=1;void time0_server_(void) interrupt 1 TH0=0x3C; TL0=0xB0;t+;void Init_t0(void) TMOD=0X01; TH0=0x3C;TL0=0xB0;EA=1; ET0=1; TR0=1; void main(void)P0_0=0;P0_1=1;P0_2=1;Init_t0();while(n3)if(t=40) t=0;if(n=0)P0_0=0,P0_1=1,P0_2=1;if
3、(n=1)P0_0=1,P0_1=0,P0_2=1;if(n=2)P0_0=1,P0_1=1,P0_2=0;n=-1;n+;五、 系统调试与仿真 仿真开始,D1 亮 2S 后 D1 熄灭,D2 灯点亮 4S 后 D1,D2 熄灭 D3 点亮六、 结果分析通过定时/计数器的延时控制实现了三个 LED 灯的循环间隔 2S 点亮。仿真开始 D1 点亮,2S 后 D1 熄灭,D2 点亮 4S 后 D1,D2 熄灭,D3 点亮,如此往复循环下去,达到了设计的要求。七、 对本课程学习的感想与收获单片机的应用非常广泛,不管是日常生活方面,工业方面还是军事应用方面。在学习单片机过程中一定要坚持自己写程序,不仅要会自己写程序,还必须会调试程序,程序遇到错误时一定要自己慢慢的把它调出来。并要运用多种方法,不断优化自己的程序。现在基本可以完成一些小的 LED灯设计,但其他的依然一无所知。八、 对老师的意见与建议希望老师在讲解单片机程序实例时能够更精细一些,不仅讲解出每段程序的解释,而且详细解释每段程序的目的与使用方法。谢谢老师九、 期望成绩这次的作业花费的时间很长,程序不知改了多少次,延时 2S 时间很容易,但细节部分很难处理。不过还是依靠笨拙的方法解决了,完成了本次设计作业。希望老师能够给个高的成绩。