
void INT_init()//初始化
{
IT0 = 0;//外部中断0低电平触发
IT1 = 1;//外部中断1低电平触发
PX0 = 1;//外部中断0分配高优先级
PX1=0;
IE = 0x85;//使能全局中断,外部中断0,外部中断1
}
void EX_INT0() interrupt 0//外部中断0
{
//添加自己的功能代码
IE0=0;//清零中断标志位
}
void EX_INT1() interrupt 2//外部中断1
{
//添加自己的功能代码
IE1=0;
}
这与数码管阴极接法有关 各段编号从最上段开始顺时钟旋转为ABCDEF
中间一段为G,小数点为H或DP
若最高位接小数点 最低位接A 则排列顺序为 HGFE DCBA
显示P时 C=1 H=1 其余为0 所以二进制为 1000 0100 应该是 84H
若小数点接最高位,然后ABCDEFHABC DEFG 则为 1001 0000 应该是 90H
若A接最高位,然后BCDEFGHABCD EFGH 则为 0010 0001 应该是 21H
真找不到8CH或0CH 肯定驱动数码管时你又用了反相器84H反码是7CH
90H反码是6FH 21H反码为 DEH 还是找不到 那两个数 晕
还是硬件说清楚吧 简单问题弄得我
所谓初始化,是单片机上电,或要做一件事之前的准备工作,比如键盘扫描,先定义变量,定义哪些变量给变量赋什么初值选定哪些口输出输入,等等这不是固定化的是根据实际电路和具体的算法而定的程序也就两部分构成,声明区,也就所胃的初始化,下来就是指令区所以初始化是准备工作,如此而已
写一个关于定时器0的初始化子函数给你,加上注释\x0d\void timer0() interrupt 1\x0d\{\x0d\TMOD=0X01;//选择定时器0\x0d\TH0=(65536-50000)/256;//装入50MS的初值\x0d\TL0=(65536-50000)%256;\x0d\EA=1;//打开总中断\x0d\ET0=1;//打开定时器0中断\x0d\TR0=1;//开启定时器0\x0d\}
以上就是关于单片机中断初始化程序 编程全部的内容,包括:单片机中断初始化程序 编程、单片机的初始化问题、单片机 初始化 程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)