单片机课后答案和实验.ppt

  1. 1、本文档共55页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验一(1) 实验要求: (1)P1口作为输出口,接8只发光二极管,要求编程使放光二极管循环点亮; (2)P1口做输入口,接8个扭子开关,以实验机上的74LS273作为输出口(接8个发光管),要求编写程序使得发光管的状态能够反映出开关的状态; 实验目的:学习并行口的使用方法; 请参考程序框图自己编程! 注 意 (1)这里将74LS273作为一个总线扩展,它的输出端Q1~Q8相当于1个扩展片外RAM单元,它的地址决定于它的使能端CLK,所以这里它的地址是8300H,必须使用MOVX指令进行写操作; (2)8个发光管通过74LS240直接连接到P1口,这里的74LS240 为非门驱动电路; (3)人肉眼要能观察到两个状态间的变化,必须有一足够的时间间隔,否则感觉所有发光管全亮。 参考程序(1): ORG 0000H MOV A , #01H ROTATE: MOV P1 , A ;点亮一个LED RL A ;循环右移 LCALL DELAY ;延时 SJMP ROTATE DELAY: ;延时子程序(1秒) MOV R0 , #0AH DELAY1: MOV R1 , #00H DELAY2: MOV R2 , #0B2H DJNZ R2 , $ DJNZ R1 , DELAY2 DJNZ R0 , DELAY1 RET END 参考程序(2): ORG 0000H MOV DPTR , #8300H ;并行输出口地址 READ: MOV P1 , #0FFH ;因P1口是准双向口,所以 ;把P1口作为输入口时, ; 应先置高电平 MOV A , P1 ;读开关状态 MOVX @DPTR,A ;把读入的数据输出 AJMP READ END 返回 实验一(2) 实验要求:利用P3口输出高低电平,控制继电器的开合,实现对外部功率元件的控制; 实验目的:掌握位操作控制的使用方法; 注意:继电器是一种非常好的功率控制元件,可以起到弱电→强电的桥梁作用,我们这里是控制继电器线圈的通电,从而控制其触点的开合。同样两个状态之间必须有足够时间间隔,否则不能使线圈状态改变。 请参考程序框图自己编程! 参考程序: ORG 0000H JD: CPL P3.5 ;继电器状态(吸合/分开)切换 LCALL DELAY;延时 SJMP JD DELAY: 如上例 RET END 返回 实验二 实验要求:要求每1秒钟切换一种发光管显示方式(8个发光管通过74LS240直接连接到P1口,这里的74LS240 为非门驱动电路),共有8种不同的显示方式,然后是反复出现这个8个状态; 实验目的:掌握单片机内部定时器的使用方法和子程序的使用方法; 注 意 晶振为11.0592MHZ,定时器最大定时时间为216×Tcy=71111us≈71ms。这里我们将定时器1工作于方式1,可以产生一个50ms的时基,所以要想得到1秒延时,必须有20个50ms的发生,即统计到20个定时,就为1秒。 请参考程序框图自己编程! 若有时间,请将实验一修改成 采用定时器定时方式控制。 实验指导书修改 实验目的2,“中断处理程序”修改为“子程序”; 删除实验说明4; 实验框图,“中断子程序”修改为“子程

文档评论(0)

xfnzn + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档