51单片机笔记(一)

本文介绍使用51单片机进行编程的基础步骤,包括安装驱动、配置开发环境Keil、编写和下载代码等。文章还详细讲解了如何利用STC-ISP工具下载程序到开发板,并给出了LED模块控制及按键消抖的具体实现方法。

51单片机

装驱动的时候用原装usb线

keil的注册机要选择51
keil中选择好型号,编译之前要确保Options for target(魔法棒)里面的output栏里的create Hex file勾选上。如果想改字体可以改configuration(扳手)
keil中要包含寄存器的头文件,右键添加即可。
keil中要包含函数库文件INTRINS.H
其中,
_crol_ 字符循环左移
_cror_ 字符循环右移
_irol_ 整数循环左移
_iror_ 整数循环右移
_lrol_ 长整数循环左移
_lror_ 长整数循环右移
_nop_ 空操作 (相当于8051 NOP 指令)

stc-isp中要选对型号,选对串口,点击打开程序文件,点击下载/编程, 重启开发板。
stc-isp中的软件演示计算器,系统频率对照开发板上的晶振上写的,定时长度自己设置,8051指令集STC89c系列的用Y1,便可自动生成延时代码。

LED模块:
通过原理图的LED模块,读出8个指示灯分别对应P几的第几位。读出阴阳极,比如是P2寄存器而且在阴级,就通过给P2赋值控制每一位的1或者0控制高或者低电平,阴极的话是低电平产生电势差,亮。
也可以对P2的单个位赋值,0,或者非0,非0即1。P2_0, P2_1...
看懂电路图很重要哦,独立按键P3的那些,按下就和GND相连了,所以按下是置0,松开是1。
按键消抖:
判断如果按键按下,先延迟xx毫秒,当一直按着的时候,就一直原地循环,延迟xx毫秒,进行具体操作。上述两处延迟就是实现了按下瞬间和抬起瞬间按键抖动的消除。感悟:用循环实现阻塞,可能计算机操作系统api里的阻塞函数都是用循环实现的,用快速的一次次的扫描模拟等待的消息的过程,也可能猜错了。
在LED模块去实现一下流水灯,独立按键控制LED的自增,移位。


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值