单片机实验二实验报告

栏目:精品范文发布:2025-01-10浏览:1收藏

第一篇:单片机实验二实验报告

实验报告

课程名称:微机原理与接口技术

指导老师:李素敏

学生姓名:

学号:

专业: 自动化

日期:2014-04-10 地点:理工楼603

实验二

1.实验目的和要求

① 掌握keil软件和STC-ISP 软件的使用方法 ② 熟悉发光管的工作原理 ③ 通过编程体验发光管的延时闪烁及移位等功能

2.主要仪器设备

PC机

单片机学习开发套件(型号:89C52RC)

3.实验内容

①实验内容1:第一个发光管以间隔200ms闪烁

源程序:

#include #define uint unsigned int

//宏定义

main(){

while(1){ P1=0xfe;delay(200);P1=0xff;delay(200);} } void delay(uint z)//延时函数,z的取值为这个函数的延时ms数 {

uint x,y;for(x=z;x>0;x--)

for(y=110;y>0;y--);

一台一件

}

实验结果说明:要使发光管闪烁,只需设置合适的时间延时即可。

②实验内容2 : 8个发光管由上至下间隔1s流动,其中每个管亮500ms,灭500ms,亮时蜂鸣器响,灭时关闭蜂鸣器,一直重复下去。

源程序:

#include

#include //后面要用到它里面的_crol_(k,l)函数 //这个函数的意思是把一个字符变量k 循环左移l 位 #define uint unsigned int

//宏定义

unsigned char a,b,k,j;

//定义五个字符变量 sbit beep=P2^3;// 定义蜂鸣器的接口

void delay(uint z)//延时函数,z的取值为这个函数的延时ms数 {

uint x,y;for(x=z;x>0;x--)

for(y=110;y>0;y--);}

void main(){

k=0xfe;//先给k一个初值11111110等待移位 while(1){

delay500ms();

beep=0;//打开蜂鸣器

delay500ms();//让它响500ms

beep=1;//关闭蜂鸣器

j=_crol_(k,1);//把k循环左移一位

k=j;//把移完的值再送给k

P1=j;//同时把值送到P1口点亮发光二极管 } //再次循环 }

实验结果说明:在此程序中用到了_crol_(k,l)函数,此函数的功能在于循环移位,在每次发光管闪烁相应时间后左移一位,把移完的值再送到P口,点亮对应的发光管。这样循环往复,达到发光管流动的效果。

③实验内容3 :用8个发光管演示出8位二进制数累加过程,即用8个二极管表示8个二进制位(亮为1,灭

解锁后支持完整在线阅读或下载编辑海量优质内容资源

单片机实验二实验报告

第一篇:单片机实验二实验报告实验报告课程名称:微机原理与接口技术指导老师:李素敏学生姓名:学号:专业: 自动化日期:2014-04-10 …
点击下载
分享:
热门文章
    热门标签
    确认删除?