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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

单片机实训课程设计.docx

1、单片机实训课程设计机电工程系单片机原理与接口技术实训课程设计专业: 机械设计制造及其自动化 班级: 姓名: 学号: 指导教师: 袁益民 (2010年11月19日)实训一:单片机实时交通信号灯控制模拟一 实训目的:1.了解可编程I/O芯片8255的结构功能及编程方法 2. 学习掌握用单片机进行交通灯控制的实现方法。 3. 掌握用软件编程实现延时的方法。二 设计内容及要求:1. 编程DJ598KC单片机扩展连接的8255的PA、PB口为输出I/O口,控制DJ598KC实验箱上的黄、绿、红、三色十二个发光二 极管亮灭,并分别用实验箱上的两位七段LED数码倒计时显示两通车道车辆通行时间(即黄、绿、红三

2、色发光二 极管亮灭时间),模拟十字路口交 通信号灯控制和管理,并完成在DJ598KC单片机实验箱上的仿真。 2. 将8255的PA、PB口输出控制改为用单片机的P1、P3口实现输出控制,再完成控制电路连接设计及控制程序的编制和仿真。三 实训相关图形 1 8255 控制电路逻辑图2 DJ-598KC实验系统LED显示器接口电路连接3 控制程序框图 4 8255A的逻辑结构和信号引脚 5 DJ-5198KC实验箱8255的I/O口地址分配 6 用单片机P1和P3口的控制电路逻辑图四 程序清单ORG 0100HHA4S:MOV SP,#60H; 8255初始化 MOV DPTR,#0FF2BH MO

3、V A,#88H MOVX DPTR,A MOV DPTR,#0FF23H MOV A,#88H MOVX DPTR,A ;四个红灯 MOV DPTR,#0FF28H MOV A,#0B6H MOVX DPTR,A INC DPTR MOV A,#0DH MOVX DPTR,A ;5秒延时 MOV 2AH,#05H LCALL DELAY;东西绿灯,南北红灯HA4S3: MOV DPTR,#0FF28H MOV A,# 75 H MOVX DPTR,A INC DPTR MOV A,# 0D H MOVX DPTR,A ; 80秒延时 MOV 2AH,#50H LCALL DELAY ;东西黄

4、灯,南北红灯HA4S1:MOV DPTR,#0FF28H MOV A,# 0 F3 H MOVX DPTR,A INC DPTR MOV A,# 0C H MOVX DPTR,A ;10秒延时 MOV 2AH,#0AH LCALL DELAY ;东西红灯,南北绿灯 MOV DPTR,#0FF28H MOV A,# 0AE H MOVX DPTR,A INC DPTR MOV A,# 0B H MOVX DPTR,A ; 50秒延时 MOV 2AH,#32H LCALL DELAY;东西红灯,南北黄灯HA4S2: MOV DPTR,#0FF28H MOV A,#9EH MOVX DPTR,A I

5、NC DPTR MOV A,#07H MOVX DPTR,A;10秒延时 MOV 2AH,#0AH LCALL DELAY LJMP HA4S3 ;重复东西通行DELAY:LCALL DISP DJNZ 2AH, DELAY RETDISP:MOV A,2AH MOV B,#0AH DIV AB MOV DPTR,# TABLE MOVC A,A+DPTR MOV R2,A MOV A,B MOVC A,A+DPTR MOV R3,A MOV P2,#0FFH MOV R0,#21H MOV R1,#20H MOV R6,#0FAH ; 250(25081)211)s LOOP: MOV R5

6、,#0FAH LOOP1: MOV A,R3 MOVX R0,A MOV A ,#0FEH MOVX R1,A DJNZ R5,LOOP1 MOV R5,#0FAH LOOP2:MOV A,R2 MOVX R0,A MOV A,#0FDH MOVX R1,A DJNZ R5,LOOP2 DJNZ R6,LOOP RET TABLE:DB 0C0H,0F9H,0A4H,0B0H,99H DB 92H,82H,0F8H,80H,90H END五 程序小结 为期一周的单片机课程设计让我们受益匪浅. 学到了很多东西,不管怎么样,先感谢学校给我的这么多机会.真正的学到了东西. 在以前的实训中,有接触过用

7、PLC控制交通灯中各个灯泡的点亮顺序,在这周的实训中,用可编程I/O芯片8255控制交通灯,了解可编程I/O芯片8255的结构功能及编程方法,用软件实现延时的方法程序基本编写成功,这是我们共同努力的结果,在享受我们成果之时,不得不感慨单片机的重要性与高难度性,所以为期一周的单片机课程设计没有浪费,我们从中学到了很多知识.,也让我们对单片机有了更深一步的了解.虽然最后结果是出来了,可这与老师的精心指导是分不开的。实训二:七段LED数码显示接口与控制设计一 实训目的:1.熟悉和掌握MCS-51单片机与 七段LED显示器接口的方法。 2.掌握七段LED显示器显示字符的控制方法及可编程I/O芯片825

8、5的功能和初始化编程的方法。二 实训内容:1.熟悉和掌握单片机与LED七段显示器硬件连接电路的设计; 2.设计一字符表演程序,使字符 0 F 在DJ-598KC实验箱上的6位 LED 显示器上实现自动顺序逐位循环显示和全显示。 3.编程将片内30H单元的两位16进制数转换成三位十进制数,并用DJ-598KC实验箱上的左边两位LED 显示两位16进制数,用右边三位LED上显示转换的三位十进制值。三 七段LED显示器接口介绍:1 七段LED结构及外形图2 七段LED字型码字型码格式dpgfedcba 3 89C51与 LED显示器接口连接(DJ-598KC实验系统) 4 8255A的逻辑结构和信号

9、引脚 5 DJ-5198KC实验箱8255的I/O口地址分配四 参考程序清单ORG 0100H MOV SP,#50H START:MOV R7, #0FFH MEMS:INC R7 MOV A,R7 MOV DPTR, #TABLE MOVC A, A+DPTR MOV 20H,A ACALL SOX0 CJNE R7, #0FH, MEMS MOV R7,#0MEMS2:MOV A,R7 MOV DPTR, #TABLE MOVC A, A+DPTR MOV 20H,A ACALL SOX1 INC R7 CJNE R7, #10H, MEMS2 SJMP START ORG 01A0HS

10、OX0:MOV P2,#0FFH MOV DPTR,#0FF23H MOV A,#88H MOVX DPTR,A MOV A,20H MOV R0,# 21H MOV R1,# 20H MOVX R0,A MOV A,# 0C0H MOVX R1,A MOV R2,#20H LCALL DELY RETSOX1:MOV P2,#0FFH MOV DPTR,#0FF23H MOV A,#88H MOVX DPTR,A MOV A,20H MOV R0,# 21H MOV R1,# 20H MOVX R0,A MOV A,# 0FE H SOX2: MOVX R1,A MOV R2,#20H LC

11、ALL DELY RL A CJNE A,#0BFH,SOX2 RET DELY:PUSH 02H DEL2:PUSH 02H DEL3:PUSH 02H DEL4:DJNZ R2,DEL4 POP 02H DJNZ R2,DEL3 POP 02H DJNZ R2,DEL2 POP 02H DJNZ R2,DELY RETTABLE:DB 0C0H,0F9H,0A4H,0B0H DB 99H,92H,82H,0F8H DB 80H,90H,88H,83H DB 0C6H,0A1H,86H,8EH END将片内30H单元的两位16进制数转换成三位十进制数参考程序: ORG 0000HLJMP S

12、TARTORG 0100H START:MOV R0,#30HMOV A,R0MOV B,#64H DIV ABINC R0MOV R0,AMOV A,BMOV B,#0AH DIV ABINC R0MOV R0,AMOV A,B INC R0 MOV R0,ADISP:MOV DPTR,#0FF23H MOV A,#88H MOVX DPTR,ALOOP:MOV R0,#30H MOV A,R0 ANL A,#0F0H SWAP A MOV DPTR,#SEG MOVC A,A+DPTR MOV DPTR,#0FF21H MOVX DPTR,A MOV A,#0DFH MOV DPTR,#0

13、FF20H MOVX DPTR,A ACALL DL MOV A,R0 ANL A,#0FH MOV DPTR,#SEG MOVC A,A+DPTRMOV DPTR,#0FF21H MOVX DPTR,A MOV A,#0EFH MOV DPTR,#0FF20H MOVX DPTR,A ACALL DL INC R0 MOV R3,#0FBH LD0:MOV A,R3 MOV DPTR,#0FF20H MOVX DPTR,A MOV DPTR,#SEG MOV A,R0DIR0:MOVC A,A+DPTR MOV DPTR,#0FF21HDIR1:MOVX DPTR,A ACALL DL IN

14、C R0MOV A,R3 JNB ACC.0,LOOP RR A MOV R3,A LJMP LD0DL:MOV R6,#01FHDELAY2:MOV R7,#018HDELAY1:DJNZ R7,DELAY1 DJNZ R6,DELAY2 RETSEG:DB 0C0H,0F9H,0A4H DB 0B0H,99H,92H,82H DB 0F8H,80H,90H,88H,83H DB 0C6H,0A1H,86H,8EH END五 实训小结 在这次课程设计中,我们运用到了以前所学的专业课知识,如:C语言、模拟和数字电路知识等。虽然过去从未独立应用过它们,但在学习的过程中带着问题去学我发现效率很高,

15、这是我做这次课程设计的又一收获。 最后,在实习之前,我们要对所用单片机的内部结构有一个系统的了解,知道该单片机内有哪些资源;要有一个清晰的思路和一个完整的的软件流程图;在设计程序时,不能妄想一次就将整个程序设计好,反复修改、不断改进是程序设计的必经之路;要养成注释程序的好习惯,一个程序的完美与否不仅仅是实现功能,而应该让人一看就能明白你的思路,这样也为资料的保存和交流提供了方便;在实习过程中遇到问题是很正常的,但我们应该将每次遇到的问题记录下来,并分析清楚,以免下次再碰到同样的问题。但是从中学到的知识会让我受益终身。发现、提出、分析、解决问题和实践能力提高都会受益于我在以后的学习、工作和生活中

16、 。实训三:基于8051单片机的数字电压表的设计与仿真一、 设计目的:1.掌握A/D、D/A转换与单片机接口连接的方法;2.了解A/D芯片ADC0809、D/A芯片DAC0832的转换性能及编程方法;3.通过实验了解单片机扩展A/D、D/A转换芯片的方法,学会和掌握用单片机进行数据采集;二、 设计要求将实验箱DJ598上的ADC0809作为A/D转换器,用实验箱上的电位器提供模拟量输入,编制程序,将模拟量转换成数字量,在利用DAC0832 D/A数模转换器输出,通过数码管显示出结果,构成一个简易数字电压表。三、 设计内容使用ADC0809的0通道(IN0),进行05V直流电压的A/D转换,并通

17、过DAC0832输出相似的电压值。 0通道的电压输入由实验箱模拟量产生模块的电位器调整,电压测试点为AOUT1。顺时针旋转,电压增大,最大5V;逆时针旋转电压减小,最小为0V。将DAC0832得AOUT 的输出接数字电压表,使DAC0832的输出电压为05V。实验中采用延时方式或查询方式等待A/D转换结果。四、 实验电路1. 单片机与ADC0809实验接线图2. 单片机与DAC0832实验接线图五、 参考程序 ORG 0000H DAC0832 EQU 0FF90H ADC0809_0 EQU 0FF80H LJMP STRAT ORG 0100H START: MOV SP,#60H MOV

18、 A,#81H MOV DPTR,#0FF23H MOVX DPTR,A ;初始化显示缓冲区 MOV 7EH,#00H MOV 7DH,#08H MOV 7CH,#00H MOV 7BH,#09H MOV 7AH,#10H MOV 79H,#10H LO18:LCALL SSEE ;显示A/D转换的结果 MOV DPTR,#ADC0809_0 MOV A,#00H MOVX DPTR,A ;启动A/D转换 MOV R7,#0AH DELAY:NOP ;延时100S,等待A/D转换结束 NOP NOP DJNZ R7,DELAY NOP ;读取A/D转换的结果 MOVX A,DPTR NOP ;

19、可在此处设置断点,观察累加器A中 MOV DPTR,#DAC0832 MOVX DPTR, A NOP ;将结果写入DAC0832转换成电压输出,可测量输出点AOUT ;可在此设置断点,比较AOUT1和AOUT得值是否相同 MOV R0,#79H LCALL PTDS ; 送累加器A中A/D转换的值到显示缓冲区 SJMP LO18 ORG 05D0H PTDS:MOV R1,A ;拆送累加器A中A/D转换的值显示缓冲区 ACALL PTDS1 MOV A,R1 SWAP A PTDS1:ANL A,#0FH MOV R0,A INC R0 RET ORG 0D50H ;显示A/D转换的值子程序

20、 SSEE:SETB RS1 ;切换工作区 MOV R5,#05H SSE2:MOV 30H,#20H MOV 31H,#7EH MOV R7,#06H SSE1:MOV R1,#20H MOV A,30H CPL A MOVX R1,A ;字位送入 MOV R0,31H MOV A,R0MOV DPTR,#DDFF MOVC A,A+DPTR ;取字形代码 MOV R1,#21H MOVX R1,A ;字形送入 MOV A,30H RR A ;右移 MOV 30H,A DEC 31H MOV A,#0FFH MOVX R1,A ; 关显示 DJNZ R7,SSE1 ; 六位显示完了吗? DJ

21、NZ R5,SSE2 ; 5次显示完了吗? CLR RS1 RET ;0F字符字型代码表DDFF:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H DB 88H,83H,0C6H,0A1H,86H,8EH,0FFH,0CH,89H,0DEH END六、 实训小结经过这次实训,使我得到了一次专业知识,专业技能和解决问题全面的锻炼。使我在单片机的基本原理,单片机的应用系统的开发过程,以及常用编程设计使用技巧的掌握方面都迈向前一大步。通过本次实验,了解单片机扩展A/D、D/A转换芯片的方法,学会和掌握用单片机进行数据采集和A/D芯片ADC0809、D/A芯片DAC0832的转换性能及编程方法。在今后单片机的实际应用方面有了比较不错的铺垫。在设计过程中,出现一些问题,但都是一些常见的小问题,在调试中出现问题,不过这些都是经常性错误,经过调试修改都一一解决,程序顺利进行,并实现了其功能。

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

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