求一个简单的89c51单片机课程设计 什么设计都得不用太复杂...急急急急

一、 题目
二、 目的与要求
三、 内容与步骤(设计思想)
四、 代码(详细的注释)
五、 课程设计实践总结
六、 课程学习总结
要有以上6点我就给好评

/* 程序详细功能介绍:
* 监视按键K5(接在P3.3端口上),用发光二极管L0(接在单片机P0.0端口上)显示开关状态,
* 如果按住按键,则L1亮;松开按键,则L1熄灭。
* 开关状态的检测过程
* 单片机对开关状态的检测相对于单片机来说,是从单片机的P3.3端口输入信号,
* 而输入的信号只有高电平和低电平两种,当松开按键 K5 ,即输入端口悬空为高电平
* 当按住按键 K5 ,按键被接到地,即输入低电平
* 单片机可以采用JB BIT,REL或者是JNB BIT,REL指令来完成对开关状态的检测即可。
*/

#include <AT89X51.H>
sbit K1=P3^3;
sbit L1=P0^0;
void main(void)
{
while(1)
{
if(K1==0) // 如果K1=0,则灯亮
{
L1=0; //灯亮
}
else // K=1,则灯灭
{
L1=1; //灯灭
}
}
}追问

你这个一也太简单了吧

追答

/* 程序详细功能介绍:
*利用取表的方法,使端口P1做单一灯的变化:左移2次,右移2次,闪烁2次(延时的时间0.2秒)。
*在用表格进行程序设计的时候,要用以下的指令来完成
*(1).利用MOV DPTR,#DATA16的指令来使数据指针寄存器指到表的开头。
*(2).利用MOVC A,@A+DPTR的指令,根据累加器的值再加上DPTR的值,就可以使程序计数器PC指到表格内所要取出的数据。
*因此,只要把控制码建成一个表,而利用MOVC 工,@A+DPTR做取码的操作,
*就可方便地处理一些复杂的控制动作.
*/

#include
unsigned char code table[]={0xfe,0xfd,0xfb,0xf7,
0xef,0xdf,0xbf,0x7f,
0xfe,0xfd,0xfb,0xf7,
0xef,0xdf,0xbf,0x7f,
0x7f,0xbf,0xdf,0xef,
0xf7,0xfb,0xfd,0xfe,
0x7f,0xbf,0xdf,0xef,
0xf7,0xfb,0xfd,0xfe,
0x00,0xff,0x00,0xff,
0x01};
unsigned char i;

void delay(void)
{
unsigned char m,n,s;
for(m=20;m>0;m--)
for(n=20;n>0;n--)
for(s=248;s>0;s--);
}

void main(void)
{
while(1)
{
if(table[i]!=0x01)
{
P0=table[i];
i++;
delay();
}
else
{
i=0;
}
}
}

温馨提示:内容为网友见解,仅供参考
第1个回答  2012-06-10
网上相关的很多的。如果需要设计可以留言,给你提供一些。我建议,如果自己能做,可以练习一下,对自己也是个锻炼追问

关键是我没时间做..

单片机89c51的电子时钟课程设计
define uint unsigned int define LCD1602_FLAG define LCD1602_PORT P0 sbit lcd1602_rs=P2^0;sbit lcd1602_e=P2^2;sbit lcd1602_rw=P2^1;sbit lcd1602_busy=P0^7;sbit key_ch=P3^5;sbit key_add=P3^6;sbit key_minus=P3^7;uchar i,sec,min,h,date,month,flag;uint year;uchar *chgs...

跪求单片机89C51控制交通灯的课程设计
本实验设计主要是利用AT89C52芯片、发光二极管等一些电路元件设计一个简单的在不同的时间控制不同的灯亮还有周期循环的流水灯电路。并利用说学的知识完成程序设计、画出原理图及接线图,通过主装、调试电路、自行排除故障,最终实现流水等功能。课程设计强调以能力培养为主,在独立完成设计制作任务的同时注意...

编程加实践(单片机):求利用89C51 CPU编写红绿灯程序
回答:^_^,安装一个KEILC程序,它的安装目录下面有一个交通灯的完整例子 ^_^

求个89c51单片机 汇编语言设计的LED跑马灯的程序
ajmp loop ; 跳转main继续循环 delay: mov r5,#20 ;延时子程序1闪烁灯调用 d1:mov r6,#20 d2: mov r7,#250 djnz r7,djnz r6,d2 djnz r5,d1(时间此处可自行设置)

利用89C51单片机设计多功能低频函数信号发生器,能产生方波、正弦波...
第二种方案:用单片机控制DDS芯片啊,比如用单片机控制AD9834,可以产生正弦波、方波、三角波,频率的调节就更简单了。幅度的调节也可以用双DA来实现,也可以先用电阻衰减再用运放放大,这样幅度就可以连续可调了。电路图和程序你确定了方案就可以很容易搞定了,实在不行再联系我吧 ...

用89C51单片机设计多功能低频函数信号发生器,能产生方波、正弦波、三角...
本次课程设计使用的AT89S51 单片机构成的发生器可产生锯齿波、三角波、正弦波等多种波形,波形的周期可以用程序改变,并可根据需要选择单极性输出或双极性输出,具有线路简单、结构紧凑等优点。在本设计的基础上,加上按钮控制和LED显示器,则可通过按钮设定所需要的波形频率,并在LED上显示频率、幅值电压,波形可用示波器显示...

急求一个由89C51单片机的代码!要求用4*4矩阵键盘控制LED矩阵输出0~9的...
\/\/扫描法:逐行扫描查询 一般用在按键比较少的场合 int keyscan(){ unsigned char k k_temp;P1=0xf0; \/\/低位置0,准备查询按键 k=P1; \/\/取得当前P1口状态 if(k!=0xf0) \/\/如果有变化则表示有按键按下 { delay(10); \/\/延迟 消抖 k_temp=p1;if(k==k_temp) \/\/确实...

89c51单片机课程设计,为什么仿真成功了,在开发板上不能运行
主要的几个地方,各IO口的地址定义准确没有,各地址的定义正确没有,外RAM区(没有就算)定义,...主要的就是各种仿真中的地址和你开发板上的是否相符,这是最容易出总裁题的地,再就是连线.多查一下去,如你程序大多个文件的,连接时的操作正确否.主要检查硬件是否和你程序中相符....

89C51单片机 4*4矩阵键盘加流水灯问题,求个汇编程序代码。
;其实很简单,都不用判断键值,有键按下暂停2S程序如下:ORG 0000H LJMP STA ORG 000BH LJMP T0ISR ORG 0030H STA:MOV TMOD,#01H MOV TH0,#3CH MOV TL0,#0B0H SETB ET0 SETB EA MOV 30,#0FEH MOV R2,#0 CLR 00H LOOP:MOV P1,#0F0H MOV A,P1 CJNE A,#0F0H,LOOP1 SJMP LOOP...

本人菜鸟,做课程设计,要求89C51单片机实现4位7段数码管动态和静态显示...
按键静态显示不同数字,即按1键显示1 动态显示:数字移动显示 \/ include<reg52.h> define uint unsigned int define uchar unsigned char sbit Dp=P0^6;sbit d1=P2^4;sbit d2=P2^5;sbit d3=P2^6;sbit d4=P2^7;uchar code table[]= {0x28,0xeb,0x32,0xa2,0xe1,0xa4,0x24,0xea...

相似回答