数字电路课程设计_数字电路课程设计题目哪个最简单

数字电子技术课程设计数字电子技术停车场车位计数电路的课程设计我能帮你做
数字电路课程设计的心得体会为什么没人?。慷荚诿Ρ究平逃拦廊チ?。
最核心的是时序逻辑电路的设计,要培养出良好的空间想象能力 。
高性能的数字信号处理芯片,不用标准单片机和标准嵌入系统 , 那速度慢 , 要缴纳知识产权许可费用,发达国家都是专门有针对性设计的时序逻辑电路的独立设计 。
例如上个世纪80年代的苹果牌个人计算机,就是用许多通用中小规模数字集成电路搭建的时序逻辑电路 , 国内以此仿照了中华学习机 。
现在的CPU设计复杂,时序逻辑电路都集成在芯片里面,集成度高,要靠高等院校的教材和实验课程 , 实在没法设计出低端的CPU 。
所以一般都是购买国外集成电路系统的构架,以此为基础设计,这就有知识产权的费用,到了流片的时候,人家要统计你的生产数量,要收费的 。
这就是基础教育关系的国家安全的一个例子 。
数字电路课程设计 乒乓球游戏机课程设计报告
课程设计名称乒乓球游戏机控制电路设计
专业
班级
姓名
指导教师
日期2009年12月26日
一.基本要求:
1.设计一个由甲、乙双方参赛 , 有裁判的3人乒乓球游戏机 。
2.用8个(或更多个)LED排成一条直线,以中点为界,两边各代表参赛双方的位置,其中一只点亮的LED指示球的当前位置,点亮的LED依此从左到右,或从右到左,其移动的速度应能调节 。调
3.当“球”(点亮的那只LED)运动到某方的最后一位时,参赛者应能果断地按下位于自己一方的按钮开关,即表示启动球拍击球 。若击中,则球向相反方向移动;若未击中,则对方得1分 。
4.一方得分时,电路自动响铃3 s,这期间发球无效,等铃声停止后方能继续比赛 。
5.设置自动记分电路,甲、乙双方各用2位数码管进行记分显示,每计满21分为1局 。
6.甲、乙双方各设一个发光二极管,表示拥有发球权,每隔5次自动交换发球
摘要:为了实现模拟乒乓球比赛的过程和规则,我们采用了AT89C51单片机来控制模拟,采用用8个(或更多个)LED排成一条直线,以中点为界,两边各代表参赛双方的位置,其中一只点亮的LED指示球的当前位置,用蜂鸣器来实现响铃,
比赛双方用按钮开关来模拟启动球拍击球,用数码管来显示比赛分数,
关键词:AT89C51 LED 蜂鸣器 。
二. 系统设计
2.1 总体设计
2.1.1 乒乓球比赛系统方框图
整个过程由AT89C51单片机控制 , 控制器产生控制信号来控制8个LED的开关,即可模拟LED依此从左到右,或从右到左,并可完成调节速度 。对分数的显示我们用LED,LED有发光亮度强的优点,能够满足我们的要求 。整体电路图如下图所示:
2.1.2 单片机总体设计
AT89C51单片机有价格低,抗干扰能力强的优点,所以完成能够满足我们的要求,我们用单片机的P0控制8个LED的开关 , 通过对P0口的控制就能控制LED,由于P0口内部没有上拉电阻,不能驱动LED,所以我们在外部添加了上拉电阻 。用P1口来控制数码管段显,用P2口的低四位控制数码管的位?。琍30、P31来控制开关,PP26、P27来显示发球权 。P25控制蜂鸣器,整体图如下图所示:
2.1.3 LED开关的设计
要求LED按左到右、或右到左的方向移动,我们只要把P0口的值变化即可 。依次对P0口给值0X01、0X02、0X04、0x08、0x10、0X20、0X40、0X80,即可实现方向的移动 。整体图如下所示:
2.1.4数码管设计
通过控制数码管的段,就可以控制数码管的数学的显示,我们采用了动态方式来控制数码,该方式是通过让数码管快速切换显示,人眼分辨不出来 , 不仅节约电能,而且还能够节约单片机的端口,从而减少程序的复杂性,如下图所示:
2.2程序设计
本系统的程序如下:
#include<reg51.h>
#include<absacc.h>
#define uchar unsigned char
#define uint unsigned int
#define DB P1
sbit SB1=P3^0;//按钮1
sbit SB2=P3^1;//按钮2
sbit deng1=P2^7;//指示灯1
sbit deng2=P2^6;//指示灯2
sbit Mic=P2^5;//蜂鸣器
uchar count=0;
uchar i,j,fengshu1,fengshu2;
bit stall,chose,ret,flag=0;
ucharledcode[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //0到9的段码
uchardengcode[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};//从左到右移动的代码
/**************延时x毫秒程序*****************/
void delay(uint x)
{uchar y;
while(x--)
for(y=0;y<125;y++);}
/**************灯移动程序******************/
voidyidong(uchar fang)
{for(i=0;i<8;i++)
{delay(1000);
if(fang==0)
{P0=dengcode[i];}
else P0=dengcode[8-i];
}
}
/********数码管显示程序****************/
voiddisplay(uchar a,uchar b)
{P2=P2&&0Xe1;
delay(50) ;
P1=ledcode[a/10];
P2=P2&&0Xe0;
P2=P2&&0Xe2;
delay(50) ;
P1=ledcode[a%10];
P2=P2&&0Xe0;
P2=P2&&0Xe4;
delay(50) ;
P1=ledcode[b/10];
P2=P2&&0Xe0;
P2=P2&&0Xe8;
delay(50) ;
P1=ledcode[b%10];
P2=P2&&0Xe0;
}
/****蜂鸣器响应程序***/
void mic()
{Mic=1;
delay(3000);//延时3秒
Mic=0;
}
void main()
{uchar shu=0;
TMOD=0X01;
TH0=0X00;
TL0=0X00;
TR0=1;
ET0=1;
P0=0;
fengshu1=0;fengshu2=0;
P2=0;
P1=0;
SB1=1;
SB2=1;
while(1)
{for(i=0;i<2;i++)
for(j=0;j<5;j++)
{yidong(i);
if(i==0)
{deng1=1;deng2=0;}
ifi==1)
{deng2=1;deng1=0;}
if(SB2==0&&P0=0X80)
{yidong(0); }
if(SB2==1&&P0=0X80)
{fengshu1++;
if(fengshu1==21)
{fengshu1=0;fengshu2=0;}
mic();}
if(SB1==0&&P0=0X01)
{yidong(1); }
if(SB1==1&&P0=0X01)
{fengshu2++;
if(fenshu2==21)
{fengshu1=0;fengshu2=0;}
mic();}
}
}
voiddisplay0() interrupt 1
{TH0=0;
TL0=0;
display(fengshu1,fengshu2);
}
数字电路课程设计,步进电机控制器【数字电路课程设计_数字电路课程设计题目哪个最简单】本设计采用ATMEL公司DIP-40封装的AT89S52单片机实现对四相步进电机的手动和遥控控制 。由单片机产生的脉冲信号经过脉冲分配后分解出对应的四相脉冲,分解出的四相脉冲经驱动电路功率放大后驱动步进电机的转动 。转速的调节和状态的改变由按键进行选择 。通过键盘扫描把选择的信息反馈给单片机,单片机根据反馈信息做出相应的判断并改变输出脉冲的频率或转动状态信号 。电机转动的不同状态由LED数码管显示 。红外信号的发射由另一块单片机和红外线LED完成 , 用红外万能接收头接收红外信号,可以实现对电机的控制进行红外遥控 。
关键字:四相步进电机 单片机 功率放大 红外遥控
目 录
前言 3
1.系统设计 3
1.1 功能介绍 3
1.2总体设计方案 3
1.2.1总体设计思路 3
1.2.2方案论证与比较 3
1.3电机的参数 7
1.4系统组成 7
2.单元电路设计 8
2.1功率放大驱动电路方案设计 8
2.2显示电路方案设计 9
2.3单片机电源电路设计 9
2.4红外发射电路设计 10
3.软件设计 10
3.1编程语言 10
3.2软件实现方法 10
3.2.1 双四拍正转 11
3.2.2 双四拍反转 11
3.2.3 单双八拍正转 11
3.2.4 单双B八拍反转 11
3.3 程序流程图 如下所示: 12
3.4 三相步进电机程序清单 16
4.结束语 16

数字逻辑课程设计我刚好有你要的,现成的,。拿去参考,是姐姐自己的
数字逻辑课程设计-12分钟倒计时计数器 。
扩展
那可以发过来么?