专栏中心

EEPW首页 > 专栏 > 我的第一个Proteus仿真

我的第一个Proteus仿真

发布人:0750long 时间:2009-07-09 来源:工程师 发布文章

我的第一个Proteus仿真

点击看大图

#include<reg51.h>
#include<stdio.h>
#define uchar unsigned char;
unsigned int m="0";
 unsigned int n="0";
sbit p10=P1^0;
sbit p27=P2^6;
sbit p28=P2^7;

void delay();
unsigned char    data     LED[]={0xc0,0xF9,0xA4,0xB0,0x99,//0-4
                                0x92,0x82,0xF8,0x80,0x90,//5-9
        0x88,0x83,0xC6,0xA1,0x86,//A,b,C,d,E
                                0x8E,0x8C,0x89};//F,G,H,.,-}    //定义p00为p0.0口
main()       //演示程序
{ TMOD=0x20;     //设置定时器0工作方式2
 TH1=0x00;     //给TH0赋初值
 TL1=0x00;      //给TL0赋初值
 ET1=1;      //定时器0中断允许
 EA=1;      //CPU开中断
 TF1=0;      //计数器0溢出标志置零
 TR1=1;
 p27=0x00;
    p28=0x00;                     //启动计数器0
 while(1){
 
 }
}
void Timer0( ) interrupt 3 using 0  //定时器0溢出中断函数
{  unsigned int x="10";
 m++;
if (m>9){
m=0;
n++;
if(n>16){
n=0;} }
while(x--) {
p27=~p27; 
P0=LED[n];
delay();
p27=~p27; 
p28=~p28;
P0=LED[m];
delay();
p28=~p28;

 }
delay();
TF1=0;
TH1=0x38;     //给TH0赋初值
TL1=0x38;      //取反,产生方波
}
 
 void delay(void)//稍微延时
{unsigned int i,j;
 for(i=0;i<100;i++)
  for(j=0;j<50;j++);
 }

专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们

关键词:

相关推荐

insmod的错误

benben 2004-07-08

从工业到生活:欧姆龙多场景数智低碳技术\"电\"亮2025慕尼黑上海电子展

美国制造:英伟达5000 亿美元的服务器赌注

关税大刀重塑芯片版图?BBC:特朗普盘算恐落空

EDA/PCB 2025-04-16

重塑芯片规则,国内RISC-V新突破

从楼层定位到水下探测:兆易创新MEMS气压传感器的无限可能

联发科技校园软件大赛——mabill

视频 2011-01-04

旅行eSIM崛起:移动运营商需把握的机遇与变革

国产EDA软件的发展之路

视频 2011-01-07

集成电路十二五规划思考

视频 2011-01-07

原子级芯片对准:激光全息图可为 3D 半导体覆盖精度设定新标准

二极管导通时间引发开关稳压器的故障

英特尔出售旗下 Altera芯片业务51%股份

半导体危险警讯? ASML订单惨崩近半

EDA/PCB 2025-04-16

中国集成电路设计业发展面临的形式与机遇

视频 2011-01-07
更多 培训课堂
更多 焦点
更多 视频

技术专区