课程名称:_单片机原理与应用
姓 名:_赵存档 _ __
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灯相连,使之被点亮。
成绩
转载于:https://www.cnblogs.com/zhaocundang/p/4885704.html
相关资源:EDA入门系列实验教程——流水灯