实验(8课时用)单片机实验指导书
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《单片机原理及应用》实验指导书
计算机科学与技术系
2012年8月
目录
实验一:流水灯实验 (1)
实验二:中断实与定时器中断实验 (4)
实验三:串行口实验 (9)
实验四:矩阵式键盘输入识别 (13)
实验五:LCD循环显示设计 (19)
实验一:流水灯实验
一、实验目的:
通过对P3口地址的操作控制8位LED流水点亮,从而认识单片机的存储器。
二、实验原理图
实验参考电路图如下:
三、参考实验程序
//流水灯实验
#include
sfr x=0xb0; //P3口在存储器中的地址是b0H,通过sfr可定义8051内核单片机
//的所有内部8位特殊功能寄存器,对地址x的操作也就是对P1口的操作
/****************************************
函数功能:延时一段时间
*****************************************/
void delay(void)
{
unsigned char i,j;
for(i=0;i<250;i++)
for(j=0;j<250;j++)
; //利用循环等待若干机器周期,从而延时一段时间 }
/*****************************************
函数功能:主函数
******************************************/
void main(void)
{
while(1)
{
x=0xfe; //第一个灯亮
delay(); //调用延时函数
x=0xfd; //第二个灯亮
delay(); //调用延时函数
x=0xfb; //第三个灯亮
delay(); //调用延时函数
x=0xf7; //第四个灯亮
delay(); //调用延时函数
x=0xef; //第五个灯亮
delay(); //调用延时函数
x=0xdf; //第六个灯亮
delay(); //调用延时函数
x=0xbf; //第七个灯亮
delay(); //调用延时函数
x=0x7f; //第八个灯亮
delay(); //调用延时函数
}
}
四、实验思考题:
1.修改程序使LED灯为18灯亮——27灯亮——36灯亮——45灯亮,再将LED 灯亮的顺序倒过来既:45灯亮——36灯亮——27灯亮——18灯亮,连续运行。
2.设计一个八位二进制加法计数器,要求用八个流水灯显示加法器的结果,灯亮表示1,灯灭表示0,实现从0000 0000~1111 1111的加法过程。
调试后的程序代码:
实验二:中断与定时计数器实验
第一部分中断实验
一、实验目的:
通过对P3.2、P3.3引脚的电平控制,实现外部中断处理,从而控制输出口P1的输出效果变化。
二、实验原理图
实验参考电路图如下:
三、参考实验程序
/用外中断0的中断方式进行数据采集和处理
#include
#include
void init();
void delay(unsigned int);
void main()
{
init();
while(1)
{
P1 = 0xff;
delay(100);
P1 = 0x00;
delay(100);
}
}
void init()
{
EA = 1;
IT0 = 0;
IT1 = 0;
EX0 = 1;
EX1 = 1;
}
void delay(unsigned int n) {
unsigned int i,j;
for(i=0;i for(j=0;j<110;j++); } void aa() interrupt 0 { unsigned char tmp = 0xfe; unsigned int i=0; P1 = tmp; delay(100); i = 7; while(i--) { tmp = _crol_(tmp,1); P1 = tmp; delay(100); } //delay(500); i=7; while(i--) { tmp = _cror_(tmp,1); P1 = tmp; delay(100); } // delay(500); } void bb() interrupt 2 { P1 = 0xf0; delay(500); P1 = 0x0f; delay(500); } 四、实验思考题: 根据指导书中提供的原理图,自行设计一个外部中断实验,要求: 1.两个外部中断全部用上; 2.实验能体现不同中断优先级的中断源的相应情况; 3.不同中断处理程序能输出不同的响应效果