单片机实验报告求16个数的平均值
单片机计数器实验报告
![单片机计数器实验报告](https://img.taocdn.com/s3/m/1c43b3f85ff7ba0d4a7302768e9951e79b8969b6.png)
计数器实验报告㈠实验目的1.学习单片机内部定时/计数器的使用和编程方法;2.进一步掌握中断处理程序的编程方法。
㈡实验器材1.G6W仿真器一台2.MCS—51实验板一台3.PC机一台4.电源一台5.信号发生器一台㈢实验内容及要求8051内部定时计数器,按计数器模式和方式1工作,对P3.4(T0)引脚进行计数,使用8051的T1作定时器,50ms中断一次,看T0内每50ms 来了多少脉冲,将计数值送显(通过LED发光二极管8421码来表示),1秒后再次测试。
㈣实验说明1.本实验中内部计数器其计数器的作用,外部事件计数器脉冲由P3.4引入定时器T0。
单片机在每个机器周期采样一次输入波形,因此单片机至少需要两个机器周期才能检测到一次跳变,这就要求被采样电平至少维持一个完整的机器周期,以保证电平在变化之前即被采样,同时这就决定了输入波形的频率不能超过机器周期频率。
2.计数脉冲由信号发生器输入(从T0端接入)。
3.计数值通过发光二极管显示,要求:显示两位,十位用L4~L1的8421码表示,个位用L8~L5的8421码表示4.将脉搏检查模块接入电路中,对脉搏进行计数,计算出每分钟脉搏跳动次数并显示㈤实验框图(见下页)程序源代码ORG 00000H LJMP MAINORG 001BH ;T0的中断入口地址AJMP MAIN1MAIN:MOV SP,#60HMOV TMOD,#15H ;设置T1做定时器,T0做计数器,都于方式1工作MOV 20H,#14H ;装入中断次数MOV TL1,#0B0H ;装入计数值低8位MOV TH1,#3CH ;装入计数值高8位MOV TL0,#00H计数器主程序框图中断返回恢复现场NY 是否到1秒?显示置T1定时常数INT _T1入口保护现场清T0计数值中断服务程序框图开 始置T0,T1模式及初始值设置初始常数开中断等 待MOV TH0,#00HSETB TR1 ;启动定时器T1SETB TR0 ;启动计数器T0SETB ET1 ;允许T1中断SETB EA ;允许CPU中断SJMP $ ;等待中断MAIN1:PUSH PSWPUSH ACCCLR TR0CLR TR1 ;保护现场MOV TL1,#0B0H ;装入计数值低8位MOV TH1,#3CH ;装入计数值高8位,50ms;允许T1中断DJNZ 20H,RETUNT ;未到1s,继续计时MOV 20H ,#14H;1s到重新开始SHOW: ;显示计数器T0的值MOV R0,TH0 ;读计数器当前值MOV R1,TL0MOV A,R1MOV B,#0AHDIV AB;将计数值转为十进制MOV C,ACC.3 ;显示部分,将A中保存的十位赋给L0~L3 MOV P1.0,CMOV C,ACC.2MOV P1.1,CMOV C,ACC.1MOV P1.2,CMOV C,ACC.0MOV P1.3,CMOV A,B ;将B中保存的各位转移到A中MOV C,ACC.3 ;将个位的数字显示在L4~L7上MOV P1.4,CMOV C,ACC.2MOV P1.5,CMOV C,ACC.1MOV P1.6,CMOV C,ACC.0MOV P1.7,CRETUNT:MOV TL0,#00H ;将计数器T0清零MOV TH0,#00HSETB TR0SETB TR1POP ACCPOP PSWRETI ;中断返回在频率为1000HZ时,L0~L7显示为50;频率为300HZ时,L0~L7显示为15,结果正确,程序可以正确运行。
单片机实验报告
![单片机实验报告](https://img.taocdn.com/s3/m/06832bb165ce050877321305.png)
单片机实验报告学院:姓名:学号:指导老师:目录第一章实验内容、目的及要求 (2)一、内容 (2)二、目的及要求 (3)第二章实验 (3)实验一数字量输入输出实验 (3)实验二定时器/计数器实验 (4)实验三A/D、D/A转换实验 (11)实验四串行通信设计 (20)第三章实验体会 (28)第一章实验内容、目的及要求一、内容实验一数字量输入输出实验阅读、验证C语言程序功能。
使用汇编语言编程,完成实验指导书之“3.1 数字量输入输出实验”基本实验项目。
实验二定时器/计数器实验阅读、验证C语言程序功能。
使用汇编语言编程,完成实验指导书之“3.3 定时/计数器实验”基本实验项目。
提高部分:定时器控制LED灯由单片机内部定时器1,按方式1工作,即作为16位定时器使用每0.05秒钟T1溢出中断一次。
P1口的P1.0-P1.7分别接八个发光二极管。
编写程序模拟时序控制装置。
开机后第一秒钟L1,L3亮,第二秒钟L2,L4亮,第三秒钟L5,L7亮,第四秒钟L6,L8亮,第五秒钟L1,L3,L5,L7亮,第六秒钟L2,L4,L6,L8亮,第七秒钟八个LED灯全亮,第八秒钟全灭,以后又从头开始,L1,L3亮,然后L2,L4亮……一直循环下去。
实验三A/D、D/A转换实验阅读、验证C语言程序功能。
使用汇编语言编程,完成实验指导书之“4.3 A/D转换实验”项目(P64)和“4.4 D/A转换实验”项目。
提高部分:(要求:Proteus环境下完成)小键盘给定(并显示工作状态),选择信号源输出波形类型(D/A 转换方式),经过A/D采样后,将采样数据用LED灯,显示当前模拟信号值大小及变化状态。
实验四串行通讯实验阅读、调试C语言程序功能。
使用汇编语言编程,完成实验指导书之“3.7 串口通讯实验”项目。
(要求:实验仪器上完成)提高部分:(要求:Proteus环境下完成)利用单片机实验系统,实现与PC机通讯。
功能要求:将从实验系统键盘上键入的数字,字母显示到PC机显示器上,将PC机键盘输入的字符(0-F)显示到单片机实验系统的数码管上。
单片机实训报告范文精选5篇
![单片机实训报告范文精选5篇](https://img.taocdn.com/s3/m/38cf725b68eae009581b6bd97f1922791688beb1.png)
单片机实训报告范文精选5篇实训报告是展示自身实训收获成长的重要报告,那么实训报告该如何写呢?小编精选了一些关于实训报告的优秀范例,一起来看看吧。
单片机课程设计心得体会在学校学习期间我有幸的参加了学校的单片机学习小组,在小组里我了解了什么是单片机,单片机有哪些用途,利用单片机可以实现哪些功能来方便人们的生活如交通灯,时钟,还有手机中,电子玩具等等,它们里面都有单片机的存在来实现某种功能。
通过在单片机小组里的学习我简单总结了几点心得和体会:第一:万事开头难,要勇敢的迈出第一步,不要总找借口说没有学习过就总推脱。
凡事都有第一步可以先可简单的来,然后可以逐步的向深层次学习。
可以从建项目开始,然后可以找一个简单的小程序先把它敲进单片机内然他运行起来,感觉一下单片机的运行,让自己了解单片机整个运行。
第二:对于知识点,学过的要掌握牢固,对于没有学的和暂时用不到的先不用学习。
比如:小灯得点亮就没有用到中断可以先不用看。
这样可以避免知识过多记不住的麻烦。
对于程序这里的知识点不能只停留在理论层次上,一定要结合着程序进行学习这样才能掌握的很牢靠,当用到哪里的知识点不记得了可以去看书,对于用不到的可以不去看。
第三:程序不要只是看别人得,一定要自己写过才是自己的。
开始不懂可以参考别人的,看看每一句代表着什么意思,能够实现什么现象。
明白之后自己再重新写一遍,你会发现看别人的能懂到自己写的时候很困难。
当你自己能写出来的时候说明你真懂了。
第四:一定要学会程序调试的方法。
有时候把程序写完了然后运行时不能实现理想的现象。
这时有人就晕了不知该怎么办,然后就去问别人。
当别人找出问题出在哪里时就会恍然大悟。
其实当遇到问题一定要自己尝试着解决,不能遇到问题就去问别人。
自己一定要掌握解决问的方法和思路。
第五:在学习初期看别人的代码,学习别人的思路这个很有用。
通过看别人的代码特别是有多年编程经验的人的程序,可以迅速提高自己的编程水平。
也可以结合着别人的手法,与自己的想法结合在一起写出更好的程序。
单片机实验报告
![单片机实验报告](https://img.taocdn.com/s3/m/dc323508640e52ea551810a6f524ccbff121cad8.png)
单片机实验报告班级:姓名:学号:目录实验一:I/O口输入/输出实验 (1)一、实验任务 (1)二、MCS-51单片机的接口图 (1)三、实验原理图 (2)四、程序设计内容 (2)五、程序框图 (3)六、C语言源程序 (3)七、数据分析 (4)实验二:LCD动态扫描显示实验 (5)一、实验任务 (5)二、实验原理图 (5)三、程序设计内容 (5)四、程序框图 (6)五、C语言源程序 (6)六、数据分析 (7)实验三:键盘输入实验 (8)一、实验任务 (8)二、实验原理图 (8)三、程序设计内容 (8)四、程序框图 (9)五、C语言源程序 (9)六、数据分析 (10)实验四:定时/计数器 (11)一、实验任务 (11)二、实验原理图 (11)三、程序设计内容 (12)四、程序框图 (12)五、C语言源程序 (12)六、数据分析 (14)实验五:音频控制实验 (15)一、实验任务 (15)二、实验原理图 (15)三、程序设计内容 (16)四、程序框图 (16)五、C语言源程序 (16)六、数据分析 (20)实验一:I/O口输入/输出实验一、实验任务流水灯单循环,P0口接八个共阳发光二极管,分别为D0、D1……D7。
程序先点亮D0,延时一段时间(1秒钟),再顺序点亮D1……D7,然后又是D0。
同时只能有一个灯亮。
设晶振频率fosc=11.0592MHz,要求亮灯1秒后下一个灯点亮。
二、MCS-51单片机的接口图图1-1 MCS-51单片机的接口图三、实验原理图图1-2 实验原理图四、程序设计内容1、先计算好定时器初值,并载入TH0,TL0。
2、等待定时器中断响应,响应后累次叠加到1s时,设置标志位。
3、检测标志位,点灭上一个灯,点亮点一个灯。
4、判断是否点亮第七个灯,是则下一个点亮第零个灯,否则跳过。
五、程序框图图1-3 流水灯的程序流图六、C 语言源程序#include<reg52.h>#define uchar unsigned char #define LEDPORT P2bit ledturn=0; //设置亮灯标志 char i=0;uchar code ledlight[8]={0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F}; //led 亮起顺序void main() {NYNY开始储存显示顺序定时器使能 中断使能 LED=1?i>7?i=0中断响应T==20?TF=0;T++;T=0; LED=1,;结束LED=0;显示数据端口;i++;YRCAP2H=0x4C; //定时器2 ,晶振11.0592MHz,单次定时50msRCAP2L=0x00;ET2=1; //定时器2中断允许EA=1; //中断允许TR2=1; //开始计时while(1) //进入死循环{if(ledturn){ledturn=0;LEDPORT=ledlight[i] ;i++;if(i==8)i=0;}}}timer2() interrupt 5 //定时器2终端服务程序{static uchar t;TF2=0; //溢出清0t++;if(t==20){t=0; //取消标志ledturn=1; //设置亮灯标志}}七、数据分析这里实现流水灯单循环的方法是,依次灭掉前一个灯和点亮后一个灯,再延时一会不断循环,当点亮到D07时候,下一个是点亮D00。
单片机实验报告——矩阵键盘数码管显示
![单片机实验报告——矩阵键盘数码管显示](https://img.taocdn.com/s3/m/48e56571011ca300a6c390f5.png)
单片机实验报告信息处理实验实验二矩阵键盘专业:电气工程及其自动化指导老师:***组员:明洪开张鸿伟张谦赵智奇学号:152703117 \152703115\152703118\152703114室温:18 ℃日期:2017 年10 月25日矩阵键盘一、实验内容1、编写程序,做到在键盘上每按一个键(0-F)用数码管将该建对应的名字显示出来。
按其它键没有结果。
二、实验目的1、学习独立式按键的查询识别方法。
2、非编码矩阵键盘的行反转法识别方法。
3、掌握键盘接口的基本特点,了解独立键盘和矩阵键盘的应用方法。
4、掌握键盘接口的硬件设计方法,软件程序设计和贴士排错能力。
5、掌握利用Keil51软件对程序进行编译。
6、会根据实际功能,正确选择单片机功能接线,编制正确程序。
对实验结果能做出分析和解释,能写出符合规格的实验报告。
三、实验原理1、MCS51系列单片机的P0~P3口作为输入端口使用时必须先向端口写入“1”。
2、用查询方式检测按键时,要加入延时(通常采用软件延时10~20mS)以消除抖动。
3、识别键的闭合,通常采用行扫描法和行反转法。
行扫描法是使键盘上某一行线为低电平,而其余行接高电平,然后读取列值,如读列值中某位为低电平,表明有键按下,否则扫描下一行,直到扫完所有行。
行反转法识别闭合键时,要将行线接一并行口,先让它工作在输出方式,将列线也接到一个并行口,先让它工作于输入方式,程序使CPU通过输出端口在各行线上全部送低电平,然后读入列线值,如此时有某键被按下,则必定会使某一列线值为0。
然后,程序对两个并行端口进行方式设置,使行线工作于输入方式,列线工作于输出方式,并将刚才读得的列线值从列线所接的并行端口输出,再读取行线上输入值,那么,在闭合键所在行线上的值必定为0。
这样,当一个键被接下时,必定可以读得一对唯一的行线值和列线值。
由于51单片机的并口能够动态地改变输入输出方式,因此,矩阵键盘采用行反转法识别最为简便。
单片机实验报告
![单片机实验报告](https://img.taocdn.com/s3/m/ad3235d36429647d27284b73f242336c1eb930c2.png)
单片机实验报告一、实验目的本次单片机实验的主要目的是通过实际操作和编程,深入了解单片机的工作原理和应用,掌握单片机系统的设计、开发和调试方法,提高自身的动手能力和解决问题的能力。
二、实验设备1、单片机开发板2、计算机3、编程软件(如 Keil)4、下载器5、示波器6、万用表三、实验内容1、点亮 LED 灯通过编写简单的程序,控制单片机的引脚输出高低电平,从而点亮或熄灭连接在该引脚上的 LED 灯。
这是单片机最基础的操作之一,旨在熟悉单片机的编程环境和引脚控制方式。
2、数码管显示利用单片机驱动数码管,实现数字的显示。
需要了解数码管的工作原理和驱动方式,通过编程控制数码管的段选和位选信号,显示不同的数字。
3、按键输入设计按键电路,通过读取按键的状态,实现对单片机系统的输入控制。
例如,通过按键切换不同的显示模式或控制其他外部设备。
4、定时器/计数器应用使用单片机的定时器/计数器功能,实现定时、计数等操作。
例如,设计一个定时闪烁的 LED 灯,或者通过计数器统计外部脉冲的个数。
5、串口通信实现单片机与计算机之间的串口通信,将单片机采集到的数据发送到计算机上进行显示和处理,或者接收计算机发送的指令对单片机系统进行控制。
四、实验原理1、单片机的基本结构单片机通常由中央处理器(CPU)、存储器(包括程序存储器和数据存储器)、输入输出接口(I/O 口)、定时器/计数器、中断系统等部分组成。
2、编程语言本次实验采用 C 语言进行编程。
C 语言具有简洁、高效、可移植性强等优点,非常适合单片机的开发。
3、引脚功能单片机的引脚分为电源引脚、时钟引脚、复位引脚、I/O 引脚等。
通过对这些引脚的合理配置和控制,可以实现各种功能。
4、数码管驱动原理数码管分为共阴极和共阳极两种类型。
通过控制数码管的段选和位选信号,可以使数码管显示不同的数字和字符。
5、按键检测原理按键通常采用上拉电阻或下拉电阻的方式连接到单片机的I/O 引脚。
单片机实验报告总结
![单片机实验报告总结](https://img.taocdn.com/s3/m/92bd8b58680203d8cf2f242e.png)
单片机实验报告总结单片机实验报告总结单片机实验心得体会单片机实验心得体会时间过得真快,不经意间,一个学期就到了尾声,进入到如火如荼的期末考试阶段。
在学习单片机这门课程之前,就早早的听各种任课老师和学长学姐们说过这门课程的重要性和学好这门课程的关键~~多做单片机实验。
这个学期,我们除了在课堂上学习理论知识,还在实验室做了7次实验。
将所学知识运用到实践中,在实践中发现问题,强化理论知识。
现在,单片机课程已经结束,即将开始考试了,需要来好好的反思和回顾总结下了。
第一次是借点亮LED灯来熟悉keil软件的使用和试验箱上器材。
第一次实验体现了一个人对新事物的接受能力和敏感度。
虽然之前做过许多种实验。
但依旧发现自己存在一个很大的问题,对已懂的东西没耐心听下去,容易开小差;在听老师讲解软件使用时,思路容易停滞,然后就跟不上老师的步骤了,结果需要别人再次指导;对软件的功能没有太大的热情去研究探索,把一个个图标点开,进去看看。
所以第一次试验相对失败。
鉴于此,我自己在宿舍下载了软件,然后去熟悉它的各个功能,使自己熟练掌握。
在做实验中,第二个问题应该是准备不充分吧。
一开始,由于没有课前准备的意识,每每都是到了实验室才开始编程,完成作业,导致每次时间都有些仓促。
后来在老师的批评下,认识到这是个很大的问题:老师提前把任务告诉我们,就是希望我们私下把程序编好。
于是我便在上机之前把程序编好,拷到U盘,这样上机时只需调试,解决出现的问题。
这样就会节约出时间和同学讨论,换种思路,换种方法,把问题给吃透。
发现、提出、分析、解决问题和实践能力是作为我们这个专业的基本素质。
三是我的依赖性很大,刚开始编程序时喜欢套用书上的语句,却对语句的理解不够。
于是当程序出现问题时,不知道如何修改,眼前的程序都是一块一块的被拼凑整合起来的,没法知道哪里错了。
但是编程是一件很严肃的事情,容不得半点错误。
于是便只能狠下决心,坚持自己编写,即使套用时,也把每条语句弄懂。
【VIP专享】单片机实验报告求16个数的平均值
![【VIP专享】单片机实验报告求16个数的平均值](https://img.taocdn.com/s3/m/afa7ba6daf45b307e9719719.png)
实验日期:2013/11/22 指导教师: 实验成绩:
四、实验内容 1、熟悉 C8051 在汇编软件 Keil 上的使用, 2、求十六个数的平均数,并将结果通过实验箱上输出。
6.培养学生观察、思考、对比及分析综合的能力。过程与方法1.通过观察蚯蚓教的学实难验点,线培形养动观物察和能环力节和动实物验的能主力要;特2征.通。过教对学观方察法到与的教现学象手分段析观与察讨法论、,实对验线法形、动分物组和讨环论节法动教特学征准的备概多括媒,体继课续件培、养活分蚯析蚓、、归硬纳纸、板综、合平的面思玻维璃能、力镊。子情、感烧态杯度、价水值教观1和.通过学理解的蛔1虫.过观适1、察于程3观阅 六蛔寄.内列察读 、虫生出蚯材 让标容生3根常蚓料 学本教活.了 据见身: 生,师的2、解 问的体巩鸟 总看活形作 用蛔 题线的固类 结雌动态业 手虫 自形练与 本雄学、三: 摸对 学动状习人 节蛔生结4、、收 一人 后物和同类 课虫活构请一蚯集 摸体 回并颜步关 重的动、学、蚓鸟 蚯的 答归色学系 点形教生生让在类 蚓危 问纳。习从 并状学理列学平的害 题线蚯四线人 归、意特出四生面体以形蚓、形类 纳大图点常、五观玻存 表及动的鸟请动文 本小引以见引、察璃现 ,预物身类 3学物明 节有言及的、导巩蚯上状 是防的体之生和历 课什根蚯环怎学固蚓和, 干感主是所列环史 学么据蚓节二样生练引牛鸟 燥染要否以举节揭 到不上适动、区回习导皮类 还的特分分蚯动晓 的同节于物让分答。学纸减 是方征节布蚓物起 一,课穴并学蚯课生上少 湿法。?广的教, 些体所居归在生蚓前回运的 润;4泛益学鸟色生纳.靠物完的问答动原 的4蛔,处目类 习和活环.近在成前题蚯的因 ?了虫以。标就 生体的节身其实端并蚓快及 触解寄上知同 物表内特动体结验和总利的慢我 摸蚯生适识人 学有容点物前构并后结用生一国 蚯蚓在于与类 的什,的端中思端线问活样的 蚓人飞技有 基么引进主的的考?形题环吗十 体生行能着 本特出要几变以动,境?大 节活的1密 方征本“特节化下物.让并为珍 近习会形理切 法。课生征有以问的小学引什稀 腹性态解的 。2课物。什游题主.结生出么鸟 面和起结蛔关观题体么戏:要利明蚯?类 处适哪构虫系察:的特的特用确蚓等 ,于些特适。蛔章形殊形征板,这资 是穴疾点于可虫我态结式。书生种料 光居病是寄的们结构,五小物典, 滑生?重生鸟内学构,学、结的型以 还活5要生类部习与.其习巩鸟结的爱 是如原活生结了功颜消固类构线鸟 粗形何因的存构腔能色化练适特形护 糙态预之结的,肠相是系习于点动鸟 ?、防一构现你动适否统。飞都物为结蛔。和状认物应与的行是。主构虫课生却为和”其结的与题、病本理不蛔扁的他构特环以生?8特乐虫形观部特8征境小理三页点观的动位点梳相组等、这;,哪物教相,理适为方引些2鸟,育同师.知应单面导鸟掌类结了;?生识的位学你握日构解2互.。办特生认线益特了通动手征观识形减点它过,抄;察吗动少是们理生报5蛔?物,与的解.参一了虫它和有寄主蛔与份解结们环些生要虫其。蚯构都节已生特对中爱蚓。会动经活征人培鸟与飞物灭相。类养护人吗的绝适这造兴鸟类?主或应节成趣的为要濒的课情关什特临?就危感系么征灭来害教;?;绝学,育,习使。我比学们它生可们理以更解做高养些等成什的良么两好。类卫动生物习。惯根的据重学要生意回义答;的3.情通况过,了给解出蚯课蚓课与题人。类回的答关:系线,形进动行物生和命环科节学动价环值节观动的物教一育、。根教据学蛔重虫点病1.引蛔出虫蛔适虫于这寄种生典生型活的线结形构动和物生。理二特、点设;置2.问蚯题蚓让的学生生活思习考性预和习适。于穴居生活的形态、结构、生理等方面的特征;3.线形动物和环节动物的主要特征。
单片机实验报告
![单片机实验报告](https://img.taocdn.com/s3/m/f22c7b13fad6195f312ba6ec.png)
机电一体化微机开发实验实验报告姓名:岳学智组号:第2组学号:1007121503指导教师:杨振江实验时间:目录前言 (3)一、实验介绍 (3)1.1 单片机介绍 (3)1.2 Keil C介绍 (3)1.3 STC-ISP (4)1.4 字模软件 (4)二、实验内容 (5)2.1 流水灯 (5)2.2 动态数码管显示实验 (6)2.3 A/D和D/A转换实验 (7)2.4 串口通信实验 (9)2.5 16X16点阵屏显示实验 (10)三我的实验部分 (11)3.1 实验电路介绍 (11)3.2 定时器工作原理、相关寄存器设置以及中断控制 (12)3.3 基本原理 (15)3.4 程序及其解释 (17)3.5 实验目的 (17)3.6 实验步骤 (17)3.7 实验结果 (17)四、实验总结 (18)前言实验内容:1.熟悉系统及流水灯实验。
2.多位动态数码管显示实验。
3.数据采集(A/D、D/A)实验。
4.数据通信实验(PC与单片机、单片机与单片机)。
5.秒信号(定时器)显示实验。
6.动态显示汉字或图形点阵实验。
实验器材:PC计算机、51系列单片机STC89C54RD+、串口调试工具,Keil C、单片机编程软件STC-ISP、XD_V2.0实验板、XD_V4.5实验板、万用表和简单的字模产生软件等。
实验目的:⑴以实验板平台上系统为基础学习编程、烧写、调试以及相关硬件的知识;⑵了解和掌握51系列单片机的使用和开发过程,使具备基本的C语言编程能力,为以后的学习、工作中的研究打下良好基础。
(3) 了解单片机工控系统,为在实践中应用单片机实现复杂控制做好基础。
一、实验介绍1.1 单片机介绍在一片集成电路芯片上集成微处理器、存储器、I/O接口电路,从而构成了单芯片微型计算机,即单片机。
Intel公司推出了MCS-51系列单片机:集成8位CPU、4K字节ROM、128字节RAM、4个8位并口、1个全双工串行口、2个16位定时/计数器。
单片机实验报告参考
![单片机实验报告参考](https://img.taocdn.com/s3/m/c9bdad1a6bd97f192279e9b3.png)
《实验一 应用系统开发过程演示》实验报告参考一.实验目的1.了解单片机应用系统的开发过程,获得感性认识。
2.了解开发箱/开发板的使用方法3.了解仿真软件的基本功能和使用方法。
二.实验环境(一) EL 型微机教学实验系统:1. 设备::北京精议达盛科技有限公司EL-MUT3多CPU 单片机/微机实验实训系统2. 软件:北京精议达盛科技有限公司8051调试软件4.0版 二.实验电路(一) EL 型微机教学实验系统实验电路(二) 仿真软件开发调试环境: 1.英国 Labcenter electronics 公司的Proteus EDA 工具软件, 2. 美国Keil 公司的µVision 集成开发环境 (二) 仿真软件实验电路:三. 操作步骤:(一)EL 型微机教学实验系统操作步骤1. 连线:P1.0~P1.7接LED1~LED82. 新建汇编语言源文件3. 另存为D:\J08X\SY1.ASM4. F3编译生成目标文件,F5进入调试:工具栏上“R ”打开寄存器窗,“H ”打开反汇编窗口F8,单步执行,观察相关寄存器窗口中有关寄存器中数据的变化。
四. 源程序(括号中为EL 型微机教学实验系统中的程序)ORG 0000H (ORG 4000H ) SJMP MAIN (LJMP MAIN) ORG 0040 H (ORG 4100H) MAIN: MOV A,#0FEH LOOP: MOV P2,A (MOV P1,A ) LCALL D_1s RL A AJMP LOOP ;以下为延时子程序 D_Is: MOV R6,#100 ;1s D10ms: MOV R5,#40 :10ms DL: MOV R4,#123 N0P DJNZ R4,$ DJNZ R5,DL DJNZ R6,D10ms RET END(二) 仿真软件开发调试环境: ◆Proteus 工具软件下, 1.新建设计 ①选取元件 A T89C51,RES,LED-RED ②在工作区放置元件,地线,电源 电阻RES 阻值200Ω,模式DIGITAL ③连线 2. 源程序设计,生成目标文件代码 “Source →Add/RemoveFiles ”新建源程序文件D:\J08X\L Y1.ASM “Source → SY1.ASM ”在文本编辑器编写源程序 通过“Source →BuildAll ”编译源程序,生成目标程序。
单片机综合实验报告
![单片机综合实验报告](https://img.taocdn.com/s3/m/71bcfc42be1e650e52ea99c4.png)
摘要单片机应用技术课程为一门理论与实践相结合的课程,本课程安排的实验旨在培养学生软硬件开发能力,用编程语言及硬件设备实现串、并行通讯、计数/定时、A/D、D/A等硬件接口的功能,进一步加深对常用硬件芯片的了解和应用,以及学习用单片机解决实际问题。
实验要求学生利用编程语言及硬件设备实现单片机的方案设计、程序编写、硬件连接、调试,从中体会具体硬件接口的应用技巧,进一步理解硬件接口芯片,逐步掌握单片机系统的开发和应用方法。
此次试验设计主要以STC89C52RC单片机为核心,由系统开发板、74LS138译码器、8253计数器等元件构成跑马灯以及方波的相关试验。
基于题目基本要求,首先我熟悉单片机最小系统的组成和工作原理,熟悉Keil C51集成环境软件的使用方法。
然后根据系统要求设计电路图,编写汇编语句,购买试验器件,焊接试验电路。
最后进行试验调试。
通过自己不懈的努力,最终完成了试验。
目录实验一构建单片机最小系统和实验环境熟悉 (2)第一部分:实验要求 (2)一、预习要求 (2)二、实验目的 (2)三、实验内容 (2)3.1单片机最小系统实验 (2)第二部分:实验过程 (2)一、单片机最小系统实验 (2)二、实验总结 (4)通过这次实验让我们对单片机最小系统有了一个清晰的认识,为下面的试验打好了基础。
实实验二跑马灯实验及74HC138译码器 (4)第一部分:实验要求 (5)一、预习要求 (5)二、实验目的 (5)三、实验内容 (5)3.1跑马灯实验: (5)3.2 74HC138译码器实验: (5)第二部分:实验过程 (5)一、通过74HC138译码器实现跑马灯 (5)1.1 74HC138译码器介绍 (5)1.1.1 74HC138译码器引脚图 (6)1.1.2 74HC138译码器真值表 (6)1.2 74ls138跑马灯原理图 (7)1.3程序流程图 (7)1.4实验程序代码 (8)三、调试结论 (9)实验三8253方波实验 (10)第一部分:实验要求 (10)一、预习要求 (10)二、实验目的 (10)三、实验内容 (10)第二部分:实验过程 (10)一、8253芯片介绍 (10)1.1 8253引脚图 (10)1.2 8253工作方式 (11)二、使用8253产生方波 (12)2.1实验原理图 (13)2.2程序流程图 (13)2.3实验程序代码 (14)三、调试结论 (15)实验课程总结 (16)参考文献 (16)实验一构建单片机最小系统和实验环境熟悉第一部分:实验要求一、预习要求1.构建单片机最小系统,熟悉51单片机的结构及编程方法。
用单片机语言设计16位加法计算器实验报告概要
![用单片机语言设计16位加法计算器实验报告概要](https://img.taocdn.com/s3/m/5a0c764a3a3567ec102de2bd960590c69ec3d80c.png)
⽤单⽚机语⾔设计16位加法计算器实验报告概要湖北第⼆师范学院计算机学院09计应单⽚机课程设计实验报告课程设计名称:电⼦计算器课程设计单位:10计应(1)班课设⼩组成员:徐凡(1060310039)凡平(1060310058)彭浩(1060310045)桂银(1060310010)潘光卉(1060300033)完成时间:2012年04⽉02⽇⾄2012年04⽉ 24 ⽇单⽚机课程设计实验报告课程设计题⽬:简易计算器作品功能描述:当通过输⼊键盘数字时,能够在显⽰器上显⽰输出的数值,并且通过想实现的简单运算功能,实现计算器的加、减、乘、除和清零,并将结果显⽰出来。
⼩组成员⼯作分⼯:徐凡:程序主框架的构造和主要功能函数的设计。
凡平:原理图的设计和硬件的焊接。
彭浩:基本功能函数的设计(“+,-,*,/”)。
桂银:程序流程图的设计和键盘扫描程序的实现。
潘光卉:编写⽂档和功能测试。
硬件电路设计:本设计中我们⽤的是AT89C52芯⽚,LCD1602 (PROTEUS中为LM016L)就是那个液晶屏,因为可以显⽰2⾏16个字符,故叫做LCD1602.11.0592M或12M晶振(CRYSTAL),两者均可,但要涉及到串⼝需选⽤12MKEYPAD-SMALLCALC就是那个4X4键盘电容20~30PF(CAP),接最⼩电路电容10PF主要接复位电路RESPACK-8排阻,为20K的,⼀个引脚接正极,另8个引脚接I/O⼝接RES电阻10K,接复位电路实物照⽚:硬件原理图原理说明:2,计算。
按下数字键,屏幕显⽰要运⾏的第⼀个数字,再按下符号键,然后再按下数字键,屏幕显⽰要运算的第⼆个数字,最后按下“=”号键,屏幕上显⽰出计算结果。
3,如果要再次计算,可以按下“ON/C”键清零,或者继续按下数字键,即可重新计算。
键盘使⽤说明如下:按键功能说明:Array“+”实现两个数的相加“-”实现两个数的相减“×”实现两个数的乘积“÷”实现两个数商的运算“ON/C”计算器显⽰的清零和接通电源程序控制流程图:软件设计:在程序设计⽅法上,模块化程序设计是单⽚机应⽤中最常⽤的程序设计⽅法。
单片机实验报告1
![单片机实验报告1](https://img.taocdn.com/s3/m/4539551b910ef12d2bf9e7a4.png)
单片机实验报告1单片机实验报告实验一数据传送 (RA M ndash; 〉XRA M)一、实验目得熟悉星研集成环境软件或熟悉 KeilC51集成环境软件得使用方法。
熟悉 MCS51 汇编指令,能自己编写简单得程序,掌握数据传输得方法。
二、实验内容1、熟悉星研集成环境软件或熟悉Keil C51 集成环境软件得安装与使用方法。
2、编写程序,实现内外部数据段得传送、校验。
三、程序框图开始堆栈指针初始化计数器、地址初始化内部RAM数据传送外部RAM一次地址指针+1计数器-1=0?计数器、地址指针复位取内部RAM和对应的外部RAM比较是否相等地址指针+1计数器-1=0?传送正确传送错误结束NNYYYN数据传送程序框图四、实验步骤MAR 据数部外测检,序程试调式方点断、步单用使;据数入输中HF3~ H03 MAR 部内在ﻩ得 1000H ~100FH 中得内容。
熟悉查瞧特殊功能寄存器、内部数据 RAM、外部数据空间得各种方法.五、程序清单;将内部RAM Address1 开始得 16个字节送到外部RAM从 Address2开始得单元里,再作比较。
Address1 DATA 30HAddress2 _DATA1000HORG 0000HLJMP STARORG 0100HSTAR: MOV SP,#60HMOV R0,#Address1MOV DPTR,#Address2MOV R7,#10HSTAR1: MOV A,R0 ;传送MOV_ DPTR,AINC R0INC DPTRDJNZ R7,STAR1MOV R0,#Address1MOV DPTR,#Address2MOV R7,#10HSTAR2: MOV B,R0 ;比较MOV_ A,DPTRCJNE A,B,STAR3INC R0INC DPTRDJNZ R7,STAR2SJMP $ ;传送正确STAR3: SJMP $ ;传送错误END实验二双字节 D BCD 码( ( 十进制数) ) 加法一、实验目得熟悉51 汇编指令,学会使用星研集成环境软件,能自己编写简单得程序,熟悉BCD 码,了解如何调用系统提供得子程序.二、实验内容从键盘上输入4位被加数、加数,实现双字节 BCD 码(四位数)得加法,结果显示在数码管上;熟悉使用断点、单步进入、单步、运行到光标处、修改 PC 指针、全速运行等各种调试手段;熟悉查瞧特殊功能寄存器、内部数据RAM、外部数据空间得各种方法。
单片机原理实验报告
![单片机原理实验报告](https://img.taocdn.com/s3/m/b9003562f56527d3240c844769eae009591ba255.png)
实验一:系统认识实验一、设计目的:1. 学习 Keil C51 集成开发环境的操作;2. 熟悉 TD-51 系统板的结构及使用。
二、设计内容:编写程序,将 00H~0FH 共 16 个数写入单片机内部 RAM 的 30H~3FH 空间。
三、设计步骤:1. 创建 Keil C51 应用程序(1)运行 Keil C51 软件,进入 Keil C51 集成开发环境。
(2)选择工具栏的 Project 选项,弹出下拉菜单,选择 NewProject 命令,建立一个新的μVision2 工程。
这时会弹出文件保存对话框,选择工程目录并输入文件名 Asm1 后,单击保存。
(3)工程建立完毕后,μVision2 会马上弹出器件选择窗口。
器件选择的目的是告诉μVision2 使用的 80C51 芯片的型号是哪一个公司的哪一个型号,不同型号的 51 芯片内部资源是不同的。
此时选择 SST 公司的 SST89E554RC。
(4)到此建立好一个空白工程,现在需要人工为工程添加程序文件,如果还没有程序文件则必须建立它。
选择工具栏的 File 选项,在弹出的下拉菜单中选择 New 目录。
(5)输入程序,完毕后点击“保存”命令保存源程序,将 Text1 保存成Asm1.asm。
Keil C51 支持汇编和 C 语言,μVision2 会根据文件后缀判断文件的类型,进行自动处理,因此保存时需要输入文件名及扩展名.ASM 或.C。
保存后,文件中字体的颜色会发生一定变化,关键字会变为蓝色。
(6)程序文件建立后,并没有与 Asm1.Uv2 工程建立任何关系。
此时,需要将 Asm1.asm 源程序添加到 Asm1.Uv2 工程中,构成一个完整的工程项目。
在Project Window 窗口内,选中Source Group1 点击鼠标右键,选择 Add Files to Group‘Source Group1’命令,此时弹出添加源程序文件对话框,选择文件Asm1.asm,点击 Add 命令按钮即可将源程序文件添加到工程中。
单片机实验报告(完整版)
![单片机实验报告(完整版)](https://img.taocdn.com/s3/m/7d5e0b8002d276a200292e6b.png)
单片机原理与应用实验报告学院(部):专业:学生姓名:班级:学号:最终评定成绩:实验一存储器读写一、实验目的:1、掌握寄存器、存储器读写等汇编指令;2、掌握编程软件编辑、编译、调试等基本操作。
二、实验仪器设备1.PC机,1台2.WAVE软件开发系统三、实验内容及步骤:1、将下面的汇编程序输入到W A VE集成开发软件中ORG 0000HSJMP STARTORG 0030HSTART:MOV R0,#07HMOV 70H,#08HMOV R1,#70HMOV DPTR,#2000HLOOP:MOVX A,@R1MOVX A,@DPTRINC R1INC ADJNZ R7,LOOPSJMP $END2、选择菜单“仿真器”→“仿真器设置”,按下图所示完成软件初始设置。
3、选择菜单“项目”下“编译”,编译通过后,选择“单步运行”,观察记录寄存器(R0、R1)、累加器(A)、程序状态字(PSW)、外部存储器(2000H单元)、I/O端口(P1)的数据变化。
四、源程序源程序:ORG 0000H ;定义起始地址SJMP STARTORG 0030HSTART:MOV R0,#07HMOV 70H,#08H ;给内部RAM的70H单元赋初值MOV R1,#70H ;使R1指向内部70H单元MOV DPTR,#2000H ;定义外部存储器开始单元LOOP:MOVX A,@R1 ;将R1所指向的70H的内容赋给AMOVX @DPTR,A;将A的内容赋给外部存储器单元INC R1 ;内部RAM地址加1INC DPTR ;外部存储器地址加1DJNZ R7,LOOP ;循环,直到RAM中70H~7FH;单元的内容全部相应赋给;外部2000H~2007H单元SJMP $END3、记录下程序单步运行时,寄存器(R0、R1)、累加器(A)、程序状态字(PSW)、外部存储器(2000H单元)、I/O端口(P1)的数据变化。
五、仿真效果图实验二I/O端口操作一、实验目的:1、掌握I/O端口读写等基本汇编指令;2、掌握单片机最小系统硬件电路设计及仿真软件PROTEUS仿真、调试等基本操作方法。
单片机实验报告
![单片机实验报告](https://img.taocdn.com/s3/m/b9b5f6565bcfa1c7aa00b52acfc789eb162d9e74.png)
单片机实验报告《单片机系统实验》实验报告院系:学号:姓名:2017年12月一、实验目的1.了解32位单片机(STM32系列)原理及其应用,熟悉单片机的资源,掌握单片机的最小系统设计及扩展技术,掌握单片机的编程语言。
2.通过本实验了解LCD液晶工作原理,能通过编程操作液晶的显示。
二、实验设备STM32实验系统一套,PC机一台。
三、实验原理(1)I/O口及定时器实验:STM32的GPIO口控制4个发光二极管,了解其硬件连接方式,学会使用STM32的一个定时器,掌握对定时器计时方式的编程。
编写程序循环点亮4个发光二极管,控制点亮时间为1秒钟闪烁。
(2)外部中断实验:掌握STM32单片机外部中断的用法,学会设置中断优先级,在实验(1)的基础上完成,如果有外部中断发生改变发光二极管的发光规律。
(如,仅其中2个灯亮,再次触发外部中断后,发光二极管重新变成4个灯循环点亮。
)(3)串行口通信实验:掌握STM32单片机与计算机之间的硬件连接方式,了解二者之间的传输协议,进行数据传输。
(4)LCD实验:掌握STM32单片机与液晶之间的硬件连接方式,单片机如何驱动液晶进行显示。
四、内容与步骤1.学会使用IAR或KEIL的编译链接调试环境,熟悉有关STM32使用到的库,并能顺利建立包含各种库文件的工程。
(2学时)2.I/O口实验:在建立工程的基础上能点亮发光二极管。
(2学时)3.定时器实验:循环定时(用定时器做)点亮4个灯,即每1秒闪烁点亮一个灯,循环往复(或叫跑马灯实验)。
(2学时)4.外部中断实验:按键作为触发外部中断的条件,中断发生时,改变发光二极管的点亮规律。
(2学时)5.串行口通信实验:编写串行口通信实验程序,能在计算机与STM32系统间进行ASCII码的传输。
(2学时)6.LCD实验:通过自行编写库文件和了解液晶显示字库,能在液晶上显示“北京航空航天大学机械工程及自动化学院”字样。
(6学时)五、关键代码1.I/O口及定时器实验/*通过定时器3中断函数实现跑马灯,现象为每个LED灯依次点亮1秒后熄灭*/void TIM3_IRQHandler(void){extern uint8_t LED_Status[5];if(TIM3->SR&0X0001)//溢出中断{if(LED_Status[1]==0){LED1_ON;LED2_OFF;LED3_OFF;LED4_OFF;LED_Status[1]=1;}else if(LED_Status[1]==1){LED1_OFF;LED2_ON;LED3_OFF;LED4_OFF;LED_Status[1]=2;}else if(LED_Status[1]==2){LED1_OFF;LED2_OFF;LED3_ON;LED4_OFF;LED_Status[1]=3;}else if(LED_Status[1]==3){LED1_OFF;LED2_OFF;LED3_OFF;LED4_ON;LED_Status[1]=0;}}TIM3->SR&=~(1<<0);//清除中断标志位}2.外部中断实验/*LED灯的发光规律有两种:一种是每个LED灯依次点亮1秒后熄灭,另一种是每次2个LED灯同时点亮,持续1秒后向前移动1个LED灯的位置。
单片机实验报告求16个数的平均值
![单片机实验报告求16个数的平均值](https://img.taocdn.com/s3/m/63ed4d86a0116c175f0e4846.png)
贵州大学计算机科学与技术学院计算机科学与技术系上机实验报告课程名称:单片机原理班级:实验日期:2013/11/22 姓名:学号:指导教师:实验序号:实验成绩:一、实验名称:求十六个数的平均数二、实验目的及要求1、熟悉单片机的指令,学习简单程序的编写和使用。
2、掌握和了解求16个数的平均值的编程原理和编程方法。
三、实验环境Windows XPKeil单片机编程软件Protues 仿真软件四、实验内容1、熟悉C8051在汇编软件Keil上的使用,2、求十六个数的平均数,并将结果通过实验箱上输出。
五、算法描述及实验步骤六、调试过程及实验结果将在keil软件中写的程序编译成.hex类型文件并在Protues仿真软件中运行的结果如下:DI和D5亮表示运行结果是17,这与16个数的(02H+04H+06H+08H+0AH+0CH+0EH+10H+12H+14H+16H+18H+1A H+1CH+1EH+20H)/10H=11H的结果计算一致,所以该实验正确。
七、总结通过是要进一步熟悉了之前对于51单片机的开发环境,巩固掌握了单片机开发语言的使用以及循环结构的设置及调用。
通过上机,将书本上学习到的知识运用到实际中,使自己的编程能力得到提高。
八、附录$nomod51$include(c8051f020.INC)ORG 0000HSJMP STARTSTART:MOV R0,#60HMOV A,#TABLP1:MOV R7,AMOVC A,@A+DPTR MOV @R0,AINC R0MOV A,R7INC ACJNE R0,#70H,LP1Mov R0,#60HMov A,@R0Mov R3,#0NEXT:MOV A,R2INC R0ADD A,@R0MOV R2,AMOV A,R3ADDC A,#00HMOV R3,ACJNE R0,#6FH,NEXT MOV R0,#04HMOV A,R2MOV R5,AMOV R6,#00H LOOP:CLR CMOV A,R3RRC AMOV R3,AMOV A,R5RRC AMOV R5,ARRC AMOV R6,ADJNZ R0,LOOPMOV A,R5MOV P3,ATAB: DB 02H,04H,06H,08H,0AH,0CH,0EH,10H,12H,14H,16H,18H,1AH,1CH,1E H,20HSJMP $END。
单片机软件实验报告
![单片机软件实验报告](https://img.taocdn.com/s3/m/8a3b4f1355270722192ef746.png)
\实验一内存操作1.实验目的①掌握数据传送指令;②掌握各种数据传送指令的寻址方式;③熟练运用keil 环境对汇编程序进行调试;④掌握数据传送、复制等程序的设计与调试方法。
2.预习要求①理解数据传送指令和循环指令的使用;②理解如何对内部寄存器、内部RAM、外部XRAM(外部数据存储器)的读写;③理解各种寻址方式,尤其是较为抽象的变址寻址及相对寻址的方式;④认真预习本实验内容,自行编写程序,填写实验报告。
3.实验设备计算机1台;4.基础型实验内容:1.下列程序的功能是给外部XRAM 8000H~80FFH的256个单元的内容赋值,赋值的内容取决于程序中A的赋值。
在Keil环境运行该程序,并观察寄存器及内存单元的变化。
ORG 0000HSTART EQU 8000H;MAIN: MOV DPTR,#START;;起始地址MOV R0,#0H;;设置256字节计数值MOV A,#1H;Loop: MOVX @DPTR,A;INC DPTR;;指向下一个地址DJNZ R0,Loop;;计数值减1NOP;SJMP $;END寄存器A为1H,DPTR递增到8100H,奇偶校验位由于A的内容是1H,所以p也是1.2.下列程序将外部XRAM 3000H起始的256个字节存储块移动到外部XRAM 4000H起始的256个字节存储块,在Keil环境运行如下程序,观察寄存器及存储单元的变化。
ORG 0000HMOV DPTR,#3000HMOV A,#01HMOV R5,#0HLOOP: MOVX @DPTR,AINC DPTRDJNZ R5,LOOPMOV R0,#30HMOV R1,#00HMOV R2,#40HMOV R3,#00HMOV R7,#0HLOOP1: MOV DPH,R0MOV DPL,R1MOVX A,@DPTRMOV DPH,R2MOV DPL,R3MOVX @DPTR,AINC R1INC R3DJNZ R7,LOOP1SJMP $END实现了将3000H开始的256个单元的内容复制到以4000H开头的外部RAM存储单元中。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
贵州大学计算机科学与技术学院
计算机科学与技术系上机实验报告
课程名称:单片机原理班级:实验日期:2013/11/22 姓名:学号:指导教师:
实验序号:实验成绩:
一、实验名称:
求十六个数的平均数
二、实验目的及要求
1、熟悉单片机的指令,学习简单程序的编写和使用。
2、掌握和了解求16个数的平均值的编程原理和编程方法。
三、实验环境
Windows XP
Keil单片机编程软件
Protues 仿真软件
四、实验内容
1、熟悉C8051在汇编软件Keil上的使用,
2、求十六个数的平均数,并将结果通过实验箱上输出。
五、算法描述及实验步骤
六、调试过程及实验结果
将在keil软件中写的程序编译成.hex类型文件并在Protues仿真软件中运行的结果如下:
DI和D5亮表示运行结果是17,这与16个数的
(02H+04H+06H+08H+0AH+0CH+0EH+10H+12H+14H+16H+18H+1A H+1CH+1EH+20H)/10H=11H的结果计算一致,所以该实验正确。
七、总结
通过是要进一步熟悉了之前对于51单片机的开发环境,巩固掌握了单片机开发语言的使用以及循环结构的设置及调用。
通过上机,将书本上学习到的知识运用到实际中,使自己的编程能力得到提高。
八、附录
$nomod51
$include(c8051f020.INC)
ORG 0000H
SJMP START
START:
MOV R0,#60H
MOV A,#TAB
LP1:
MOV R7,A
MOVC A,@A+DPTR MOV @R0,A
INC R0
MOV A,R7
INC A
CJNE R0,#70H,LP1
Mov R0,#60H
Mov A,@R0
Mov R3,#0
NEXT:
MOV A,R2
INC R0
ADD A,@R0
MOV R2,A
MOV A,R3
ADDC A,#00H
MOV R3,A
CJNE R0,#6FH,NEXT MOV R0,#04H
MOV A,R2
MOV R5,A
MOV R6,#00H LOOP:
CLR C
MOV A,R3
RRC A
MOV R3,A
MOV A,R5
RRC A
MOV R5,A
RRC A
MOV R6,A
DJNZ R0,LOOP
MOV A,R5
MOV P3,A
TAB: DB 02H,04H,06H,08H,0AH,0CH,0EH,10H,12H,14H,16H,18H,1AH,1CH,1E H,20H
SJMP $
END。