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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

单片机实训手册.docx

1、单片机实训手册目 录实验一 储存器块清零 3实验二 二进制BCD码转换 5实验三 二进制ASCII码转换 7实验四 程序跳转表 9实验五 内存块移动 11实验六 数据排序 13实验七 I/0口输入输出实验 15实验八 定时器实验 16实验九 计数器实验 18实验十 A/D转换电路实验 21实验十一 D/A转换电路实验 24实验十二 数字显示电路 27实验十三 单片机与PC机的RS232串行通信实验 30运动小车平台实验 32实验一 逻辑电路控制的定速往复运动 32实验二 逻辑电路控制的变速往复运动 34实验三 逻辑电路控制的位置闭环控制实验 37实验四 逻辑电路控制的速度闭环控制实验 39水箱

2、液位对象实验 40实验一 逻辑电路实现水箱温度的开关控制实验 40实验二 水箱加热系统及温度测试实验 42实验三 逻辑电路实现水箱液位的开关电路实验 44电子秤实验 46数控直流稳压电源实验 50数字语音系统实验 51密码电子锁电路实验 70实验一 储存器块清零一实验目的1通过实验了解单片机的数据存储器写入与擦除的方法;2学习使用伟福软件。二实验内容编程实现0030H0039H RAM的内容清零。三实验步骤1运行Keil C51软件,新建一个工程(如clr),新建一个文件CLRasm。 将文件添加到工程中并编译,如有错,请更改直到编译成功,如有错,请更改直到编译成功2点击按钮或单击“Proje

3、ct”菜单,在下拉菜单中单击“Start/Stop Debug Session”(或者使用快捷键Ctrl+F5)进入调试模式,在调试模式下,会出现以下窗口,其中中间的窗口为存储器窗口3在存储器窗口中输入D:30H,然后单步执行,查看30H39H单元值的变化。四实验器材1电脑;2Keil C51软件。五实验参考程序 ORG 0000H LJMP START ORG 0030HSTART: MOV 30H,#10H MOV 31H,#11H MOV 32H,#12H MOV 33H,#13H MOV 34H,#14H MOV 35H,#15H MOV 36H,#16H MOV 37H,#17H M

4、OV 38H,#18H MOV 39H,#19H MOV R0,#30HLOOP1: CLR A MOV R0,A INC R0 CJNE R0,#3AH,LOOP1 END实验二 二进制BCD码转换一实验目的1通过实验了解十进制转二进制BCD码的方法。2学习使用伟福软件。二实验内容把123转换成二进制BCD码再以16进制存于30H32H中。三实验步骤1运行Keil C51软件,新建一个工程(如clr),新建一个文件CLRasm。 将文件添加到工程中并编译,如有错,请更改直到编译成功。2点击按钮或单击“Project”菜单,在下拉菜单中单击“Start/Stop Debug Session”(

5、或者使用快捷键Ctrl+F5)进入调试模式,在调试模式下,会出现以下窗口,其中中间的窗口为存储器窗口。3在存储器窗口中输入D:30H,然后单步执行,查看30H32H单元值的变化内容的变化。四实验器材1电脑;2Keil C51软件。五实验参考程序RESULT EQU 30HORG 00HLJMP STARTSTART:MOV SP,#40H MOV A,#123 LCALL BINTOBAC SJMP $BINTOBAC:MOV B,#100 DIV AB ;除以100得百位数 MOV RESULT,A MOV A,B MOV B,#10 DIV AB ;余数除以10得十位数 MOV RESUL

6、T+1,A MOV RESULT+2,B ;余数为个位数 RET END实验三 二进制ASCII码转换一实验目的1通过实验了解数值转二进制ASCII码的方法。2学习使用伟福软件。二实验内容把1AH转换成二进制ASCII码再存于30H31H中。常用ASCII码代码字符代码字符代码字符代码字符代码字符3252472H92112p33!53573I93113q3454674J94114r35#55775K95_115s36$56876L96116t37%57977M97a117u38&58:78N98b118v3959;79O99c119w40(6082R102f122z43+63?83S103g1

7、2344,6484T104h124|48-65A85U105i1254666B86V106j12647/67C87W107k48068D88X108l49169E89Y109m50270F90Z110n51371G91111o三实验步骤1 运行Keil C51软件,新建一个工程(如clr),新建一个文件CLRasm。 将文件添加到工程中并编译,如有错,请更改直到编译成功2 点击按钮或单击“Project”菜单,在下拉菜单中单击“Start/Stop Debug Session”(或者使用快捷键Ctrl+F5)进入调试模式,在调试模式下,会出现以下窗口,其中中间的窗口为存储器窗口。在存储器窗口中

8、输入D:30H,然后单步执行,查看30H31H单元值的变化。四实验器材1电脑;2Keil C51软件。五实验参考程序RESULT EQU 30HORG 00HSTART:MOV A,#1AH CALL BINTOHEX LJMP $BINTOHEX: MOV DPTR,#ASCIITAB MOV B,A ;暂存A SWAP A ANL A,#0FH ;取高四位 MOVC A,A+DPTR ;查ASCII表 MOV RESULT, A MOV A,B ;恢复A ANL A,#0FH ;取低四位 MOVC A,A+DPTR ;查ASCII表 MOV RESULT+1,A RETASCIITAB:

9、DB 48,49,50,51,52,53,54,55 DB 56,57,65,66,67,68,69,70 ;定义数字对应的ASCII表 END实验四 程序跳转表一实验目的1通过实验理解地址偏移量的概念和程序跳转表的使用方法。2学习使用伟福软件。二实验内容以查表的方式执行跳转指令使30H33H显示不同的值。三实验步骤1 运行Keil C51软件,新建一个工程(如clr),新建一个文件CLRasm。 将文件添加到工程中并编译,如有错,请更改直到编译成功2 点击按钮或单击“Project”菜单,在下拉菜单中单击“Start/Stop Debug Session”(或者使用快捷键Ctrl+F5)进入

10、调试模式,在调试模式下,会出现以下窗口,其中中间的窗口为存储器窗口3 在存储器窗口中输入D:30H,然后单步执行,查看30H33H单元值的变化四实验器材1电脑;2Keil C51软件。五实验参考程序ORG 0000HSTART:MOV A,#0 ;设置地址偏移量CALL FUNCENTERMOV A,#1 ;设置地址偏移量CALL FUNCENTERMOV A,#2 ;设置地址偏移量CALL FUNCENTERMOV A,#3 ;设置地址偏移量CALL FUNCENTERLJMP $FUNCENTER:ADD A,ACC ;AJMP为二字节指令,地址偏移量*2MOV DPTR,#FUNCTAB

11、 ;设置基址JMP A+DPTR ;跳转到目标地址FUNCTAB:AJMP FUNC0AJMP FUNC1AJMP FUNC2AJMP FUNC3FUNC0:MOV 30H,#0 RETFUNC1:MOV 31H,#1 RETFUNC2:MOV 32H,#2 RETFUNC3:MOV 33H,#3 RETEND实验五 内存块移动一实验目的1 通过实验学习对存储器的操作。2 学习使用伟福软件。二实验内容把内部RAM 50H59H中的数据移到60H69H中。三实验步骤1运行Keil C51软件,新建一个工程(如clr),新建一个文件CLRasm。 将文件添加到工程中并编译,如有错,请更改直到编译成

12、功。2点击按钮或单击“Project”菜单,在下拉菜单中单击“Start/Stop Debug Session”(或者使用快捷键Ctrl+F5)进入调试模式,在调试模式下,会出现以下窗口,其中中间的窗口为存储器窗口。3在存储器窗口中输入D:50H,然后单步执行,查看50H59H和60H-69H单元值的变化。四实验器材1电脑;2Keil C51软件。五实验参考程序ORG 0000H AJMP START ORG 0100HSTART: MOV 50H,#00HMOV 51H,#01H MOV 52H,#02H MOV 53H,#03H MOV 54H,#04H MOV 55H,#05H MOV

13、56H,#06H MOV 57H,#07H MOV 58H,#08H MOV 59H,#09H MOV R0,#50H ;源地址 MOV R1,#60H ;目的地址 MOV R2,#10LOOP: MOV A,R0 MOV R1,A INC R0 INC R1 DJNZ R2,LOOP END实验六 数据排序一实验目的1通过实验学习数据排序的编程方法。2学习使用伟福软件。二实验内容把11个无序数据存于30H3AH中,然后以从小到大的顺序排列在30H3AH中。三实验步骤1运行Keil C51软件,新建一个工程(如clr),新建一个文件CLRasm。 将文件添加到工程中并编译,如有错,请更改直到编

14、译成功2点击按钮或单击“Project”菜单,在下拉菜单中单击“Start/Stop Debug Session”(或者使用快捷键Ctrl+F5)进入调试模式,在调试模式下,会出现以下窗口,其中中间的窗口为存储器窗口3在存储器窗口中输入D:30H,然后单步执行,查看30H3AH单元值的变化。四实验器材1电脑;2Keil C51软件。五实验参考程序ORG 0000H LJMP START ORG 0100HSTART: MOV 50H,#30H MOV 51H,#11H MOV 52H,#18H MOV 53H,#09H MOV 54H,#01H MOV 55H,#2AH MOV 56H,#36

15、H MOV 57H,#17H MOV 58H,#28H MOV 59H,#79H MOV 5AH,#0A9H MOV R3,#50HQUE1: MOV A,R3 ;指针送R0 MOV R0,A MOV R7,#0AH ;长度送R7 CLR 00H ;清标志位 MOV A,R0QL2 : INC R0 MOV R2,A CLR C MOV 22H,R0 CJNE A,22H,QL3 ;相等吗? SETB CQL3: MOV A,R2 JC QL1 ;大于交换位置 SETB 00H XCH A,R0 DEC R0 XCH A,R0 INC R0 ;大于交换位置QL1: MOV A,R0 DJNZ

16、R7,QL2 JB 00H,QUE1 ;一次循环中有交换继续 END实验七 I/0口输入输出实验一实验目的通过实验学会使用51系列单片机I/O口的基本输入输出功能。二实验内容向P32口送数据,单片机从P0口输入的状态数据后,再从P12口将该数据输出至发光二极管显示。三实验器材1主控屏+5V电源和12V电源;2DCP-002 单片机89S51电路;3DCP-0011 DA转换电路;4电脑及Keil C51软件;5也可用数据开关及电平指示给定输入和检测输出。四实验步骤1把模块的电源接主控屏的+5V和12V。2接DCP-002上的P31到+5或0V,DCP-002上的P11接DCP-0011上的D1

17、。 3运行Keil C51软件,新建一个工程(如IO),新建一个文件(如IOasm)。将文件添加到工程中,编写程序并编译,如有错,请更改直到编译成功。4用编程器将生成的HEX文件烧写到单片机中;或用仿真器来执行程序,将程序下载到仿真器中;或用ISP在线烧写技术将生成的HEX文件烧写到S系列单片机中;或用串口烧写技术将生成的HEX文件烧写到有此功能的单片机中。5运行实验程序,改变DCP-002上的P32电平,观察电平指示灯DS1的变化。 五实验参考程序ORG 0000HAJMP LOOPORG 0030HLOOP: MOV A,P3 MOV P1,AJMP LOOPEND实验八 定时器实验一实验

18、目的1通过实验学习单片机的定时器功能,学会编程实现单片机的定时功能。2掌握定时中断处理程序的编程方法。3掌握查表的编程方法。二实验内容由单片机内部定时器1,按方式1工作,即作为16位定时器使用每005秒钟T1溢出中断一次。P1口的P10-P13分别接4个发光二极管。编写程序模拟一时序控制装置。上电后第一秒钟L1亮,第二秒钟L2亮,第三秒钟L3亮,第四秒钟L4亮,第五秒L1,L3亮,第六秒钟L2,L4亮,第七秒钟4个二极管全亮,第八秒钟全灭,以后又从头开始,L1亮,然后L2亮一直循环下去。三实验器材1主控屏+5V电源和12V电源;2DCP-002 单片机89S51电路;3DCP-0011 DA转

19、换电路;4电脑及Keil C51软件;5也可用电平指示检测输出。四实验步骤1把2块模块的电源接主控屏的+5V和12V。2DCP-002上的P10, P11, P12 ,P13,分别接到DCP-0011上的D1D4上。 3运行Keil C51软件,新建一个工程,新建一个文件。将文件添加到工程中,编写程序并编译,如有错,请更改直到编译成功。4用编程器将生成的HEX文件烧写到单片机中;或用仿真器来执行程序,将程序下载到仿真器中;或用ISP在线烧写技术将生成的HEX文件烧写到S系列单片机中;或用串口烧写技术将生成的HEX文件烧写到有此功能的单片机中。5运行实验程序,观察实验现象,可以看到电后第一秒钟L

20、1亮,第二秒钟L2亮,第三秒钟L3亮,第四秒钟L4亮,第五秒L1,L3亮,第六秒钟L2,L4亮,第七秒钟4个二极管全亮,第八秒钟全灭,以后又从头开始,L1亮,然后L2亮一直循环下去。五实验参考程序 ORG 0000H AJMP START ORG 0100HSTART: MOV TMOD,#10H ;置T1为方式1 MOV TL1,#0B0H ;延时50mS的时间常数 MOV TH1,#3CH SETB TR1LP3: MOV R0,#00H MOV R1,#20 LP1: JBC TF1,LP2 SJMP LP1LP2: DJNZ R1,LP1 MOV R1,#20 ;延时一秒的常数 MOV

21、 DPTR,#TABLE ;置常数表基址 MOV A,R0 ;置常数表偏移量 MOVC A,A+DPTR ;读表 MOV P1,A ;送P1口显示 INC R0 CJNE R0,#08,LP1 LJMP LP3TABLE: DB 01H,02H,04H,08H,05H,0aH,0FFH,00H ;LED显示常数表END实验九 计数器实验一实验目的1通过实验掌握单片机计数编程的方法。2通过实验掌握8279的使用方法。二实验内容编写09的手动计数程序,按下加1(F1)键数值加1,通过数码管显示数值,加到10数值变为0,继续从0加到9重复显示,按下复位键(F2)显示为初值0。 三实验器材1主控屏+5

22、V电源;2DCP-002 单片机89S51电路;3DCP-003 键盘及LED数字显示电路;4电脑及Keil C51软件。四实验步骤1把模块的电源接主控屏的+5V。2DCP-002上的P32接DCP-003上的/INT;3DCP-002上的ALE接DCP-003上的CLK;4DCP-003上的CS和RST接GND即可;5用扁平带连接DCP-002上的P2和 DCP-003上的P1端子。6运行Keil C51软件,新建一个工程,新建一个文件。将文件添加到工程中,编写程序并编译,如有错,请更改直到编译成功。7用编程器将生成的HEX文件烧写到单片机中;或用仿真器来执行程序,将程序下载到仿真器中;或用

23、ISP在线烧写技术将生成的HEX文件烧写到S系列单片机中;或用串口烧写技术将生成的HEX文件烧写到有此功能的单片机中。8运行实验程序,按下加1(F1)键数值加1,按下复位键(F2)显示为初值0。注意:使用此程序,DCP-002上的GAL16V8要写入yyhfjed文件。五实验参考程序ORG 0000HAJMP MAINORG 0003HAJMP INT00 ;外中断0ORG 0100HMAIN:MOV SP,#60H ;设置堆栈 MOV DPTR,#0b000H ;CS接地了,A0接P24,8279命令状态寄存器地址为0FFFFH,A0=1 MOV A,#0D1H ;总清8279 MOVX D

24、PTR,A MOV 30H,#0AH ;显示器送0 MOV 31H,#0AH MOV 32H,#0AH MOV 33H,#0AH MOV 34H,#0AH MOV 35H,#0AH MOV 36H,#0AH MOV 37H,#00HWAIT:MOVX A,DPTR ;读状态字 JB ACC7,WAIT ;Du=1循环等待 MOV A,#32H ;设置内部分频约为110592/6/100=18,CLK接ALE MOVX DPTR,A MOV A,#00H ;设置工作方式,左端输入,双键互锁,编码扫描 MOVX DPTR,AHERE:ACALL DIR ;调显示 SETB EA ;开中断 SETB

25、 EX0 ;允许外中断0 SETB T0 ;外中断0边沿触发HERE1:SJMP HERE DIR: MOV DPTR,#0b000H MOV A,#90H ;向8279发出显示RAM命令 MOVX DPTR,A MOV R1,#08H ;8位显示 MOV R0,#30H ;显示缓冲区域LED: MOV A,R0 MOV DPTR,#TAB ;查表 MOVC A,A+DPTR MOV DPTR,#09000H ;A0=0 读写一般数据 MOVX DPTR,A ;写入显示RAM INC R0 DJNZ R1,LED RET ;ajmp dirTAB:DB 0F3H,60H,0B5H,0F4H ;

26、0123 DB 66H,0D6H,0D7H,70H ;4567 DB 0F7H,0F6H,00H ;89 INT00:PUSH ACC ;中断处理子程序 PUSH PSW PUSH DPH PUSH DPL ;保护现场 MOV PSW,#18H MOV DPTR,#0b000H MOV A,#40H ;向8279发出显示RAM命令 MOVX DPTR,A MOV DPTR,#09000H MOVX A,DPTR ;取出键值 CJNE A,#22H,ZZ ;判断键值是否为F1键 LJMP F1ZZ: CJNE A,#21H,TOUT ;判断键值是否为F2键 LJMP F2TOUT:LCALL D

27、IR POP DPL POP DPH POP PSW POP ACC RETIF2: MOV 37H,#00H LJMP TOUTF1: MOV A,37H CJNE A,#09H,JF MOV 37H,#00H LJMP TOUTJF: INC 37H LJMP TOUT END实验十 A/D转换电路实验一实验目的1了解A/D转换的原理。2掌握A/D转换的控制过程。二实验器材1主控屏+5V及正负12V电源;2DCP-0010 A/D转换电路;3万用表(自备)。三实验原理A/D转换电路主要由模拟信号输入、ADC0804及外围电路、数字信号输出电路组成。模拟信号输入电路如图所示:输入模拟电压Vin先经过由运放“U1:A”构成的反相比例放大器反相。可以通过调节RW1来调节输入幅度,使输入ADC0804芯片的模拟电压量小于参考电压。再经过由运放“U1:B”构成的反相比例放大器,再次反相。通过RW2进行调零,使得输入ADC0804芯片的模拟电压始终为正,且与输入电压Vin同相,输入到ADC0804的Vin(+)端。本电路的输入电阻为R1,考虑到前一级电路的带负载能力,可以取R1的阻值为10k。 管脚1118为8位二进制数字量输出; 管脚67为模拟量输入; 管脚419,为A/D转换所需的时钟信号输入端;管脚8,AG

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

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