51单片机实验报告.pdf
目录
目录
目目录录
实验一:I/O口输入/输出实验1
实验二:数码管动态扫描显示实验4
实验三:键盘输入实验7
实验四:定时/计数器10
实验五:音频控制实验15
实验六:串行口通信21
说明:1.6个实验程序均在伟纳电子ME830单片机实验板上调试成功。Mcu是AT89S52,晶振12Mhz。
2.音频控制实验源码来自网上,采用的是24M晶振,若想在晶振12Mhz上运行,需更改输出频
率表格的定时器初值。同时,由于程序占用233字节data,写入普通51mcu是运行不了的,这里我是
用ICE52仿真器运行。
3.串行口通信实验中上位机使用伟纳电子的串口调试软件,可以到其官方网站下载
/搜“串口调试”。
4.数码管实验会出现显示屏幕闪动的感觉,是因为扫描赋段码时候没有延时,以后再修改
版本:V1.1(2011/12/13)
作者:Pred
I/O/
I/O/
II//OO//
实验一:口输入输出实验
1.
1.
11..实验任务
流水灯单循环,P0口接八个共阳发光二极管,分别为D0、D1……D7。程序先点亮D0,延时一段
时间(1秒钟),再顺序点亮D1……D7,然后又是D0。同时只能有一个灯亮。设晶振频率fosc=11.0592MHz,
要求亮灯1秒后下一个灯点亮。
2.
2.
22..实验原理图
3.
3.
33..系统板上硬件连接
4.
4.
44..程序设计内容
2
1)先计算好定时器初值,并载入TH0,TL0
2)等待定时器中断响应,响应后累次叠加到1s时,设置标志位
3)检测标志位,点灭上一个灯,点亮点一个灯
4)判断是否点亮第七个灯,是则下一个点亮第零个灯,否则跳过
5.
5.
55..程序框图
开始
中断响应
储存显示顺序
TF=0;T++;
定时器使能
中断使能T==20?
Y
NN
LED=1?
T=0;
LED=1,;
Y
LED=0;显示数据端口;
结束
i++;
i7?
Y