ie:eaxxeset1ex1et0ex0
ea:总不能位
es:串口中断不能位
et1:定时计数器1关闭不允许位
ex1:外部网络中断1关闭不能位
et0:定时计数器0自动愿意位
ex0:外部中断0中断不允许位
这个答案已经很还好了具体想知道啥功能你还的写程序自己找个感兴趣的题目做做你就理解的加深了
见意你定时自动和外部中断编译程序流水灯的程序串行口中断编写一个串口通信的程序自己去玩玩就清楚了
总掉线那就是说总中断打开然后打开你想得用关闭才能实现程序你想要的功能就这样多了不会的再问
先说下定时器使用方法:
定时器使用方法:
系统设置工作模式(系统设置特殊功能寄存器tmod)
可以设置计数法寄存器处置
设置里tcon,是从tr0置1使计时器又开始计数寄存器
确认tcon寄存器tf0位,检测定时器滴下情况
正准备写流水灯,只不过用定时器0再试一下,工作模式我你选择的模式一,即使th0和tl0混编16位定时器。
假设p0.0接k1,p0.1接k2,k1或k2断开状态时,p0.0或p0.1为低电平0,断开时为高电平1;p2口的8位接8个发光二极管的阳极,发光二极管的阴极下拉电阻接地,要点亮相应的二极管,必须p2口按引脚输出高电平1;按动k1时,p2口初值设为00000001b,那样的话dnf图标最右边一个led,用一段延迟现象程序使得亮起来稳定后,使p2口数值排列左移1位,那样8个二极管这个可以顺次排列穿越火线图标,即流水灯左移;按动k2时,p2口初值设为10000000b,那样的话穿越火线图标最左边一个led,用一段延时程序使得dnf图标稳定后,使p2口数值依次向右移动1位,那样8个二极管这个可以左面穿越火线图标,即流水灯右移。
开关控制,接在p2.7与地之间。#includeltat89x51.hgt//预处理下命令voidw(unsignedchark){unsignedinta//定义变量a为int类型if(k){while(p2_7)
//也没按就非循环,再等待按过for(a0alt600a)
//连接时间消抖while(p2_7)
//也没按就重复运行}elsewhile(!p2_7)
//按开就非循环,耐心的等待放开}voidmain(void)//主函数名{while(1){w(1)p1_00w(0)p1_01w(1)p1_10w(0)p1_11w(1)p1_20w(0)p1_21w(1)p1_30w(0)p1_31w(1)p1_40w(0)p1_41w(1)p1_50w(0)p1_51w(1)p1_60w(0)p1_61w(1)p1_70w(0)p1_71}}