整理所学|单片机原理及应用-第三版-张毅刚(二:实验)

(51) 2024-06-08 20:01:01

博主是2018级机械设计制造及自动化的学生,本来对结构颇为感兴趣,由于这学期课程接触到了单片机和编程,再加上对传统行业的落寞感到的心生倦怠和对自动化和芯片的浓厚兴趣,让我产生了对嵌入式行业产生了不小的兴趣,所以打算边学边写,看看能不能入得了这个行业槛。
当然作为整理所学,也不只是为了我自己日后方便回顾所学,也是为了刚开始接触这门学科的同学,因为我是比较崇尚B站大学的,很多学科也是托了B站才能够在课下多学点知识(主要是上课有时候确实会听漏),但是对于这门课网上的课程确实对于初学者实在是不太友好,所以想要写点,为了帮助和我遭遇一样的同学们。
(以上纯属废话)

一、实验目的

  • 软件部分:

    • 熟悉KEIL和PROTEUS软件的安装与使用方法,
    • 掌握基于PROTEUS的单片机系统仿真方法,
    • 以及实现KEIL和PROTEUS的联调。
  • 实验部分(硬件与编程):

    • 实验一:掌握中断原理,包括对中断源、中断向量、中断类型号、中断程序以及中断响应过程的理解;
    • 实验二:掌握51单片机定时计数器的原理,包括相关工作方式寄存器,控制寄存器,工作方式、计数初值的计算等内容;
    • 实验三:掌握非编码键盘的工作原理,包括利用扫描法和线反转法实现如何判断键盘按下,如何判断键号等基本内容;
    • 实验四:掌握串口通信的工作原理,包括串口通信工作方式,特殊功能寄存器的设置,波特率制定等内容;
    • 实验五:理解单片机的三总线结构,理解单片机存储器扩展常用的锁存器、译码器、RAM存储器以及ROM存储器;

二、记录程序从编译到执行的实验结果:

1:打开KEIL新建工程
整理所学|单片机原理及应用-第三版-张毅刚(二:实验) (https://mushiming.com/)  第1张
2:为目标选择单片机型号
整理所学|单片机原理及应用-第三版-张毅刚(二:实验) (https://mushiming.com/)  第2张
3:这里我们选择的是AT89C51,在画电路图的时候我们也需要用这个相同的单片机整理所学|单片机原理及应用-第三版-张毅刚(二:实验) (https://mushiming.com/)  第3张
4:后面新建代码页,这时需要在后面加上.asm才能够被后面的选择到
整理所学|单片机原理及应用-第三版-张毅刚(二:实验) (https://mushiming.com/)  第4张
5:然后双击原组,在里面选择刚刚所创建的文件
整理所学|单片机原理及应用-第三版-张毅刚(二:实验) (https://mushiming.com/)  第5张
6:选择TARGET OPTIONS需要选择一些选项
整理所学|单片机原理及应用-第三版-张毅刚(二:实验) (https://mushiming.com/)  第6张
7:在OUTPUT里面选择CREATE HEX FILE,因为PROTEUS里面,C51单片机的程序只能使用HEX格式的文件。
整理所学|单片机原理及应用-第三版-张毅刚(二:实验) (https://mushiming.com/)  第7张
8:然后在DEBUG里面选择最后一项
整理所学|单片机原理及应用-第三版-张毅刚(二:实验) (https://mushiming.com/)  第8张
9:在程序输入完成后,点击BUILT,和REBUILT,运行程序看是否有问题出现。
整理所学|单片机原理及应用-第三版-张毅刚(二:实验) (https://mushiming.com/)  第9张
10:在程序调试完成后,就可以保存,然后来到PROTEUS的界面,选PROGRAM FILE 这一栏里面点击文件夹。
整理所学|单片机原理及应用-第三版-张毅刚(二:实验) (https://mushiming.com/)  第10张
11:然后选择刚刚保存的那个HEX文件,点击确定。
整理所学|单片机原理及应用-第三版-张毅刚(二:实验) (https://mushiming.com/)  第11张
12:点击左下角的那个仿真开始键,如果程序没问题,就可以开始进行操作了。
整理所学|单片机原理及应用-第三版-张毅刚(二:实验) (https://mushiming.com/)  第12张

三、完整代码

实验一:当按下按键时,相邻2个LED灯从左向右移动。即先灯1,2亮,然后3,4亮,然后5,6,然后7,8亮。

ORG 0000H LJMP MAIN ORG 0013H LJMP IT ORG 0030H MAIN: MOV P1, #0C0H SETB EA SETB EX1 SETB IT1 SJMP $ IT: MOV A,P1 RR A RR A MOV P1,A RETI END 

实验二:采用T0作为定时器,T1作为计数器,实现1秒钟的定时,要求采用中断方法,定时时间到,在LED数码管上显示数字1。数码管所连接的I/O口自行设定。

 ORG 0000H RESET: LJMP MAIN ORG 000BH LJMP IT0P ORG 1000H MAIN: MOV SP
THE END

发表回复