ImageVerifierCode 换一换
格式:DOCX , 页数:80 ,大小:259.02KB ,
资源ID:18901311      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/18901311.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(单片机实验指导书Word格式.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

单片机实验指导书Word格式.docx

1、 数码管跑马显示 行列按键显示 中断 定时/计数器 串行通信 串行D/A实验 串行A/D实验如果综合利用上述资源,用户可以设计诸如多功能数字钟、波形发生器、数字电压表、音乐盒、频率计、抢答器、计算器、模拟量采样等应用系统,为了用户开发的灵活性,实验板还预留了扩展板,可加焊少量器件。用户可以通过此电路板组建一些较简单的系统,掌握嵌入式系统设计的初步技巧。本实验板可作为学生课程设计、毕业设计的硬件平台。如果读者需要此ISP多功能实验板可向本教材编者咨询,本教材前言中有联系方法。本指导书对任何实验装置实用。第二章 单片机在系统编程多功能实验板说明2.1 单片机在系统编程多功能实验板的结构图单片机在系

2、统编程多功能实验板的结构图如图2-1所示。图2-1 ISP单片机综合实验板方框图注意:板上的单片机也可以用89C51/52,只是不能在系统编程,必须另用编程器编程。2.2 单片机在系统编程多功能实验板的元件分布单片机在系统编程多功能实验板的元件分布如图2-2所示。图2-2 单片机在系统编程实验板的元件分布图2.3 多功能实验板的电路图2.3.1 单片机在系统编程多功能实验板的电路原理如图2-3所示。图2-3 单片机在系统编程多功能实验板的电路图2.3.2 实验板的跳线、开关、按钮功能结合系统电路图和元件布局图,对系统处于运行状态下的跳线、开关、按钮做如下说明。一、 跳线JP1JP4用短接块改变

3、跳线的状态来改变电路的连接。下面对系统中的4组跳线分别进行说明。 JP1 串行A/DTLC0832双通道模数转换器。通道0与接线端子相连,可以外扩传感器作为通道0的模拟量输入。通道1的模拟量输入信号源有两个。通过短接块来选择。当JP1短接帽插上,JP1两插针短接,串行A/D通道1模拟量输入信号来自滑动变阻器。我们可以通过调节电位器可调端来改变通道1的模拟量输入的大小;当此短接块拔掉,外接模拟信号可由555定时器通过JP3中的5、6脚短接引入。 JP2 JP2是1组两路并行的跳线。它的设置改变带锁按压开关S2产生的脉冲的去向,以决定是外部终端INT0使用脉冲源还是计数器T0使用脉冲源。当短接块将

4、JP2的1、2脚相连时,脉冲源向外部中断INT0提供中断所需的脉冲,每按两次开关S2,产生一个脉冲,向外部中断INT0提供中断请求信号。当短接块将JP2的3、4脚相连时,脉冲源向计数器T0提供外部计数脉冲,每按两次开关S2,产生一个计数脉冲。 JP3 JP3是1组三路并行的跳线。它的设置改变555定时器产生脉冲的去向,以决定是外部终端INT1使用脉冲源,或者是计数器T0使用脉冲源,或者是串行A/D的模拟信号输入。当短接块将JP3的1、2脚相连时,脉冲源向外部中断INT1提供中断所需的脉冲;当短接块将JP3的3、4脚相连时,脉冲源向计数器T0提供外部计数脉冲;当短接块将JP3的5、6脚相连时,脉

5、冲源向串行A/D提供模拟信号输入。 JP7 JP7控制串行口的发送和接收,当短接块将JP7的1、2脚相连时,串行口实现自发自收。当短接块拔除,则串行口向外发送信号或接收外部信号。二、 开关K1K16K1K16拨位开关用作按键输入设备,用于置数或控制,例如用户可以通过此十六位开关选择运行单片机中的各个子程序。三、 四位拨动开关提供四位开关量输入,通过拨动不同的开关决定每一路的输入状态。四、 带锁按压开关S2带锁按压开关S2主要用于产生定时/计数器T0所需的外部计数脉冲和外部中断INT0所需的中断请求信号。每按一次脉冲源电路输出电平变化一次,按两次才会产生一个脉冲。五、 复位按键RST系统中有1个

6、复位按键,用于单片机复位,每按一下,单片机复位一次。六、 发光二极管当系统接通电源,处于工作状态时,二极管亮,否则二极管灭。第三章 相关软件的介绍STC89系列单片机大部分具有在系统可编程(ISP)特性,ISP的好处是:省去购买编程器,单片机在用户系统上即可下载/烧录用户程序,而无须将单片机从已生产好的产品上拆下,再用通用编程器将程序代码烧录进单片机内部。3.1 STC-ISP.exe软件的下载3.1.1 如何获得及使用STC提供的ISP下载工具(STC-ISP.exe软件):1. 获得STC提供的ISP下载工具(软件)登陆www.MCU-M网站,从STC半导体专栏下载PC端的ISP程序,然后

7、将其自解压,再安装即可(执行STC-ISP V391.exe),注意随时更新软件。下载界面如图3-1所示。2. 使用STC-ISP下载工具(软件),请随时更新。图3-1 STC-ISP.exe软件下载界面 3. 已经固化有ISP引导码,并设置为上电复位进入ISP的STC89C51RC/RD+系列单片机出厂时就已完全加密,需要单片机内部的电放光后上电复位(冷启动)才运行系统ISP程序。4. 如果电路板上除了接RS-232转换器外,还接了RS-485等电路,需要将其断开。系统接了RS-485电路的,推荐在选项中选择下次冷启动时需P1.0/P1.1=1.1才判是否下载程序。3.1.2 STC-ISP

8、.exe软件调试过程STC-ISP.exe软件运行界面如图3-2所示:调试步骤如下:1. 选择你所使用的单片机型号,例如,本实验电路板选用的单片机型号为STC89C52RC。2. 打开文件,选择要烧录的实验程序,必须调用实验程序代码,格式为*.bin或*.hex。(当在仿真软件中编译时自动生成*.hex文件)每烧写一次新程序,要先指定缓冲区起始地址并清缓冲区;如果重复使用程序,则不能再清缓冲区。3. 选择串行口,使用的电脑串口,如串行口1对应COM1,串行口2对应COM2有些新式笔记本电脑没有RS-232串行口,可买一条USB-RS232转换器。我们选择COM1。根据所选用的晶振来确定选择最高

9、波特率。4. 设置是否双倍速,双倍速选中Double Speed即可。我们选择单倍速。5. 选择“Download/下载”按钮下载用户的程序进单片机内部,可重复执行步骤5,也可选择“Re-Download/重复下载”按钮。下载时注意看提示,主要看是否要给单片机上电或复位,下载速度比一般通用编程器快。一般先选择“Download/下载”按钮(彻底断电),然后再给单片机上电复位,而不要先上电。新的设置冷启动后才生效。上电后,文件缓存区如图3-2右侧所示。图3-2 STC-ISP.exe软件运行界面第四章 实验指导书 实验一 数码管跑马显示一、实验目的1、 熟悉51单片机并行口的输入方式,输出方式的

10、编程;2、 熟悉共阴极LED的工作特性及控制方法;3、 学习在系统烧写单片机程序(在系统编程ISP)的方法。二、实验电路和程序1、 实验电路一个数码管由8个发光二极管组成,由于是共阴极,所以低电平选通。如图4-1所示,SN74ALS245A接成直通方式通过P0口驱动数码管。由74LS138对P1口译码控制SN74ALS245A驱动6个数码管的位选,剩余两路,一路接到发光二极管,另一路控制蜂鸣器。由程序进行选通控制。2、 程序(1) 汇编程序:通过程序控制使数码管进行从0到9的跑马显示和0.到9.的跑马显示,两个数字显示的间隙发光二极管发光,当跑马显示完毕后,发光二极管继续闪亮。通过复位按键进行

11、复位。图4-1 实验电路图图表 1ORG 0000HLJMP MAINORG 0030HMAIN: MOV A,#00H MOV P1,A MOV R0,#00H LS: MOV A,R0 MOV DPTR,#TAB0 MOVC A,A+DPTR MOV P1,A ;数码管位选跑马 MOV DPTR,#TAB1 MOV P0,A ;数码管数字显示 INC R0 ACALL DELAY MOV P1,#0E0H SJMP LSDELAY: MOV R5,#08H ;延时DELAY1: MOV R6,#0FAHDELAY2: MOV R7,#0FAH DJNZ R7,$ DJNZ R6,DELAY

12、2 DJNZ R5,DELAY1 RETTAB0: DB 00H,20H,40H,60H,80H,0A0H,00H,20H,40H,60H DB 80H,0A0H,00H,20H,40H,60H,80H,0A0H,00H,20HTAB1: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H, 7FH,6FH DB 0BFH,86H,0DBH,0CFH,0E6H,0EDH,0FDH,87H,0FFH,0EFHEND(2) C语言程序:通过程序控制使数码管进行从0到9的跑马显示和0.到9.的跑马显示,两个数字显示的间隙发光二极管发光,当跑马显示完毕后,发光二极管长亮。#inclu

13、de stdio.h#define uchar unsigned char#define uint unsigned intuint a20=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef;uint b20=0x00,0x20,0x40,0x60,0x80,0xa0,0x00,0x20,0x40,0x60,0x80,0xa0,0x00,0x20,0x40,0x60,0x80,0xa0,0x00,0x20;void delay(uint coun

14、t) /*延时子程序*/uint i;while(count-!=0)for(i=0;i72;i+);main()uint j;for(j=0;j20;j+) P0=aj; /*数字显示*/ P1=bj; /*数码管跑马*/ delay(1000); /*延时*/ P1=0xe0; (3) 自编程序:编程并烧写程序,6个数码管依次显示6,5,2,3,0.,9;然后,6个数码管同时点亮,显示65230.9。再编一个小程序,在五个数码管上显示“HELLO”。三、编写程序并在实验板上执行通过1、 数码管跑马显示09,0.9.,测试数码管性能;2、 数码管依次显示6,5,2,3,0.,9,由于数码管位

15、选决定每次只有一个数码管点亮,所以利用视觉误差使6个数码管同时点亮,显示65230.9;3、 自编数码管段代码,用数码管显示英文“HELLO”;4、 复位按键复位,重复执行。 实验二 行列按键显示1、 熟悉行列按键的定位方法;2、 进一步学习在系统编程(ISP)的方法。二、实验电路图4-2 实验电路图实验电路图如图4-2所示,按键信号由P2口进行识别,通过对按键坐标的判断来定义数码管的显示位和显示内容。三、实验程序16个按键按照从左至右,从上至下的顺序排列,操作时分别显示0,1,2,3,4,5,6,7,8,9,0.,1.,2.,3.,4.,8.;其中后六位分别代表A,B,C,D,E,F,复位键

16、复位。1、 汇编程序: KEYBUF EQU 30H ORG 0000H LJMP LS0 ORG 0030H LS0: MOV P2,#0FH ;判断纵坐标 MOV R1,#0FH AJMP SKH SKH: MOV A,P2 ANL A,R1 XRL A,R1 MOV R0,A CJNE A,#0FH,LS1 ACALL SKH LS1: MOV P2,#0F0H ;判断行坐标 MOV R2,#0F0H AJMP SKL SKL: ANL A,R2 XRL A,R2 MOV R6,A CJNE A,#0F0H,KEY0 ACALL SKL KEY0: MOV A,R6 ;判断如果是第一个按

17、键操作,则显示偏移量为0 ADD A,R0 CJNE A,#11H,KEY1 MOV KEYBUF,#0 LJMP UK KEY1:判断如果是第二个按键操作,则显示偏移量为1 ;依次类推 CJNE A,#21H,KEY2 MOV KEYBUF,#1 KEY2: MOV A,R6 CJNE A,#41H,KEY3 MOV KEYBUF,#2 KEY3: CJNE A,#81H,KEY4 MOV KEYBUF,#3 KEY4: CJNE A,#12H,KEY5 MOV KEYBUF,#4 KEY5: CJNE A,#22H,KEY6 MOV KEYBUF,#5 KEY6: CJNE A,#42H,

18、KEY7 MOV KEYBUF,#6 KEY7: CJNE A,#82H,KEY8 MOV KEYBUF,#7 KEY8: CJNE A,#14H,KEY9 MOV KEYBUF,#8 KEY9: CJNE A,#24H,KEY10 MOV KEYBUF,#9 KEY10: CJNE A,#44H,KEY11 MOV KEYBUF,#10 KEY11: CJNE A,#84H,KEY12 MOV KEYBUF,#11 KEY12: CJNE A,#18H,KEY13 MOV KEYBUF,#12 KEY13: CJNE A,#28H,KEY14 MOV KEYBUF,#13 KEY14: CJ

19、NE A,#48H,KEY15 MOV KEYBUF,#14 KEY15: CJNE A,#88H,KEY16 MOV KEYBUF,#15 KEY16: LJMP LS0 UK: MOV A,KEYBUF ;数码显示模块 LCALL DELAY MOV A,KEYBUF MOV P0,A LCALL DL10MS MOV R2,#0FEH DJNZ R2,DELAY1DL10MS: MOV R3,#14HDL10MS1: DJNZ R3,DL10MS1 RET DB 00H,20H,40H,60H,80H,0A0H,00H,20H DB 40H,60H,80H,0A0H,00H,20H,40

20、H,60H DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H DB 7FH,6FH,0BFH,86H,0DBH,0CFH,0E6H,0FFH2、 C语言程序:uchar a44=0x00,0x20,0x40,0x60,0x80,0xa0,0x00,0x20,0x40,0x60,0x80,0xa0,0x00,0x20,0x40,0x60;uchar b44=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0xbf,0x86,0xdb,0xcf,0xe6,0xff;uchar rnum,lnum;void delay(uint

21、 count) /*延时*/uchar t;for(t=0;tt+);uchar keysacn(void) P2=0x0f; /*确定按键列*/if(P2&0x0f)!=0x0f) delay(5); if(P2& if(P2=0x0e) rnum=1; if(P2=0x0d) rnum=2; if(P2=0x0b) rnum=3; if(P2=0x07) rnum=4; P2=0xf0; /*确定按键行*/0xf0)!=0xf0) if(P2=0xe0) lnum=1; if(P2=0xd0) lnum=2; if(P2=0xb0) lnum=3; if(P2=0x70) lnum=4;P

22、0=brnum-1lnum-1;P1=arnum-1lnum-1;while(1)keysacn();3、 自编程序编程并烧写程序,按键1按下,数码管显示65230.9,数码管2按下显示“HELLO”。四、编写程序并在实验板上执行通过1、 调试已有程序,实现按键操作与数码管显示的对应;2、 按键1操作,显示6523.9;按键2操作,显示“HELLO”;3、 复位,重复操作。 实验三 中断了解中断的产生及影响过程,掌握中断程序的编制。二、实验连线用短接块将JP2的3、4脚相连(即连向INT0方向),RS触发器(消抖电路)向单片机的外部中断INT0引脚提供中断所需的脉冲,每按两次开关S2,电平变反

23、一次,产生一个跳变沿,作为外部中断INT0的中断请求信号。实验电路如图4-3所示。图4-3 实验电路图记录并显示INT0的中断次数,在数码管中显示出来,即每产生一次中断,显示加一。中断次数不超过16次1、 汇编程序 AJMP NT ORG 0003H AJMP INT0RNT: MOV IE,#81H ;允许INT0中断,置EA=1 SETB IT0 ;边沿触发中断 MOV R0,#00H ;计数初值为0 BIO: MOV P1,#0A0H ;第6个数码管显示终端次数 MOV DPTR,#TAB0 ;字形码表送至DPTR MOVC A,A+DPTR ;查表显示 SJMP $ ;等待中断INT0R: CJNE R0,#10H,RET0 ;中断是否满15次循环RET0: POP DPH POP DPL MOV DPTR,#BIO PUSH DPL ;修改终端返回值 PUSH DPH RETI DB 7FH,6FH,0BFH,0DBH,0CFH,0E6H,0EDH,0F

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1