51流水灯实验
课程名称:_单片机原理与应用
姓 名:_赵存档 _ __
2015-- 2016 学年第 1 学期
实验项目( 一 ) — 预习报告 |
||||
项目 名称 |
LED高低电平交替闪烁程序 |
|||
实验 目的 及 要求 |
1. 正确安装keil软件 2. 在 Proteus 的环境下,设计硬件原理图; 3.在keil 集成环境下设计C语言程序; 4. 在 Proteus 的环境下,将硬件原理图与软件联接仿真运行。 |
|||
实验 内容 及 原理 |
1、先正确安装keil c 以及 proteus 软件。 2、利用keil 编写c语言代码,在代码中,定义好要输出的管脚P2,定义一个delay()延迟函数,以及Led = ~LED的反相输出。 3、Proteus的仿真,单片机最小系统的构建:包括40号引脚电源VCC,20号引脚 接地GND,9号引脚复位RESET,18、19号引脚外接12MHZ的晶振以提供时钟频率; 4、8个LED灯的接法:VCC 5V供电的话,单片机的P2口置低电平LED才能亮。 5、代码中0x表示的是16进制。0x0f表示的是0000 1111,也就是说左边的4个LED灯会亮。 |
|||
预习 过程 中的 疑问 |
疑问一:0x表示的是怎么? 疑问二:在keil c 中怎么定义指定的引脚号? 疑问三:怎么编写delay()延迟函数? 疑问四:在keil c 中怎么进行调试演练代码? 疑问五: 在仿真环境proteus中,怎么将keil c 中的代码与电路图结合,来进行仿真? 疑问六:发光LED二极管怎么辨别其正负? 疑问七:怎么才能知道给引脚置低电平LED灯亮还是不亮? 疑问八:单片机最小系统的电路图怎么画? |
|||
实验项目( 一 ) — 实验报告 |
|
|||
项目 名称 |
LED高低电平交替闪烁程序 |
指导教师 |
高照玲 |
|
实验室 |
教室 |
实验日期 |
2015/10月 |
|
分组 情况 |
赵存档、张泽光 |
成 绩 |
好 |
|
实验步骤(算法、代码、方法)给出流程图 |
LED高低电平交替闪烁的KEIL C代码: #include <reg51.h> #define LED P2 void delay(int x); void main() { LED = 0x0f; while(1) { delay(10000); LED = ~LED; } } void delay(int x) { int i; for(i=0;i<x;i++); }
Proteus仿真电路图:
电路图包括:单片机最小系统:复位以及晶振提供时钟频率,led灯。 |
|
||
实验结果(结论及 分析) |
经过调试以及分析可得出结论:通过编写Keil c代码设置晶振频率12MHZ 编译获得hex文件,在proteus中将hex文件加载进去,完成实验的结果。 通过实验可以明白单片机最小系统该怎么画:先是AT89C51单片机,晶振提供单片机运行的时钟周期,手动复位端。P2端口输出低电平与LED灯相连,使之被点亮。
|
|
||
成绩 |
|
|