1 / 20
文档名称:

78单片机实验报告.doc

格式:doc   大小:66KB   页数:20页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

78单片机实验报告.doc

上传人:ttteee8 2020/7/6 文件大小:66 KB

下载得到文件列表

78单片机实验报告.doc

相关文档

文档介绍

文档介绍:78单片机实验报告大学单片机实验报告题目:流水灯设计姓名:XX学号:学院:计算机与信息技术学院专业:软件工程指导教师:XX年6月3日灯舞设计思路:程序开始运行,音乐开始播放,播放完成后,小灯开始跳舞。按下keyl键,屏幕显示数字1,表示第一式。红、黄、绿灯依次出来亮相,灯光按红灯点亮再熄灭、黄灯点亮再熄灭、绿灯点亮再熄灭的方式循环两次。按下key2键,屏幕显示数字2,表示第二式。各灯光就位,灯光依次按北、东、南、西四个方向点亮再同时熄灭,循环两次。按下Key3键,屏幕显示数字3,表示第三式,小灯以对角线方式,从LED1开始按顺时针方向依次全部点亮,再按此方式熄灭,循环两次。按下Key4键,屏幕显示数字4,表示第四式。将所有的灯划为4部分:东北方向、东南方向、西南方向和西北方向的四个部分。小灯依次按东北、东南、西南、西北方向点亮,再按此方向熄灭,循环两次。按下Key5键,屏幕显示数字5,表示第五式。把中间的LED灯LEDSEC看做领舞,由其带领每个灯点亮,从LED1开始按顺时针方式点亮,全部点亮后熄灭,循环两次。按下Key6键,屏幕显示数字6,表示第六式。将所有的小灯像打开扇子一样点亮,从中间开始,全部点亮后熄灭,循环两次。流程图:程序清单://文件:OPT_SETCSEGAT80HOPTION:DB2EHDBOOHDBOOHDBOOHDBO3HEND //文件:#ifndef_MUSIC_H_#define_MUSIC_H_#pragmasfrttpragmaEI〃声明开中断#pragmaDI//声明关中断voidTimerlnit;voidINTTMOO0;interruptvoidMDINTTM000;voidflat;voidstop;voidsong;#endif//主程序文件:#pragmasfr//使用特殊功能寄存器WpragmaNOP〃使用空操作功能#ESS//使用存储器读写功能ftpragmaD1〃使用关中断功能WpragmaEI//使用开中断功能#pragmainterruptINTKROnKeyPress//使用按键中断功能#pragmainterruptINTTMOOOMDINTTM000//InterruptWinclude〃〃signedintNum=0;unsignedintfreqb[]={524,587 ,660,698,784,880,988};unsignedintregSet_b[]={3816,3406,3030,2864,2550,2272,2022};unsignedchargCurrentScheme二1;//定义当前小灯闪亮模式unsignedchargFlag=l;//有按键按下时设置标志gFlag为0,//否则为1/* 长延时函数 */voidDelay{unsignedchari,j;for{for{}}}/* 短延时函数 */voidDelayl{unsignedchari,j;for{for{}}}/* 按键中断初始化函数 */voidlnitKey^INTKR{PM4=0x3F;PU4=0x3F;KRM=0x3F;KRMK=0;}/* 初始化LED灯 */voidInitLed{PM13=0xF0;PM14=0xF0;PM15=0XF0;=0;}〃端口4的位5〜位0为输入端口〃设置端口4的位5〜位0使用内〃部上拉电阻//设置每个按键按下都会产生按〃键中断信号〃按键中断屏蔽标志设置为允许按//键中断//端口13的低4位为输出模式//端口14的低4位为输出模式〃端口15的低4位为输出模式〃端口P34为输出模式/* 按键中断服务函数 */voidOnKeyPress{DI;〃关中断gFlag=0://设置有按键按下标志switch〃检测P4端口的位5~位0的值{case0x3E://按下Keyl键gCurrentScheme=l://选择1号LED灯闪亮模式break;case0x3D:gCurrentScheme=2;break;case0x3B:gCurrentSchemed;break;case0x37:gCurrentScheme=4;break;case0x2F:gCurrentScheme二5;break;caseOxlF:gCurrentScheme=6;break;default:break;}EI;}/* 灯全熄灭函数 */voidLightOff{P13二0;P14二O;P15=0;}/* 小灯闪亮模式1 */voidModlel{unsignedcharw;〃按下Key2键//选择2号LED灯闪亮模式〃按下Key3键〃选择3号LED闪亮模式//按下Key4键//选择4号LED闪亮模式//按下key5键//选择5号LED闪亮模式//按下key6键//选择