给大家分享一个设计,这是我上周做的中断嵌套设计实验,
程序经过多次更改,终于可以仿真。
通过中断优先级设置来控制流水灯的亮灭
附件里面包含proteus电路图,hex文件以及源码c 文件。
都是自己原创的,望大神们多加指教。
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载):
电路图
单片机源程序:
- #include <reg51.h>
- unsigned char code table[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
- void delay(unsigned char delay_time)
- {
- unsigned char i,j;
- for(i=0;i<=delay_time;i++)
- {
- for(j=0;j<=200;j++);
- }
- }
- void init_tx()
- {
- EA=1;
- EX0=1;
- IP=0x00;
- }
- void main()
- {
- unsigned char i;
- init_tx();
- while(1)
- {
- for(i=0;i<8;i++)
- {
- P1=~table[i];
- delay(200);
- }
- }
- }
- void tx0() interrupt 0
- {
- unsigned char i;
- P1=0x00;
- delay(200);
- for(i=0;i<=7;i++)
- {
- P1=~P1;
- delay(200);
- }
- }
复制代码
全部资料51hei下载地址:
中断嵌套实验.rar
(15.02 KB, 下载次数: 30)
|