单片机 交通电路 的一段程序,,请大侠帮我分析一下,分析的越详细越好,因为明天我要答辩了!!!!!

作者&投稿:播侍 (若有异议请与网页底部的电邮联系)
明天毕业答辩,谁能帮我看看我的单片机程序部分应该怎么讲解,越详细越好喔,帮我分析分析我的程序~~~

接上:下面是主程序。。。
主程序
main()
{
unsigned int x,y; //定义液晶屏坐标
unsigned long j; //执行循环需要的临时变量
unsigned int i;
unsigned long AddTemp=331264;//SD卡地址第一个数据物理地址初始值
CS=1;
delayms(5);
RES=0;
delayms(5);
RES=1;
delayms(5);
ILI9325_Initial(); //液晶屏初始化
SdInit(); //SD卡初始化
while(1)
{
for(j=0;j<300;j++) //300表示一幅图片含有300x512字节的信息
{
SdReadBlock(DATA,AddTemp+(j*512),512); //每次读出512字节放到缓冲区
for(i=0;i<256;i++) //然后写到液晶屏,可以显示256个像素,每个像素16位即2个字节
{
LCD_SetPos(x,x,y,y);
Write_Data(DATA[2*i+1],DATA[2*i]);
x++;
if(x==240) //检测是否写到屏的边缘 240x320
{
y++;
x=0;
if(y==320)
y=0;
}
}
}
while(1)
{
if(KEY==0)
{
delay(5);

if(KEY==0)
{
AddTemp = AddTemp+((j+20)*512); //写完一幅图片后把SD地址加300x512到下一个图片地址
for(j=0;j<300;j++) //300表示一幅图片含有300x512字节的信息
{
SdReadBlock(DATA,AddTemp+(j*512),512); //每次读出512字节放到缓冲区
for(i=0;i<256;i++) //然后写到液晶屏,可以显示256个像素,每个像素16位即2个字节
{
LCD_SetPos(x,x,y,y);
Write_Data(DATA[2*i+1],DATA[2*i]);
x++;
if(x==240) //检测是否写到屏的边缘 240x320
{
y++;
x=0;
if(y==320)
y=0;
}
}
}
}
}
if(KEY1==0) //等待按键按下继续执行循环显示下一幅图片,如果没有按下则等待
{
delay(5);

if(KEY1==0)
{
AddTemp = AddTemp-((j+20)*512); //写完一幅图片后把SD地址加300x512到下一个图片地址
for(j=0;j<300;j++) //300表示一幅图片含有300x512字节的信息
{
SdReadBlock(DATA,AddTemp+(j*512),512); //每次读出512字节放到缓冲区
for(i=0;i<256;i++) //然后写到液晶屏,可以显示256个像素,每个像素16位即2个字节
{
LCD_SetPos(x,x,y,y);
Write_Data(DATA[2*i+1],DATA[2*i]);
x++;
if(x==240) //检测是否写到屏的边缘 240x320
{
y++;
x=0;
if(y==320)
y=0;
}
}
}
}
}
}
}
}

交通灯我做过,这方面资料我有,有邮箱发给你,这个很好做的

ORG 0000H
LJMP MAIN;初始化,开头,复位的位置
ORG 0030H ;主程序开始
MAIN:MOV A,#3FH
LP1:MOV R1,#2  ;标志位
LP2:MOV P0,A   ;两个黄灯灯亮
LCALL DELAY
MOV P0,#0FFH   ;关两个黄灯
LCALL DELAY
DJNZ R1,LP2
RR A ;每次循环亮不同的灯        ;
MOV P0,#0FFH
MOV A,#3FH
LP3:MOV R4,#2
LP4:MOV P2,A
LCALL DELAY
MOV P2,#0FFH
LCALL DELAY
DJNZ R4,LP4
RR A;
CJNE A,#3FH,LP3   ;同上,亮灯的次序变一下

ORG 0100H
DELAY:MOV R3,#100 ;延时函数
MOV TMOD,#00H ;时钟模式0
MOV TH0,#0B1H
MOV TL0,#1CH ;些时间常数
SETB TR0 ;打开时钟
L1:JBC TF0,L2 ;等待一次计时结束
SJMP L1
L2:MOV TH0,#0B1H;重复再计时一次
MOV TL0,#1CH
DJNZ R3,L1
RET ;延时结束
END


深泽县17145531272: 求一段51单片机交通灯程序:1.东西红南北绿时间15s 2.东西黄灯闪烁5s 以上2段+上延时与计时器 -
贺司西洋: RED_NS EQU P1.0 GREEN_NS EQU P1.1 YELLOW_NS EQU P1.2 RED_EW EQU P1.3 GREEN_EW EQU P1.4 YELLOW_EW EQU P1.5 FLASH_NS BIT 00H FLASH_EW BIT 01H TIME EQU 30H TICK EQU 31H;--------------------------------- ORG ...

深泽县17145531272: 求高手帮忙写一个汇编语言的简易交通灯程序 -
贺司西洋: 最简单的单片机交通信号灯单片机要求使用 AT89C51,信号灯连接电路如下:东西:绿灯P0.0 黄灯P0.1 红灯P0.2南北:绿灯P0.5 黄灯P0.6 红灯P0.7运行步骤:开始↓东西 南北 都是红灯↓步骤(1)南北绿灯亮15s,东西红灯亮15s.南北黄灯亮...

深泽县17145531272: 求单片机汇编交通灯程序??
贺司西洋: 单片机交通灯控制器的设计程序单片机交通灯控制器的设计一. 设计任务在一十字路口设置交通灯,并用单片机对其进行合理的控制.时间 方向 控制要求白天 东西 绿灯 ...

深泽县17145531272: 单片机实验,交通灯程序如下,希望帮忙解答一下,如果老师问,具体该怎样回答为什么这样编程,谢谢 -
贺司西洋: 程序很简单啊,就是定时,然后输出控制信号,估计是控制数码管显示吧,至于s[]数组里面的数的含义只有看到电路才能明白.定时器中断里面就干了一件事情,定时时间到了就改变显示内容.

深泽县17145531272: 求单片机交通灯控制程序设计 -
贺司西洋: 设计一个十字路口的交通灯控制电路要求,甲车道和乙车道两条交叉道路上的车辆;调用显示程序 DEC R3 ;将剩余时间自减1 LJMP C3 C4:MOV A,R3 ;

深泽县17145531272: 求设计一个十字路口的交通灯控制电路的程序 -
贺司西洋: ORG 0000HLJMP A1A1:A2:MOV P0,#0FFHMOV 32H,#01HMOV 33H,#00HMOV R3,#10MOV P1,#0F6HA3:MOV 2AH,P1MOV 2BH,R3LCALL DELMOV R3,2BHDEC R3LJMP A4A5:MOV A,R3MOV B,#0AHDIV ABMOV 32H,...

深泽县17145531272: 用51单片机制作红绿灯,要求按键能控制整个电路的启动和停止,用汇编语言怎么编写程序? -
贺司西洋: 有2种方法:1.用继电器控制,2.把板子的地接在单片机的某一个I/O口上.只要对某个I/O口操作就行了,相信你会吧

深泽县17145531272: 交通灯程序 - 单片机实现交通灯程序,急求!!!交通灯亮灯的顺序和时间可列表如下
贺司西洋: DATASEGMENTIOPORTEQUxxxx(口地址)-280hIO8255CEQUIOPORT+28AHIO8255KEQUIOPORT+28BHRIGHTEQUDB24H,44H,04H,44H,04H,44H,04HDB81H,82H,...

深泽县17145531272: 急求一交通灯程序和电路图 要求如下 -
贺司西洋: 程序可参考http://zhidao.baidu.com/question/196571447.html,要把程序中NBG和DXG改成20,H改成5电路图的话:P0口接数码管七个段码引脚,P2口接段码选通位, K0接P3.5,K1接P3.6, K4接P3.7,K3接P3.2,K2接P3.3. 最小系统其实就是复位电路和晶振起振电路,外加电源. 另外51单片机输出口要加上拉电阻.

深泽县17145531272: 用51单片机做交通信号灯 -
贺司西洋: 有以下可能的原因:1、51单片机高电平驱动能力较小,建议低电平点亮,也就是说二极管接正.2、启动电路(第9脚)有没有接到一个阻容电路上?99脚悬空,程序可能乱跑的.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网