大学单片机试验程序.doc_第1页
大学单片机试验程序.doc_第2页
大学单片机试验程序.doc_第3页
大学单片机试验程序.doc_第4页
大学单片机试验程序.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

0实验三 查表程序设计;=; 文件名称: Asm4-1.asm; 功能描述: 查表程序设计, 将十六进制数0F通过查表的方法; 转换为ASCII码;=ORG 0000HLJMP MAINORG 0100HMAIN:MOV DPTR, #ASCTAB;表格首地址送DPTRMOV A, R7;R7中为待转换的数ANL A, #0FH;取低4位MOVC A, A+DPTR;查表MOV R5, A;低4位转换结果送R1MOV A, R7ANL A, #0F0H;取待转换数的高4位SWAP A;高4位与低4位交换MOVC A, A+DPTR;查表MOV R6, A;高4位转换结果送R2SJMP MAIN;设置断点观察结果ASCTAB:DB 30H, 31H, 32H, 33H, 34HDB 35H, 36H, 37H, 38H, 39HDB 41H, 42H, 43H, 44H, 45H, 46HEND;=; 文件名称: Asm4-2.asm; 功能描述: 查表程序, 用程序实现Y=X*X, X为0到9的十进制数,; 用BCD码(00H到09H)表示, 将X的平方, 即Y也以BCD码; 的形式保存到R1中.;=ORG 0000HLJMP MAINORG 0100HMAIN:MOV DPTR, #SQR;取表格首地址MOV A, R7;要计算的值MOVC A, A+DPTR;查表MOV R6, A;结果保存SJMP MAINSQR:DB 00H, 01H, 04H, 09H, 16HDB 25H, 36H, 49H, 64H, 81HEND实验四 数据排序实验;=; 文件名称: Asm5.asm; 功能描述: 数据排序实验, 升序排列;=ORG 0000HLJMP MAINORG 0100HMAIN:MOV R0, #30H;数据起始地址MOV R7, #0AH;排序数据个数: 10个数LP1:MOV A, R7MOV R6, AMOV A, R0MOV R1, AINC R1LP2:MOV A, R0;取出一个数据CLR CSUBB A, R1;与第二个数进行比较JC LP3;R0中的数小于R1中的数则跳转MOV A, R0;R0中的数大于R1中的数, 交换数据XCH A, R1MOV R0, ALP3:INC R1DJNZ R6, LP2INC R0DJNZ R7, LP1SJMP $END实验五 位操作实验;=; 文件名称: Asm6.asm; 功能描述: 位操作实验, 实现: Y=A异或B, 即Y=A(B非)+(A非)B;=QAEQU 00HQBEQU 01HQYEQU 04HORG 0000HLJMP MAINORG 0100HMAIN:MOV C, QAANL C, /QB;C=QA(QB非)MOV QY, CMOV C, QACPL CANL C, QB;C=(QA非)QBORL C, QY;C=QA(QB非)+(QA非)QBMOV QY, CSJMP MAIN;设置断点, 观察20H或C中的值END实验六 定时、计数器实验;=; 文件名称: Timer.ASM; 功能说明: 使用定时器0和定时器1在P1.0与P1.1引脚上输出方波.;=ORG 0000HLJMP STARTORG 0100HSTART:MOV TMOD, #11H;设置定时器工作方式为方式1MOV TH0, #0F8H;装入定时器0的计数初值MOV TL0, #00HMOV TH1, #0F8H;装入定时器1的计数初值MOV TL0, #00HSETB TR0;启动定时器SETB TR1MLP1:JNB TF0, MLP2;判定时器0溢出标志MOV TH0, #0F8H;重装定时器0的计数初值MOV TL0, #00HCPL P1.0CLR TF0;清溢出标志MLP2:JNB TF1, MLP1;判定时器1溢出标志MOV TH1, #0F8HMOV TL1, #00HCPL P1.1CLR TF1AJMP MLP1END;= =; 文件名称: COUNT.ASM; 功能描述: 利用计数器1, 在计数10次后对P1.0引脚取反一次;=ORG 0000HAJMP STARTORG 0100HSTART:MOV TMOD, #60H;设置定时器/计数器1为计数器方式, 且为方式2MOV TH1, #0F6H;装入计数初值MOV TL1, #0F6HSETB TR1;启动计数MLP1:JNB TF1, MLP1;判溢出标志CPL P1.0;取反P1.0CLR TF1;清溢出标志AJMP MLP1END实验七 中断系统实验;=; 文件名: INT1.ASM; 功能说明: 采用定时器的中断, 在P1.0与P1.1引脚上输出周期波形.;=ORG 0000HLJMP STARTORG 000BHLJMP TIMER0ORG 001BHLJMP TIMER1ORG 0100HSTART:MOV P1, #0FFHMOV TH0, #0F8H;初始化定时器0计数初值MOV TL0, #00HMOV TH1, #0F8H;初始化定时器1计数初值MOV TL1, #00HMOV TMOD, #11H;设置定时器工作模式为方式1MOV TCON, #50H;启动定时器MOV IE, #8AH;使能中断SJMP $TIMER0:CPL P1.0;定时器0中断服务程序, 对P1.0引脚取反MOV TH0, #0F8H;重新装入计数初值MOV TL0, #00HRETI;中断返回TIMER1: CPL P1.1;定时器1中断服务程序MOV TH1, #0F8HMOV TL1, #00HRETIEND;=; 文件名: INT2.ASM; 功能说明: 外部中断INT0, INT1操作. ; 外部中断0: 使发光二极管闪烁4次.; 外部中断1: 使发光二极管由右向左流水显示, 一次亮两个LED.;=ORG 0000HLJMP STARTORG 0003HLJMP EINT0ORG 0013HLJMP EINT1START:MOV P1, #00HSETB IT0;定义外部中断0为边沿触发SETB EX0;使能外部中断0SETB IT1;定义外部中断1为边沿触发SETB EX1;使能外部中断1SETB EA;使能总中断SJMP $EINT0:MOV R7, #04H;外部中断0中断服务程序ELP0:MOV P1, #0FFHACALL DELAY;调用延时程序MOV P1, #00HACALL DELAYDJNZ R7, ELP0RETIEINT1:MOV A, #03H;外部中断1中断服务程序MOV R7, #10HILP1:MOV P1, ARL ARL AACALL DELAYDJNZ R7, ILP1RETIDELAY:MOV R6, #0FFH;延时子程序DLP1:MOV R5, #0FFHDLP2:DJNZ R5, DLP2DJNZ R6, DLP1RETEND实验八 静态存储器实验/*/* 文件名: SRAM.c */* 功能描述: 使用62256进行存储器扩展 */*/#include sfr AUXR = 0x8E;void main()unsigned char i;AUXR = 0x02;for(i=0; i=15; i+)DBYTE0x30 + i = i;/ 初始化30H3FH中的数据for(i=0; i=15; i+)XBYTE0x0000 + i = DBYTE0x30 + i;/ 写入外部SRAM中,起始地址为0for(i=0; i=15; i+)DBYTE0x40 + i = XBYTE0x0000 + i;/ 查看目标地址40H4FH中的数据while(1);ORG 0000HLJMP MAINORG 0003HLJMP INTORG 0200HMAIN: SETB EA SETB EX0 SETB IT0 CLR P1 MOV P1,#36H ;东西红灯,南北红灯全亮 LCALL DEL2 ;延时5秒LP: MOV P1,#33H ;东西绿灯亮,南北红灯亮 LCALL DEL4 ;延时50秒 MOV P1,#37H ;东西绿灯灭,南北红灯亮 MOV R2,#5LP0: MOV P1,#35H ;东西黄灯亮,南北红灯亮 LCALL DEL1 ;延时1秒 MOV P1,#37H ;东西黄灯灭,南北红灯亮 LCALL DEL1 ;延时1秒 DJNZ R2,LP0 MOV P1,#36H ; 东西红灯,南北红灯全亮 LCALL DEL2 ;延时5秒 MOV P1,#1EH ; 东西红灯亮,南北绿灯亮 LCALL DEL4 ;延时50秒 MOV R2,#5LP1: MOV P1,#2EH ;东西红灯亮,南北黄灯亮 LCALL DEL1 ;延时1秒 MOV P1,#3EH ;东西红灯亮,南北黄灯灭 LCALL DEL1 ;延时1秒 DJNZ R2,LP1 MOV P1,#36H ; 东西红灯,南北红灯全亮 LCALL DEL2 ;延时5秒 LJMP LP ORG 1000HINT: PUSH ACC PUSH PSW MOV P1,#36H ;东西红灯,南北红灯全亮 LCALL DEL3 ;延时10秒 POP PSW POP ACC RETIDEL1: MOV R0,#10 ;送延时1秒常数 D0: MOV R1,#25 D1: NOP NOP DJNZ R1,D1 DJNZ R0,D0 RETDEL2: MOV R2,#50 ;送延时5秒常数 D2: MOV R3,#25 D

温馨提示

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

评论

0/150

提交评论