版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、单片机原理及接口技术 学院:光电信息科学与技术学院班级:一一实验报告册083-1实验一系统认识实验1.1 实验目的1. 学习 keil C51 集成开发环境的操作。2.熟悉 td-51 系统板的结构和使用。1.2 实验仪器pc 机一台, td-nmc+ 教学实验系统。 1.3 实验内容1. 编写实验程序,将 00h 0fh 共 16 个数写入单片机内部 ram 的 30h 3fh 空间。2. 编写实验程序,将 00h 到 0fh 共 16 个数写入单片机外部 ram 的 1000h 到 100fh 空间。 1.4 源程 序1.org 0000hmov r1,#30h mov r2, #10h
2、mov a, #00h mov r1, a inc r1 inc a djnz r2,loop sjmp $ end2. org 0000hmov dptr, #1000h mov r2, #10h mov a, #00h movx dptr, a inc dptr inc a djnz r2,loop sjmp $ endloop:loop:1.5 实验步骤1. 创建 keil c51 应用程序(1) 运行 keil c51 软件,进入 keil c51 集成开发环境。-3 - ( 2)选择工具栏的 project 选项,弹出下拉菜单,选择 n ewproject 命令, 建立一个新的卩 v
3、isi on2 工程。选择工程目录并输入文件名 asm1 后,单击保存。(3) 工程建立完毕后,弹出器件选择窗口,选择 sst公司的 sst89e554rc 。 (4) 为工 程添加程序文件。选择工具栏的 file 选项,在弹出的下拉菜单中选择 new 目录。(5) 输入程序,将 text1 保存成 asm1.asm 。(6) 将 asm1.asm 源程序添加到 asm1.uv2 工程中,构成一个完整的工程项目。2.编译、链接程序文件 (1 )设置编译、链接环境(2) 点击编译、链接程序命令,此时会在 output win dow 信息输出窗口输出相关信息。3. 调试仿真程序(1) 将光标移到
4、 sjmp $ 语句行,在此行设置断点。(2) 运行实验程序,当程序遇到断点后,停止运行,观察存储器中的内容,验证程序功 能。 1.6 实验结果 .2.4实验二查表程序设计实验2.1 实验目的学习查表程序的设计方法,熟悉 51 的指令系统。 2.2 实验设备pc 机一台, td-nmc+ 教学实验系统 2.3 实验内容1. 通过查表的方法将 16 进制数转换为 ascii 码;2. 通过查表的方法实现y= x2,其中x为0 9的十进制数,以bed码表示,结果仍以bed码形式输出。52.4 实验步骤1. 采用查表的方法将 16进制数转换为 aseii 码。(1)编写实验程序,编译、链接无 误后联
5、机调试;(2)将待转换的数存放在r7中,如令r7中的值为0x86 ;( 3 )在语句行sjmp main设置断点,运行程序;(4)程序停止后查看寄存器 r6、r5中的值,r6中为高4位转换结果0x38 , r5中为 低4位转 换结果 0x36 ;( 5)反复修改 r7 的值,运行程序,验证程序功能。2. 通过查表实现 y = x2,x 为 0 9 的十进制数,存放与 r7 中,以 bed 码的形式保存,结果 y 以 bed 码的形式存放于寄存器r6 中。( 1)编写实验程序,经编译、链接无误后,进入调试状态;( 2)改变 r7 的值,如 0x07 ;( 3) 在语句行 sjmp main 处设
6、置断点,运行程序;( 4)程序停止后,查看寄存器 r6 中 的值, 应为 0x49 ;( 5)反复修改 r7 中的值,运行程序,验证程序功能。2.5 源程序及 实验结果1. org 0000hljmp main org 0100hmai n: mov dptr, #asetabmov a, r7 anl a, #0fh move a, a+dptr mov r5, a mov a, r7 anl a, #0f0h move a, a+dptr mov r6, a sjmp mai n6asetab: db 30h, 31h, 32h, 33h, 34h,5h, 36h, 37h, 38h, 3
7、9hdb 41h, 42h, 43h, 44h, 45h, 46hend当令(r7)=86h时,高四位转换结果(=38h,低四位转换结果( r5 )=36h,当令 ( r7 ) =37h 时,结果如下图:当令(r7)=09h时,高四位转换结果 (6) =30h,低四位转换结果(r5)=39h,结果如下图:2. org 0000hljmp mai nmain: org 0100h mov dptr, #sqrmov a, r7move a, a+dptrmov r6, asjmp main sqr: db 00h, 01h, 04h, 09h, 16hdb 25h, 36h, 49h, 64h,
8、 81hend当令(r7) =07h时,(r6) =49h。结果如下图:实验三数据排序实验3.1 实验目的熟悉 51 的指令系统,掌握数据排序程序的设计方法。3.2 实验设备pc 机一台, td-nmc+ 教学实验系统3.3 实验内容在单片机片内 ram 的 30h 39h 写入 10 个数,编写实验程序,将这 10 个数按照由小到大 的顺 序排列,仍写入 ram 的 30h 39h 单元中。3.4 实验步骤(1) 编写实验程序,编译、链接无误后联机调试;(2 )为 30h 39h 赋初值,如:在命令行中键入e char d:30h= 9,11h,5,31h , 20h,16h,1,1ah,3
9、fh,8 后回车,可将这 10 个数写入 30h39h 中;(3) 将光标移到语句行 sjmp $ 处,点击命令,将程序运行到该行;(4) 查看存储器窗口中30h 39h 中的内容,验证程序功能;(5) 重新为 30h 39h 单兀赋值,反复运行实验程序,验证程序的正确性3.5 源程序 org OOOOh ljmp mai norg 0100hmain: mov r0, #30h mov r7, #0ah lp1: mov a, r7 mov r6, a mov a, r0 mov r1, a inc r1 Ip2: mov a, r0 clr c subb a, r1 jc Ip3 mov
10、a, r03.6 实验结果实验四 数字量输入输出实验4.1 实验目的了解 p1 口作为输入输出方式使用时, cpu 对 p1 口的操作方式。4.2 实验设备pc 机一台, td-nmc+ 教学实验系统。4.3 实验内容编写实验程序,将 p1 口的低 4 位定义为输出,高 4 位定义为输入,数字量从p1 口的高 4位输入,从 p1 口的低 4 位输出控制发光二极管的亮灭。4.4 实验步骤1. 按图 3-1-1 所示,连接实验电路图,图中“圆圈”表示需要通过排线连接;2. 编写实验程序,编译链接无误后进入调试状态;3. 运行实验程序,观察实验现象,验证程序正确性;4. 按复位按键,结束程序运行,退
11、出调试状态;5. 自行设计实验,验证单片机其它 io 口的使用。4.5 源程序汇编:org OOOOhIjmp start org 0100h start: orl pl , #OfOh mov a,p1 swap amov pl , a sjmp start endc 程序:#in clude sst89x5x4.h void main ( void ) un sig ned char data i; while ( 1) p1 = p1 | OxfO; i = p1;p1 = ( i& gt; >4 ) &0x0f;实验五中断系统实验5.1 实验目的了
12、解 mcs-51 单片机的中断原理,掌握中断程序的设计方法。 5.2 实验设备pc 机一台, td-nmc+ 教学实验系统。 5.3 实验内容1. 单片机集成的定时器可以产生定时中断, 利用定时 器 0 和定时器 1, 编写实验程序在 p1.0及 p1.1 引脚上输出方波信号。122. 手动扩展外部中断 int0、int1 ,当 int0 产生中断时,使 led 8 亮 8 灭闪烁 4 次;当 int1 产生中断时,使 led 由右向左流水显示,一次亮两个,循环 4 次。5.4 实验步骤 1.定时器中断实验( 1)编写实验程序,经编译、链接无误后,启动调试功能;(2)运行实验程序,使用示波器观
13、察p1.0 及 p1.1 引脚上的波形;(3)使用示波器测量波形周期,改变计数值,重新运行程序,反复验证程序功能;(4)按复位键退出调试状态。 2. 外部中断实验(1)按下图连接实验电路;(2)编写实验程序,编译、链接无误后启动调试;(3)运行实验程序,先按 kk1 , 观察实验现象,然后按kk2 , 观察实验现象;(4)验证程序功能,实验结束按复位按键退出调试。外中断实验接线图5.5 源程序 1.定时器中断实验汇编:org 0000hljmp start org 000bh ljmp timer0 org 001bh ljmp timer1 org 0100h mov tmod, #11h
14、mov tcon, #50h mov ie, #8ah sjmp $ timer0:cpl p1.0mov th0, #0f8h mov tl0, #00h retistart: mov p1, #0ffhmov th0, #0f8h mov tl0, #00h mov th1, #0f8h mov tl1, #00h timer1:cpl p1.1mov th1, #0f8h mov tl1, #00h reti endc 程序:#i nclude sst89x5x4.h sbit wave1 = p1 A0; sbit wave2 = p1 A1;void in t_timer0 () i
15、n terrupt 1 wave1 = wave1; void in t_timer1 () in terrupt 3 th1 = 0xf8; tl1 = 0x00;void mai n() th0 = 0xf8; tl0 = 0x00; th1 = 0xf8; tl1 = 0x00; tmod = 0x11; tcon = 0x50; th0 = 0xf8; tl0 = 0x00;wave2 = wave2;14ie = 0x8a; while(1);2. 外中断实验汇编:org 0000hIjmp start org 0003h Ijmp ein t0 org 0013h Ijmp ein
16、t1acall delay djnz r7, elp0 retiei nt1: mov a, #03hilp1:mov r7, #10h mov p1, a rl a rl a acall delay djnz r7, ilpl retistart: mov p1, #00hsetb it0 setb ex0 setb it1 setb ex1 setb ea sjmp $delay: mov r6, #0ffh dlpl: dlp2:mov r5, #0ffh djnz r5, dlp2 djnz r6, dlpl ret endein t0: mov r7, #04h elp0:mov p
17、1, #0ffh acall delay mov p1, #00hc 程序#i nclude sst89x5x4.h #i nclude intrin s.h void delay(void)15 un sig ned int x;for(x=0; x<0xffff; x+);void int0_isr() interrupt 0 void in t2_isr() in terrupt 2 unsigned char i=0x03, j; for(j=0; j<16; j+) p1 = i;un sig ned char j; for(j=0; j<4
18、; j+) p1 = 0xff; delay(); p1 = 0x00; delay();p1 = 0x00;void main () p1 = 0x00;it0 = 1; ex0 = 1; it1 = 1; ex1 = 1; ea = 1; while(1);i = _crol_(i, 2); delay();5.6 思考题设定 int1 为中断高优先级,在程序初始化中加一句: setb px1 ,则当按 kk1- 时,即 int0 产生中断时,led灯亮灭闪烁,在期间即使按动kk2_时,led就会由右向左流水显示,一次亮两个,循环 4 次,结束后会按照按动 kk2- 之前没有完成的次数继续
19、直到 4 次。当按 kk2- 时,即 inti 产生中断时, led 由右向左流水显示,一次亮两个,循环4 次,在期间即使按动kk1_ 时, led 的现象也不会发生变化。实验六定时 / 计数器实验6.1 实验目的1. 了解 mcs-51 单片机定 /计数器的工作原理与工作方式;2. 掌握定时 /计数器 t0 和 t1 在定时器和计数器两种方式下的编程;163. 学习定时 /计数器 t2 的可编程时钟输出功能。6.2 实验设备pc 机一台, td-nmc+ 教学实验系统。 6.3 实验内容1. 使用定时器 0 与定时器 1 进行定时,在 pl.O 和 p1.1 引脚上输出方波信号。 2.将定时
20、 /计数器 1 设定为计数器方式,每次计数到10 在 p1.0 引脚上取反一次,观察发光二极管的状态变化。 6.4 实验步骤: 1.定时器实验(1) 编写实验程序,编译、链接后联机调试;(2) 运行实验程序,使用示波器观察p1.0 与p1.1 引脚上的波形并记录周期;(3) 改变计数初值,观察实验现象,验证程序功能。2. 计数器实验(1) 按下图连接实验线路图;(2) 编写程序,联机调试;(3) 运行实验程序,按单次脉冲kk1 ,观察发光管 d0 的状态,每 10 次变化一次;(4)实验结束,按复位按键退出调试。计数器实验连线图6.5 源程序 1.定时器实验 org 0000hljmp start org 0100hmov th0, #0f8h mov tl0, #00h cpl p1.0 clr tf0 mlp2:start: mov tmod, #11hmlp1:mov th0, #0f8h mov tl0, #00h mov th1, #0f8h mov tl0, #00h setb tr0 setb tr1 jnb tf0, mlp2jnb tf1, mlp1 mov th1, #0f8h mov tl1, #00h cpl p1.1 clr tf1 ajm
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 第4章 电磁波 单元滚动训练(含答案)
- 煤矿机电队长安全岗位责任制培训
- 工程分包工程安全管理标准培训课件
- 2026年广东女子职业技术学院单招职业技能测试题库附答案详解(轻巧夺冠)
- 检修部制粉班班长安全责任制培训课件
- 2026年广西工业职业技术学院单招职业适应性考试题库带答案详解(培优a卷)
- 2026年岳阳现代服务职业学院单招综合素质考试题库含答案详解(突破训练)
- 2026年广东茂名农林科技职业学院单招职业倾向性考试题库带答案详解(典型题)
- 2026年山西省阳泉市单招职业适应性考试题库带答案详解(巩固)
- 2026年广东科学技术职业学院单招职业适应性考试题库及答案详解一套
- 桩基承载力优化设计研究
- DJ公主岗位职责
- 多联机安装全过程经典技术指导手册
- 龙虎山正一日诵早晚课
- 排球基础理论 【核心知识精讲精析】 高一上学期体育与健康人教版必修第一册
- 医院课件:《规范医疗服务收费行为培训》
- YY/T 1836-2021呼吸道病毒多重核酸检测试剂盒
- GB/T 32291-2015高压超高压安全阀离线校验与评定
- 煤矿掘进顶板管理
- 邹申写作教程Units-课件
- 三甲医院设备科招聘考试试题最新测试题含答案
评论
0/150
提交评论