单片机实验带程序的_第1页
单片机实验带程序的_第2页
单片机实验带程序的_第3页
单片机实验带程序的_第4页
单片机实验带程序的_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实实 验验 注注 意意 事事 项项1实验前先不连仿真器,给实验箱通电,若实验前先不连仿真器,给实验箱通电,若实验箱上的八段数码显示器显示字母实验箱上的八段数码显示器显示字母“P”,表示实验箱无故障。表示实验箱无故障。2必须断电插拔线。必须断电插拔线。 3程序存入程序存入c:dice5151asm*.c,程序名必,程序名必须以英文字母开头,扩展名须以英文字母开头,扩展名为为.c。 4若实验出现故障,可用以下程序单步运行若实验出现故障,可用以下程序单步运行(按(按F7键实现单步运行)验证,键实现单步运行)验证,实验一实验一 定时定时/计数实验计数实验 一一 实验目的实验目的 熟悉单片机内部定时熟悉

2、单片机内部定时/ /计数器的功能;计数器的功能; 掌握定时、计数程序的初始化编制方法。掌握定时、计数程序的初始化编制方法。二二 实验设备实验设备 DICEDICE5203 K5203 K实验开发系统,计算机实验开发系统,计算机三三 实验内容实验内容(一)定时(一)定时/ /计数器计数器T0T0延时实验延时实验 已知系统时钟频率已知系统时钟频率foscfosc =12MHZ =12MHZ,用定时,用定时/ /计数器计数器T0T0延时,延时,编程使与编程使与P1.0P1.0口相连的发光二极管每隔口相连的发光二极管每隔1s1s发光状态改变,使发光状态改变,使与与P1.1P1.1口相连的发光二极管每隔

3、口相连的发光二极管每隔5s5s发光状态改变,循环不止。发光状态改变,循环不止。(二)定时(二)定时/ /计数器计数器T1T1计数实验计数实验 已知系统时钟频率已知系统时钟频率foscfosc =12MHZ =12MHZ,用定时,用定时/ /计数器计数器T1T1计数,计数,编程使按键每闭合编程使按键每闭合5 5次,与次,与P1.0P1.0口相连的发光二极管发光状态改口相连的发光二极管发光状态改变(即变(即T1T1每记录每记录5 5个脉冲,个脉冲,P1.0P1.0取反一次)。取反一次)。 四、实验步骤四、实验步骤(一)定时(一)定时/计数器计数器T0延时实验延时实验1、连接电源线和串行口数据线;、

4、连接电源线和串行口数据线;2、用插针将、用插针将P1.0孔与发光二极管孔与发光二极管L1孔相连,孔相连,P1.1孔与发光二极管孔与发光二极管L2孔相连;孔相连;3、打开、打开DICE5203 K实验开发系统的电源;实验开发系统的电源;4、启动计算机,打开桌面软件文件夹,选择、启动计算机,打开桌面软件文件夹,选择MS51仿真开发系统图标双击,进入软件仿真开发系统图标双击,进入软件编程界面;编程界面;5、编制程序,调试、运行;、编制程序,调试、运行;6、观察发光二极管状态。、观察发光二极管状态。 (二)定时(二)定时/计数器计数器T1计数实验计数实验1连接电源线和串行口数据线;连接电源线和串行口数

5、据线;2用插针将用插针将P1.0孔与发光二极管孔与发光二极管L1孔相连,孔相连, P3.5孔与单脉冲输出孔相连;孔与单脉冲输出孔相连;3打开打开DICE5203 K实验开发系统的电源;实验开发系统的电源;4启动计算机,打开桌面软件文件夹,选择启动计算机,打开桌面软件文件夹,选择 MS51仿真开发系统图标双击,进入软件编仿真开发系统图标双击,进入软件编程界面;程界面;5. 编制程序,调试、运行;编制程序,调试、运行;6反复扳动按键开关,观察发光二极管状态。反复扳动按键开关,观察发光二极管状态。 五思考题:五思考题:1实验(一)中,如果用实验(一)中,如果用T1 延时,使与延时,使与P1.0口相连

6、的发光二极管每隔口相连的发光二极管每隔2s发光状态发光状态改变,程序将如何编制?改变,程序将如何编制?2实验(二)中,若使按键每闭合实验(二)中,若使按键每闭合10次,与次,与P1.1口相连的发光二极管发光状态改变,口相连的发光二极管发光状态改变,程序将如何编制?程序将如何编制? #include /实验一实验一(一一)程序程序 #define uint unsigned int sbit P1_0=P10; sbit P1_1=P11; uint i=0,j=0; void main(void) P1_0=0;P1_1=0;TMOD=0 x01;EA=1;ET0=1;TH0=(65536-5

7、0000)/256;TL0=(65536-50000)%256;TR0=1;while(1); void tim0(void) interrupt 1 using 1 EA=0;i+;j+;if(i=20)P1_0=!P1_0;i=0;if(j=100)P1_1=!P1_1;j=0;TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1; #include /实验一(二)程序实验一(二)程序 sbit P1_0=P10; void main(void) P1_0=1;TMOD=0 x06;EA=1;ET0=1;TH0=251;TL0=251;TR0=1

8、;while(1); void tim0(void) interrupt 1 using 1 EA=0; P1_0=!P1_0; EA=1; 实验二实验二 定时、中断综合实验定时、中断综合实验一、实验目的一、实验目的 熟悉单片机定时、中断的功能;熟悉单片机定时、中断的功能; 掌握定时、中断程序的初始化编制方法。掌握定时、中断程序的初始化编制方法。二、实验设备二、实验设备 DICE5203 K实验开发系统,计算机实验开发系统,计算机三、实验内容三、实验内容 用定时用定时/计数器计数器T0定时,用中断方式编程,每隔定时,用中断方式编程,每隔10s 使与使与P1.0口相连的发光二极管闪烁口相连的发光

9、二极管闪烁10次(次(50ms中断一中断一 次,次,200次即为次即为10s),已知系统时钟频率),已知系统时钟频率 fosc=12MHZ,P1.0低电平灯亮,反之灯灭(灯闪烁时间低电平灯亮,反之灯灭(灯闪烁时间 不少于不少于150ms)。)。 四、实验步骤四、实验步骤 1连接电源线和串行口数据线;连接电源线和串行口数据线; 2用插针将用插针将P1.0孔与发光二极管孔与发光二极管L1孔相连;孔相连; 3打开打开DICE5203 K实验开发系统的电源;实验开发系统的电源; 4启动计算机,打开桌面软件文件夹,选择启动计算机,打开桌面软件文件夹,选择MS51仿仿真开发系统图标双击,进入软件编程界面;

10、真开发系统图标双击,进入软件编程界面; 5编制程序,调试、运行;编制程序,调试、运行; 6观察发光二极管状态。观察发光二极管状态。五、思考题:若用定时五、思考题:若用定时/计数器计数器T1定时,程序有何变化?定时,程序有何变化? #include #define uint unsigned int sbit P1_0=P10; uint i=0,j=0,n; void main(void) TMOD=0 x01;EA=1;ET0=1;TR0=1;TH0=(65536-50000)/256;TL0=(65536-50000)%256;TR0=1;while(1); void tim0(void)

11、 interrupt 1 using 1 EA=0;i+;if(i=200)j=20; while(j-) P1_0=!P1_0; for(n=0;n12500;n+);i=0; TH0=(65536-50000)/256; TL0=(65536-50000)%256; EA=1; 实验三实验三 串行口数据自发自收实验串行口数据自发自收实验一、实验目的:一、实验目的:1 1掌握串行口的工作原理;掌握串行口的工作原理;2 2了解串行口编程方法;了解串行口编程方法;二、实验设备二、实验设备 DICEDICE5203 K5203 K实验开发系统,计算机实验开发系统,计算机三、实验内容:三、实验内容:

12、 把数据由串行口把数据由串行口TXDTXD(P3.1P3.1)发送出去,经串行)发送出去,经串行口口RXDRXD(P3.0P3.0)接收回来,最后通过)接收回来,最后通过P1 P1 口把接收到的口把接收到的数据输出,使发光二极管显示接收到的数据。数据输出,使发光二极管显示接收到的数据。 用定时用定时/ /计数器计数器T/C1T/C1做波特率发生器,使波特率做波特率发生器,使波特率为为96009600。已知。已知T/C1T/C1用方式用方式2 2定时,定时, SMOD=0SMOD=0,单片机的,单片机的时钟频率为时钟频率为11.0592MHz11.0592MHz,串行口工作于方式,串行口工作于方

13、式1 1。 五五. .实验步骤:实验步骤:1. 1. 连接电源线和串行口数据线;连接电源线和串行口数据线;2. 2. 把把P3.1P3.1接至接至P3.0P3.0孔,孔,P1.0P1.0P1.7P1.7分别接发光二极管分别接发光二极管L1L1L8L8孔。孔。3 3打开打开DICEDICE5203 K5203 K实验开发系统的电源;实验开发系统的电源; 4. 4. 启动计算机,打开桌面软件文件夹,选择启动计算机,打开桌面软件文件夹,选择MS51MS51仿真仿真 开发系统图标双击,进入软件编程界面;开发系统图标双击,进入软件编程界面;5. 5. 编制程序,调试、运行;编制程序,调试、运行; 6.

14、6. 从按键开关输入数字量,观察发光二极管的发光状从按键开关输入数字量,观察发光二极管的发光状 态,或从寄存器观察其对应数值。态,或从寄存器观察其对应数值。六思考题:修改程序,使串行口工作于方式六思考题:修改程序,使串行口工作于方式3 3或或 2(2(考虑波特率考虑波特率) )。 #include /实验三程序(中断方式)实验三程序(中断方式) #define uchar unsigned char; #define uint unsigned int; uchar a=0,b=0; uint i; /中断服务程序中用的变量必需设成全局变量中断服务程序中用的变量必需设成全局变量 void ma

15、in(void) ES=1;EA=1; TMOD=0 x20; SCON=0 x50;PCON=0 x00;TH1=0 xfd;TL1=0 xfd;TR1=1; a=0 x55;SBUF=a; /或或SBUF=0X55while(1); void ss(void) interrupt 4 using 1 EA=0; /或或ES=0TI=0; while(RI=0); b=SBUF;P1=b; /或或if(TI) TI=0; if(RI) RI=0; P1=SBUF ; for(i=0;i25000;i+);EA=1; /或或ES=1 #include /实验三程序(查询方式)实验三程序(查询方

16、式)void main(void) char a; TMOD=0 x20; SCON=0 x50;PCON=0 x00;TH1=0 xfd;TL1=0 xfd;TR1=1; a=0; while(1) SBUF=a+; while(TI=0); TI=0; while(RI=0); RI=0; P1=SBUF ; 实验四实验四 82558255扩展扩展I/OI/O口实验口实验一、实验目的一、实验目的 了解单片机了解单片机I/OI/O口扩展的功能,掌握口扩展的功能,掌握82558255的接口原理,熟悉的接口原理,熟悉82558255初始化编程和输入、输出软件设计方法。初始化编程和输入、输出软件设

17、计方法。 二、实验设备二、实验设备 DICEDICE5203 K5203 K实验开发系统实验开发系统三、实验内容三、实验内容(一)(一)8255 PB8255 PB口作输出口口作输出口 单片机扩展单片机扩展82558255,PBPB口为输出口,接八只发光二极管,口为输出口,接八只发光二极管,编程使发光二极管循环点亮。已知编程使发光二极管循环点亮。已知PBPB口地址口地址FF29HFF29H,控制口,控制口地址地址FF2BHFF2BH。 (二)(二)8255 PA8255 PA口控制口控制PCPC口口 用用8255 PA8255 PA口作开关量输入口,与按键开关口作开关量输入口,与按键开关K1K

18、8K1K8孔相孔相连;连;PCPC口作输出口,接八只发光二极管,编程使口作输出口,接八只发光二极管,编程使PAPA口的开口的开关状态控制关状态控制PCPC口的发光二极管亮灭。已知口的发光二极管亮灭。已知PAPA口地址口地址FF28HFF28H, PCPC口地址口地址FF2AHFF2AH。 四、实验程序框图四、实验程序框图(一)(一)8255 PB8255 PB口作输出口口作输出口开开 始始控制字控制字 控制口控制口 显示字显示字 PB口口 延时延时500ms显示字循环左移显示字循环左移结结 束束(二)(二)8255 PA8255 PA口控制口控制PCPC口口 开开 始始控制字控制字 控制口控制

19、口PAPA口开关状态口开关状态 A A A PC A PC口口结结 束束 五、实验步骤五、实验步骤(一)(一)8255 PB8255 PB口作输出口口作输出口1 1连接电源线和串行口数据线;连接电源线和串行口数据线;2 2用插针将用插针将8255 PB8255 PB口与发光二极管口与发光二极管L1L8L1L8孔相连;孔相连;3 3打开打开DICEDICE5203 K5203 K实验开发系统的电源;实验开发系统的电源;4. 4. 启动计算机,打开桌面软件文件夹,选择启动计算机,打开桌面软件文件夹,选择MS51MS51 仿真开发系统图标双击,进入软件编程界面;仿真开发系统图标双击,进入软件编程界面

20、;5. 5. 编制程序,调试、运行;编制程序,调试、运行;6. 6. 观察发光二极管状态观察发光二极管状态。 (二)(二)8255 PA8255 PA口控制口控制PCPC口口1 1连接电源线和串行口数据线;连接电源线和串行口数据线;2 2用插针将用插针将8255 PA8255 PA口与按键开关口与按键开关K1K8K1K8孔相连,孔相连,PCPC口与发光二极管口与发光二极管L1L8L1L8孔相连;孔相连;3 3打开打开DICEDICE5203 K5203 K实验开发系统的电源;实验开发系统的电源;4 4启动计算机,打开桌面软件文件夹,选择启动计算机,打开桌面软件文件夹,选择MS51MS51仿真开

21、发系统图标双击,进入软件编程界面;仿真开发系统图标双击,进入软件编程界面;5. 5. 编制程序,调试、运行;编制程序,调试、运行;6 6扳动按键开关扳动按键开关K1K8K1K8,观察发光二极管,观察发光二极管L1L8L1L8是是否对应点亮。否对应点亮。六思考题:六思考题:1 1实验(一)中,若使八只发光二极管四个为一组,实验(一)中,若使八只发光二极管四个为一组,交替闪亮,程序将如何编制?交替闪亮,程序将如何编制? #include 实验四(一)实验四(一)8255 PB8255 PB口作输出口程序口作输出口程序#include #define uchar unsigned char#defi

22、ne COM8255 XBYTE0 xff2b /命令口地址命令口地址/#define PB8255 XBYTE0 xff29 /B口地址口地址/ds-ms(int j) /延时函数延时函数/ uchar k; while(j-!=0) for(k=0,k125,k+);void main (void) uchar i,a; COM8255 =0 x80; /送命令字,选择输出方式送命令字,选择输出方式/ a =0 x01; for(i=0,i8,i+) PB8255=a; /输出字符输出字符/ ds-ms(500); a=a1; if(a=0)a=0 x01; #include 实验四(二)

23、实验四(二)8255 PA8255 PA口控制口控制PCPC口程序口程序#include #define uchar unsigned char#define COM8255 XBYTE0 xff2b /命令口地址命令口地址/#define PA8255 XBYTE0 xff28 /A口地址口地址/#define PC8255 XBYTE0 xff2a /C口地址口地址/ds-ms(int j) /延时函数延时函数/ uchar k; while(j-!=0) for(k=0,k125,k+);void main (void) uchar a; COM8255 =0 x90; /送命令字,选择

24、输出方式送命令字,选择输出方式/ while(1) a =PA8255; PC8255=a; /输出字符输出字符/ ds-ms(500); 实验五实验五 A / D转换实验转换实验 一、实验目的一、实验目的1掌握掌握A/D转换与单片机接口的方法;转换与单片机接口的方法;2了解了解A/D芯片芯片0809转换性能及编程方法;转换性能及编程方法;3通过实验了解单片机如何进行数据采集。通过实验了解单片机如何进行数据采集。二、实验设备二、实验设备 DICE5203 K实验开发系统,计算机实验开发系统,计算机三、实验内容三、实验内容 利用实验开发系统上的利用实验开发系统上的0809做做A/D转换器,用实验

25、箱上转换器,用实验箱上的电位器提供模拟量输入,编制程序,将把的电位器提供模拟量输入,编制程序,将把0809的零通道的零通道INT0输入的模拟量转换成数字量,通过输入的模拟量转换成数字量,通过P1口驱动发光二极口驱动发光二极管管L1L8显示出来。显示出来。 注意事项:注意事项:1. 启动启动A/D转换后,应延时大于转换后,应延时大于100us后,再读转换数据;后,再读转换数据;2发光二极管为低电平点亮;发光二极管为低电平点亮;3用用0809的零通道的零通道INT0输入,口地址为输入,口地址为8000H。四实验接线图:四实验接线图: 五实验程序框图:五实验程序框图: 结结 束束 开开 始始 显显

26、示示 0809初始化初始化 0809.0通道采样通道采样 六实验步骤:六实验步骤:1连接电源线和串行口数据线;连接电源线和串行口数据线;2把把0809的零通道的零通道INT0用插针接至用插针接至AOUT1孔(电位器的孔(电位器的电压输出口),电压输出口),0809的片选端的片选端CS4接接8000H孔(使孔(使0809的口地址为的口地址为8000H),),JX0(P0口数据线)接口数据线)接JX6(0809的数据线的数据线D7D0),),P1.0P1.7接发光二极管接发光二极管L1L8;3打开打开DICE5203 K实验开发系统的电源;实验开发系统的电源;4启动计算机,打开桌面软件文件夹,选择

27、启动计算机,打开桌面软件文件夹,选择MS51仿真开发仿真开发系统图标双击,进入软件编程界面;系统图标双击,进入软件编程界面;5. 编制程序,调试、运行;编制程序,调试、运行;6运行程序,调节电位器,观察发光二级管的发光状态随运行程序,调节电位器,观察发光二级管的发光状态随着电压变化而变化。着电压变化而变化。七思考题:七思考题:1当输入的模拟电压满值为当输入的模拟电压满值为5V时,发光二极管显示时,发光二极管显示FFH,当显示当显示7FH时,输入的模拟电压是多少?时,输入的模拟电压是多少?2. 修改程序,用其它通道轮流采样显示。修改程序,用其它通道轮流采样显示。3. 若用若用8255的的PA口作

28、输出口接发光二极管,程序将如何修口作输出口接发光二极管,程序将如何修改?改? 实验五实验五 A / D转换实验转换实验程序程序#include #include #define uchar unsigned char#define IN0 XBYTE0 x8000void main(void) while(1););IN0=0 /*启动启动A/D转换转换*/i=i; /*等待等待EOC信号变低信号变低*/i=i;P1=IN0;?用延时么?不用吧?用延时么?不用吧? void main (void)static uchar idata ad10; ad0809(ad); 一实验目的:一实验目的:

29、1掌握掌握D/A转换与单片机的接口方法;转换与单片机的接口方法;2了解了解D/A转换芯片转换芯片0832的性能及编程方法;的性能及编程方法;3了解单片机系统中扩展了解单片机系统中扩展D/A转换芯片的基本方法;转换芯片的基本方法;二、实验设备二、实验设备 DICE5203 K实验开发系统,计算机实验开发系统,计算机三、实验内容:三、实验内容:(一)用(一)用DAC0832输出三角波输出三角波 编程使编程使0832输出一个从输出一个从0V开始逐渐升至开始逐渐升至5V再降至再降至0V的可变电压,即输入的数字的可变电压,即输入的数字量由小变大再由大变小循环,输出用电机转速来验证。量由小变大再由大变小循

30、环,输出用电机转速来验证。(二)(二) 用按键用按键K1K8控制输入的数字量,输入到控制输入的数字量,输入到P1.0P1.7口,把数字量用口,把数字量用0832进行进行D/A转换输出电压,输出的电压转换输出电压,输出的电压用电机转速验证。用电机转速验证。 注意事项:注意事项:1. 使用使用P0P3口作输入口时,必须先送口作输入口时,必须先送FFH给给 P0P3口,即口,即 Pn=0 xff。 20832口地址为口地址为8000H。实验六实验六 D / A转换实验转换实验四实验接线图:四实验接线图: 五实验程序框图:五实验程序框图: 结结 束束 开开 始始 0832初始化初始化 显示显示 转换显示加转换显示加1 输入是否到输入是否到FF? 输入是否减到输入是否减到00? 转换显示减转换显示减1 实验步骤:实验步骤:1.连接电源线和串行口数据线;连接电源线和串行口数据线;2.(一)把(一)把0832译码线译码线CS5接至接至8000H孔(使孔(使0832的口地的口地址为址为8000H),),JX0(P0口数据线)接口数据线)接JX2(0832的数的数据线据线DI7DI0););AOUT孔(模拟量输出端)与直流电机孔(模拟量输出端)与直流电机DJ孔相连;孔相连;(二)把

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论