当前位置:
文档之家› LED流水灯实验报告.pdf
LED流水灯实验报告.pdf
if(j==20) { j=0; P1=_crol_(temp,1); temp=P1; } } }
void INT() interrupt 1//定时器 0 的中断 {
TH0=(65536-50000)/256; TL0=(65536-50000)%256; j++; }
在这个程序中我给单片机加了一个中断,让定时器 0 以方式 1 工作,这样做是 为了让每个 LED 灯间隔 1s 闪烁,让时间更精确。在循环的部分我使用_crol_ 位左移代码,故加入了#include<intrins.h>头文件。
3
五、 实验结果
LED 灯以 1了让 LED 灯正常循环,学会了很多不同的代码,最开始 时是用调用了子函数 delay()的方法控制间隔,后来发现循环时间长了以 后就不准确了,所以又学习了加入中断的方法,加入了中断可以让时间间隔 更准确
2. 现在已经非常熟悉 keil 和 proteus 软件的操作方法,为第二个设计做了良 好的铺垫
TMOD=0x01;//让定时器 0 工作在方式 1 TH0=(65536-50000)/256;//给定时器 0 高八位赋初值 TL0=(65536-50000)%256;//给定时器 0 低八位赋初值 EA=1;//开总中断 ET0=1;//开定时器 0 中断 TR0=1;//启动定时器 0 temp=0xfe; P1=temp; while(1) {
——LED 流水灯
学院:计算机与信息工程学院 专业:电子信息工程 1401 班
1
一、 设计要求及目的
1. 熟悉了解 ST89C52 的功能及各管脚
2. 熟悉并掌握 Keil uVision 和 Proteus 软件 二、 实验器材
ST89C52、LED-RED、电阻、瓷片电容、电解电容、四脚开关、+5V 电源
三、 实验原理
P0 口接低电平及可点亮 LED 灯,R2-R9 是为了保证流经 LED 灯的电流在 3-10mA 以保证 LED 灯正常工作。XTAL1 和 XTAL2 接外部晶振保证单片机正常工作,51 系列单片机最大可接 24MHz 晶振,通常接 12MHz 的晶振。
2
四、 程序代码
#include<reg52.h> #include<intrins.h> unsigned char temp; unsigned int j=0; void main() {
3. 更加深刻的理解了这门学科,从最初根本不知道单片机是什么、能干什么、 该怎么做到现在已经可以用单片机做几个小的设计,感觉进步非常大。
4