zoukankan      html  css  js  c++  java
  • 10.01 简单的51代码

    早上起床,玩了一会。剩下时间看了电影,给自己又放了一天假,我敢肯定没有人比我更加对自己好了。看了什么电影呢,早上看了柯南最新更新的几集,然后写了一会代码,没感觉,不想写,于是泡了包面继续看电视。
    昨天看了蝴蝶效应1,2,3,釜山行;今天又看了盗梦空间,,还记得前几天看的源代码,等等,这几部电影比较费脑,看的时候感觉非常乱,但是到了某一个结点的时候,就会有一种上瘾的感觉,欲罢不能。这种feel真的很爽。
    看电影是看爽了,今天的代码就写了一点,下面就把写的一些代码贴上把。
    
    //int0中断程序
    //设置开一下中断,然后写一个中断函数,然后在主函数里设置一个死循环来等待中断,并自动执行中断子程序
    #include "reg51.h"
    #include "intrins.h"
    
    typedef unsigned char u8;
    typedef unsigned int u16;
    
    sbit led=P2^0;
    
    void T0Int() interrupt 1
    {
        static u16 i=0;
        TH0=0XFC;
        TL0=0X18;
        i++;
        if(i==1000)    //错误2,没有这个相当于led每lms闪烁一次,肉眼看上去led一直是亮的
        {
            led=~led;    
            i=0;
        }   
    }
    
    void T0Init()
    {
        TMOD|=0X01;   //错误1,对TMOD进行或运算,尽力不要使用赋值来改变其他位的状态
        TH0=0XFC;
        TL0=0X18;
        EA=1;
        ET0=1;
        TR0=1;
    }
    
    void main()
    {
        T0Init();
        while(1);   
    }

    第二个:定时器1中断

    //和定时器0中断基本一样,只是在这个中断子程序里面实现的功能不一样。
    //还有就是要用到不止一个数码管,就需要使用38译码器,来选择数码管
    #include "reg51.h"
    #include "intrins.h"
    
    typedef unsigned char u8;
    typedef unsigned int u16;
    
    sbit LSA=P2^2;
    sbit LSB=P2^3;
    sbit LSC=P2^4;
    
    u8 smg[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
                0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
    
    void T1Int() interrupt 3
    {
        static u16 i=0, n=0;
        TH1=0XFC;
        TL1=0X18;
        i++;
        if(i==1000)
        {
            i=0;
            P0=smg[n++];
            if(n==16)
                n=0;
        }   
    }
    
    void T1Init()
    {
        TMOD|=0X10;  
        TH1=0XFC;
        TL1=0X18;
        EA=1;
        ET1=1;
        TR1=1;
    }
    
    void main()
    {
        LSA=0;
        LSB=0;
        LSC=0;
        T1Init();
        while(1);   
    }

    第三个串口通信还没写:

    #include "reg51.h"
    #include "intrins.h"
    
    typedef unsigned char u8;
    typedef unsigned int u16;
    
    
    u8 smg[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
                0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
    
    void Usart() interrupt 4
    {
    }
    
    void UsartInit()
    {
    
    }
    
    void main()
    {
    
    }
    起风了,努力生存
  • 相关阅读:
    postman的使用
    测试模型的发展论
    winform 控件没有Cursor属性时的处理办法
    【C#】两个DataTable关联查询(inner join、left join)C#代码
    【C#】datetimepicker里面如何设置日期为当天日期,而时间设为0:00或23:59?
    【C#】string格式的日期转为DateTime类型及时间格式化处理方法
    js解析后台传过来的json
    shell做成csv文件
    Hibernate查询总的记录数
    在引入的css或者js文件后面加参数的作用
  • 原文地址:https://www.cnblogs.com/StivenYang/p/8441339.html
Copyright © 2011-2022 走看看