‘壹’ 求单片机采用外部中断0和1控制数码管进行00到99的计数c语言程序
程序是刚做的,没测试过,你试试,能用再给分吧。P0口是位选,P2口段选。
#include<reg52.h>
unsigned
int
bittime=0;
unsigned
char
bitdisplay
=
0;
unsigned
char
mg=0,ms=0;
unsigned
char
Tab[]={0xFC,0x60,0xDA,0xF2,0x66,0xB6,0xBE,0xE0,0xFE,
0xF6,0xEE,0x3E,0x9C,0x7A,0x9E,0x8E,0x00};
void
timer0(void)
interrupt
1
{
TH0=0xF0;
TL0=0x60;
switch(bitdisplay)
{
case
0:P2=Tab[mg];P0=0xFE;break;
case
1:P2=Tab[ms];P0=0xFD;break;
}
bitdisplay++;
bittime++;
if(bitdisplay>=2)
bitdisplay=0;
if(bittime>=500)
{
bittime=0;
mg++;
if(mg>9)
{mg=0;ms++;}
if(ms>9)
ms=0;
}
}
void
main(void)
{
TMOD=0x01;
TH0=0xF0;
TL0=0x60;
TR0=1;
EA=1;
while(1);
}
‘贰’ 单片机数码管显示0到999c语言程序怎么编
#include<reg51.h>
unsigned char xs_d[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
unsigned int time=0,s,sz;delay(unsigned int k)
{
unsigned int i,j;
for(i=0;i<k;i++)
for(j=0;j<125;j++);
}INT_0()interrupt 0
{ delay(10);
if(INT0==0){sz++;<br> if(sz>2){sz=0;}
}
}
void T0_int()interrupt 1
{
TH0=(65535-50000)/256;//设置初值
TL0=(65535-50000)%256;
s++;
if(s>20){s=0;<br> if(sz==1)time++;<br> if(time>999){time=0;}
if(sz==0){time=0;//清零<br> }
(2)单片机中断09999扩展阅读:
运算器由运算部件——算术逻辑单元(Arithmetic & Logical Unit,简称ALU)、累加器和寄存器等几部分组成。
ALU的作用是把传来的数据进行算术或逻辑运算,输入来源为两个8位数据,分别来自累加器和数据寄存器。ALU能完成对这两个数据进行加、减、与、或、比较大小等操作,最后将结果存入累加器。
运算器有两个功能:
(1) 执行各种算术运算。
(2) 执行各种逻辑运算,并进行逻辑测试,如零值测试或两个值的比较。
运算器所执行全部操作都是由控制器发出的控制信号来指挥的,并且,一个算术操作产生一个运算结果,一个逻辑操作产生一个判决。
‘叁’ 什么是单片机的中断
中断是”打断“的意思,即允许正常运行的程序被一些紧急的事务所打断 ,前提是你允许中断发生,并且中断条件已经具备,如定时器定时时间到或外部引脚来了低电平。
有了中断,单片机不用频繁地去查询这些条件是否具备,从而专心地进行工作,但中断发生时,又可以随时作出响应
CPU好象一个大领导,如不让下级部门有事敲门或打电话向你反映问题,你还想了解情况,过一会儿不管有事无事你就得一个部门一个部门问一问,主动权全在你手里,可累不累呀
不如开放渠道(中断允许),告诉部下有事随时向我汇报,没事我该喝茶喝茶,该看报看报,这样既减轻了负担,又不会错过紧急事务
中断系统一般包括中断源 中断控制寄存器 中断优先级寄存器等部分,一般高档单片机中断源比较多,且中断优先级也比较多
‘肆’ MCS51单片机中,当中断优先级寄存器的内容为09H时,其含义是什么谢谢
在MCS-中断优先级中由中断优先级寄存器IP来高置的,IP中某位设为1,相应的中断就是高优先级,否则就是低优先级。
-
-
-
PS
PT1
PX1
PT0
PX0
IP优先级别寄存器各位介绍如下:
PS:串行口中断优先级控制位。PS=1设定串行口为高优先级中断;PS=0为低优先级中断。
PT1:T1中断优先级控制位。PT1=1设定定时器T1为高优先级中断;PT1=0为低优先级中断。
PX1:外部中断1优先级控制位。PX1=1设定定时器外部中断1为高优先级中断;PX1=0为低优先级中断。
PT0:T0中断优先级控制位。PT0=1设定定时器T0为高优先级中断;PT0=0为低优先级中断。
PX0:外部中断0优先级控制位。PX0=1设定定时器外部中断0为高优先级中断;PX0=0为低优先级中断。
09H对应00001001
PT1=1;PX0=1
即PT1和PX0为高优先级中断
‘伍’ 80C51单片机有哪些中断源对应的中断入口地址分别是什么
外部中断0:入口:0003H
定时器0: 入口:000BH
外中断1: 入口:0013H
定时器1: 入口:001BH
串口中断:入口:0023H
1.1个串口中断,地址:0x98H;外部中断和定时计数器中断:设置地址:0x88H;定时计数器设置地址:TMOD:0x89H,TL0;8AH TL0;8BH TH0;8CH :TH1: 8DH。
(5)单片机中断09999扩展阅读:
向量中断:对应每一级中断都有一个向量,这些向量顺序存放在主存的指定单元中。向量的内容是:相应的中断服务程序起始地址和处理机状态字(主要是指令地址)。在中断响应时,由中断部件提供中断向量的地址,就可取出该向量。中断响应和处理操作的第⑤步就是取中断向量操作。在采用向量中断的机器中一般不再使用程序状态字。
‘陆’ 单片机计数器0到999的编程怎么写
估计你说的是汇编语言。我以51为标准假设晶振为6Mhz.
计算计数初值是0CEH。计数器工作方式2。
程序:mov ie, #00h 关中断
mov tmod,#02h 置计数器工作方式2
mov th0,#0ceh 保存计数初值
mov tl0,#0ceh 值计数初值
mov r0,#0ah 置循环次数
setb tr 启动计数器
loop:jbc tf0,loop1 判断溢出标志位
ajmp loop
loop1:cjnz r0,loop xunhuan
reti 返回主程序
‘柒’ 单片机:采用外部中断0和1,控制两位数码管进行00~99的计数,其中外部中断0控制进行减1计数,外部中断1进
这好办!定义一个寄存器num,若是外中断0,则num--;若是外中断1,则num++;然后让num显示即可。
‘捌’ 什么是单片机的中断,中断有什么特点
中断是”打断“的意思,即允许正常运行的程序被一些紧急的事务所打断 ,前提是你允许中断发生,并且中断条件已经具备,如定时器定时时间到或外部引脚来了低电平。
有了中断,单片机不用频繁地去查询这些条件是否具备,从而专心地进行工作,但中断发生时,又可以随时作出响应
CPU好象一个大领导,如不让下级部门有事敲门或打电话向你反映问题,你还想了解情况,过一会儿不管有事无事你就得一个部门一个部门问一问,主动权全在你手里,可累不累呀
不如开放渠道(中断允许),告诉部下有事随时向我汇报,没事我该喝茶喝茶,该看报看报,这样既减轻了负担,又不会错过紧急事务
中断系统一般包括中断源 中断控制寄存器 中断优先级寄存器等部分,一般高档单片机中断源比较多,且中断优先级也比较多
‘玖’ 什么是单片机的中断
不同的计算机其硬件结构和软件指令是不完全相同的,因此,中断系统也是不相同的。
计算机的中断系统能够加强CPU对多任务事件的处理能力。中断机制是现代计算机系统中的基础设施之一,它在系统中起着通信网络作用,以协调系统对各种外部事件的响应和处理。中断是实现多道程序设计的必要条件。 中断是CPU对系统发生的某个事件作出的一种反应。
引起中断的事件称为中断源。中断源向CPU提出处理的请求称为中断请求。发生中断时被打断程序的暂停点称为断点。
CPU暂停现行程序而转为响应中断请求的过程称为中断响应。处理中断源的程序称为中断处理程序。
CPU执行有关的中断处理程序称为中断处理。而返回断点的过程称为中断返回。中断的实现实行软件和硬件综合完成,硬件部分叫做硬件装置,软件部分称为软件处理程序。
响应处理
大多数中断系统都具有如下几方面的操作,这些操作是按照中断的执行先后次序排列的。
1、 接收中断请求。
2、 查看本级中断屏蔽位,若该位为1则本级中断源参加优先权排队。
3、 中断优先权选择。
4、 处理机执行完一条指令后或者这条指令已无法执行完,则立即中止现行程序。接着,中断部件根据中断级去指定相应的主存单元,并把被中断的指令地址和处理机当前的主要状态信息存放在此单元中。
5、 中断部件根据中断级又指定另外的主存单元,从这些单元中取出处理机新的状态信息和该级中断控制程序的起始地址。
6、 执行中断控制程序和相应的中断服务程序。
7、 执行完中断服务程序后,利用专用指令使处理机返回被中断的程序或转向其他程序。
冲突
在一些罕见的情况下,两个ISA设备可以共享相同的 IRQ,只要它们不同时使用即可。为了解决这个问题,后来的PCI 总线允许 IRQ 共享。PCI Express没有物理中断线,并使用消息信号中断(MSI) 到操作系统(如果可用)。
在早期的 IBM 兼容个人计算机中,中断曾经是一种常见的硬件错误,当两个设备尝试使用相同的中断请求(或 中断)向可编程中断控制器(PIC)发出中断信号时会收到该错误。
PIC 期望每条线路仅来自一个设备的中断请求,因此沿同一条线路发送中断信号的多个设备通常会导致 中断 冲突,从而导致计算机死机。
例如,如果在系统中添加调制解调器扩展卡并分配给中断4,传统上分配给串行端口1,则可能会导致中断冲突。最初,中断 7 是使用声卡的常见选择,但后来发现 中断 7 会干扰打印机端口(LPT1)时使用了中断5。该串行端口经常禁用可以用于其他设备的中断线。
中断 2/9 是 MPU-401 MIDI 端口的传统中断线,但这与ACPI系统控制中断(SCI 在 Intel 芯片组上硬连线到 中断9)冲突;
这意味着 ISAMPU-401带有硬连线中断2/9 的卡和带有硬编码 中断 2/9 的 MPU-401 设备驱动程序不能在启用 ACPI 的系统上以中断驱动模式使用。
以上内容参考网络-中断
‘拾’ 51单片机我做了一个定时器中断,1-999计数,但是滚动到256就归零重新滚动了怎么回事
定时器中断,1-999计数,但是滚动到256就归零重新滚动,出现这一现象,情况很明显,是你计数器变量数据类型错了,你可能申明成了无符号字符型数据,应该申明为无符号整型变量或者干脆整型变量,就应该没有问题 了。所以你仅仅修改一下这个计数变量的数据类型,就可以了。其他都不用修改。