51单片机编程步骤(51单片机编程)

本文目录
51单片机编程
51编程得看外部电路的连接情况。没有电路图,木有办法写。。。
数码管和单片机之间的电路有很多种,你这种就用译码器,74138就行。假设单片机p1口用作数码管输出。
滑槽电路也不清楚,假设一个电机,用的是P2^0,P2^1(顺时针一个口,逆时针一个口)
检测非金属物料的电路用的是P2^3
4. 按键电路用的是P3口
代码就不贴了,说下思路。
开机初始化,给单片机所有引脚置零,然后设置数码管显示(2位十进制数显示至少需要7个引脚,你这里只需要用4个引脚)。
按键处理,编程中需要注意的地方就是机械开关的抖动消除,当然,如果有硬件消抖电路就不用管了。假设k1用的是P3^1口,那么只需要判断P3^1==1为真,就可以拉高P2^0或P2^1口电压,直接P2^0=1就ok。
检测非金属物电路:检测到一个非金属物料,此电路就给单片机P2^3发送一个脉冲信号。
单片机这边,主循环里检测P2^3口的电平,用一个变量oldState来保存上一个状态。用count来保存非金属物料个数
if(oldState!=P2^3){
count++;
oldState=P^3;
}
计数值满10后滑槽下降初始位:
if(count==10){
P2^0==0;
P2^1==1;
count=0;
}
当然,如果电路还没做的话,我推荐一个电路,这个电路编程更简单,效率更高。
还是假设非金属检测电路一旦检测到非金属就发出一个脉冲信号。
将非金属检测电路同一个计数器(计数器可以买现成芯片,也可以自己用触发器做)的输入端连接。计数器同数码管通过译码器连接。
单片机P1口同计数器输出端连接。单片机同计数器清零端连接。
单片机同滑槽连接。
单片机同键盘连接。
这个电路就只需要读计数器的值,不用控制数码管。
单片机启动时向计数器清零端发出清零信号,那么数码管就显示00
单片机程序主循环判断计数器的值,若为10,那么向计数器清零端发出清零信号;控制滑槽下降。
单片机程序主循环判断键盘的值,若K1按下,控制滑槽上升。
简述c51程序开发流程
C51开发流程:
第一:必须对C51单片机内部外设和内部寄存器了解,因为写程序需要控制单片机内部寄存器,再去控制外设。
第二:设计单片机的硬件,单片机IO控制你的硬件
第三:画出流程图执行大概的框架
下面就是按照你的流程图去设计程序。
如何给51单片机编程
1.定义的变量不要太多。低128位为用户定义变量的存放区域(默认时),也可以把变量放在高128位,但容易出错,尽量少放,最好不放。通过M51可以查看内存变量的存放,最好不要超过110个字节,否则程序无法运行或出错。
2.如一个变量多处使用可定义为全局变量。例如循环变量i、j,尽量减少参数传递。
3.静态变量最好放在程序存储区,用code定义。
4.变量应定义为无符号数,像标志位等仅占一位的变量应定义为bit。
5.子程序在main()主程序之后的应事先声明,放在前面的不用声明。
6.变量、子程序定义但没使用,系统给出警告。
7.虽然局部变量和全局变量不同名,但运行时可能被全局变量改变。
8.程序在编译后,有可能产生非常大的文件。比如原来5k,编译后变成10k,这是C汇编时程序空间分配太随意造成的。可首先屏蔽一部分程序编译,然后再去屏蔽再编译,可恢复,或一部分一部分复制到另一个文件中编译。
9.如产生脉冲信号用到定时器,要去掉脉冲信号时,应先关定时器,再按要求把电平置为高电平或低电平。
10.可使用软件实现“看门狗”功能。比如:一个程序运行一个循环需要50ms,则定时器可定位100ms,当超过100ms时,程序将复位,在程序循环最下面都重装定时器或重置定时器参数。
c51编程开发步骤
第一步:新建工程
点击【project】----点击【newproject】
1、起名称,选择保存路径
2、选择单片机型号【Atmel】----【at89c51】
第二步:新建文件
点击【file】----点击【new】
1、起名称.c
2、选择保存路径
第三步:文件添加到工程
右击【sourcegroup1】----选择【addfilestogroup‘sourcegrpup1’】
第四步:设置工程属性
点击【project】----选择【optionsforgroup‘sourcegroup1’】
1、改写晶振的频率(根据电路板实际晶振的频率)【Target】----【Xtal】
2、选择产生hex文件【output】----【createhexfile】
第五步:编写程序
改变程序器界面的方法,点击【view】----选择【options】---
点击【colors&fonts】标签---选择【editorcfiles】
第六步:编译文件
点击【project】----选择【optionsRebuildalltargetfiles】
第七步:下载hex文件到单片机
1、打开烧录软件(STC-ISP软件)
2、选择单片机型号
3、选择要下载的hex文件
4、设置通信端口(comx)
5、点击【下载/编程】按钮

更多文章:
teammate(teammate,company,partner)
2026年10月11日 06:10
javascript arraybuffer(javascript可以把base64编码转换成二进制代码吗求示例代码!)
2026年10月11日 04:00
text函数公式(excel中round和text函数的区别是什么)
2026年10月11日 03:50
google chrome打不开(chrome浏览器打不开怎么回事 浏览器打不开的处理方法)
2026年10月11日 02:00
websocket整合springboot(Springboot整合Websocket遇到的坑)
2026年10月11日 01:40
drawerlayout(android 怎样让drawerlayout设置的侧滑菜单的内容充满屏幕)
2026年10月10日 19:20
xor四位数怎么运算(单片机怎样用C语言实现4个数字间的异或)
2026年10月10日 17:50
perl数组中最多的元素(用perl实现,得到一个数组中重复次数最多的元素)
2026年10月10日 17:00



