单片机实验内容与参考程序.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机实验内容与参考程序

第二次实验:数码管显示,按键识别 1 要求1:数码管和独立按键 1 要求2:数码管和行列按键 3 第三次实验:定时器 5 要求1:电子时钟显示 5 要求2:电子时钟显示,带闹钟功能,独立按键关闭闹钟 7 要求3:电子时钟显示,带闹钟和修改时间功能 10 第四次实验:中断与定时器 15 要求1:外部中断完成两位十进制递加、递减运算 15 要求2:测量T0管脚信号的频率,用9个二极管表示二进制值 17 要求3-1:测量外部信号频率,数码管显示(计数中断) 18 要求3-2:测量外部信号频率,在数码管上显示 20 第五次实验:系统扩展 22 第二次实验:数码管显示,按键识别 要求1:数码管和独立按键 任务:8位数码管显示学号(0-7代替),2个独立按键分别控制显示数据左移和右移。 编程要点:初始化后,判断是否操作按键,如无,维护数码管动态显示,循环判断;如有,改变显示数据,判断按键是否释放(否则会重复处理),如无,循环维护显示;如是,跳转继续判断是否有新的按键操作。例子采用查询(非中断)方式,流程图只画了左移部分。 ;Passed for Bank 3 DispBuf DATA 0x30 K1 BIT P3.2 K2 BIT P3.3 ;*************************************** org 0000h MOV R0, #DispBuf CLR A MOV R1, #8 init: MOV @R0, A inc a INC R0 DJNZ R1, init mn: acall display jnb K1, left jnb K2, rit jmp mn left: mov r1, #8 MOV r0, #DispBuf slft: mov a,@r0 dec r0 mov @r0,a inc r0 inc r0 djnz r1,slft mov DispBuf+7, DispBuf-1 key: acall display jnb K1, key jmp mn rit: mov r1, #8 MOV r0, #DispBuf+7 srit: mov a,@r0 inc r0 mov @r0,a dec r0 dec r0 djnz r1,srit mov DispBuf, DispBuf+8 ky: acall display jnb K2, ky jmp mn ;*************************************** main_Tab: DB 0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F ;0123456789 DB 0x77,0x7C,0x39,0x5E,0x79,0x71 ;AbCdEF ;*************************************** display: mov r4,#8 mov r1,#0x80 ;1000 0000 MOV R0, #DispBuf MOV DPTR, #main_Tab disp_loop: mov a,@r0 MOVC A, @A+DPTR cpl a call Segld mov a,r1 call Digld rr a mov r1,a inc r0 mov r5,#0xff djnz r5,$ djnz r4,disp_loop ret ;*************************************** Digld: MOV P0, a SETB P1.2 ;put to which LED NOP CLR P1.2 ret Segld: MOV P0, a SETB P1.3 ;what put to LED NOP CLR P1.3 ret ;*************************************** end 要求2:数码管和行列按键 任务:8位数码管显示0-7,16个行列按键可输入0-9在数码管的右端,原来的数据左移(左端丢弃);行列按键的识别程序不完整,需要同学自己添加少量指令。 编程要点:与独立按键的处理思路相似,只是识别按键的方法不同;流程图未给出。 ; passed for Bank 3 DispBuf DATA 0x30 ;*************************************** org 0000h MOV R0, #DispBuf CLR A MOV R1, #8 init: MOV @R0, A INC R0 inc a DJNZ R1, in

文档评论(0)

dzzn118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档