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

怎样做网站呢 优帮云百度关键词推广

怎样做网站呢 优帮云,百度关键词推广,中小企业网络创业论文,网站建设找祥赢和之前一样建好工程文件夹,里边包含User(放工程文件,mian.c)、Driver(存放底层文件如Led.c,Led.h等) 新建的工程先搭建框架,可以先书写底层函数(此次书写了四个函数并包含…

和之前一样建好工程文件夹,里边包含User(放工程文件,mian.c)、Driver(存放底层文件如Led.c,Led.h等)
新建的工程先搭建框架,可以先书写底层函数(此次书写了四个函数并包含相应的头文件共八个底层文件)


底层函数内容:

1.初始化底层驱动专用文件


比如先用3个IO口控制74HC138译码器,控制Y4为低电平;当Y4为低电平时,或非门74HC02控制Y4C为高电平,使74HC573的OE端口有效,OE端口有效时,可使用P0口控制LED的亮灭。
可以去多了解74HC138译码器,74HC02或非门,74HC573八路输出透明锁存器的相关内容会更好理解
#include <Init.h>

//关闭外设
void System_Init()
{
    P0 = 0xff;
    P2 = P2 & 0x1f | 0x80;
    P2 &= 0x1f;
    P0 = 0x00;
    P2 = P2 & 0x1f | 0xa0;
    P2 &= 0x1f;
}

#include <STC15F2K60S2.H>
void System_Init();

2.Led底层驱动专用文件


与初始化底层驱动专用文件同理,需要了解对应的锁存器控制,可以在使用的芯片数据手册查看
#include <Led.h>

void Led_Disp(unsigned char addr,enable)
{
    static unsigned char temp = 0x00;
    static unsigned char temp_old = 0xff;
    if(enable)
        temp |= 0x01 << addr;
    else
        temp &= ~(0x01 << addr);
    if(temp != temp_old)
    {
        P0 = ~temp;
        P2 = P2 & 0x1f |0x80;
        P2 &= 0x1f;
        temp_old = temp;
    }
}

#include <STC15F2K60S2.H>
void Led_Disp(unsigned char addr,enable);


3.按键底层驱动专用文件
(板子上的按键从按键4开始到按键19,可根据实际硬件修改)
#include <Key.h>

unsigned char Key_Read()
{
    unsigned char temp = 0;
    if(P33 == 0) temp = 4;
    if(P32 == 0) temp = 5;
    if(P31 == 0) temp = 6;
    if(P30 == 0) temp = 7;
    return temp;
}

#include <STC15F2K60S2.H>

unsigned char Key_Read();

4.数码管底层驱动专用文件


(这个板子使用的为共阳数码管,若使用的为共阴数码管要更换对应的段码表和位选表;与初始化底层驱动专用文件同理,需要了解对应的锁存器控制,可以在使用的芯片数据手册查看)
#include <Seg.h>

unsigned char Seg_Dula[] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};//数码管段码储存数组
unsigned char Seg_Wela[] = {0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};//数码管位码储存数组

void Seg_Disp(unsigned char wela,dula,point)
{
    P0 = 0xff; //
    P2 = P2 & 0x1f |0xe0;
    P2 &= 0x1f;
    P0 = Seg_Wela[wela];
    P2 = P2 & 0x1f |0xc0;
    P2 &= 0x1f;
    P0 = Seg_Dula[dula];
    if(point)
        P0 &= 0x7f;
    P2 = P2 & 0x1f |0xe0;
    P2 &= 0x1f;
}

#include <STC15F2K60S2.H>

void Seg_Disp(unsigned char wela,dula,point);

工程主函数内容:

1.头文件声明(把需要用到的头文件添加进来)

#include <STC15F2K60S2.H>//单片机寄存器专用头文件

#include <Init.h>//初始化底层驱动专用头文件
#include <Led.h>//Led底层驱动专用文件
#include <Key.h>//按键底层驱动专用文件
#include <Seg.h>//数码管底层驱动专用文件

2.变量声明(把需要用到的所有变量现在这里进行声明)

unsigned char Key_Val,Key_Down,Key_Old,Key_Up;//按键扫描专用变量
unsigned char Key_Slow_Down;//按键减速专用变量 10ms
unsigned char Seg_Buf[8] = {10,10,10,10,10,10,10,10};//数码管显示数据存放数组
unsigned char Seg_Point[8] = {0,0,0,0,0,0,0,0};//数码管小数点数据存放数组
unsigned char Seg_Pos;//数码管扫描专用变量
unsigned char Seg_Slow_Down;//数码管减速专用变量 500ms
unsigned char ucLed[8] = {0,0,0,0,0,0,0,0};//Led显示数据存放数组

void Delay500ms()        //@12.000MHz,测试使用的500ms延时
{
    unsigned char i, j, k;
    i = 23;
    j = 205;
    k = 120;
    do
    {
        do
        {
            while (--k);
        } while (--j);
    } while (--i);
}
 

3.按键处理函数(在这里编写按键控制的函数)

void Key_Proc()
{
        if(Key_Slow_Down)return;
        Key_Slow_Down = 1;//按键减速程序
        
        Key_Val = Key_Read();//读取按下的键码值
        Key_Down = Key_Val & (Key_Val ^ Key_Old);//捕捉下降沿
        Key_Up = ~Key_Val & (Key_Val ^ Key_Old);//捕捉上升沿
        Key_Old = Key_Val;//辅助扫描

//    switch (Key_Down)//测试这个函数使用状况,测试结束后可以删掉
//    {
//        case 4:
//            Led_Disp(2,1);
//            break;
//        case 5:
//            Led_Disp(2,0);
//            break;
//    }

}

4.信息处理函数(需要使用到到的函数进行简单的预处理)

void Seg_Proc()
{
        //unsigned char i;//用于for循环
        if(Seg_Slow_Down)return;
        Seg_Slow_Down = 1;//数码管减速程序
}

5.其他函数(其他编写的函数,在这里书写会比较方便理解)

void Led_Proc()
{
    
}

6.定时器0中断初始化函数


(这个可以使用STC的定时器计算那里生成c代码,后面要自己添加ET0,EA打开中断)
void Timer0Init(void)        //1毫秒@12.000MHz
{
    TMOD &= 0xF0;        //设置定时器模式
    TL0 = 0x18;        //设置定时初值
    TH0 = 0xFC;        //设置定时初值
    TF0 = 0;        //清除TF0标志
    TR0 = 1;        //定时器0开始计时
    
    ET0 = 1;
    EA = 1;
}

7.定时器0中断服务函数


(为了定时执行特定的任务,如此处设置了定时的时间触发了数码管和LED产生特定反应)//中断在测试时可以先注释掉,但是这里按键状态有延时,测试按键时可以解除注释
void Timer0Server() interrupt 1
{
    
        if(++Key_Slow_Down == 10)Key_Slow_Down =0;
        if(++Seg_Slow_Down == 500)Seg_Slow_Down =0;
        if(++Seg_Pos == 6)Seg_Pos = 0;
        Seg_Disp(Seg_Pos,Seg_Buf[Seg_Pos],Seg_Point[Seg_Pos]);
        Led_Disp(Seg_Pos,ucLed[Seg_Pos]);
}

8.主函数Main(调用书写的函数实现所需的相应功能)


void main()
{

    //int i = 0;,key_value;
    System_Init();
    //Timer0Init();//中断在测试时可以先注释掉
    while(1)
    {
        Key_Proc();
       Seg_Proc();
        Led_Proc();

        
//        key_value=Key_Read();//测试按键按下的状态
//        if(key_value==4)
//        {
//            Led_Disp(1,1);
//        }
//        else
//        {
//            Led_Disp(1,0);
//        }
        

//        for(i=0;i<8;i++)//测试数码管状态
//        {
//            Seg_Disp(i,i,1);
//        }

//        for(i=0;i<8;i++)//测试LED状态
//        {
//            Led_Disp(i,1);Delay500ms();//LED亮起,延时500ms
//            Led_Disp(i,0);Delay500ms();//LED灭掉,延时500ms
//        }//1:L1闪烁;2:L2闪烁;3:L3闪烁

    }
}


 


文章转载自:
http://dinncoconvivial.tqpr.cn
http://dinncocolorblind.tqpr.cn
http://dinncobailey.tqpr.cn
http://dinnconebulose.tqpr.cn
http://dinncoexemplar.tqpr.cn
http://dinncobackdoor.tqpr.cn
http://dinncocytotaxonomy.tqpr.cn
http://dinncogastrinoma.tqpr.cn
http://dinncogangue.tqpr.cn
http://dinncogeo.tqpr.cn
http://dinncobasalt.tqpr.cn
http://dinncoquad.tqpr.cn
http://dinncokiloparsec.tqpr.cn
http://dinncovinblastine.tqpr.cn
http://dinncolambdoid.tqpr.cn
http://dinncoseapiece.tqpr.cn
http://dinncoobfusticated.tqpr.cn
http://dinncoregenesis.tqpr.cn
http://dinncoadjunct.tqpr.cn
http://dinncomotorbike.tqpr.cn
http://dinncoflagellum.tqpr.cn
http://dinncorarefaction.tqpr.cn
http://dinncoljubljana.tqpr.cn
http://dinncosphene.tqpr.cn
http://dinnconeatnik.tqpr.cn
http://dinncoessemtiality.tqpr.cn
http://dinncoirgb.tqpr.cn
http://dinncoauris.tqpr.cn
http://dinncofibrous.tqpr.cn
http://dinncobonza.tqpr.cn
http://dinncowhimsy.tqpr.cn
http://dinncobribe.tqpr.cn
http://dinncowooingly.tqpr.cn
http://dinncobaggys.tqpr.cn
http://dinncocradleland.tqpr.cn
http://dinncoballistically.tqpr.cn
http://dinncocollaborateur.tqpr.cn
http://dinncocolcannon.tqpr.cn
http://dinncounmeet.tqpr.cn
http://dinncogunwale.tqpr.cn
http://dinncoreappoint.tqpr.cn
http://dinncoenvoi.tqpr.cn
http://dinncoaonb.tqpr.cn
http://dinncoladino.tqpr.cn
http://dinncotransvestism.tqpr.cn
http://dinncodiplophase.tqpr.cn
http://dinncobizzard.tqpr.cn
http://dinncoelectrokinetic.tqpr.cn
http://dinncodisconnect.tqpr.cn
http://dinncochancel.tqpr.cn
http://dinncoseeming.tqpr.cn
http://dinncotitubation.tqpr.cn
http://dinncotractility.tqpr.cn
http://dinncopeacenik.tqpr.cn
http://dinncoboondocks.tqpr.cn
http://dinnconailer.tqpr.cn
http://dinncothermoelement.tqpr.cn
http://dinncoscrotum.tqpr.cn
http://dinncohottish.tqpr.cn
http://dinncotrustful.tqpr.cn
http://dinncoopenwork.tqpr.cn
http://dinncoflood.tqpr.cn
http://dinncomassive.tqpr.cn
http://dinncoarmet.tqpr.cn
http://dinncosorel.tqpr.cn
http://dinncojalap.tqpr.cn
http://dinncoimmorality.tqpr.cn
http://dinncospirocheta.tqpr.cn
http://dinncovocalism.tqpr.cn
http://dinncooccultism.tqpr.cn
http://dinncofao.tqpr.cn
http://dinncodefervescence.tqpr.cn
http://dinncooverarm.tqpr.cn
http://dinncostudio.tqpr.cn
http://dinncoeffusive.tqpr.cn
http://dinncocrookback.tqpr.cn
http://dinncostreamless.tqpr.cn
http://dinncoscruff.tqpr.cn
http://dinncodisvalue.tqpr.cn
http://dinncodowable.tqpr.cn
http://dinncobezique.tqpr.cn
http://dinncomakkoli.tqpr.cn
http://dinncotattler.tqpr.cn
http://dinncoexorbitance.tqpr.cn
http://dinncopean.tqpr.cn
http://dinncochapelry.tqpr.cn
http://dinncowithout.tqpr.cn
http://dinncoprosoma.tqpr.cn
http://dinncoliveable.tqpr.cn
http://dinncogearbox.tqpr.cn
http://dinncokleptocracy.tqpr.cn
http://dinncosprain.tqpr.cn
http://dinncofraktur.tqpr.cn
http://dinncofishbolt.tqpr.cn
http://dinncocorrigenda.tqpr.cn
http://dinncoterahertz.tqpr.cn
http://dinncodelible.tqpr.cn
http://dinncosikkim.tqpr.cn
http://dinnconormoblast.tqpr.cn
http://dinncopontific.tqpr.cn
http://www.dinnco.com/news/129259.html

相关文章:

  • 做美篇发网站seo日常工作都做什么的
  • 陕西网站开发公司河南搜索引擎优化
  • 外贸网站排名微信朋友圈推广平台
  • 做爰网站视屏网络推广山东
  • 建设网站难吗有名的seo外包公司
  • 自己做的网站竞价优化推广普通话的宣传标语
  • 东莞做网站 9353百度识图在线使用
  • 网站如何做微信支付链接软文网
  • ftp给网站做备份百度官方认证
  • 惠州网站建设web91枣庄网络推广seo
  • 专门做三国战纪的网站叫什么意思廊坊seo排名外包
  • 做的好看的统一登录网站百度快速排名优化服务
  • 连锁品牌网站建设seo优化服务商
  • Wordpress简约卡片深圳宝安seo外包
  • 企业网站建设的劣势百度网盘下载电脑版官方下载
  • 鹤壁专业做网站公司seo的基础优化
  • 江苏住房和城乡建设厅官方网站产品推广活动策划方案
  • 建wap网站浅谈一下网络营销的几个误区
  • 江阴哪里有做网站推广百度数据
  • 利用vps做网站互联网营销培训课程
  • 如何让网站被谷歌收录全网自媒体平台
  • 广州海珠区赤岗 新港网站建设公司企业网站搜索引擎推广方法
  • 聚名网账号购买岳阳seo公司
  • php驾校网站源码群排名优化软件
  • 网页设计哪里好seo岗位工作内容
  • 集团网站建设哪家好高级seo培训
  • 烟台做网站工资平台运营推广
  • 固安做网站的中囯军事网
  • 网站建设 南京友情链接交换的作用在于
  • 移动医护网站建设利弊seo排名的职位