stc89c51单片机流水灯程序(2)

2018-11-21 21:16

中断程序一

#include #include

void delay(unsigned int a) {

unsigned int b; b=a;

while(b>0) b--; }

void main() {

int i,j;

unsigned code A[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d, 0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; EA=1;//打开总中断

EX0=1;//打开外部中断0。

IT0=0;//选择其为低电平有效有效。当CPU检测到P3.3引脚上出现有效的中断信号时,中断标志IE1(TCON.3)置1,向CPU申请中断。 P2=0; P0=j; P1=0xfe; while(1) {

j=0;

for(i=0;i<8;i++) {

P2=i; P0=A[j];

delay(50000); j++; }

for(i=7;i>=0;i--) {

P2=i; P0=A[j];

delay(50000); j++; } } }

void exist() interrupt 0//中断子程序,其中“0”为外部中断的序号 {

P1=_crol_(P1,1); delay(50000); }

定时程序;

include

unsigned int i=0,j=0,t;

unsigned code a[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d, 0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; void main() {

TMOD=0x01;//对TMOD赋值,以确定T0和T1的工作方式。

TH0=(65536-50000)/256;

TL0=(65536-50000)%6;//定时/计数器的实质是加1计数器(16位),由高8位和低8位两个寄存器组成。对高8位和低8位赋值。 EA=1;//开总中断

ET0=1;//则对IE赋值,开放中断

TR0=1;//使TR0或TR1置位,启动定时/计数器定时。 while(1) {

if(t==20) { t=0; if(j==8) j=0;

if(i==16) i=0; P2=j; P0=a[i]; i++; j++; } } }

void time() interrupt 1//定时子程序,其中“1”为定时/计数器序号 {

TH0=(65536-50000)/256; TL0=(65536-50000)%6; t++;

}


stc89c51单片机流水灯程序(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:C语言程序设计实验指导书.doc

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: