单片机实验二实验报告
第一篇:单片机实验二实验报告
实验报告
课程名称:微机原理与接口技术
指导老师:李素敏
学生姓名:
学号:
专业: 自动化
日期:2014-04-10 地点:理工楼603
实验二
1.实验目的和要求
① 掌握keil软件和STC-ISP 软件的使用方法 ② 熟悉发光管的工作原理 ③ 通过编程体验发光管的延时闪烁及移位等功能
2.主要仪器设备
PC机
单片机学习开发套件(型号:89C52RC)
3.实验内容
①实验内容1:第一个发光管以间隔200ms闪烁
源程序:
#include //宏定义 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 //宏定义 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,灭
单片机实验二实验报告
本文2025-01-10 02:04:58发表“精品范文”栏目。
本文链接:https://www.sowenku.com/article/173711.html