实验的作业.docx
- 文档编号:27820532
- 上传时间:2023-07-05
- 格式:DOCX
- 页数:17
- 大小:121.65KB
实验的作业.docx
《实验的作业.docx》由会员分享,可在线阅读,更多相关《实验的作业.docx(17页珍藏版)》请在冰豆网上搜索。
实验的作业
实验一熟悉KEIL软件的使用
一、实验目的
1.认识单片机实验系统的构成及使用。
2.学习KEIL软件和STC-ISP下载软件的使用方法。
3.单片机I/O口的使用方法;
二、实验内容
1.P23口做输出口,接发光二极管,编写程序,使其闪烁。
2.P23-P26口接四只发光二极管LED1-LED4,P20口接开关K1,编写程序,用开关控制发光二极管上的亮灭。
三、实验步骤
1.设计实验电路,画出电路原理图
2.按照KEIL软件的使用步骤,建立工程。
3.编写程序,保存文件,将源程序文件加载到工程中,当编译通过之后生成HEX文件。
4.用STC-ISP下载软件下载HEX文件到单片机系统。
5.运行、调试程序,观察实验结果。
四、实验参考电路及参考程序
1.参考电路
2.参考程序
实验1:
#include"reg52.h"
sbitP23=P2^3;//定义LED指示灯的IO口
voidmain()
{
inti;//计时变量
while
(1)
{
for(i=0;i<30000;i++);//延时
P23=!
P23;//指示灯IO口反转
}
}
实验2:
#include"reg52.h"
sbitP23=P2^3;//定义LED指示灯的IO口
sbitP20=P2^0;//定义key的IO口
voidmain()
{
inti;//计时变量
while
(1)
{
for(i=0;i<30000;i++);//延时
if(P20==0)P23=0;//按键,LED亮
elseP23=1;//LED亮
}
}
五.思考题
1.P23-P26口做输出口,接发光二极管,编写并调试程序,使其闪烁。
2.P23-P26口做输出口,接发光二极管,编写并调试跑马灯程序。
实验2KeilC51程序设计上机练习
一、实验目的
1.学习KEIL软件的程序调试方法。
2.学会KEILC程序设计及调试,重点学会预处理命令、数据类型的定义。
二、实验内容
1.单片机P2口的P20和P21各接一个开关K1、K2,P23、P24、P25和P26各接一只发光二极管。
由K1和K2的不同状态来确定发光二极管的点亮。
K2
K1
亮的二极管
0
0
L1
0
1
L2
1
0
L3
1
1
L4
2.设计一个二进制加1计数器,按一次键,加1,并用4个LED显示计数结果,加至16时清零重新计数。
三、实验步骤
1.设计实验电路,画出电路原理图
2.按照KEIL软件的使用步骤,建立工程。
3.编写程序,保存文件,将源程序文件加载到工程中,当编译通过之后生成HEX文件。
4.用STC-ISP下载软件下载HEX文件到单片机系统。
5.运行、调试程序,观察实验结果。
四、实验参考电路及参考程序
1.实验1
#include
sbitk1=P2^0;
sbitk2=P2^1;
voidmain()
{
while
(1)
{
if(k1==0&k2==0)
{
P2=0xf7;
}
if(k1==1&k2==0)
{
P2=0xef;
}
if(k1==0&k2==1)
{
P2=0xdf;
}
if(k1==1&k2==1)
{
P2=0xbf;
}
}
}
2.实验2
#include
sbitkey=P3^2;
unsignedchara;
unsignedcharcount=0;
voiddelay(inti)
{
while(i)
i--;
}
voidmain()
{
while
(1)
{
if(key==0)
{
delay(10);
if(key==0)
{
count++;
while(!
key);
if(count==16)
count=0;
a=count;
a=~a;
a=a<<3;
P2=a;
}
}
}
}
五、思考题
1.设计一个二进制减1计数器,按一次键,减1,并用4个LED显示计数结果,减至0时,重新从15开始计数。
2.用1个按键控制LED的显示,要求显示3种以上的不同模式。
实验3单片机中断实验
一、实验目的
1.掌握单片机的中断系统,学会单片机中断系统的初始化。
2.学会单片机外部中断的应用。
二、实验内容
1.采用外部中断的方式实现按键控制1个LED的亮灭。
2.采用外部中断的方式实现4个LED的轮流亮灭。
三、实验步骤
1.设计实验电路,画出电路原理图
2.按照KEIL软件的使用步骤,建立工程。
3.编写程序,保存文件,将源程序文件加载到工程中,当编译通过之后生成HEX文件。
4.用STC-ISP下载软件下载HEX文件到单片机系统。
5.运行、调试程序,观察实验结果。
四、实验参考电路和参考程序
1.实验1
#include"reg52.h"
sbitP23=P2^3;
voidmain()
{
IT0=1;//外部中断0连沿触发方式
EX0=1;//使能外部中断0
EA=1;//开部中断
P23=0;//指示灯初始为亮
while
(1);
}
voidint0()interrupt0//外部中断0程序入口
{
P23=!
P23;
}
2.实验2
#include"reg52.h"
sbitP32=P3^2;
voidmain()
{
IT0=1;//外部中断0连沿触发方式
EX0=1;//使能外部中断0
EA=1;//开部中断
while
(1);
}
voidint0()interrupt0//外部中断0程序入口
{
staticunsignedcharBit=0;
Bit++;
if(Bit>=4)Bit=0;
switch(Bit)
{
case0:
P2=0xf7;break;
case1:
P2=0xef;break;
case2:
P2=0xdf;break;
case3:
P2=0xbf;break;
}
}
五、思考题
1.采用外部中断的方式实现一个二进制减1计数器,按一次键,减1,并用4个LED显示计数结果,减至0时,重新从15开始计数。
2.采用外部中断的方式实现用1个按键控制LED的显示,要求显示3种以上的不同模式。
实验4中断及定时器∕计数器实验
一、实验目的
1.掌握单片机的中断系统、定时器的工作原理。
2.学会单片机中断系统、定时器的应用。
二、实验内容
1.采用单片机定时器实现1个LED的亮灭,周期为1s。
2.采用单片机定时器实现实现4个LED的轮流亮灭,每个LED点亮时间为1s。
三、实验步骤
1.设计实验电路,画出电路原理图
2.按照KEIL软件的使用步骤,建立工程。
3.编写程序,保存文件,将源程序文件加载到工程中,当编译通过之后生成HEX文件。
4.用STC-ISP下载软件下载HEX文件到单片机系统。
5.运行、调试程序,观察实验结果。
四、实验参考电路和参考程序
1.实验1
#include
#defineTHC00xee
#defineTLC00x00
sbitled0=P2^3;
voidmain()
{
TMOD=0x01;
TH0=THC0;
TL0=TLC0;
TR0=1;
ET0=1;
EA=1;
while
(1);
}
voidtimer0_ISR(void)interrupt1
{
staticunsignedcharcount=0;
TL0=TLC0;
TH0=THC0;
count++;
if(count>=200)
{
count=0;
led0=!
led0;
}
}
2.实验2
#include
#defineTHC00xee
#defineTLC00x00
sbitled0=P2^3;
sbitled1=P2^4;
sbitled2=P2^5;
sbitled3=P2^6;
voidmain()
{
TMOD=0x01;
TL0=TLC0;
TH0=THC0;
TR0=1;
ET0=1;
EA=1;
while
(1);
}
voidtimer0_ISR(void)interrupt1
{
staticunsignedcharcount=0,Bit=0;
TL0=THC0;
TH0=TLC0;
count++;
if(count>=200)
{
count=0;
Bit++;
if(Bit>=4)
Bit=0;
P2=P2|0x78;
switch(Bit)
{
case0:
led0=0;break;
case1:
led1=0;break;
case2:
led2=0;break;
case3:
led3=0;break;
}
}
}
五、思考题
1.设计1个秒计数器,每秒计1次数,在LED上显示出来,计至16清零后重新计数。
2.在上题基础上用按键控制秒计数器的启停,按一次键开始计数,按2次停止计数,按3次又开始计数…。
实验5数码管显示器实验
一、实验目的
1.掌握单片机的按键、数码管显示器的工作原理。
2.学会单片机独立式按键、数码管显示器的应用。
二、实验内容
1.在一个数码管上显示字符“1”。
2.在4个数码管上显示字符“1”、“2”、“3”、“4”。
3.设计一个2位10进制计数器,每秒加1,在LED上显示。
三、实验步骤
1.设计实验电路,画出电路原理图
2.按照KEIL软件的使用步骤,建立工程。
3.编写程序,保存文件,将源程序文件加载到工程中,当编译通过之后生成HEX文件。
4.用STC-ISP下载软件下载HEX文件到单片机系统。
5.运行、调试程序,观察实验结果。
四、实验参考电路和参考程序
1.参考电路
A/D转换实验
2.参考程序
#include"reg52.h"
#defineTHCO0xee
#defineTLCO0x0
unsignedcharcodeDuan[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};
//共阴极数码管,0-9段码表
unsignedcharData_Buffer[4]={1,2,3,4};//四个数码管显示数值,数组变量定义
sbitP10=P1^0;//四个数码管的位码口定义
sbitP11=P1^1;
sbitP12=P1^2;
sbitP13=P1^3;
voidmain()
{
TMOD=0x11;//定时器0初始化
TH0=THCO;
TL0=TLCO;
TR0=1;
ET0=1;
EA=1;
while
(1);
}
voidtimer0()interrupt1
{
staticunsignedcharBit=0;//静态变量,退出程序后,值保留
TH0=THCO;
TL0=TLCO;
Bit++;
if(Bit>=4)Bit=0;
P1|=0x0f;//先关位码
P0=Duan[Data_Buffer[Bit]];//开段码
switch(Bit)//送位码
{
case0:
P10=0;break;
case1:
P11=0;break;
case2:
P12=0;break;
case3:
P13=0;break;
}
}
五、思考题
用按键进行显示模式选择键,实现上述实验中3个显示画面的切换。
实验6ADC0809实验
1.实验目的
掌握A/D转换芯片ADC0809与单片机的接口方法及ADC0809芯片性能;了解单片机实现数据采集的方法。
2.实验设备及器件
PC机一台
单片机综合创新实验箱一台
8孔排线一根
杜邦线3根
3.实验内容
编写一段程序,通过ADC0809实现单片机对模拟输入通道电压的采集,使采集到的数据显示在数码管上。
4.实验步骤
①用1根杜邦线将J200的左针与D3区J44的CH0相接,或者不连,因为印刷板上已连通。
连接一下只是增加学生的感性认识;
②将D4区的J2用杜邦线与B7区J100相连(注意:
B7区此时必须将拨码开关向下拨,B8区J58短路帽断开,拨码开关向下拨,否则显示有问题);
③用两根杜邦线将D4区的J4中的P34、P35与B7区J102的BIT0、BIT1相连;
④运行编写好的软件程序,调节电位器,仿真观察显示的是否变化。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 作业