找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2632|回复: 6
收起左侧

单片机考核经历分享

[复制链接]
ID:847253 发表于 2020-11-27 23:33 | 显示全部楼层 |阅读模式
大家好,很抱歉昨天忘了发帖了,今天好好谈谈我的考核经历吧。今天我们班进行了单片机上机考核,也算是一场小小的考试吧。其实我们今天的题目并不难,就是用单片机、8个LED和开关实现开关控制流水灯,和第一个单片机实验内容差不多,多了一个开关控制。怎么说呢,老师要求我们用实验室的电脑,考核时间不能看书,不能看手机和其他一切资料。原理图我是很快就连接完成了,然后在keil里面写源程序,我犯的错误比较多,首先忘了循环左移右移函数的头文件和表示方式,然后用数组时数组名用code出错,最后最最最令人头疼的是开关判断,if语句中没有用==。下面我把我当时写的程序和原理图再现一遍吧!

捕获.PNG

单片机源程序如下:
#include "reg51.h"
#include                            //当时想到的移位函数头文件是这个
#include "intrins.h"
#define uchar unsigned char
#define uint unsigned int
        sbit s=P3^7;
void delay(uint i)
{
  uchar t;
        while(i--)
        {
          for(t=0;t<120;t++);
        }
}

void main()       //第二种方法
{
        uchar r;
  uint buf[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};        //当时数组名用的code,不能运行,后来改的buf
        if(s==1)                          //判断开关是否闭合,当时写的是if(s=1),一直显示error,大家一定要记住哦,重点
        {
          P2=0xff;
        }
        else
                while(1)
                {
                for(r=0;r<8;r++)
        {
          P2=buf[r];
                delay(500);
        }
     }
}


/*
void main ()                       //第一种方法,刚刚运行了,不能用
{
        
  if(s==1)
        {
          P2=0xff;
        }
        else
        
while(1)
{
          P2=0xfe;
                P2=_crol_(P2,1);
                delay(500);
        }
}
*/        





评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:388197 发表于 2020-11-28 12:22 | 显示全部楼层
这也是单片机教育最需要诟病的地方,不能看书,不能看资料,死记硬背不知道误导了多少学生.

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:592807 发表于 2020-11-28 13:34 | 显示全部楼层
cjm82 发表于 2020-11-28 12:22
这也是单片机教育最需要诟病的地方,不能看书,不能看资料,死记硬背不知道误导了多少学生.

你工作了就会发现,我们写代码,往往是一边手册一边写代码。不可能背书的,因为不可能每个项目都用同一款单片机。能抄别人的代码绝对不自己写。

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:656213 发表于 2020-11-28 13:49 | 显示全部楼层
我不认为这种教育方式就有很大的问题,难道一定要让学生对着书抄就是最好的?有的师兄能够做下来,也不一定就都是死记硬背的吧

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:847253 发表于 2020-11-28 19:50 | 显示全部楼层
刚发现程序第二行少写了,是#include "absacc.h",我当时一直以为他是移位函数头文件的
回复

使用道具 举报

ID:828160 发表于 2020-11-29 22:58 | 显示全部楼层
Keil自带的头文件都在inc目录下,想知道怎么用,打开.h文件就可以了,不只是有你写的那些,有很多的,各种功能,串口打印,内存管理,字符串处理,函数计算。。。
回复

使用道具 举报

ID:782419 发表于 2020-11-30 21:57 | 显示全部楼层
其实吧,在我上学的时候,学单片机的我甚至从始至终都不知道单片机是个什么东西!只知道学过,真正见还是好多年后,见网上有视频才买的开发板又自学的,算是有基础的自学吧!要不然就是面前放个单片机,我也不认识啊!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表