当前位置: 首页 > news >正文

怎样将自己做的网页加入网站南京品牌网站建设

怎样将自己做的网页加入网站,南京品牌网站建设,电商运营面试问题及回答,手机端网站外部链接如何去优化在写大模板之前,先讲一个函System_Init(),用于系统初始化关闭所有LED与外设,关闭所有LED就是传入0xff数据打开锁存器,关闭外设就是传入0x00打开锁存器。现在所有底层已经提供给大家了,先提供最简单版本的大模板&#x…

     在写大模板之前,先讲一个函System_Init(),用于系统初始化关闭所有LED与外设,关闭所有LED就是传入0xff数据打开锁存器,关闭外设就是传入0x00打开锁存器。

    现在所有底层已经提供给大家了,先提供最简单版本的大模板,考前大家一定要把这个代码记熟。书写.h文件后代码可直接运行!

    好了,蓝桥杯更新到这里就告一段落了,接下来是省赛题的代码,不会每一个都讲,只会讲一些可能存在的难点。

1、Key底层

#include <STC15F2K60S2.H>unsigned char Key_Read(void)
{unsigned char Key_Num = 0;   //一定记得赋初始值0//	AUXR &= ~0x10;           //关闭定时器二(有串口时加上)//扫描第一列P44 = 0;P42 = 1;P35 = 1;//P34 = 1;        //有频率采样时必须注释if(P33 == 0) Key_Num = 4;if(P32 == 0) Key_Num = 5;if(P31 == 0) Key_Num = 6;if(P30 == 0) Key_Num = 7;//扫描第二列P44 = 1;P42 = 0;P35 = 1;//P34 = 1;if(P33 == 0) Key_Num = 8;if(P32 == 0) Key_Num = 9;if(P31 == 0) Key_Num = 10;if(P30 == 0) Key_Num = 11;//扫描第三列P44 = 1;P42 = 1;P35 = 0;//P34 = 1;if(P33 == 0) Key_Num = 12;if(P32 == 0) Key_Num = 13;if(P31 == 0) Key_Num = 14;if(P30 == 0) Key_Num = 15;//	P44 = 1;
//	P42 = 1;
//	P35 = 1;
//	P34 = 0;
//	
//	if(P33 == 0) Key_Num = 16;
//	if(P32 == 0) Key_Num = 17;
//	if(P31 == 0) Key_Num = 18;
//	if(P30 == 0) Key_Num = 19;//  AUXR |= 0x10;           //打开定时器二(有串口时加上)P3 = 0xff;return Key_Num;
}

2、Seg底层

#include <STC15F2K60S2.H>idata unsigned char duanselect[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff,0xbf};void Seg_Disp(unsigned char wei,duan,point)
{unsigned char temp;//段选消影P0 = 0xff;temp = P2 & 0x1f;temp = temp | 0xe0;P2 = temp;temp = P2 & 0x1f;P2 = temp;//先位选P0 = 0x01<<wei;temp = P2 & 0x1f;temp = temp | 0xc0;P2 = temp;temp = P2 & 0x1f;P2 = temp;//再段选P0 = duanselect[duan];if(point)  //判断小数点P0 = P0 & 0x7f;temp = P2 & 0x1f;temp = temp | 0xe0;P2 = temp;temp = P2 & 0x1f;P2 = temp;}

3、LED底层

#include <STC15F2K60S2.H>idata unsigned char temp_1 = 0x00;
idata unsigned char temp_old_1 = 0xff;
void LED_Disp(unsigned char *LED_Buf)
{unsigned char temp;temp_1 = 0x00;temp_1 = (LED_Buf[0]<<0) | (LED_Buf[1]<<1) |(LED_Buf[2]<<2) |(LED_Buf[3]<<3) |(LED_Buf[4]<<4) |(LED_Buf[5]<<5) |(LED_Buf[6]<<6) |(LED_Buf[7]<<7);if(temp_1 != temp_old_1){P0 = ~temp_1;    //一定记得取反temp = P2 & 0x1f;temp = temp | 0x80;P2 = temp;temp = P2 & 0x1f;P2 = temp;temp_old_1 = temp_1;}
}

4、.h文件书写格式


/*
#ifndef __LED_H__
#define __LED_H__void LED_Disp(unsigned char *LED_Buf);
#endif
*//*
#ifndef __KEY_H__
#define __KEY_H__unsigned char Key_Read(void);
#endif
*//*
#ifndef __SEG_H__
#define __SEG_H__void Seg_Disp(unsigned char wei,duan,point);
#endif
*/

5、main函数

#include <STC15F2K60S2.H>
#include "Seg.h"
#include "LED.h"
#include "Key.h"idata unsigned char Seg_Slow_Down;  //数码管延时变量
idata unsigned char Key_Slow_Down;  //按键延时变量
idata unsigned char Seg_Buf[8]={10,10,10,10,10,10,10,10};  //数码管显示内容
idata unsigned char Seg_Scan;   //数码管扫描
idata unsigned char LED_Buf[8]={0,0,0,0,0,0,0,0};    //LED亮灭数据
idata unsigned char Key_Val,Key_Down,Key_Up,Key_Old;  //按键参数void System_Init()  //系统初始化
{unsigned char temp;//关闭所有LEDP0 = 0xff;temp = P2 & 0x1f;temp = temp | 0x80;P2 = temp;temp = P2 & 0x1f;P2 = temp;//关闭外设P0 = 0x00;temp = P2 & 0x1f;temp = temp | 0xa0;P2 = temp;temp = P2 & 0x1f;P2 = temp;}//定时器一初始化,自己加上EA = 1;ET1 = 1;
void Timer1_Init(void)		//1毫秒@12.000MHz
{AUXR &= 0xBF;			//定时器时钟12T模式TMOD &= 0x0F;			//设置定时器模式TL1 = 0x18;				//设置定时初始值TH1 = 0xFC;				//设置定时初始值TF1 = 0;				//清除TF1标志TR1 = 1;				//定时器1开始计时EA = 1;                 //打开总中断ET1 = 1;                //打开定时器一中断允许位
}void Key_Proc()   //按键处理函数
{if(Key_Slow_Down <20) return;  //按键减速Key_Slow_Down = 0;Key_Val = Key_Read();     //读取键码值Key_Down = Key_Val & (Key_Old ^ Key_Val);  //判断按下Key_Up =  ~Key_Val & (Key_Old ^ Key_Val);  //判断松开Key_Old = Key_Val;       //判断长按switch(Key_Down){}
}void Seg_Proc()   //数码管处理函数
{if(Seg_Slow_Down <100) return;  //减速Seg_Slow_Down = 0;}void LED_Proc()  //LED处理函数
{}void main()
{System_Init();Timer1_Init();while(1){Key_Proc();Seg_Proc();LED_Proc();}}//定时器一中断打开---中断标志位3
void Timer1_Routine() interrupt 3
{Seg_Slow_Down++;Key_Slow_Down++;if(++Seg_Scan == 8) Seg_Scan = 0;if(Seg_Buf[Seg_Scan] > 20)  //判断带小数点的数据Seg_Disp(Seg_Scan,Seg_Buf[Seg_Scan]-',',1);elseSeg_Disp(Seg_Scan,Seg_Buf[Seg_Scan],0);LED_Disp(LED_Buf);         //LED扫描
}

 

结语:少年不惧岁月长,彼方尚有荣光在!保持谦卑的态度学习!

 

 

http://www.dtcms.com/a/565527.html

相关文章:

  • 前端工具全景实战指南,从开发到调试的效率闭环
  • Nxt v1.13.1:标志性更新为12年历史的区块链项目写下新篇章
  • C++ 学习 —— 04 - STL容器
  • 什么是端口管理?网络安全的关键环节
  • 竞品网站分析温州企业网站制作
  • Apache Paimon 写入流程
  • 如何设计一个秒杀系统(下)
  • 投资网站策划晋江市建设局网站
  • 博客阅读:chatgpt 2025 GPT-5 Jailbreak with Echo Chamber and Storytelling
  • 经典模板网站建设wordpress函数讲解
  • HTTP协议与WebSocket完整技术指南
  • 时序数据库核心技术解析-以InfluxDB/TSDB为例
  • 各大网站收录入口ASP.NET与网站开发编程实战
  • 招聘网站建设与开发要求typecho转wordpress
  • 专为严苛环境而生:高防护等级工业防水平板WPPC-H1520T(P)
  • 网站建设销售培训好网站的标准
  • 当多进程遇上异步:一次 Celery 与 Async SQLAlchemy 的边界冲突
  • 【Tailwind,DaisyUI】如何让 button 文字左对齐?
  • 【IC】NoC设计入门 -- 传统总线Bus
  • CoDeGAN:用对比学习重新定义GAN中的表示解耦
  • hive中数据的来源
  • 企业营销型网站的内容路由器 搭建wordpress
  • 2.4、恶意软件猎手:基于深度学习的二进制文件判别
  • 力扣hot100---42.接雨水(java版)
  • 长春公司建站模板三把火科技网站设计
  • Nine.fun:连接现实娱乐与Web3经济的全新生态
  • 【职业方向】2026小目标,从web开发转型web3开发【一】
  • 用 Playwright + 容器化做分布式浏览器栈:调度、会话管理与资源回收
  • 148.PCIE参考时钟无法绑定
  • 国际网站如何做seo电脑网站模版