MCS-51单片机软件实验

MCS-51单片机软件实验
MCS-51单片机软件实验

MCS-51单片机软件实验

通过这些实验程序的调试,使学生熟悉MCS-51 的指令系统,掌握软件仿真方法;了解单片机软件设计过程;掌握汇编语言设计方法,以及怎样用软件仿真提供的调试手段来排除软件错误。

实验一数据传送实验

1.实验目的

掌握8031 内部RAM 和外部RAM 之间的数据传送方法;掌握这两部分RAM 存贮器的特点与应用,掌握各种数据传送方法。

2.实验内容

编写并调试一个数据传送程序,①将40~4FH 数据送到数据存贮器7E00~7E0FH 中,②将数据存贮器7E00~7E0FH 中的数据送到8031 内部RAM 50~5FH 中,③将以(R2,R3)为源RAM 区首地址内的(R6,R7)个字节数据,传送到以(R4,R5)为末地址的RAM 区。

3.实验程序参考图

4.调试方法

⑴打开仿真软件中内部数据空间和外部数据空间,在40~4Fh 数据单元中分别送数,例如:1,2,3,4,…等16 个数据。

⑵单步运行(断点设在BP2,程序运行至断点),检查外部RAM(7E00~7F0FH)数据是16 个数据传送到40~4F 单元(40)~(4FH)传送到7E00~7E0FH否与40~4FH

数据一一对应。

⑶如果程序运行不能进入某一断点,则应单步、断点分段检查程序,排除错误直至正确为止。

5.思考

试编写将外部的数据存贮区6030~607FH 的内容写入外部RAM 3030~307H 中。

实验二清零程序

1.实验目的

掌握汇编语言设计和调试方法,掌握清零程序编写方法。

2.实验内容

将7000H~70FFH 的内容清零;

将30H~7FH 的内容清零;

将(R2,R3)源RAM 区首址内的(R6,R7)个单元中的内容清零。

3.实验程序框图

4.调试方法

单步运行程序到BP1,观察R0,7000H 两单元内容是否为0 ,单步运行到BP2,看DPTR,R0 是否加1,再单步运行,看是否跳转到BP1,若是,说明第一循环没错,然后全速运行程序,观察7000H-70FF 的内容应全为零,再用单元置数方法,将7000H-70FF 的内容改为不全为0,再运行一次,若全变为零,说明程序全对,同样,可调试后面两个程序。

5.思考

若将所有单元送06 应怎样修改,若将各单元送0-FF 程序应怎样修改。

实验三数据转换实验

1.实验目的

掌握MCS-51 汇编语言程序设计方法,掌握数据转换方法程序编写方法。2.实验内容

编写并调试一个二翻十程序,其功能为将40H,50H 两单元中的二进制数转换为十进制数,并将转换结果存放在R4,R5,R6 单元中。

3.实验程序参考框图

4.调试方法

⑴断点设在BP1,程序运行至BP1,检查40H、50H 内容是否与输入值正确对应。

⑵断点设在BP2,程序运行至BP2,检查R4、R5、R6 内容是否为二进制所对应的十进制转换结果。

⑶程序连续运行,。若有错误应改用单步或断点分段调试程序,排除软件错误,直至正确为止。

⑷改动40H、50H 中的内容。连续运行观察结果正确与否。

5.思考

试编写一个功能和本实验类似的整数十翻二子程序。

实验四拆字、拼字程序

1.实验目的

掌握汇编语言设计和调试方法,掌握拆字和拼字的程序编写方法。

2.实验内容

把7000H 的内容拆开,高4位送7001H 低4位,低4位送7002H 低4位,7001H、7002H 高4位清零。

把7000H、7001H 的低4位相拼后,送入7002H 。

3.实验程序框图

4.调试方法

单步运行到BP1,观察7000H 和A 单元中内容是否为68,单步运行到BP2,观察7001H单元中内容是否为6,单步运行到BP3,观察7002H 单元中内容是否为8,若是,程序对,若不是,反复修改程序直到正确为止。

同样可调试拼字程序。

5.思考

怎样将多个单元中的内容拆开。

实验五无符号十进制数加法实验

1.实验目的

掌握MCS-51 汇编语言设计和调试方法。

2.实验内容

编写并调试一个双字节无符号十进制数加法程序,其功能为将两个字节压缩BCD 码(即4 位十进制数)的加数和被加数写入由(R0)指出的内部RAM 中,并将这两个数相加,结果存放于(R1)指向的内部RAM 中。

例如:被加数写入41H、40H 单元,加数写入51H、50H 单元,运行程序结果写入52H、51H、50H 中,则加法程序功能为:

(41H)(40H)+(51H)(50H)→ 52H、51H、50H

3.实验程序参考框图

4.调试方法

⑴断点设在BP1,全速带断点运行程序,碰到BP1 后,检查41H、40H、51H 、50H与送入值是否对应。

⑵断点设在BP2,带断点(全速断点或慢速断点)运行程序,碰到BP2 后,检查十进制数加法结果52H、51H、50H 的内容是否正确。

若有错误改用单步或断点分段调试程序,排除软件错误,最后送入几组不同参数来测试程序,直至正确为止。

5.思考

若将8031 内部RAM 改用片外RAM,应如何修改无符号十进制加法实验程序。

实验六数据排序实验

1.实验目的

熟悉8031 指令系统;掌握程序设计方法。

2.实验内容

编写并调试一个排序子程序,其功能为用冒泡法将内部RAM 中n个单字节无符号二进制整数从小到大的次序重新排列,并将这一列数据从小到大依次序存贮在6000H为起始地址的单元中。

3.实验程序参考框(略)

4.调试方法

⑴打开仿真软件中的内部RAM 窗口,在50H-59H 单元中输入10个任意排列原始数据。

⑵单步运行程序,两数比较后第一个数大于第二个数则所在RAM 位置交换。否

则不变。

③单步运行程序(或断点运行),检查50-59H 内容是否已经按从小到大次序排列。

④单步运行程序(或断点运行),查看6000H 内容是否有10个数据按从小到大次序排列。

⑤程序运行如果不正确,则应分段检查程序,用单步或断点方式调试程序,排除错误。最后修改软件初始值、交换几组数据测试程序的正确性。

实验七单字节BCD 码除法实验

1.实验目的

掌握MCS-51 汇编语言程序设计方法。

2.实验内容

编写并调试一个单字节BCD 码除法程序,其功能为单字节BCD 码被除数和除数分别送40H、50H,将这两个数相除,结果商存放在R2,余数存放在R3 中3.实验程序参考框图(略)

4.调试方法

⑴打开内部RAM 窗口,在40H、50H 送入任意两个数值。

⑵运行程序,检查计算结果R2(商)、R3(余数)内容是否正确。

⑶程序连续运行,再一次送入被除数、除数后验证运行结果。

若有错误应改用单步,断点分段调试程序,排除软件错误,最后送入几组不同参数,来测试程序,直至正确为止。

实验八查找相同数个数

1.实验目的

熟悉汇编语言编程。

2.实验内容

在7000H~700FH 中查出有几个字节是零,统计“00”的个数送R1中。3.实验程序框图(略)

4.调试方法

用单步运行,分别看R1,DPTR 单元中内容是否与程序一致。

5.思考

要查找30-3F 单元中的相同数个数的程序怎样编号。

单片机实验讲义

实验一流水灯 实验目的: 1、熟悉用单片机产生流水灯的效果; 2、掌握循环移位的工作原理和操作方法; 3、学会使用C51 封装好的函数库C51LIB,延时函数的时间估算。 实验仪器: 电脑,TX-1C单片机实验板,万用表USB-232线,USB线。 实验原理: 实验内容: P1.0~P1.8对于Led1~Led8八个发光二极管,要求来回循环点亮,停顿时间为0.5秒。显示效果如下: Led1 Led2 Led3 Led4 Led5 Led6 Led7 Led8 亮暗暗暗暗暗暗暗 暗亮暗暗暗暗暗暗 暗暗亮暗暗暗暗暗 暗暗暗亮暗暗暗暗 暗暗暗暗亮暗暗暗 暗暗暗暗暗亮暗暗 暗暗暗暗暗暗亮暗 暗暗暗暗暗暗暗亮 亮暗暗暗暗暗暗暗 暗亮暗暗暗暗暗暗 暗暗亮暗暗暗暗暗 暗暗暗亮暗暗暗暗 ………………………………………………………… 实验步骤: 1、编程,调试,下载; 2、记录实验现象; 3、举一反三:编写3/4/5/6/7个灯循环点亮的程序。

实验二利用定时器控制数码管的显示 实验目的: 1、学会利用单片机的定时器; 2、熟悉数码管显示原理; 3、了解蜂鸣器发声原理。 实验仪器: 电脑,TX-1C单片机实验板,万用表,USB-232线,USB线。实验原理: 2、记录实验现象。

实验三矩阵键盘检测 实验目的: 1、学会矩阵键盘的检测 2、掌握数码管静态显示原理 实验仪器: 电脑,TX-1C单片机实验板,万用表,USB-232线,USB线。 实验原理: 静态数码管显示原理:本开发板数码管为共阴极,所以要想点亮数码管,则给阳极加高电平。 实验内容: 依次按下4*4 矩阵键盘上从第1 到第12个键,同时在六位数码管上依次显示0、1、2、3、4、5、6、7、8、9、A、B。 实验步骤: 1、编程,调试,下载; 2、记录实验现象; 3、举一反三:第13个键到第16个键C、D、E、F。

MCS-51系列单片机实验设备存在的缺陷及设计方案

MCS-51系列单片机实验设备存在的缺陷及设计方案 摘要:本文讨论了国内几款MCS-51 系列单片机实验设备存在的缺陷,同时也提出了自己的设计方案,为新一代设备的问世提供参考,单片机实验设备中以MCS-51 为核心的产品最多。 关键词:单片机实验设备缺陷设计 引言 目前,虽然单片机家族的成员种类繁多,但MCS-51 系列单片机依旧占领着工业测控和自动化工程应用的主要市场,是国内单片机应用领域中的主流,这一客观事实决定了全国各大高校的单片机类教材仍以MCS-51系列单片机为主, 同时MCS-51 单片机教学和实验设备也得到了相当迅速的发展。 一、现有实验设备状况和特点 1、上海杭虹公司生产的ADEK单片机实验系统价格十分 昂贵,约为五千元左右,且需外接一个稳压电源,体积也相当庞大。开发环境仅支持汇编语言编程,不支持C语言。 2、浙江启东计算机有限公司生产的DAIS80958B+实验系统,技术相对比较成熟,功能也较多,但价格仍要在三千元以上,体积也比较庞大。开发环境也存在局限性。使用时灵活性差。

但它们只有仿真功能,是真正意义上的仿真设备,没有任何外围电路,而且每台价格在一千八百元左右,相对比较昂贵。 二、各种实验设备的共同问题 1、功能接口陈旧且价格昂贵实验系统上只是由一些传统的与教材同步的实验项目,一些综合性的、设计性的实验项目过于古老而失去的实际价值。在功能接口的数量上也相对较少,不利于系统结构的简化和扩展。在此种情况下,系统设备的整体价格仍旧保持在几千元以上,可以说其性价比很差。对于高校一般设备单位价值在500 元以上,专用设备单位价值在800 元以上,使用期限在一年以上,并在使用过程中基本保持原有物质形态的资产被称为固定资产。据统计,多数高校的单片机实验设备作为固定资产,使用期限一般为5-10 年之间,其中期限为8 年的占50%以上。对于当今电子行业的飞速发展可想而知,实验设备的经济价值与实用价值已经产生了矛盾,而且随着时间的推移正在逐步加深。 2、体积庞大 设备体积庞大意味着实验台面积要跟着增加,保存和管理均需占用很大空间,且在外观上也会失去美观。几大厂商的产品占用实验台面积基本上远超过一张A3 纸,每台设备的保存空间大约也要在 0.05 立方米左右(按长*宽*高=0.6米*0.4 米*0.2 米=0.048 立方米计算),如果一间实验室按配置40 套实验设备计算,保存空间

单片机实验报告

院系:计算机科学学院专业:智能科学与技术年级: 2012 学号:2012213865 姓名:冉靖 指导教师:王文涛 2014年 6月1日

一. 以下是端口的各个寄存器的使用方式: 1.方向寄存器:PxDIR:Bit=1,输出模式;Bit=0,输入模式。 2.输入寄存器:PxIN,Bit=1,输入高电平;Bit=0,输入低电平。 3.输出寄存器:PxOUT,Bit=1,输出高电平;Bit=0,输出低电平。 4.上下拉电阻使能寄存器:PxREN,Bit=1,使能;Bit=0,禁用。 5.功能选择寄存器:PxSEL,Bit=0,选择为I/O端口;Bit=1,选择为外设功能。6.驱动强度寄存器:PxDS,Bit=0,低驱动强度;Bit=1,高驱动强度。 7.中断使能寄存器:PxIE,Bit=1,允许中断;Bit=0,禁止中断。 8.中断触发沿寄存器:PxIES,Bit=1,下降沿置位,Bit=0:上升沿置位。 9.中断标志寄存器:PxIFG,Bit=0:没有中断请求;Bit=1:有中断请求。 二.实验相关电路图: 1 MSP430F6638 P4 口功能框图: 主板上右下角S1~S5按键与MSP430F6638 P4.0~P4.4口连接: 2按键模块原理图: 我们需要设置两个相关的寄存器:P4OUT和P4DIR。其中P4DIR为方向寄存器,P4OUT 为数据输出寄存器。 主板上右下角LED1~LED5指示灯与MSP430F6638 P4.5~P4.7、P5.7、P8.0连接:

3 LED指示灯模块原理图: P4IN和P4OUT分别是输入数据和输出数据寄存器,PDIR为方向寄存器,P4REN 为使能寄存器: #define P4IN (PBIN_H) /* Port 4 Input */ #define P4OUT (PBOUT_H) /* Port 4 Output */ #define P4DIR(PBDIR_H) /* Port 4 Direction */ #define P4REN (PBREN_H) /* Port 4 Resistor Enable */ 三实验分析 1 编程思路: 关闭看门狗定时器后,对P4.0 的输出方式、输出模式和使能方式初始化,然后进行查询判断,最后对P4.0 的电平高低分别作处理来控制LED 灯。 程序流程图: 2 关键代码分析: #include void main(void) { WDTCTL = WDTPW + WDTHOLD; // 关闭看门狗 P4DIR |= BIT5; // 设置4.5口为输出模式 P4OUT |= BIT0; // 选中P4.0为输出方式 P4REN |= BIT0; // P4.0使能 while (1) // Test P1.4 { if (P4IN & BIT0) //如果P4.0为1则执行,这是查询方式按下去后是低,否则为高

单片机实验报告

实验报告 专业:计算机科学与技术班级:C093 姓名:孙丽君 学号:098677

实验一:数据传送实验 1.实验内容: 将8031内部RAM 40H—4FH单元置初值A0H—A FH,然后将片内RAM 40H—4FH单元中的数据传送到片内RAM 50H—5FH单元。将程序经模拟调试通过后,运行程序,检查相应的存储单元的内容。 2. 源程序清单: ORG 0000H RESET:AJMP MAIN ORG 003FH MAIN:MOV R0,#40H MOV R2,#10H MOV A,#0A0H A1:MOV@R0,A INC R0 INC A DJNZ R2, A1 MOV R1,#40H MOV R0, #50H

MOV R2, #10H A3: MOV A, @R1 MOV @R0, A INC R0 INC R1 DJNZ R2, A3 LJMP 0000H 3.实验结果: 4. CPU 对8031内部RAM存储器有哪些寻址方式? 答:直接寻址,寄存器寻址,寄存器间接寻址,位寻址。

5. 执行程序后下列各单元的内容是什么? 内部RAM 40H~4FH内容:A0~AF 内部RAM 50H~5FH内容:A0~AF 实验二多字节十进制加法实验 1.实验内容: 多字节十进制加法。加数首地址由R0 指出,被加数和结果的存储单元首地址由R1指出,字节数由R2 指出。将程序经模拟调试通过后,运行程序,检查相应的存储单元的内容。 2. 源程序清单: ORG0000H RESET: AJMP MAIN ORG0100H MAIN: MOV SP, #60H MOV R0, #31H MOV@R0, #22H DEC R0 MOV@R0, #33H

单片机实验讲义

单片机实验讲义

DVCC单片机实验系统简介 本科目实验使用的平台为启东公司的DVCC-52JH单片机仿真实验仪(带有配套试验软件)。可基本满足MCS-51(80C51)系列单片机课程(本/专科)的实验要求。 实验平台资源: 1、AT89C52单片机(6MHz晶体振荡器、256B片内RAM、8KB程 序存储器(FLASH)、3个定时/计数器、6个中断源(T2))。2、实验平台带有总线扩展有64BK片外RAM,用户可使用范围 0000H~0FEFFH;64KB片外ROM,用户可使用范围

0000H~0FEFFH。 3、实验平台的主要芯片有:1片8255可编程通用并行界面芯片、1 片8155芯片、1片译码芯片74138、1片74393芯片、1片D/A 转换芯片0832、1片A/D转换芯片0809、2片串/并转换芯片74164、若干辅助芯片74240、74373等和常用逻辑门电路芯片。 4、实验平台上的主要外设包括:K1~K10滑动开关、L1~L12发光二 极管(有3种颜色)、2个LED七段数码管、1个单脉冲发生器、1个时钟频率选择器、1个步进电机(带驱动电路)、1个直流电机(带驱动电路)、2个电位器、1个继电器、1个扬声器驱动、1个双踪模拟示波器、带有总线扩展区、带有EPROM烧录区。 实验系统的使用步骤: 1、在计算机、实验仪关闭时,使用实验平台自带的RS-232通用串口 线连接计算机的COM口和实验箱的J2串行口。

2、启动计算机,运行“DVCC52JH实验系统”。 3、在计算机上编写并调试实验程序,在实验箱中联接实验所需连线。 4、打开试验箱电源,点击实验箱上的“复位”按钮,再点击实验箱 上键盘区的“PCDBG”按钮。 5、在计算机上的“DVCC实验系统”软件中,左键单击工具栏上的 “联接”按钮(或选择“动态调试”菜单下的“联接DVCC实验系统选项”)。 6、如果联接正常将弹出若干小窗口。如果联接失败重新执行步骤3、 4。 7、在计算机上的“DVCC实验系统”软件中,选择“编译”菜单下 的“编译连接并传送”选项,将实验程序传送到实验箱。 8、在计算机上的“DVCC实验系统”软件中,左键单击工具栏中的 “运行”按钮,设置PC起始地址,观察实验现象,验证实验结果。 9、实验结束后关闭实验箱电源和计算机,拔下连线,收起实验箱并 放回原处。 软件实验 实验一清零实验 一、实验目的:

单片机实验二、MCS-51单片机并行端口实验

大连理工大学实验报告 实验时间:2014年6月30日星期1时间:10:00~ 11 :40 实验室(房间号):420实验台号码:班级:姓名: 指导教师签字:成绩: 实验二 MCS-51单片机并行端口实验 一、实验目的和要求 1.目的:进一步熟悉、掌握KEIL软件和DP-51PROC综合试验系统的使用。掌握单片机并行端口的编程和使用方法。 2.要求:编制简单的程序,利用P1口的8位端口使用排线与LED1~LED8按顺序连接,使用一条单独连线将P 3.2与SW1连接,编制一个P1口的输出程序,实现8个LED灯依次点亮的流水灯效果。 二、实验算法 本程序属于无限循环结构,循环中通过判断P3.2的电平来决定彩灯的右移还是左移。主程序中主要变量是A,P3.2,P1,其中A作为数据移动寄存器,P3.2作为按键输入口,为高电平右移A,低电平则左移A,P1由A传送数据,外接LED1~8,实现彩灯移动现象。由于不加延时的循环在时钟频率作用下是很快的,现象是所有的灯一直是亮的状态。,解决这个问题就是在程序里面加延时函数。 三、实验流程图

四、程序清单 ORG 8000H LJMP START ORG 8100H START: MOV SP,#60H SETB P3.2 MOV A,#0FEH LED: JB P3.2,RIGHT RL A AJMP RUN RIGHT: RR A RUN: MOV P1,A CALL DELAY AJMP LED DELAY: PUSH 01H PUSH 02H MOV R1,#00H DELAY1: MOV R2,#00H DJNZ R2,$ DJNZ R1,DELAY1 POP 02H POP 01H RET END 五、实验结果与分析 实验现象:拨动开关闭合,彩灯左移;拨动开关断开,彩灯右移。无问题。 实验中,我们通过控制开关SW1能够控制彩灯移位的方向,SW1=1,即将P3.2口置一,理论上使小灯循环右移;SW1=0,即将P3.2口置零,理论上小灯应循环左移,但是由于实验仿真系统中的LED灯的高位和低位位置刚好相反,导致我们操作时看到的结果正好相反,但实际上实验是成功的。 六、实验体会和建议 通过本次单片机的并行输入输出端口实验,我对Keil仿真调试软件的操作更为熟练;也对单片机的P1等端口的应用有了更清楚的认识,同时学会了分支程序的设计,JB指令的方便和实用性。 七、主要仪器设备

单片机实训心得体会

单片机实训心得体会 篇一: 通过今次单片机实训,使我对单片机的认识有了更深刻的理解。系统以51单片机为核心部件,利用汇编软件编程,通过键盘控制和数码管显示实现了基本时钟显示功能、时间调节功能,能实现本设计题目的基本要求和发挥部分。 由于时间有限和本身知识水平的限制,本系统还存在一些不够完善的地方,要作为实际应用还有一些具体细节问题需要解决。例如:不能实现只用两个按键来控制时钟时间,还不能实现闹钟等扩展功能。 踉踉跄跄地忙碌了两周,我的时钟程序终于编译成功。当看着自己的程序,自己成天相伴的系统能够健康的运行,真是莫大的幸福和欣慰。我相信其中的酸甜苦辣最终都会化为甜美的甘泉。 但在这次实训中同时使我对汇编语言有了更深的认识。当我第一次接触汇编语言就感觉很难,特别是今次实训要用到汇编语言,尽管困难重重,可我们还是克服了。这次的实训使培养了我们严肃认真的做事作风,增强了我们之间的团队合作能力,使我们认识到了团队合作精神的重要性。 这次实训的经历也会使我终身受益,我感受到这次实训是要真真正正用心去做的一件事情,是真正的自己学习的过

程和研究的过程,没有学习就不可能有研究的能力,没有自己的研究,就不会有所突破。希望这次的经历能让我在以后学习中激励我继续进步。 篇二:单片机实验心得 通过这次单片机实习,我不仅加深了对单片机理论的理解,将理论很好地应用到实际当中去,而且我还学会了如何去培养我们的创新精神,从而不断地战胜自己,超越自己。创新可以是在原有的基础上进行改进,使之功能不断完善,成为真己的东西。 作为一名自动化专业的快大三学生,我觉得做单片机实习是十分必要的。在已度过的大学时间里,我们大多数接触的是专业课。我们在课堂上掌握的仅仅是专业课的理论知识,如何去锻炼我们的实践能力,如何把我们所学的专业基础课理论知识运用到实践中去,我想做类似实习就为我们提供了良好的实践平台 学习单片机没有捷径,不能指望两三天就学会,要坚持不懈,重在积累单片机是一门应用性和实践性很强的学科,要多动手,多做实验。 (4)要学会参考别人的程序,减少自己琢磨的时间,迅速提高自己的编程能力。 (5)碰到问题可以借助网络来搜寻答案和对自己有帮助的问题,一定会有所收获。

MCS-51单片机实验

当前位置:网络教学综合平台 > 电子科学与信息技术学院 > <<微机原理与接口技术>> 《微机原理与接口技术》 《微机原理与接口技术》课程教学大纲 (通信工程05级) 课程中文名称:微机原理与接口技术 课程英文名称:Principles of Microcomputer and Interfacing Technology 课程类别:专业课,必修 课程编号: 071210T202 课程归属单位:贵州大学电子科学与信息技术学院 修定时间:2005 年8月 一、课程的性质、任务 1、课程的性质 本课是电子、通信工程类专业的专业基础课限选课程。 本课程以单片机系统为主线,使学生获得单片机应用系统设计的基本理论、基本知识与基本技能,掌握单片机应用系统接口设计、软件编码、调试方法,了解单片机在通信、测控等电子技术应用领域的应用,培养学生的动手能力,初步具备应用单片机系统开发产品的能力。 2、课程要求 通过本课程的学习使学生: 1)熟悉MCS-51单片机的硬件基本原理 2)掌握MCS-51系列单片机的指令系统和汇编语言的程序的编写调试方法。3)掌握MCS-51系列单片机扩展RAM、ROM和I/O的方法,掌握MCS-51单片机常用接口的设计和应用。 3、课程适用专业与学时、学分 授课对象:通信工程05级。 授课学时:总学时72,其中理论教学54,实验18学时。 学分:4 4、先修课程 计算机概论,电路分析,电子技术,数字逻辑,高级语言程序设计等。

5、推荐教材及主要教学参考用书 推荐教材: 胡汉才.单片机原理及其接口技术(第2版),清华大学出版社,2004年。书号:978730207737-4 教学参考书: 1、何立民. 单片机初级教程—原理与应用,北京航空航天大学出版 社,2000年。 2、何立民. 单片机中级教程—原理与应用,北京航空航天大学出版 社,2000年。 3、李朝青. 单片机原理及接口技术,北京航空航天大学出版社,1994 年。 4、薛均义. MCS51/96系列单片微型计算机及其应用,西安交通大学 出版社,2001年。 5、刘乐善. 微型计算机接口技术及应用,华中科技大出版社,书号:7560922104 6、周佩玲等. 16位微型计算机原理.接口及其应用(修订版),中国科学技术大学出版社,2005 7、姚凯学、孟传良.单片机原理与应用,重庆大学出版社,2000年 6、教学方法 ●教学方式:以课堂讲授为主,实验为辅;以多媒体课件为主, 板书为辅。 ●考核方式:期末总成绩=期末考试成绩(70%)+学习表现和平 时成绩(20%)+实验考查成绩(10%)。 二、各章教学内容和要求 第1章、单片机概述 1. 基本要求 了解:单片机的结构特点、发展历史、应用领域以及系列产品。 熟悉:MCS-51单片机的内部组成及信号引脚,8051的存储器结构,并行输入、输出口电路结构,时钟电路、时序及指令序列以及MCS-51单片机的工作方式。 2.重点和难点: 难点:(1)MCS-51单片机的内部结构原理; (2)MCS-51单片机的引脚功能; (3)内部存储器的组成和特殊功能寄存器的功能。 第2章 MCS-51指令系统与汇编语言程序设计 1. 基本要求: 了解:MCS-51指令格式、寻址方式以及指令的执行过程。 熟悉:MCS-51的指令系统――数据传送类指令、算术运算类指令、逻辑运算及移位类指令、控制转移类指令和布尔变量操作类指令。 掌握:MCS-51汇编语言程序设计步骤;要求具备独立设计简单程序、分支程序、循环程序和子程序能力。 2.重点和难点: 重点:MCS-51的指令系统、常用指令的用法;汇编语言程序设计和调试。

工作报告之大学单片机实验报告

大学单片机实验报告 【篇一:单片机实验报告】 单片机实验报告 姓名:班级:学号:任课教师:上课地点: 实验一流水灯实验 一、实验目的及要求 1、闪烁的led; 2、从左到右的流水灯; 3、8只led左右来回点亮; 4、led模拟交通灯。 要求1:led按设定的时间间隔闪烁 要求2:接在p0口的8个led从左到右循环依次点亮,产生走马灯效果要求3:程序利用循环移位函数_crol_和_cror_形成来回滚动的效果; 二、实验原理电路图1、 电路图2、 三、源程序 要求1: #includereg51.h #define uchar unsigned char #define uint unsigned int sbit led=p1^0; //延时 void delayms(uint x) { uchar i; while(x--) {for(i=0;i120;i++); } } //主程序 void main() { while(1) {led=~led;delayms(150); } } 要求2: #include reg51.h #include intrins.h //包含程序中的_cror_(p0,y) #define uchar unsigned char #define uint unsigned int uchar led; void delay(unsigned int i) { uint j; uchar k; for(j=i;j0;j-- )for(k=125;k0;k--); } void main() { led=0x7f;//只亮第一个 delay(1000); while(1) { p0=led; delay(500); led=_cror_(led,1);//p0逐步右移一位。} } 要求3: #include reg51.h

单片机实验报告书

并行I/O接口实验 一、实验目的 熟悉掌握单片机并行I/O接口输入和输出的应用方法。 二、实验设备及器件 个人计算机1台,装载了Keil C51集成开发环境软件。https://www.360docs.net/doc/7515494180.html,单片机仿真器、编程器、实验仪三合一综合开发平台1台。 三、实验内容 (1)P1口做输出口,接八只发光二极管,编写程序,使发光二极管延时(0.5-1秒)循环点亮。实验原理图如图3.2-1所示。 图3.2-1单片机并行输出原理图 实验程序及仿真 ORG 0000H LJMP START ORG 0100H START:MOV R2,#8 MOV A,#0FEH LOOP:MOV P1,A LCALL DELAY RL A

DJNZ R2,LOOP LJMP START DELAY:MOV R5,#20 D1:MOV R6,#20 D2:MOV R7,#248 D3:DJNZ R7,D3 DJNZ R6,D2 DJNZ R5,D1 RET END 中断实验 一、实验目的 熟悉并掌握单片机中断系统的使用方法,包括初始化方法和中断服务程序的编写方法。 二、实验设备及器件

个人计算机1台,装载了Keil C51集成开发环境软件。 https://www.360docs.net/doc/7515494180.html,单片机仿真器、编程器、实验仪三合一综合开发平台1台。 三、实验内容 (2)用P1口输出控制8个发光二极管LED1~LED8,实现未中断前8个LED闪烁,响应中断时循环点亮。 实验程序及仿真 ORG 0000H LJMP MAIN ORG 0003H LJMP INT00 ORG 0010H MAIN: A1:MOV A,#00H MOV P1,A MOV A,#0FFH MOV P1,A SETB EX0 JB P3.2,B1 SETB IT0 SJMP C1 B1:CLR IT0 C1:SETB EA NOP SJMP A1 INT00:PUSH Acc PUSH PSW MOV R2,#8 MOV A,#0FEH LOOP: MOV P1,A LCALL DELAY RL A DJNZ R2,LOOP

单片机原理实验指导书(2012.10)

《单片机原理》实验指导书 计算机科学与技术系2012年8月

目录 第一部分单片机仿真实验 (1) 实验一:流水灯实验 (1) 实验二:中断实验 (4) 实验三:定时器中断实验 (6) 实验四:串行口实验 (9) 实验五:矩阵式键盘输入识别 (13) 实验六:LCD循环显示设计 (19) 第二部分单片机硬件实验............................错误!未定义书签。第一章试验箱系统概述 ...................................错误!未定义书签。 一、系统地址分配........................................... 错误!未定义书签。 二、系统接口定义........................................... 错误!未定义书签。 三、通用电路简介........................................... 错误!未定义书签。第二章实验指导...............................................错误!未定义书签。实验七P1口亮灯和P1口加法器实验........... 错误!未定义书签。实验八简单I/O口扩展(选作).................. 错误!未定义书签。实验九8255控制交通灯................................ 错误!未定义书签。实验十128*64LCD液晶显示 .......................... 错误!未定义书签。

第一部分单片机仿真实验 实验一:流水灯实验 一、实验目的: 通过对P3口地址的操作控制8位LED流水点亮,从而认识单片机的存储器。 二、实验原理图 实验参考电路图如下: 三、参考实验程序 //流水灯实验 #include //包含单片机寄存器的头文件 sfr x=0xb0; //P3口在存储器中的地址是b0H,通过sfr可定义8051内核单片机 //的所有内部8位特殊功能寄存器,对地址x的操作也就是对P1口的

MCS-51单片机实验基础知识介绍

MCS-51单片机实验基础知识介绍 一、MCS-51单片机(51子系列) (2) 1.基本结构 (2) DIP封装管脚描述 (2) 存储器 (3) 输入/输出口 (4) 中断系统 (4) 定时器/计数器(T/C) (5) 2.寻址方式 (5) 3.指令系统(3大类共111条) (6) 指令系统介绍要点 (7) 助记符、操作数形式,对标志位的影响 (7) 数据传送(两个操作数、源操作数不变) (8) 数据传送(堆栈操作) (8) 数据传送(交换) (9) 算术运算 (9) 逻辑运算 (10) 控制程序转移 (10) 4.汇编语言程序编程 (11) 简单例程 (11) 伪指令 (12) 指令格式 (13) 程序基本格式 (13) 中断服务子程序格式 (14) 5.源程序编译→机器语言目标程序 (14) 二.EXP-51实验板 (15) 三. 接口方法 (16) 实验2 ADC/DAC (17) 实验3 键盘与数码显示接口 (17) 实验4 串行口通信 (18) 四. 单片机开发系统 (19) 1.单片机的开发 (19) 2.单片机开发工具、AEDK (19) 3.单片机开发系统组成 (20) 4.AEDK使用方法简介 (21) 5.程序编辑/调试主要步骤 (21)

一、MCS-51单片机(51子系列) 1.基本结构 DIP封装管脚描述

存储器 包括程序存储器(内/外64K)、内RAM和专用寄存器(SFR) 内部RAM128字节 工作寄存器区1-3,由程序状态字(PSW)的RS1/RS0两位定义。 专用寄存器(不包括PC) 专用寄存器复位状态:除Pn(n=0,3)寄存器和SP寄存器外,其它皆为00H

《单片机系统设计》实验报告

短学期实验报告 (单片机系统设计) 题目: 专业: 指导教师: 学生姓名: 学号: 完成时间: 成绩:

基于单片机的交流电压表设计 目录 1系统的设计要求 (2) 2系统的硬件要求 (2) 2.1真有效值转换电路的分析 (2) 2.2放大电路的设计 (3) 2.3A/D转换电路的设计 (3) 2.4单片机电路的分析 (4) 2.5显示电路 (4) 3 软件设计 (5) 3.1 软件的总流程图 (5) 3.2 初始化定义与定时器初始化流程图 (5) 3.3 A/D转换流程图 (6) 3.4 数据处理流程图 (6) 3.5 数据显示流程图 (7) 4 调试 (7) 4.1 调试准备 (7) 4.2 关键点调试 (7) 4.3 测试结果 (8) 4.4 误差分析 (8) 5结束语 (8) 5.1 总结 (9) 5.2 展望 (9) 附录1 总原理图 (10) 附录2 程序 (10) 附录3 实物图 (14)

基于单片机的交流电压表设计 ****学院 ****专业 姓名 指导老师:******* 1 设计要求 (1)运用单片机实现真有效值的检测和显示。 (2)数据采集使用中断方式,显示内容为有效值与峰值交替进行。 2 硬件设计 本系统是完成一个真有效值的测量和显示,利用AD737将交流电转换成交流电压的有效值,用ADC0804实现模数转换,再通过单片机用数码管来显示。系统原理框图如图2-1所示。系统框图由真有效值转换电路、放大电路、A/D 转换电路、单片机电路、数码管显示电路五部分。 图2-1 原理框图 2.1 真有效值转换电路 真有效值转换电路主要是利用AD737芯片来实现真有效值直流变换的,即将输入的交流信号转换成直流信号的有效值,其原理图如图2-2所示。 图2-2 真有效值转换电路 由于AD737最大输入电压为200mV, 所以需要接两个二极管来限制输入电压,起到限幅的作用。如图中D1、D2,由IN4148构成,电容C6是耦合电容,电阻R1是限流电阻。 2.2 放大电路设计 放大电路主要是利用运放uA741来进行放大,电路原理图如图2-3所示。 A/D 转换 单片机 电路 显示 电路 转换 电路 交流 信号 放大 电路

哈尔滨工业大学单片机实验报告

H a r b i n I n s t i t u t e o f T e c h n o l o g y 单片机原理与应用 实验报告 学生姓名: 学号: 班级: 通信工程 专业: 任课教师: 所在单位: 电子与信息工程学院 月5年2013. 软件实验 在软件实验部分,通过实验程序的调试,使学生熟悉MCS-51的指令系统,了解程序设计过程,掌握汇编语言设计方法以及如何使用实验系统提供的调试手段来排除程序错误。 实验一清零程序 一、实验目的 掌握汇编语言设计和调试方法,熟悉键盘操作。 二、实验内容 把2000~20FFh的内容清零。 三、程序框图

四、实验过程 1、LED环境 ⑴在“P.”状态下按“0→EV/UN”,装载实验所需的代码程序。 ⑵在“P.”状态下键入0640,然后按“STEP”或“EXEC”进入实验项目的调试与运行。. 2、PC环境 在与PC联机状态下,编译、连接、下载PH51\se01.asm,用连续或单步方式运行程序。 3、运行结果检查 ⑴在单步运行时,每走一步可观察其运行结果。 ⑵在连续运行状态下,应按“暂停图标”或实验箱上的“暂停按钮”,使系统无条件退出用户运行状态返回监控,然后再用相应的命令键观察与检查2000~20FFH 中执行程序前后的内容变化。 五、实验结果及分析 实验前截图: 实验后截图:

: 实验源程序ORG 0640H SE01: MOV R0,#00H DPTR MOV DPTR,#2000H ;(2000H送(DPTR 送LOO1: MOVX @DPTR,A ;0INC DPTR ;DPTR+1 1 INC R0 ;字节数加个字节再清FF不到CJNE R0,#00H,LOO1 ; SJMP $ END 实验问题:2000H~20FFh中的内容是什么? 解答:实验运行之前,2000H~20FFh中的内容是随机分配的;在执行完清零程序之后, 2000H~20FFh中的内容都变为0. 实验二拆字程序 一、实验目的 掌握汇编语言设计和调试方法。 二、实验内容 把2000h的内容拆开,高位送2001h低位,低位送2002h低位,2001h、2002h高位清零,一般本程序用于把数据送显示缓冲区时用。 三、程序流程

单片机实验报告

实验一:8255输入、输出实验 一.实验要求 编写程序,使用8255可编程并行口芯片,来检测八位拨动开关的状态,并控制八位发光二极管。使得八位发光二极管的亮灭变化与八位拨动开关的状态相一致。实验中用8255PB口作输入,PC口做输出。 二.实验目的 了解8255芯片结构及编程方法。 三.实验电路及连线 8255的PB0~PB7(PB口)接至八位拨动开关K0~K7。 将PC0~PC7(PC口)接至八位发光二极管L0 – L7。CS8255接F228。 四.实验说明 可编程通用接口芯片8255A有三个八位的并行I/O口,请用户仔细阅读有关书籍掌握其特点和各种用法。 由于8255的A1、A2脚分别接至地址线的A0、A1。所以相对应8255各口/寄存器的地址分配如下:PA口:F228H; PB口:F229H;PC口:F22AH;控制寄

存器地址:F22BH。 本示例程序中使用PB口作输入,检测八位拨动开关的状态;使用PC口作输出,控制八个发光二极管的亮灭。 五.实验程序及框图 实验示例程序见8255.ASM。 实验示例程序流程框图如下: 开 设置8255 工作状态 PB口读入八 位开关量 PC口输出至八 位二极管 程序代码: ;FOR EAT598 ;--------------------------------------------------------- D8255 EQU 0F22BH ;8255命令口地址 D8255A EQU 0F228H ;8255 PA口地址 D8255B EQU 0F229H ;8255 PB口地址 D8255C EQU 0F22AH ;8255 PC口地址 ;--------------------------------------------------------- ORG 0000H LJMP START ORG 0100H START: LCALL DELAY ;延时 MOV DPTR,#D8255 MOV A,#82H ;置8255状态 ;方式0,PA,PC口输出,PB口输入MOVX @DPTR,A ROTATE: MOV DPTR,#D8255B MOVX A,@DPTR ;读开关状态

单片机导论实验讲义(章专)

第一章单片机软件实验 实验一内存操作 1.实验目的 ①掌握数据传送指令; ②掌握各种数据传送指令的寻址方式; ③熟练运用keil 环境对汇编程序进行调试; ④掌握数据传送、复制等程序的设计与调试方法。 2.预习要求 ①理解数据传送指令和循环指令的使用; ②理解如何对内部寄存器、内部RAM、外部RAM的读写; ③理解各种寻址方式,尤其是较为抽象的变址寻址及相对寻址的方式; ④认真预习本实验内容,自行编写程序,填写实验报告。 3.实验设备 计算机1台; 4.基础型实验内容 ①下列程序的功能是给外部RAM8000~80FFH的256个单元的内容赋值,赋值的内 容取决于程序中A的赋值。在Keil环境运行该程序,并观察寄存器及内存单元的变化。 设置块起始地址 设置块长度 当前地址内容清零 地址加1 否 是否清除完? 是 结束 ORG 0000H START EQU 8000H MAIN: MOV DPTR, #START ;起始地址 MOV R0,#0 ;设置256字节计数值 MOV A,#1H

Loop: MOVX @DPTR,A INC DPTR ;指向下一个地址 DJNZ R0,Loop ;计数值减1 NOP SJMP $ END ②下列程序将3000H起始的256个字节存储块移动到4000H起始的256个字节存储块, 在Keil环境运行如下程序,观察寄存器及存储单元的变化。 设置块的源地 设置块的目标地址 设置移动长度 从源地址取数 保存到目标地址 源地址加1 目标地址加1 是否移动完? 结束 ORG 0000H MOV DPTR,#3000H MOV A,#01H MOV R5,#O LOOP: MOVX @DPTR,A INC DPTR DJNZ R5,LOOP MOV R0,#30H MOV R1,#00H MOV R2,#40H MOV R3,#00H MOV R7,#0 LOOP1: MOV DPH,R0 MOV DPL,R1 MOVX A,@DPTR MOV DPH,R2

MCS51单片机软件实验题

MCS51单片机软件实验 一、数据传送 1.实验目的 (1)熟悉51单片机的开发环境Keil C51 (2)掌握8051单片机内部数据存储器、外部数据存储器的数据传送特点和应用(3)掌握MOV, MOVX和MOVC类指令的用法及区别 2.实验内容 (1)将内部数据存储器20H为首地址的十六个字节传送到30H为首地址的数据区,即:20H~2FH送30H~3FH。 (2)将外部数据存储器2000H~200FH单元的十六个数传送至内部数据存储器的30H~3FH。 (3)建立一个数字0~9的ASCII码表,表格放在程序存贮器区首址为1000H 的十个单元内,编程根据R0中的内容来查表,所得结果存放在寄存器B 中,注意R0中的内容不在0~9范围时的处理。 二、加减法运算 1.实验目的 (1)正确使用单片机的加减运算指令 (2)掌握不同指令对于程序状态字的影响及程序状态字的意义、用处 (3)掌握ADD,ADDC,SUBB和DA A等指令的用法 (4)学习模块化程序设计方案 2.实验内容 (1)编写3字节二进制加法子程序,并用主程序调用不同的加数和被加数来检测该子程序的正确性。需考虑有进位和无进位情况。 程序入口为:加数:22H,21H,20H三字节,22H为最高位 被加数:32H,31H,30H三字节,32H为最高位程序出口为:23H,22H,21H,20H四字节,23H为最高位 (2)编写3字节二进制减法子程序,用主程序调用多组数据来调试,需考虑无借位和有借位两种情况。 入口:被减数:52H,51H,50H,50H为最低位 减数:42H,41H,40H,40H为最低位 出口:差:外部数据存贮器2003H~2000H(2003H为最高位)

单片机实验报告

本科生实验报告 实验课程单片机原理及应用 学院名称核技术与自动化工程学院 专业名称电气工程及其自动化 学生姓名 学生学号 指导教师任家富 实验地点6C902 实验成绩 二〇一五年三月二〇一五年六月 单片机最小系统设计及应用 摘要 目前,单片机以其高可靠性,在工业控制系统、数据采集系统、智能化仪器仪表等领域得到极其广泛的应用。因此对于在校的大学生熟练的掌握和使用单片机是具有深远的意义。通过本次课程设计掌握单片机硬件和软件方面的知识,更深入的了解单片机的实际应用,本次设计课程采用STC89C52单片机和ADC0804,LED显示,键盘,RS232等设计一个单片机开发板系统。进行了LED显示程序设计,键盘程序设计,RS232通信程序设计等。实现了单片机的各个程序的各个功能。对仿真软件keil的应用提升了一个新的高度。单片机体积小、成本低、使用方便,所以被广

泛地应用于仪器仪表、现场数据的采集和控制。通过本实验的学习,可以让学生掌握单片机原理、接口技术及自动控制技术,并能设计一些小型的、综合性的控制系统,以达到真正对单片机应用的理解。 关键词:单片机;智能;最小系统;ADC;RS232;显示;STC89C52 第1章概述 单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。单片机采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。 它最早是被用在工业控制领域,由于单片机在工业控制领域的广泛应用,单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。 现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机。汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作!单片机的数量不仅远超过PC机和其他计算的总和,甚至比人类的数量还要多。单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词——“智能型”,如智能型洗衣机等。 第2章实验内容 2.1单片机集成开发环境应用

单片机原理及应用实验报告

单片机原理实验报告 专业:计算机科学与技术 学号: :

实验1 计数显示器 【实验目的】 熟悉Proteus仿真软件,掌握单片机原理图的绘图方法 【实验容】 (1)熟悉Proteus仿真软件,了解软件的结构组成与功能 (2)学习ISIS模块的使用方法,学会设置图纸、选元件、画导线、修改属性等基本操作 (3)学会可执行文件加载及程序仿真运行方法 (4)理解Proteus在单片机开发中的作用,完成单片机电路原理图的绘制【实验步骤】 (1)观察Proteus软件的菜单、工具栏、对话框等基本结构 (2)在Proteus中绘制电路原理图,按照表A.1将元件添加到编辑环境中(3)在Proteus中加载程序,观察仿真结果,检测电路图绘制的正确性 表A.1

Switches&Relays BUT BUTTON 【实验原理图】 【实验源程序】 #include sbit P3_7=P3^7; unsigned char x1=0;x2=0 ; unsigned char count=0; unsigned char idata buf[10]= {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; void delay(int time) { int k,j;

for(;time<0;time--) for(k=200;k>0;k--) for(j=500;j<0;j--); } void init() { P0=buf[x1]; delay(10); P2=buf[x2]; delay(10); } void main() { init(); while(1) { x1=count/10; x2=count%10; P0=buf[x1]; delay(10);

相关文档
最新文档