单片机课程实验报告和程序.doc_第1页
单片机课程实验报告和程序.doc_第2页
单片机课程实验报告和程序.doc_第3页
单片机课程实验报告和程序.doc_第4页
单片机课程实验报告和程序.doc_第5页
免费预览已结束,剩余39页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

单片机实验报告 华南师范大学姓 名: 学 号: 专 业: 通 信 工 程 班 级: 09通信8班 数字量输入输出实验一、 实验目的1 熟悉教学板电路及其结构。2 掌握利用vision c51 软件编辑、调试(包括仿真调试、单步调试)、运行单片机程序的步骤和方法,掌握利用stc-isp v39软件和下载线将程序写入单片机的方法 。3 通过实验熟悉51单片机的并行i/o口,并掌握它们的应用。4 掌握矩阵键盘、led动态显示的工作原理。二、 实验设备pc机一台、实验教学板一块。三、 实验准备1 阅读实验讲义附录一、 实验教学板电路图和附录二、vision软件使用说明2 按实验题目要求设计好硬件电路,画出电路原理图,设计出相应程序,并给程序加上较详细的注释。四、 实验内容 1.实验线路如附图所示,51单片机的p0口输出接8个发光二极管的阴极,p2.4经npn三极管9011控制发光管的阳极。p3口支持一个8位行列式键盘,其中p3.4p3.7供键盘扫描输出, p3.2、p3.3作键盘扫描输入。 实验要求:编程实现键盘对发光二极管的控制,每按一个按键,使对应的二极管点亮。 251单片机p0口输出同时接4个数码管的阴极,p2.0p2.3,经npn三极管9011接数码管的阳极,该端口用于分别控制相应数码管的导通。实验要求:编程实现对任意按键动作的次数进行计数(最大99次),同时将计数值实时显示。五、实验步骤1. 将实验板与pc机通过com口连接。启动pc机,进入vision软件环境,选择建立新工程文件,即可开始输入源程序。 2完成汇编、编译、连接,若有错误,则修改源程序,直至编译、连接通过为止。3接上实验板上的电源。3 运行“stc-isp v39.exe”,将程序代码下载到实验板的单片机中。操作的顺序是:1)选择单片机(mcu type)型号。如:“stc89c51rc”要与实验板上所装单片机的型号一至。2)打开文件(open file)。 即把要下载到单片机的程序文件(已通过编译了的机器码文件二进制(.bin)或十六进制(.hex)的)调到“文件缓冲区”,这时可看到右边的“文件缓冲区” 有数字变化。3)选择串行通信口。 选对时,软件上的小灯会变绿。否则小灯是灰色。且在左下窗口提示“出错信息”。4)下载:按“download/下载”按键下载。5)把实验板上的供电的直流电源拔掉或关掉3秒钟再插入或打开电源(为单片机上电复位)。 4观察单片机运行情况,验证程序是否能完成题目给出的控制要求,若不能达到要求,分析原因、查找错误,修改源程序,再次汇编、连接,重新下载、运行,直至达到题目的控制要求。六、 参考程序流程图实验内容1流程图 实验内容2流程图 键盘处理程序流程图七、 相应的程序1.按键点亮对应相应的二极管。org0000hmain:mov p2,#10h/二极管一段高电平,点亮准备sta:mov a,#11101111b /按键测试mov r7,#05h sta1:mov p3,adjnz r7,nextsjmp sta/为0时则跳回.next:rl apress0:jbp3.3,press1/无按键等待lcalldelay30ms/去抖动jbp3.3,press0/测试是哪一行接通了!jnbp3.3,$sjmp pre_p33press1:jbp3.2,sta1/无按键等待,如果p3.2为1时,则说明木有按过.lcalldelay30ms /去抖动jbp3.2,press1jnbp3.2,$sjmp pre_p32pre_p33:dec r7/点亮对应的led灯mov a,r7mov dptr,#table movc a,a+dptrmov p0,asjmp stapre_p32:dec r7mov a,r7mov dptr,#table1 movc a,a+dptrmov p0,asjmp stadelay30ms:movr4,#55delay:movr3,#250djnzr3,$ /1.085us(指令周期)*2*250+2=547.5usdjnzr4,delayrettable: db 0f7h,0fbh,0fdh,0feh /第一行按键,对应led左边的4个灯table1: db 7fh,0bfh,0dfh,0efh /第二行按键,对应led右边的4个灯end2.按键让数码管从00-99计数。org 0000hsta:mov dptr,#tablemov p2,#0h /关闭数码管选通mov p3,#0ffhmov r0,#0h /r0作为计数key:mov a,#0efh /按键扫描初始化第一列 mov r1,#4hkeyb:mov p3,a jnb p3.2,keyc jnb p3.3,keyc jmp muy /该列无按键按下,进入下一列扫描keyc:lcall delay20 jnb p3.2,keycc jnb p3.3,keycc jmp muykeycc:jnb p3.2,$ jnb p3.3,$ inc r0 /按一次,增加r0的值muy:rl a djnz r1,keyb /一轮扫描结束后 mov a,r0 cjne a,#100,dis /判断是否达到100,不是,转到显示区 mov a,#0 /是,重新给a赋值0 mov r0,#0dis:mov b,#10div ab /把a/10的商给a,余数给bmovc a,a+dptr mov p0,a mov p2,#4 / 十位显示lcall delay1mov a,bmovc a,a+dptrmov p0,amov p2,#8 /个位显示lcall delay1jmp keydelay1:mov r6,#2 de11:mov r5,#248 djnz r5,$ djnz r6,de11 retdelay20:mov r7,#10 djnz r7,delay1 rettable: db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h end八、 思考题1.按键程序为什么要有去抖动功能,如何去抖动?答:按键由于机械弹性的作用,键在闭合与断开的瞬间均有抖动过程,所以需要去抖动功能,去抖动有软件和硬件的方法,比如采用滤波电路防抖等硬件方法,软件去抖是检测到有键按下,执行一个10-20ms的延时程序,再确认该键是否仍保持闭合状态,若仍闭合则确认为此键按下,消除抖动影响。2.在显示时,为什么要延时1ms,这个时间过长或过短,会出现什么现象? 答:因为人眼看事物有一个暂留效果,如果延时过短的话,可能看不到led灯或者数码管的变化,如果延时太长,则一直保持那原来的效果,没有变化。交通灯控制实验一、实验目的通过实验熟悉51单片机的并行i/o口,并掌握它们的应用。二、实验内容及原理模拟实现一个路口交通灯管理 在路口当中,一条为“干线”,另一条为“支线”。两个方向上各设有红、黄、绿3盏交通灯。 一般情况下(初始状态),干线亮绿灯,支线亮红灯。当支线上有三辆车到达路口(用按键按下模拟一辆车到达),则6秒后,干线亮黄灯,持续3秒后,转为干线亮红灯,支线亮绿灯,过24秒后,支线转黄灯亮,3秒后,回到初始状态。交通灯实验 程序org0000hsta:movp0,#11011011b /干线亮绿灯,支线亮红灯movp2,#0001000b /选通ledmovp3,#11101111b /k1列线置0movr7,#3sta1:jbp3.3,$ /无按键等待lcalldelay30ms /去抖动jbp3.3,sta1jnbp3.3,$ /等键释放djnzr7,sta1movr6,#200sta2:lcalldelay30ms /延时30msdjnzr6,sta2 /延时6秒movp0,#10111011b /干线亮黄灯,支线亮红灯movr6,#100sta3:lcalldelay30msdjnzr6,sta3 /延时3秒movp0,#01111110b /干线亮红灯,支线亮绿灯movr5,#4sta4:movr6,#200sta5:lcalldelay30msdjnzr6,sta5djnzr5,sta4 /延时24秒movp0,#01111101b /干线亮绿灯,支线亮黄灯movr6,#100sta6:lcalldelay30msdjnzr6,sta6 /延时3秒ljmpstadelay30ms:movr4,#55delay:movr3,#250djnzr3,$ /1.085us(指令周期)*2*250+2=547.5usdjnzr4,delayret 定时与中断实验一、实验目的1通过实验掌握51单片机的定时/计数器的应用。2掌握51单片机的中断原理及应用。3. 进一步学习系统应用程序的设计和调试方法二、实验设备pc机一台 、 实验教学板一块。 图2-1三、实验内容 实验线路如图2-1, 通过定时器的定时,产生一定频率的波形信号,经p2.5输出,驱动蜂鸣器,便可发出某一频率的音调,若按乐曲的音调连续发出,并使其按节拍变化,便可演奏一首乐曲。实验要求:编程实现演奏一首乐曲c调常用音频及其对应频率如下表: 音符频率 t值 音符频率 t值 si494 646035 so 784649481 do523646546 la880650122 re587647517 si987650693 mi65964837 do 1046650954 fa69864875 re 117465143定时器初值计算方法:由于软件是通过定时器溢出后对p2.5取反产生方波,故定时器溢出时间为1/2f,则计数器计数初值为:x = 65536 n = 65536 (1/2f)/12/fosc = 65536 fosc/24f 电路板上的晶振频率为 11.0593mhz,根据不同音调的频率值,就可以计算出上表的初值。用乐曲最短的1/4拍为一个基本节拍时间,定为0.5秒,基本节拍时间由另一个定时器产生,设此定时器定时时间为50ms,定时时间常数(计数器初值)= 65536 (50000*12/11.0593)=02c13h,可以分别通过该定时中断10、20、40、80次满足1/4拍、1/2拍、1拍、2拍的定时要求。软件编程时,要先将乐谱转换成包含有音符和音长信息的代码,然后,以查表方式通过乐谱代码控制喇叭演奏出乐曲。具体方法如下:(1) 乐谱代码用字节结构,字节高4位代表音符,从si到re分别用0到9表示;字节低4位代表该音符的节拍,用1、2、3、8分别表示1/4拍、1/2拍、1拍、4拍,按照这样的规则,将整段音乐变换成相应的代码数据表,最后一个字节内容为00h,代表数据表的结束。(2) 在程序执行时按顺序查表,从字节数据中取出音符代码和节拍代码,查频率表得该音符对应频率的定时初值,再根据节拍代码控制音长,启动两个定时器后,即可发出要求的音,这样就控制演奏出完整的乐曲。四、实验汇编主程序: org 0000hreset: ajmp main org 000bh /定时器0中断入口 ajmp tt0p org 001bh /定时器1中断入口 ajmp tt1p org 0030hmain: mov sp,#70h /设堆栈区 clr p2.5 /关声音 mov ie,#8ah /开中断 ajmp key /调用键盘程序段key: mov p3,#0f0h mov a,p3 acall delay cjne a,p3,si /不相等时,跳到si ajmp key /相等时,循环si: mov r4,p3 acall delay mov 51h,r4 cjne a,51h,countkey ajmp keycountkey: mov a,p3 anl a,#0f0h mov r3,a mov p3,#0ch mov a,p3 anl a,#0ch add a,r3 mov 52h,a mov dptr,#keyzhi mov r1,#00hsuan: mov a,r1 movc a,a+dptr cjne a,52h,jin cjne a,#78h,tt0pcs /按键8 播音乐 ajmp boyin /转到播音乐程序 ajmp tt0pcsjin: inc r1 ajmp suantt0pcs: mov ie,#8ah mov tmod,#11h mov dptr,#tabl2 mov a ,r1 rl a mov r2, a movc a,a+dptr mov th0,a mov 41h,a mov a,r2 inc a movc a,a+dptr mov tl0,a mov 40h,a setb tr0 here: mov a,p3 anl a,#0fh cjne a,#0fh,here clr p2.5 clr tr0 ajmp main/按键释放,关声音关定时器,转到主程序boyin: mov ie,#8ah /开中断 mov r1,#0h /乐谱数据偏移量 acall ptom /调乐曲输出子程序 clr tr0 clr tr1 clr p2.5herr: ajmp herr /程序结束ptom: mov tmod,#11h /设定定时器的工作方式ptom1: mov dptr,#muci /乐谱的首地址送dptr mov a,r1 movc a,a+dptr /取乐谱数据 jnz ptom2 /如果数据为00h,则结束 retptom2: mov r2,a /在r2中暂存 anl a,#0f0h /取得音符数据 swap a /把a的高四位和低四位对调 rl a /因为音符是字类型,需要两个字节,所以要乘2 mov r3,a mov dptr,#tabl /频率表 movc a,a+dptr /取得频率表的高8位 mov th0,a mov 41h,a mov a,r3 inc a movc a,a+dptr /取得频率表的低8位 mov tl0,a mov 40h,a mov a,r2 anl a,#0fh /保留节拍数据 mov b,#5 /乘8得定时的中断次数 mul ab mov r0,a mov th1,#4ch /50ms定时的初值 mov tl1,#00h setb tr1 /启动定时器 setb tr0here2: cjne r0,#0h,here2 /判断当前节拍是否已完成 inc r1 /如果完成则取下一个数据 ajmp ptom1tt0p: push acc /定时器0中断服务程序 push psw cpl p2.5 mov tl0,40h mov th0,41h pop psw pop acc retitt1p: mov th1,#4ch /定时器1中断服务程序,50ms定时的初值 mov tl1,#00h dec r0 retidelay:mov r7,#10 /延时程序段d1: mov r6,#50 djnz r6,$ djnz r7,d1 rettabl2:dw 64654,64751,64837,64875,64948,65012,65069,65095tabl:dw 64603,64654,64751,64837,64875,64948,65012,65069,65095,65143keyzhi:db 0e4h,0d4h,0b4h,74h,0e8h,0d8h,0b8h,78hmuci: db 54h,32h,52h,88h,64h,82h,62h,58h,54h,12h,22h,34h db 22h,12h,2ch,54h,32h,52h,86h,72h,64h,84h,58h,54h db 22h,32h,46h,02h,1ch,64h,84h,88h,74h,62h,72h,88h db 62h,72h,82h,62h,62h,52h,32h,12h,28h,28h,54h,32h db 52h,84h,72h,64h,86h,58h,54h,22h,32h,46h,02h,1ch db 00h end 串行通信实验一、实验目的1了解51单片机串行口的结构、串行通讯的原理。2掌握51单片机与pc机之间通讯的方法。3. 学习系统应用程序的设计和调试二、实验设备pc机一台 、 实验教学板一块。三、实验原理51单片机的串行接口是全双工的,它能做异步接收器/发送器(uart),也能做同步移位寄存器使用。在做uart使用时,相关的寄存器有sbuf、scon、和pcon中的波特率倍增位smod。sbuf是数据发送缓冲器和接收缓冲器,逻辑上用同一个地址,物理上是分开的,用读写操作来选择。scon是串行口控制寄存器,用于设定串行口的工作方式;保存方式2和方式3的第9位数据;存放发送、接收的中断标志。在串行通讯的方式1和方式3中,通信的波特率是可以设置的,满足下式: pc机的串行通讯口是借助通用异步接收发送器8250(或16c550等)实现的,可使用comdebug.exe等提供了有关串行口的收、发操作窗口的软件实现通讯。pc机的串行通讯采用rs232电平,因此要求单片机的实验板也要配置rs232接口,解决逻辑电平的配接。如果通讯距离较远,则要配接调制解调器。四、实验内容1, 自发自收用一根短路线,将实验板中rs232插口的rxd和txd两个插孔短路。然后编程设定串行口为工作方式1,传送55h和0aah两个数据。实验要求:程序采用查询方式。每传送、接收一个数据,做一次检查,看是否正确,若两次都正确,则在显示器上显示“good”,若不正确,则不显示,并要重新传送。2, 单片机与pc机的通信先使用通讯电缆将单片机的rs232接口与pc机的com1口连接,pc机起动并运行comdebug.exe软件,窗口上设置波特率为1200,8位数据、一个停止位。单片机端也采用工作方式1,波特率为1200,完成单片机与pc机的通信。实验要求:编程实现先由单片机发送8个数据,01、02、03、04、05、0abh、0cdh、0efh。然后进入接收状态,在pc机发送窗口上设置发送数据,点击发送按钮,单片机接收数据后将数据显示在显示器上。五 、程序参考流程图 (a)自发自收程序流程图 (b)与pc机通讯程序流程图六、汇编程序 1. 自发自收 org 0000h mov tmod,#20h /设置计时器工作于方式2 mov tl1,#0e8h /波特率为1200 mov th1,#0e8h setb tr1 mov scon,#50h mov p2,#0fh movp3,#11101111b /设置按键1start:key1: lcall key_state /调用按键程序tx_1: mov a,#55h mov sbuf,await1: jbc ti,rex_yes1 /ti为1时,转移,并清零 sjmp wait1rex_yes1: jbc ri,next1 /测试接收中断ri是否为1, sjmp rex_yes1next1: mov a,sbuf /把sbuf的值送给a cjne a,#55h,key1 /判断是否相等,不相等的话就悲剧了. mov p0,#92h /相等的话,数码管显示“5555”key2: lcall key_state /同上tx_2: mov a,#0aah /同上 mov sbuf, await2: jbc ti,rex_yes2 sjmp wait2rex_yes2: jbc ri,next2 sjmp rex_yes2next2: mov a,sbuf cjne a,#0aah,key2 /判断是否相等 mov p0,#88h /相等的话,数码管显示“aaaa” jmp startdelay30ms:mov r4,#55 delay: mov r3,#250djnz r3,$ /1.085us(指令周期)*2*250+2=547.5usdjnz r4,delayret key_state:jb p3.3,$ /无按键等待 lcalldelay30ms /去抖动 jb p3.3,key_state /jb等于1转移 jnb p3.3,$ /等键释放 ret end2单片机与pc机的通信 org 0000h mov tmod,#20h /设置计时器工作于方式2 mov tl1,#0e8h /波特率为1200 mov th1,#0e8h setb tr1 /设置为1 mov scon,#50h mov dptr,#table mov 30h,#00h /存储数码管码型 mov r0,#08h mov p2,#08h /选通一个数码管 lcall tx_data /发送到电脑端start: lcall rx_yes mov p0,30h /数码管显示 jmp starttx_data: clr a/清零,这个是依次把table的8个数字发到电脑端 movc a,a+dptr /把.对应位置的数给a mov sbuf,a jnb ti,$ /测试ti,等待ti为1 clr ti /清零 inc dptr/.的位置+1 djnz r0, tx_data /ro减0后不等于0,跳回去 ret /ro=0时,返回rx_yes: jbc ri,next1 /ri中断信号,为1时,调到xxx sjmp rx_yesnext1: mov a,sbuf/把值给a, lcall shu_ma_guam_ma_xing retshu_ma_guam_ma_xing:/这个是依次判断a是那个值? 并送相应的码型给数码管显示shuma_0: cjne a,#30h,shuma_1 mov 30h,#0c0hshuma_1: cjne a,#31h,shuma_2 mov 30h,#0f9hshuma_2: cjne a,#32h,shuma_3 mov 30h,#0a4hshuma_3: cjne a,#33h,shuma_4 mov 30h,#0b0hshuma_4: cjne a,#34h,shuma_5 mov 30h,#99hshuma_5: cjne a,#35h,shuma_6 mov 30h,#92hshuma_6: cjne a,#36h,shuma_7 mov 30h,#82hshuma_7: cjne a,#37h,shuma_8 mov 30h,#0f8hshuma_8: cjne a,#38h,shuma_9 mov 30h,#80hshuma_9: cjne a,#39h,shuma_other mov 30h,#90hshuma_other: rettable:db 01h,02h,03h,04h,05h,0abh,0cdh,0efh end七、思考题 1波特率能否置为1000,为什么? 答:如实验原理提供的波特率计算公式可知,波特率可以置为1000,但是这样一来速度太低了,会影响单片机的通信能力。 2数据传输时,若要加奇偶校验,单片机和pc机要怎样做?答:带奇偶校验位的,要用方式2或方式3,当51单片机用位数据方式进行串行通信的时候,tb8和rb8的作用如下:51单片机在发送的时候,先发送位数据,然后发送tb8中的内容;在接收的时候,先接收位数据,然后接收校验位,存到rb8中。接收方会把收到的位数送到sbuf,第位数,送到rb8,然后自动设立ri = 1。之后,就可以用rb8中的内容,对刚才收到的位数进行正确性检验。实验六 人体视觉暂留特性测试实验一、 实验目的1进一步熟悉利用 kei l c51 软件编辑、调试(包括仿真调试、单步调试)和运行单片机程序的步骤和方法。2 学习运用单片机完成一个较为简单的一应用系统的设计 二、实验设备pc机一台 、 实验教学板一块。三、实验内容及原理编程从一个i/o口输出一扫频信号,驱动一支led灯闪动,频率范围为10hz99hz,扫描时间为30秒,在led闪动期间观察,一旦发现无法识别led灯闪动时,按下按键k1,立即停止输出,并将此时的信号频率显示在数码管上,该信号的周期为测试者的视觉暂留时间。 四、实验要求1按实验题目要求设计好硬件电路,画出电路原理图。2. 要求画出主程序、子程序、中断服务程序流程图,设计出相应程序并给程序加上较详细的注释。3. 在keil c51编译环境下完成程序编译。4. 通过下载线和下载软件stc-isp v39将编译后的程序下载到单片机。5. 运行程序,用实验结果验证程序的正确性。若不能达到要求,分析原因、查找错误,修改源程序,再次汇编、连接,重新下载、运行,直至达到题目的要求。 五、思考题 1、实验中频率数据是怎样计算出来的? 2、总结数码管动态显示方法。程序流程图主程序 输出波形 输出频率与定时器初值关系表 偏移地址定时器初值频率值tabl+0th4ch 10hztl00htabl+2th5ch 11hztl5dhtabl+4th6ah 12hztl00htabl+6th75h 13hztl89htabl+8th7fh 14hztl6dhtabl+194thedh 97hztl71htabl+196thedh 98hztla1htabl+198thedh 99hztld1h五、程序清单org 0000h ljmp main org 000bh ljmp time_0 org 001bh ljmp time_1 ;-主程序-main: mov tmod,#11h ;置定时器0、1方式1定时 mov sp,#6fh ;置堆栈 mov r7,#8 ;400ms计算次数 mov r0,#10 ;10hz clr p2.5 mov p3,#7fh ;检测k1键 sta1: jb p3.3,$;当p3.3为0时,才执行下一条指令 jb p3.3,sta1 jnb p3.3,$ ;k1被按下she: mov th0,#3ch ;重置定时器初值 mov tl0,#0b0h mov th1,#4ch mov tl1,#00h mov p2,#10h ;发光二极管输出使能,p2.4=1 mov r0,#10 setb tr0 ;开定时器 setb tr1 mov ie,#8ah ;中断使能 mov p3,#7fh ;检测k2键sta2: jb p3.2,$ jb p3.2,sta2 jnb p3.2,$ ;k2被按下 clr tr0 ;关定时器 clr tr1dd: lcall disp ;调用显示子程序 mov p3,#7fh ;再次检测k1键sta3: jb p3.3,dd lcall delay30ms ;去抖动 jb p3.3,sta3 jnb p3.3,$ ;k1被按下 ajmp she ;重新开始 ;-led动态显示子程序- disp: push acc mov a,r0 mov b,#10 div ab mov 31h,a ;十位送缓冲区31h单元 mov 30h,b ;个位送缓冲区30h单元 setb rs0 ;换工作寄存器组 mov r1,#00h ;设定显示时间 mov r0,#30h ;显示缓冲区首址送r0 mov a,r0 ;显示各位送a mov dptr,#tab3 ;指向字形表首址 movc a,a+dptr ;查表取得字形码 mov p0,a ;字型码送p0口 mov p2,#02h djnz r1,$ ;延时0.5ms djnz r1,$ ;延时0.5ms inc r0 ;指向下一缓冲区地址 mov a,r0 ;缓冲区数据送a mov dptr,#tab3 ;指向字形表首址 movc a,a+dptr ;查表取得字形码 mov p0,a ;字型码送p0口 mov p2,#01h djnz r1,$ ;延时0.5ms djnz r1,$ mov p0,#0ffh ;关发光二极管 clr rs0 ;恢复第0组工作寄存器 pop acc ret tab3: db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h ;-t0中断子程序- time_0: clr ea push acc push psw setb ea mov th0,#3ch mov tl0,#0b0h djnz r7,renm mov r7,#08h inc r0 ;频率指针加1 cjne r0,#100,renm ;频率指针未超过99,继续循环 mov r0,#10 ;频率指针超过99,指针回10renm: clr ea pop psw pop acc setb ea reti ;-t1中断子程序-time_1: clr ea push acc push psw setb ea mov a,r0 ;查表,重装各频率所对应的计数初值 mov dptr,#tab1 movc a,a+dptr ;置th1 mov th1,a mov a,r0 mov dptr,#tab2 movc a,a+dptr ;置tl1 mov tl1,a cpl p0.0 clr ea pop psw pop acc setb ea reti tab1: db 00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,4ch,5ch,6ah,75h,7fh,88h,8fh,96h,9ch,0a1h db 0a6h,0aah,0aeh,0b1h,0b5h,0b8h,0bah,0bdh,0bfh,0c1h,0c4h,0c5h,0cfh,0c9h,0cbh db 0cch,0ceh,0cfh,0d0h,0d1h,0d3h,0d4h,0d5h,0d6h,0d7h,0d8h,0d8h,0d9h,0dah,0dbh db0dch,0dch,0ddh,0deh,0deh,0dfh,0dfh,0e0h,0e0h,0e1h,0e2h,0e2h,0e6h,0e3h,0e3hdb0e4h,0e4h,0e5h,0e5h,0e5h,0e6h,0e6h,0e7h,0e7h,0e7h,0e8h,0e8h,0e8h,0e8h,0e9hdb0e9h,0e9h,0eah,0eah,0eah,0eah,0ebh,0ebh,0ebh,0ebh,0ech,0ech,0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论