我们螅岔出礤在使用51单片机时,有时候仅仅通过在程序中指定的变量可能达不到需要的效果,这时候就可以通过scanf语句来接收一些参数来进入程序中,应该如何实现这个功能?
工具/原料
KeilμVision编译器
51单片机或Proteus虚拟仿真环境
方法/步骤
1、首先我们打开K娣定撰钠eilμVision编译软件,新建一个工程,然后保存在硬盘上的位置,然后选择Atmel-AT疣迩疔牦89C51单片机为当前的型号,并添加启动器STARTUP.A51文件,然后在当前目录下新建一个C文件,并将其添加入工作路径,如图所示
2、可以看见此时我们已经创建了一个空白的C文件,为了利用51单片机现吮钾熨追成的端口,可以使用#include<reg51.h>来导入端口
3、首先创建一个自定义的putchar函数,返回值为char,其中调用了mc_putchar,并返回一个字符
4、再创建一个延时函数,可以传入想要具体延时的时长,其内部实现原理是由一个二重循环,两个循环的次数相乘积
5、在putchar函数中,首先让串口的总中断允许,再将中断请求标志位初始化为0,让新的数据存入缓冲区
6、当接收到数据后,再将中断请求标志位设置为0,再打开串口中断即可再次进入循环
7、打开Proteus软件,将元件和电路进行正确连接,并在AT89C51单片机设置中添加入刚才编译后的.hex文件,点击仿真按钮即可进行测试