文档详情

单片机开发板使用说明书资料.doc

发布:2016-04-02约3.6万字共70页下载文档
文本预览下载声明
使用说明书 目 录 实验一 流水灯实验 1 实验二 键盘处理程序的设计 3 实验三 数码管显示程序设计 5 实验四 脉冲计数实验 8 实验五 单片机串口通信程序设计 10 实验六 模拟交通灯实验 13 实验七 A/D转换实验 17 实验八 D/A转换实验 20 实验九 矩阵式键盘接口技术实验 23 实验十 开关量输出接口实验 29 实验十一 步进电机控制实验 31 实验十二 单片机与PC机的通信实验 34 实验十三 8255A并行I/O端口扩充键盘实验 37 实验十四 字符型液晶显示实验(SMC1602A) 39 实验十五 温度传感器DS18B20实验 47 实验十六 LCD12864液晶显示实验(KS0108) 53 实验十七 继电器控制实验 62 实验十八 单片机播放音乐实验 64 实验一 流水灯实验 一、 实验目的与要求 认识AT89系列单片机的硬件电路; 学习延时子程序的编写和使用; 学习循环左移或右移指令的使用; 学习单片机程序烧录的基本过程和操作; 了解单片机的开发过程; 二、 实验设备 计算机 编程器 目标板 单片机AT89S51 三、 实验原理电路 由于P1口内部已有上拉电阻,在使用时不需要外接上拉电阻。如果用P1口控制发光二极管的阴极,则可以不需要驱动电路,直接由限流电阻控制发光二极管的亮度。 实验电路如下: 四、 实验内容与步骤 编写程序,使LED1——LED8顺序点亮; 编写源程序并下装到AT89S51单片机,观察发光二极管的点亮效果; 改变延时时间常数,重复上述步骤。 五、 实验报告要求 计算上图中单片机的振荡周期及机器周期; 列出程序清单; 参考程序: #includereg52.h #define uint unsigned int #define uchar unsigned char void delayms(uint xms) { uint i,j; for(i=xms;i0;i--) for(j=110;j0;j--); } void main() { uchar a1,a2; a1=0x0fe; a2=1; while(1) { P1=a1; delayms(1000); a1=a11; a1++; a2++; if(a2==9) { a2=1; a1=0xfe; } } } 实验二 键盘处理程序的设计 一、 实验目的与要求 了解矩阵式键盘的结构及驱动程序的编写方法; 学习应用查询法和中断法实现键盘的处理; 二、 实验设备 计算机 编程器 目标板 单片机AT89S51 三、 实验原理电路 实验电路如下图所示。 目标板上仅有两个按键S1和S2,分别接到P3.6和P3.7引脚。在处理按键时,采用查询方式判断是否有键按下,并进行按键消抖处理。(若将S1、S2接在外部中断0和外部中断1引脚上,则可以采用中断方式) 四、 实验内容与步骤 按下S1键时,按LED1——LED8的顺序逐一点亮发光二极管; 按下S2键时,按LED8——LED1的顺序逐一点亮发光二极管; 五、 实验报告要求 画出程序流程图; 列出程序清单; 参考程序: #includereg52.h #define uint unsigned int #define uchar unsigned char sbit s1=P3^6; sbit s2=P3^7; void delayms(uint xms) { uint i,j; for(i=xms;i0;i--) for(j=110;j0;j--); } void main() { uchar a1,a2,a3,a4; a1=0x0fe; a2=a4=1; a3=0x7f; while(1) { if(s1==0) { delayms(10); if(s1==0) { P1=a1; delayms(1000); a1=a11; a1++; a2++; if(a2==9) { a2=1; a1=0xfe; } } } if(s2==0) { delayms(10); if(s2==0) { P1=a3; delayms(1000); a3=a31; a3=a3+128; a4++; if(a4==9) { a4=1; a3=0x7f; } } } } } 实验三 数码管显示程序设计 一、
显示全部
相似文档