教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 高等教育 >

单片机程序源代码(5)

来源:网络收集 时间:2026-09-09
导读: void step2(void) { static char t; led = table[t++]; //开幕闭幕花样显示 if (t==8) t = 0; } void EX_0() interrupt 0 //外部中断0服务函数 { flag++; if (flag==3) flag = 0; } (2) #include //头文件 #defin

void step2(void) { static char t; led = table[t++]; //开幕闭幕花样显示 if (t==8) t = 0; }

void EX_0() interrupt 0 //外部中断0服务函数 { flag++;

if (flag==3) flag = 0; }

(2)

#include//头文件 #define uchar unsigned char #define uint unsigned int //宏定义 uchar temp,key_count; uchar code tab[]={ //开幕式闭幕式编码 0x00,0x81,0xc3,0xe7, 0xff,0xe7,0xc3,0x81};

void delay(uint ms) //延时子函数 { uint i,j; for(i=ms;i>0;i--) for(j=0;j<110;j++); }

void loop_leftmove() { temp=temp<<1; if(temp==0) temp=0x01; }

void loop_rightmove() { temp=temp>>1; if(temp==0) temp=0x80; }

void open_close() { uchar count; temp=tab[count]; count++; if(count>=8) count=0; }

void init() {

EA=1; EX0=1; IT0=1; temp=0; key_count=0; }

void main() { init(); while(1) { switch(key_count) { case 0:loop_leftmove();break; case 1:loop_rightmove();break; case 2:open_close();break; default:break; } P0=~temp; delay(250); } }

void key_interrupt() interrupt 0//外部中断INT0中断服务程序 { key_count++; key_count%=3; /*if(key_count==3) key_count=0;*/ }

任务三:采用两个外中断的LED彩灯控制

P0端口作为输出口,外接8只LED,P3.2外接按键K1,P3.3外接按键K2。编写程序,没有按下任何按键时,LED隔灯闪烁,当按键K1为奇数次时,LED进行左移流水->右移流水显示。当按下按键K1为偶数次时,LED进行拉幕式显示;当按下按键K2时,LED暂停显示,蜂鸣器发出“叮咚”的开门声音,然后LED继续花样显示(K2按键优先)。 #include #include

#define uchar unsigned char #define uint unsigned int sbit key1=P3^2; sbit key2=P3^3; sbit beep=P1^0; uchar code tab[]={

单片机程序源代码(5).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/604998.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)