第四次微机实验报告.doc_第1页
第四次微机实验报告.doc_第2页
第四次微机实验报告.doc_第3页
第四次微机实验报告.doc_第4页
第四次微机实验报告.doc_第5页
免费预览已结束,剩余10页可下载查看

下载本文档

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

文档简介

单片机上机实验报告 学院:光学与电子信息学院 班级:光电1001班 姓名:秦承志 学号:U201013349 日期:2012.11.13 微机实验四 实验名称:LED数码管显示实验 指导教师 曹丹华 专业班级 光电1001班 姓名 秦承志 学号 U201013349 序号 联系方式一实验目的: 理解LED七段数码管的显示控制原理,掌握数码管与MCU的接口技术,能够编写数码管显示驱动程序;熟悉接口程序调试方法。二实验内容: 利用C8051F310单片机控制数码管显示器。三实验要求:(1) 基本要求: 利用末位数码管循环显示数字0-9,显示切换频率为1Hz。(2) 提高要求: 在4位数码管显示器上依次显示当天日期和时间,显示格式如下: yyyy (年份) mm.dd(月份.日)hh.mm(小时.分钟)四实验过程:(1) 基本要求的实现:1) 设计思路:利用C8051F310单片机控制数码管显示器,R1为需要循环显示的数字的个数, 也即一次循环的数字个数,从0到9,共10个,可通过DJNZ R1,rel指令 控制循环。R2中存有每次待显示的数字的段码距离表首地址的字节数,即字 节偏移量,每显示完一个段码,R2加1,为去下一个段码做准备,循环一次 后,R2恢复为零,这样就实现了从0到9的循环显示。2)程序流程图如下所示:3)程序的源代码及其注释如下:(内含资源分配);File name: LED显示程序.asm;Description: 利用C8051F310单片机控制数码管显示器,; R2为待显示字符的地址偏移量,R1为一次; 循环中显示数字的个数,循环扫描实现从0; 到9的循环显示。;Date: 2012.11.12;Designed by: 秦承志;Source used: R1 R2; DPTR,TIMER0$include (C8051F310.inc)ORG 0000H;程序开始LJMP MAIN;跳转至主程序ORG 1000HMAIN: LCALL INITIA;配置初始化 MOV SP,#20H;堆栈赋初值 MOV R1,#10;段选码赋初值 MOV R2,#00H;偏移量赋初值MOV TH0,#0BH;定时器赋初值MOV TL0,#0DCHSETB TR0;开启定时器MOV P0,#00HLOOP1:MOV A,R2;R2给A MOV DPTR,#LED;DPTR赋初值,指向表首地址MOVC A,A+DPTR;取表中内容给AMOV P1,A;显示数据LOOP2: JNB TF0,LOOP2;查询T0的溢出标志位 CLR TF0;溢出了清标志位MOV TH0,#0BH;定时器重装MOV TL0,#0DCHINC R2;R2加1DJNZ R1,LOOP1;未到10次,继续循环 MOV R2,#00H;到了10次,偏移量恢复为0MOV R1,#10;循环次数恢复10SJMP LOOP1 ;跳转至LOOP1LED: DB 0FCH,60H,0DAH,0F2H,66H ;数据表 DB 0B6H,0BEH,0E0H,0FEH,0F6HINITIA: ANLPCA0MD,#0BFH ;关闭看门狗 MOV PCA0MD,#00HMOV TMOD,#01H ;配置定时器T0的模式MOV CKCON,#02HMOV P0MDOUT,#0C0H ;配置port端口为数字口的push-pull模式MOV P1MDOUT,#0FFH MOV XBR1,#40H ;使能CrosbarRET ;返回 END ;结束4) 程序的测试过程如下: 5) 软件结果分析及硬件仿真结果: 由以上的软件仿真结果,可以看出:P1端口每1秒钟刷新一下数据,从0到9,再到0,再到9,又重新开始循环,每个数字在P1端口上持续的时间约为1秒。 经过硬件仿真,也得到符合要求的结果。(2)提高部分的设计过程:1)设计思路:由于要通过数码管的四位依次显示年份,月日,分秒,且格式为:yyyy (年 份,mm.dd(月份.日)hh.mm(小时.分钟),还是把待显示的数字段码存 数据表中,通过查表的方式实现时间显示,我选择的是显示年份月日 时分年份月日.循环显示下去。我通过T0定时器定时1ms,每隔1ms, 显示下一个位,年份,月日,时分均各自循环显示250,故各自显示时间 约为1s,从而能够让观察者看清楚显示的时间。我通过一个散转指令通 过标志R4的值决定显示年份,月日还是时分,没显示250次后修改R4, 为显示下一个时间部分做准备。2) 程序的流程图如下所示: 主程序流程图如下: 中断子程序的流程图:3) 程序的资源分配,源代码及其注释如下:;File name: 时间显示程序.asm;Description: 利用C8051F310单片机的四个数码管; 依次显示年份,月日,时分,通过数; 码管的动态扫描,T0的中断方式完成。 ;Date: 2012.11.12;Designed by: 秦承志;Source used: R1,R2,R3,R4; DPTR,TIMER0$include (C8051F310.inc)ORG 0000HLJMP MAIN ;主程序入口ORG 000BH ;中断服务程序LJMP LP0ORG 1000HMAIN: LCALL INITIA ;配置初始化 MOV SP,#30H ;堆栈指针赋初值MOV R1,#3FH ;寄存器赋初值MOV R2,#0 MOV R3,#250MOV R4,#0MOV TH0,#0FFH ;定时器赋初值MOV TL0,#0C2HSETB EA ;开启中断SETB ET0SETB TR0SJMP $ ;等待中断LP0: MOV DPTR,#TABLE ;散转地址表首给DPTR MOV A,R4 ;R4给APUSH DPH ;保护DPTRPUSH DPLJMP A+DPTR ;跳转至相应的散转程序地址TABLE: LJMP YEAR LJMP MONDAYLJMP TIMEYEAR: MOV DPTR,#LED ;段码数据表首给DPTR MOV A,R1 ;位选码给A MOV P0,A ;位选码送P0MOV A,R2 ;地址偏移量给AMOVC A,A+DPTR ;取段码MOV P1,A ;显示段码CJNE R2,#3,LOOP1 ;不到4次,跳LOOP1MOV R2,#0 ;到了4次,R2给0MOV R1,#3FH ;3FH给R1 DJNZ R3,FILL ;没到250次,跳至FILLMOV R3,#250 ;到了250次,R3恢复250MOV R4,#3 ;R4赋值为3MOV R2,#4 ;R2赋值为4SJMP FILL ;跳转到FILLMONDAY: MOV DPTR,#LED ;同上 MOV A,R1 MOV P0,AMOV A,R2MOVC A,A+DPTRMOV P1,A CJNE R2,#7,LOOP1MOV R2,#4MOV R1,#3FH DJNZ R3,FILLMOV R3,#250MOV R4,#6MOV R2,#8SJMP FILLTIME: MOV DPTR,#LED ;同上 MOV A,R1 MOV P0,AMOV A,R2MOVC A,A+DPTRMOV P1,A CJNE R2,#11,LOOP1MOV R2,#8MOV R1,#3FH DJNZ R3,FILLMOV R3,#250MOV R4,#0MOV R2,#0SJMP FILLLOOP1: MOV A,R1 ;R1的值加40HADD A,#40H MOV R1,A INC R2 ;R2加1SJMP FILL ;跳至FILLFILL: MOV TH0,#0FFH ;定时器重装 MOV TL0,#0C2H POP DPL ;恢复DPTR值POP DPHRETI ;中断返回LED: DB 0DAH,60H,0FCH,0DAH DB 60H,60H,61H,60HDB 0DAH,60H,0DBH,60HINITIA:ANLPCA0MD,#0BFH ;关闭看门狗 MOV PCA0MD,#00HMOV TMOD,#01H ;配置定时器T0的模式MOV CKCON,#02HMOV XBR1,#40H ;使能CrosbarMOV P0MDOUT,#0C0H ;配置port端口为数字口的push-pull模式 MOV P1MDOUT,#0FFH RET ;返回END ;结束4)程序的测试结果:我所设定的时间为2012-1111-1212.仿真的波形为:1,年份显示:(从上到下一次为P1.7P1.0) 2. 月日显示: .3. 时分显示: 5) 软件仿真分析: 由以上的软件仿真结果可知(上图只截取了仿真过程的一部分),由于数码管先扫描的是低

温馨提示

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

评论

0/150

提交评论