试验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
试验报告
专业:电科101 姓名:李静
试验一LED闪烁的简单试验
试验目的:
1、了解单片机C程序的基本结构
2、了解单片机C程序的设计和调试方法
3、掌握顺序控制程序的简单编程
实验原理:
p2口的八个端口分别对应控制8个LED灯,当对应端口为低电平时,灯亮;否则灯灭。
试验程序:
#include
main()
{
P2 = 0x00; //置P0口为低电平点亮P2口8个LED灯
delay(600); // 调用延时程序等待一段时间后熄灭
P2 = 0xff; //置P0口为高电平熄灭P2口8个LED灯
delay(600); // 调用延时程序
}
/*******延时函数*************/
void delay(unsigned int i)
{
unsigned char j;
for(i; i > 0; i--) //循环600*255次机器在这里执行需要一段时间也就达到了延时效果
for(j = 255; j > 0; j--);
}
试验二按键控制LED灯的亮灭
试验目的:
1实现按键对LED的控制,及实现不同的功能,让按键更加多功能,熟练掌握按键功能。
2掌握顺序控制程序的简单编程
试验原理:
按键则点亮LED灯,8路指示灯接p0口。通过控制按键来控制LED灯的亮灭,按下按键灯亮,反之灯灭。
试验程序:
#include
sbit LED = P2^0; //定义LED在P2.0脚上
sbit K1 = P0^0; //定义按钮在P0.0脚上
main()
{
if(!K1) LED = 0; //当按键按下对应单片机脚变低电平LED变低灯亮
else LED = 1; //当松开键按对应单片机脚变高电平LED变高灯灭
}
试验报告三按键控制程序
试验目的:
按键控制程序
试验原理:
P2 与JP1 (LED灯)连接,P0与JP5(按键接口)连接开始点亮P1LED,按P01 LED向右移一位,按P00LED向左移一位,连续
按动按钮LED会不停的左移或右移
试验程序:
#include
#include
unsigned char scan_key();
void proc_key(unsigned char key_v);
void delayms(unsigned char ms);
sbit K1 = P0^0; //对应按钮K1
sbit K2 = P0^1; //对应按钮K2
main()
{
unsigned char key_s,key_v;
key_v = 0x03;
P2 = 0xfe;
while(1)
{
key_s = scan_key();
if(key_s != key_v)
{
delayms(10);
key_s = scan_key();
if(key_s != key_v)
{
key_v = key_s;
proc_key(key_v);
}
}
}
}
unsigned char scan_key()
{
unsigned char key_s;
key_s = 0x00;
key_s |= K2;
key_s <<= 1;
key_s |= K1;
return key_s;
}
void proc_key(unsigned char key_v)
{
if((key_v & 0x01) == 0)
{
P2 = _cror_(P2,1);
}
else if((key_v & 0x02) == 0)
{
P2 = _crol_(P2, 1);
}
}
void delayms(unsigned char ms) // 延时子程序
{
unsigned char i;
while(ms--)
{
for(i = 0; i < 120; i++);
}
试验报告四蜂鸣器简单发声试验目的:
1、学习8031内部端口的使用和编程方法。
2、进一步掌握顺序处理程序的编程方法。
试验原理:
p1.5接峰鸣器,按键接p0.0脚,利用按键控制峰鸣器
发声。按下按键时,蜂鸣器发出声音。
试验程序:
#include
sbit BEEP = P1^5; //定义蜂鸣器接、在P1.5脚上sbit K1 = P0^0; //定义按钮在P0.0脚上main()
{
if(!K1) BEEP = 0; //当按键按下对应单片机脚变低电平BEEP发声
else BEEP = 1; //当松开键按对应单片机脚变高电平BEE