西工大电子实习单片机-7+1亮灯编程C语言代码分享

news2024/12/24 10:26:57

电子实习是西工大大多数学生绕不开的一门实习课程。单片机是电子实习课程中较为重要的一部分,需要上两次。我们在单片机编程时在西工大电脑机房老系统上往往由于大一学习的C语言忘得一干二净而无从下手。流水灯成了流水账。

废话不多说,仅供参考。7+1是指7个常规设置题和一个你的自编题。自编题想拿高分可以把呼吸灯子程序和循环移位等进行结合。

另外这个答案我在最后实现的触屏控制较为简陋,仅动用了k1,同学们可以尝试综合多个开关。同时while语句的位置也会影响你最终循环效果是否出现。

 

#include<stc8a.h>

#include<intrins.h>

#define ucharunsigned char

#define uint unsigned int

       

sbit k1=P3^2;

sbit led=P4^1;

void delay_us(uint us)

{

        uint a; uchar b;

        for(b= 0;b<2;b++)

        for(a= 0;a<us;a++);

}

void start_1()

{uchar a,b;

        b=0xfe;

        for(a=0;a<7;a++)

        {

                P0=b;

                delay_us(50000);

                b=_crol_(b,1);

        }

        for(a=0;a<7;a++)

        {P0=b;

                delay_us(50000);

                b=_crol_(b,1);

        }

}

void start_2()

{uchar a,b;

        b=0xfe;

        for(a=0;a<7;a++)

        {

                P0=0xe7&b;

                delay_us(50000);

                b=_crol_(b,1);

        }

        for(a=0;a<7;a++)

        {P0=0xe7&b;

                delay_us(50000);

                b=_cror_(b,1);

        }

}

void start_3()

{uchar a,b,c;

        b=0x7f;

        c=0xfe;

        for(a=0;a<3;a++)

        {P0=c&b;

                delay_us(50000);

                c=_cror_(c,1);

                b=_cror_(b,1);

        }

        for(a=0;a<3;a++)

        {

                P0=c&b;

                delay_us(50000);

                c=_cror_(c,1);

                b=_crol_(b,1);

        }

}

void start_4()

{

        uchar a,b,c;

        b=0x7f;

        for(a=0;a<7;a++)

        {P0=b;

                delay_us(50000);

                b=b>>1;

        }

        c=0xff;

        b=0x00;

        for(a=0;a<7;a++)

        {P0=~(b^c);

                delay_us(50000);

                c=c<<1;

        }

}

void start_5()

{

        uchar a,b,c,i;

        c=0xff;

        for(i=0;i<9;i++)

        {b=0xfe;

                for(a=0;a<8;a++)

                {P0=b&c;

                        delay_us(50000);

                        b=_crol_(b,1);

                }

        c=c>>1;

        }

}

void start_6()

{

        uchar a,b,c,k,j;

        b=0xbf;c=0x7f;

        P0=c;

        delay_us(50000);

        k=2;

        j=1;

        for(a=0;;a++)

        {

                if(j+1==k)

                {k++;b=_cror_(b,1);

                        c=0x7f;j=1;}

                else{c=_cror_(c,1);j++;}

                P0=(b&c);

                delay_us(50001);

                if(k==8&&j==7)

                        break;

        }

}

void start_7()

{

        uint a,b=1000;

        for(a=1;a<1000;a++)

        {

                P0=0xff;

                delay_us(b--);

                P0=0x00;

                delay_us(a);

                for(a=1;a<1000;a++)

                {

                        P0=0x00;

                        delay_us(b--);

                        P0=0xff;

                        delay_us(a);

                }

        }

}

void start_8()

{

        uchar a,b;

        b=0x7f;

        for(a=0;a<7;a++)

        {P0=0xaa&b;

                delay_us(50001);

                b=_cror_(b,1);

        }

        b=0xfe;

        for(a=0;a<7;a++)

        {P0=0x55&b;

                delay_us(50001);

         b=_crol_(b,1);

        }

}

       

       

void  main()

{

        led=0;

       

                if(k1==0)

                {

                        while(1)

        {

                        start_1();

                        start_2();

                        start_3();

                        start_4();

                        start_5();

                        start_6();

                        start_7();

                        start_8();

                }

               

}

        }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/432531.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

分享5款办公效率工具|让你早点下班

如果每天你的工作都很多&#xff0c;做不完需要加班怎么办? 不知道你会不会加班&#xff0c;但是我肯定不会&#xff0c;因为我知道哪些高效率的办公工具&#xff0c;可以帮助我早点下班&#xff0c;今天来给大家分享一下。 1.FlowUs FlowUs 是一款为个人和团队打造的新一代生…

Netty通信技术进阶二

Netty核心组件 1. Bootstrap2 Channel3. EventLoopGroup 和 EventLoop3.1 eventLoopThreads 是多少&#xff1f; 4. ChannelHandler & ChannelHandlerContext & ChannelPipeline4.1 复用Handler4.2 ChannelInboundHandlerAdapter or SimpleChannelInboundHandler 5. By…

Linux系统之部署ZFile在线网盘服务

Linux系统之部署ZFile在线网盘服务 一、ZFile介绍1.ZFile简介2.ZFile特点 二、本地环境介绍1.本次实践说明2.本地环境规划 三、安装环境依赖1.安装java2.检查java版本 四、下载ZFile软件1.创建安装部署目录2.声明安装路径3.下载ZFile软件包4.解压ZFile软件包5.授权启动停止脚本…

FOC专题--环路PID算法拆分分析

foc中&#xff0c;其实foc算法并不是最难理解的&#xff0c;反而是在其中使用的PID算法&#xff0c;之前我只会套用别人的代码&#xff0c;但并不理解其中的各参数含义&#xff0c;导致在实际调整PI参数的时候&#xff0c;很难调到合适的值。 在实际理解什么是PID算法以及各参数…

【C++引用 】

目录 前言一、引用的概念二、使用引用时注意事项三、引用的使用场景及优势四、常引用、引用的权限五、引用和指针的区别 前言 相信大家应该在网上看过这样的段子。 大家都知道鲁迅原名周树人&#xff0c;浙江绍兴人。"鲁迅"是"周树人"的别名或者说是笔名…

TCP版本的 echo server 和 echo client

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言Tcp的api展示服务端客户端存在的问题解决问题服务端和客户端的大致流程 前言 上一篇文章我们介绍了UCP的客户端与服务器的一个简单实例,这篇我们简单的来介绍T…

111.【金橘社区1.0】

金橘社区1.0版本 (一)、SpringBoot整合SpringSecurity1.导入依赖2.数据库3.登入表单4. 添加配置类 SecurityConfig5.接口实现类 CkqnUserServiceImpl6.前端认证问题 (二)、SpringBoot整合Ajax1.登入表单2. JavaScript (三)、SpringBoot整合editor.md1.编写页面(1).前端页面(2).…

Windows安装RedisJSON(无需编译)

文章目录 Windows安装RedisJSON下载解压配置文件启动服务启动客户端 Windows安装RedisJSON 下载 打开网址 https://github.com/zkteco-home/RedisJson。 在网页的右上角&#xff0c;点击“Code”按钮&#xff0c;然后选择“Download ZIP”以下载最新版本的RedisJSON。 网盘 …

C6678-控制GPIO输入/输出

C6678-控制GPIO输入/输出 术语寄存器起始地址原理输入输出测试中断功能原理中断原理框图芯片中断控制器原理框图内核中断控制器原理框图中断路由架构一级中断表二级中断表CIC0二级中断CIC1二级中断CIC2二级中断CIC3 中断演示代码参考资料 术语 NMI&#xff1a; 不可屏蔽中断CI…

6、在vscode上利用cmake创建第一个简单C++程序

文章目录 &#xff08;1&#xff09;前期准备工作&#xff1a;即安装对应的环境1&#xff09;在vscode上安装插件&#xff1a;C/C、Cmake、CMake tools2&#xff09;安装Cmake环境&#xff08;这是在前面博客提到的已经安装好gcc等环境的前提下进行的&#xff09; &#xff08;…

Springboot基础学习之(二十二):异步任务和邮件任务

方向一&#xff1a;高效学习方法分享 我认为学习的最好的办法就是做笔记:本人特别喜欢在网上学习一些课堂外的知识&#xff0c;但是如果你没有及时的复习&#xff0c;要想找到自己想要的知识该怎么办呢&#xff1f;对&#xff0c;就是做笔记我在csdn这个app发的所有内容都是笔记…

Android UI布局优化之include、merge与ViewStub标签的巧用方法

前言 在开发中UI布局是我们都会遇到的问题&#xff0c;随着UI越来越多&#xff0c;布局的重复性、复杂度也会随之增长。 相信大家经常听到include、merge、ViewStub这样的标签&#xff0c;官方也提到这三种布局可用于布局的优化。今天就介绍下这三种布局的使用&#xff0c;记…

SRv6项目实践(一):环境与工具介绍

在一切开始之前&#xff0c;首先介绍一下我们要做什么&#xff0c;做这个要有什么基础&#xff0c;以及实现的环境 1&#xff0c;实验目标与实验基础 我们要在图下图所示的拓扑中&#xff0c;完成在如以下拓扑所示的网络中&#xff0c;配合ONOS实现基本的L2L3转发以及SRv6&am…

港联证券|券商再迎利好!这一比例大幅下调,释放300亿资金

券商利好接二连三。 4月10日&#xff0c;即日起下调证券公司转融通保证金份额。资信优质的公司&#xff0c;保证金份额由20%下调至5%&#xff1b;资信杰出的公司&#xff0c;由20%下调至10%&#xff1b;其余公司由25%下调至15%。中证金融预计&#xff0c;保证金份额下调后&…

Linux系统之tomcat的安装方法

Linux系统之tomcat的安装方法一、tomcat介绍1.tomcat简介2.tomcat官网二、本次环境规划三、安装jdk1.下载jdk包2.安装jdk3.检查jdk版本四、安装tomcat1.下载tomcat2.解压tomcat软件包3.设置环境变量4.查看tomcat版本五、启动tomcat1.启动tomcat服务2.检查tomcat服务状态3.访问t…

原来情感可以这样影响用户体验设计

&#x1f525;情绪的基本情况 Emotion&#xff1a;即刻的生理反应&#xff0c; Feeling&#xff1a;物理的或者心理上的&#xff0c;是emotion经过思考后的 Mood&#xff1a;持续时间更长&#xff0c;是一种状态&#xff0c;受到很多因素影响&#xff08;天气、睡眠&#x…

92-TCP三次握手及TCP四次挥手

TCP三次握手及TCP四次挥手1.tcp三次握手(1)tcp的特点(2)tcp三次握手发生在什么阶段(3)tcp协议报头(4)tcp三次握手的流程2.tcp四次挥手(1)tcp四次挥手发生在什么阶段(2)tcp四次挥手的流程(3)能不能将服务器发端发送的ACK和FIN放在一起发送呢1.tcp三次握手 (1)tcp的特点 TCP 协…

十六、市场活动:查看市场活动明细(二)

功能需求 点击市场活动名称链接,跳转到明细页面,查看市场活动明细 -市场活动的基本信息 -市场活动下所有的备注信息 功能分析 流程图 代码实现 一、ActivityRemarkMapper 1.ActivityRemarkMapper接口 /*** 根据市场活动id查询备注*/List<ActivityRemark> selectActivi…

贪吃蛇小项目

1.总体程序 #include <curses.h> #include <stdlib.h> #include <pthread.h> #include <math.h> #include <time.h> struct Snake //贪吃蛇身子节点 {char node; //节点序号int row; //行坐标int column; //列坐标stru…

探索实践低光照场景下YOLOv5s模型上限,融合CBAM注意力机制开发构建基于改进YOLOv5s的低光照条件下目标检测识别分析系统

在现实生活场景里面&#xff0c;很多场景下光线光照条件都是比较差的&#xff0c;比如夜晚、室内等&#xff0c;这时候以往的目标检测模型是否还能够胜任我们所需的目标检测任务呢&#xff1f;这里主要的想法就是基于地光线条件下的数据集来开发构建目标检测系统&#xff0c;探…