欢迎来到天天文库
浏览记录
ID:33526683
大小:1.50 MB
页数:19页
时间:2019-02-26
《微机原理与单片机接口技术》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、微机原理与单片机接口技术实验报告专 业 班 级:自动化12-08班姓 名:牛远征 学 号:6指 导 教 师:杨俊起 实验一流水灯实验一、实验目的(1)简单I/O引脚的输出(2)掌握软件延时编程方法(3)简单按键输入捕获判断二、实验实现的功能(1)开机是点亮12发光二极管,闪烁三下(2)按照顺时针循环依次点亮发光二极管(3)通过按键将发光二极管的显示改为顺逆时针方式三、系统硬件设计四、系统软件设计******************************主程序****************
2、****************#include#include#includesbitLed1=P3^2;sbitLed2=P3^3;sbitLed3=P3^4;sbitLed4=P3^5;//函数说明voidshun();//led顺时针亮voidni();//led逆时针亮voidshanshuo();//闪烁//主函数voidmain(void){for(i=0;i<=2;i++){shanshuo();Delay(1000);}while(1){keyboard(
3、);if(ptr==0)shun();elseif(ptr==1)ni();elseif(ptr==2)shun();}}voidni(){P2=0xff;Led4=0;Delay(500);Led4=1;Led3=0;Delay(500);Led3=1;Led2=0;Delay(500);Led2=1;Led1=0;Delay(500);Led1=1;P2=0xfe;Led1=1;Led2=1;Led3=1;Led4=1;for(i=0;i<8;i++){P2=_cror_(P2,1);//P2的值向右循环移动Delay(5
4、00);}}voidshun(){P2=0xfe;Delay(500);Led1=1;Led2=1;Led3=1;Led4=1;for(i=0;i<7;i++){P2=_crol_(P2,1);//P2的值向左循环移动Delay(500);}P2=0xff;Led1=0;Delay(500);Led1=1;Led2=0;Delay(500);Led2=1;Led3=0;Delay(500);Led3=1;Led4=0;Delay(500);}voidshanshuo(){P2=0x00;Led1=0;Led2=0;Led3=0
5、;Led4=0;Delay(1000);P2=0xff;Led1=1;Led2=1;Led3=1;Led4=1;Delay(1000);}******************************子程序********************************#ifndef_key_H_#define_key_H_unsignedchari;unsignedintptr=0;sbitH1=P3^6;sbitH2=P3^7;sbitL1=P0^5;sbitL2=P0^6;sbitL3=P0^7;bitKEY1,KEY2,
6、KEY3,KEY4,KEY5,KEY6;voidDelay(unsignedintt){unsignedintx,y;for(x=t;x>0;x--)for(y=110;y>0;y--);}voidkeyboard(void){L1=0;L2=1;L3=1;if(H1==0)Delay(30);//延时消抖if(H1==0){while(H1==0);{KEY1=1;ptr=1;}}elseKEY1=0;if(H2==0)Delay(30);if(H2==0){while(H2==0);{KEY4=1;ptr=4;}}else
7、KEY4=0;L1=1;L2=0;L3=1;if(H1==0)Delay(30);if(H1==0){while(H1==0);{KEY2=1;ptr=2;}}elseKEY2=0;if(H2==0)Delay(30);if(H2==0){while(H2==0);{KEY5=1;ptr=5;}}elseKEY5=0;L1=1;L2=1;L3=0;if(H1==0)Delay(30);if(H1==0){while(H1==0);{KEY3=1;ptr=3;}}elseKEY3=0;if(H2==0)Delay(30);if(
8、H2==0){KEY6=1;ptr=6;}elseKEY6=0;}#endif五、实验过程中遇到的问题及解决方法1、遇到的问题就是如何扫描按键。解决这个问题的方法是利用软件扫描按键1和2,初始化ptr=0,按键1按下后返回1,按键2按下后返回2,没有按键按下则返回0。指导老师
此文档下载收益归作者所有