实验的作业

2018-11-08 14:49

实验一 熟悉KEIL软件的使用

一、实验目的

1. 认识单片机实验系统的构成及使用。

2. 学习KEIL软件和STC-ISP下载软件的使用方法。 3. 单片机I/O口的使用方法; 二、实验内容

1. P23口做输出口,接发光二极管,编写程序,使其闪烁。

2. P23-P26口接四只发光二极管LED1-LED4, P20口接开关K1,编写程序,用开关

控制发光二极管上的亮灭。

三、实验步骤

1.设计实验电路,画出电路原理图 2.按照 KEIL软件的使用步骤,建立工程。

保存文件,将源程序文件加载到工程中,当编译通过之后生成313.编写程序,2HEX文件。 4. 用STC-ISP下载软件下载HEX文件到单片机系统。 5.运行、调试程序,观察实验结果。 四、实验参考电路及参考程序 1.参考电路 DVCC+5V LED1P248051LED2 P25LED3 P26LED4P32R1 R2 R3 R4P23K1C2.参考程序 实验1: #include \sbit P23=P2^3; //定义LED指示灯的IO口 void main() { int i;//计时变量 while(1) { for(i=0;i<30000;i++);//延时 P23=!P23;//指示灯IO口反转 } B}

实验2:

#include \sbit P23=P2^3; //定义LED指示灯的IO口 sbit P20=P2^0; //定义key的IO口 void main() {

int i;//计时变量

while(1) {

for(i=0;i<30000;i++);//延时

if( P20==0) P23=0; // 按键,LED亮 else P23=1;// LED亮 } }

五.思考题

1. P23- P26口做输出口,接发光二极管,编写并调试程序,使其闪烁。

2. P23- P26口做输出口,接发光二极管,编写并调试跑马灯程序。

实验2 Keil C51程序设计上机练习

一、实验目的

1. 学习KEIL软件的程序调试方法。 2. 学会KEIL C程序设计及调试,重点学会预处理命令、数据类型的定义。 二、实验内容

1.单片机P2口的P20和P21各接一个开关K1、K2,P23、P24、P25和P26各接一只发光二极管。由K1和K2的不同状态来确定发光二极管的点亮。

K2 0 0 1 1 K1 0 1 0 1 亮的二极管 L1 L2 L3 L4

2.设计一个二进制加1计数器,按一次键,加1,并用4个LED显示计数结果,加至16时清零重新计数。 三、实验步骤

1.设计实验电路,画出电路原理图 2.按照 KEIL软件的使用步骤,建立工程。

3.编写程序,保存文件,将源程序文件加载到工程中,当编译通过之后生成HEX文件。

4. 用STC-ISP下载软件下载HEX文件到单片机系统。 5.运行、调试程序,观察实验结果。 四、实验参考电路及参考程序

BVCC+5V LED1P24LED2 8051P25LED3 P26LED4P20P21K2AR1 R2 R3 R4P23K11.实验1 #include sbit k1 = P2^0; sbit k2 = P2^1; void main() 1{ 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; } } }

232.实验2

#include sbit key = P3^2;

unsigned char a ;

unsigned char count = 0; void delay(int i) { while(i) i--; }

void main() { 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软件的使用步骤,建立工程。 1编写程序,23.保存文件,将源程序文件加载到工程中,当编译通过之后生成HEX文件。 4.用STC-ISP下载软件下载HEX文件到单片机系统。 5.运行、调试程序,观察实验结果。 四、实验参考电路和参考程序 DVCC+5V LED1P248051LED2 P25LED3 P26LED4P32R1 R2 R3 R43P23K1CB1.实验1 #include \ sbit P23=P2^3; void main() { IT0=1; //外部中断0连沿触发方式 EX0=1; //使能外部中断0 EA=1; //开部中断 P23=0; //指示灯初始为亮 while(1) ; } void int0() interrupt 0 //外部中断0程序入口 { P23=!P23; } 2.实验2 #include \ sbit P32=P3^2; A

void main() {

IT0=1; //外部中断0连沿触发方式 EX0=1; //使能外部中断0 EA=1; //开部中断

while(1) ; }

void int0() interrupt 0 //外部中断0程序入口 {

static unsigned char Bit=0; Bit++;

if(Bit>=4)Bit =0; switch(Bit) {

case 0: P2 = 0xf7; break; case 1:P2 = 0xef; break;

case 2:P2 = 0xdf; break; case 3: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.运行、调试程序,观察实验结果。 四、实验参考电路和参考程序 VCC+5V LED1P24LED2 8051P25LED3 P26LED4R1 R2 R3 R4P2321.实验1 #include #define THC0 0xee #define TLC0 0x00 sbit led0=P2^3; void main() { TMOD=0x01; TH0=THC0; TL0=TLC0; TR0=1; ET0=1; EA=1; 3 while(1); }

void timer0_ISR(void) interrupt 1 {

static unsigned char count=0;

4 TL0=TLC0; TH0=THC0; count++;

if(count>=200) {

count=0; led0=!led0; } } 2.实验2

#include #define THC0 0xee #define TLC0 0x00 sbit led0=P2^3; sbit led1=P2^4; sbit led2=P2^5; sbit led3=P2^6; void main() {

TMOD=0x01; TL0=TLC0; TH0=THC0; TR0=1; ET0=1; EA=1; while(1); }

void timer0_ISR(void) interrupt 1 {

static unsigned char count=0,Bit=0; TL0=THC0; TH0=TLC0; count++;

if(count>=200) {

count=0; Bit++; if(Bit>=4) Bit=0;

P2=P2|0x78; switch(Bit) {

case 0:led0=0;break;

case 1:led1=0;break;

case 2:led2=0;break; case 3: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 \

#define THCO 0xee #define TLCO 0x0

unsigned char code Duan[]={0x3F, 0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};

//共阴极数码管,0-9段码表

unsigned char Data_Buffer[4]={1,2,3,4};//四个数码管显示数值,数组变量定义

sbit P10=P1^0; //四个数码管的位码口定义 sbit P11=P1^1; sbit P12=P1^2; sbit P13=P1^3;

void main() { TMOD=0x11; //定时器0初始化 TH0=THCO; TL0=TLCO; TR0=1; ET0=1; EA=1;

while(1) ; }

void timer0() interrupt 1 {

static unsigned char Bit=0; //静态变量,退出程序后,值保留

TH0=THCO; TL0=TLCO;

Bit++;

if(Bit>=4)Bit=0; P1|=0x0f; //先关位码 P0=Duan[Data_Buffer[Bit]]; //开段码 switch(Bit) //送位码 {

case 0: P10=0;break; case 1: P11=0;break; case 2: P12=0;break; case 3: P13=0;break; } }

五、思考题

用按键进行显示模式选择键,实现上述实验中3个显示画面的切换。

实验6 ADC0809实验

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相连; ④ 运行编写好的软件程序,调节电位器,仿真观察显示的是否变化。


实验的作业.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:四年级上册大数读法和写法训练题

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: