完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
实验基础
51单片机 本门课程硬件平台为ATMEL公司的AT89C52单片机,在Proteus软件进行仿真实验。 51单片机是8位单片机、8k ROM 、256bytes RAM、四个8位并行I/O口 汇编语言 本门课程使用汇编语言编程。 51单片机汇编指令 keil4 这里进行说明,提示是否添加.s文件,这个是51单片机的启动文件。在用c语言进行编程的时候,是要电机“是”来添加一个启动文件的。在实验课上用汇编语言编写程序并不需要这个启动文件。 这样之后就可以在右侧的编辑页面进行编程了 Proteus仿真软件 因为手上没有开发板,实验课都是用的proteus仿真软件进行51单片机的仿真。 老师给的软件版本是8.7SP3但是因为我这里破解出了问题总是闪退还没解决,就用了8.6版本。在这里附上一个Proteus8.7闪退解决办法,可以作为参考。可能是因为盗版系统的原因,这个办法似乎在我的电脑上面并不适用。 下面开始使用 然后一路点击下一步直到出现原理图界面,中间的选项全部保持默认即不创建pcb,不创建pcb布板设计,没有固件项目 在原理图界面鼠标中键单击一下可以移动界面,再次单击退出移动。 鼠标左键单击元件可以选中元件,再次单击可更改元件属性,右键可进行元件的旋转等操作。 单击元件可选中,再次单击编辑元件 实验内容 第一节课 第一节课内容为安装和认识keil4集成开发环境。上文已经详细记录。 第二节课 万物始于LED。 第二节课的内容是学会使用Proteus进行仿真和点亮一个LED。 Proteus软件的简单使用在上文已经记录。 汇编程序如下: ORG 0100HSETB P2.0SJMP $ ;无条件相对转移 $就是本句语言的指针地址 ;SJMP $,就是硬件部分END 硬件部分 第三节课 点亮一个灯之后就是点亮流水灯了。 汇编程序: ORG 0000HLJMP MAINORG 0100HMAIN:MOV A,#80HLOOP:MOV P2,ALCALL DELAYRR A LJMP LOOPDELAY:MOV R2,#255D1:MOV R3,#250D2:DJNZ R3,D2 ;寄存器减1,不为0 则转移DJNZ R2,D1RETEND 要实现流水灯效果,只需要让累加器A中的1000 0000循环右移,中间加 以延时即可。延时要足够长,否则会看到所有的灯都是亮的。 延时程序分为两层的循环,D1和D2,分别用到R2、R3两个寄存器。两个八位寄存器,那对应的数字就是0~255注意给寄存器传送立即数时不要超过255。 硬件连接如图。 在用Proteus进行仿真时,不需要搭建完整的实验电路,只需要搭建本次实验所需的部分的功能电路即可进行仿真。所以可以不搭建晶振和复位等电路。 第四节课 第四节课是用单片机驱动数码管。 数码管实质上就是LED灯的并联。abcdefg七段显示数字,八段数码管比七段数码管多了一个小数点段h。分为共阴数码管和共阳数码管,在Proteus软件中有这么多数码管可供选择 带有anode描述的即为共阳数码管,其com端接地,输入高电平使对应的段发光。 带有cathode描述的即为共阴数码管,其com端接vcc,输入低电平使对应的段发光。 各个数字的显示使用查表的方式,下图为各段对应的引脚图。 前四节课的内容大概就是这些,欢迎指正其中的错误,欢迎各路大佬给些学习意见。 |
|
|
|
只有小组成员才能发言,加入小组>>
2549 浏览 0 评论
1147浏览 2评论
746浏览 1评论
499浏览 0评论
265浏览 0评论
428浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 16:01 , Processed in 1.314107 second(s), Total 81, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号