实验内容及基础原理图.doc





《实验内容及基础原理图.doc》由会员分享,可在线阅读,更多相关《实验内容及基础原理图.doc(33页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、说明:(a) 若I/O管脚冲突,则自行调整。每组至少完成8个实验。(b) 每组根据自愿可自加实验内容1个(例如:数字电子钟、A/D转换、D/A转换、4x4矩阵键盘、8*8点阵、乐曲、温度采集、步进电机控制等),将电路元件加入其中,并编制软件调试。(c) 电路板在加工前一定要小组内仔细检查。(d) 建议每位同学搞清楚每个实验,切记不可抄袭。(e) 参考程序仅供参考。表 1 端口分配表参考供电电路:实验一 闪烁灯实验1 实验任务及原理图如图1所示:在P1.0端口上接一个发光二极管L1,使L1在不停地一亮一灭,一亮一灭的时间间隔为1秒。图1 闪烁灯原理图2 C语言源程序#include sbit L
2、1=P10;void delay02s(void) /延时0.2秒子程序unsigned char i,j,k;/时间需要在keil中调试,这儿是随便给的循环次数for(i=20;i0;i-)for(j=20;j0;j-)for(k=248;k0;k-);void main(void)while(1)L1=0;delay02s();L1=1;delay02s();实验二 模拟开关灯实验1实验任务及原理图如图2所示,监视开关K1(接在P3.0端口上),用发光二极管L1(接在单片机P1.0端口上)显示开关状态,如果开关合上,L1亮,开关打开,L1熄灭。图2 模拟开关灯原理图2 程序框图3 C语言源
3、程序#include sbit K1=P30;sbit L1=P10;void main(void)while(1)if(K1=0)L1=0; /灯亮elseL1=1; /灯灭 实验3 按键(开关)识别1 实验任务及原理图实验任务 如图3所示,AT89S51单片机的P1.0P1.3接四个发光二极管L1L4,P1.4P1.7接了四个开关K1K4,编程将开关的状态反映到发光二极管上。(开关闭合,对应的灯亮,开关断开,对应的灯灭)。图3 按键(开关识别)2 c语言程序方法一(C语言源程序)#include unsigned char temp;void main(void)while(1)temp=
4、P14;temp=temp | 0xf0;P1=temp;方法二(C语言源程序)#include void main(void)while(1)if(P1_4=0)P1_0=0;elseP1_0=1;if(P1_5=0)P1_1=0;elseP1_1=1;if(P1_6=0)P1_2=0;elseP1_2=1;if(P1_7=0)P1_3=0;elseP1_3=1; 实验4 流水灯设计1 实验任务及原理图让8个发光二极管按照一定顺序循环闪烁,时间间隔为1s。用8芯排线连接到“八路发光二极管指示模块”区域中的L1L8端口上,要求:P1.0对应着L1,P1.1对应着L2,P1.7对应着L8。图4
5、流水灯(广告灯)设计2程序框图3 c语言程序 P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0 说明 L8 L7 L6 L5 L4 L3 L2 L1 1 1 1 1 1 1 1 0 L1亮 1 1 1 1 1 1 0 1 L2亮 1 1 1 1 1 0 1 1 L3亮 1 1 1 1 0 1 1 1 L4亮 1 1 1 0 1 1 1 1 L5亮 1 1 0 1 1 1 1 1 L6亮 1 0 1 1 1 1 1 1 L7亮 0 1 1 1 1 1 1 1 L8亮 方法1(左移或右移)#include unsigned char i;unsigned char t
6、emp;unsigned char a,b;void delay(void)unsigned char m,n,s;for(m=20;m0;m-)for(n=20;n0;n-)for(s=248;s0;s-);void main(void)while(1)temp=0xfe;P1=temp;delay();for(i=1;i8;i+)a=temp(8-i);P1=a|b;delay();for(i=1;ii;b=temp(8-i);P1=a|b;delay(); 方法2 (数组方式)C语言源程序#include unsigned char code table=0xfe,0xfd,0xfb,0
7、xf7,0xef,0xdf,0xbf,0x7f,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0x00,0xff,0x00,0xff,0x01;unsigned char i;void delay(void)unsigned char m,n,s;for(m=20;m0;m-)for(n=20;n0;n-)for(s=248;s0;s-);void main(void)while(1)if(table!
8、=0x01)P1=table;i+;delay();elsei=0; 实验五 报警器1 任务及原理图用P1.0输出1KHz和500Hz的音频信号驱动扬声器,作报警信号,要求1KHz信号响100ms,500Hz信号响200ms,交替进行,P1.7接一开关进行控制,当开关合上响报警信号,当开关断开告警信号停止,编出程序。图5 报警器电路(请参考LM386资料)2程序框图3 c语言程序#include #include bit flag;unsigned char count;void dely500(void)unsigned char i;for(i=250;i0;i-)_nop_();void
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 试验 内容 基础 原理图

限制150内