网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
08月15日漏签0天
单片机吧 关注:212,069贴子:1,047,617
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 首页 上一页 1 2 3 4 5 6 下一页 尾页
  • 129回复贴,共6页
  • ,跳到 页  
<<返回单片机吧
>0< 加载中...

回复:用单片机做个小霸王游戏机吧

  • 只看楼主
  • 收藏

  • 回复
  • 大可mcu
  • 少尉
    6
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
楼主厉害了


  • wawss2008
  • 新兵
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
厉害,


2025-08-15 22:24:13
广告
不感兴趣
开通SVIP免广告
  • gyt20121119
  • 列兵
    2
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
楼主东西链接失效了.
麻烦给我发一个吧,谢谢了!snksoft@126.com


  • gyt20121119
  • 列兵
    2
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
楼主东西链接失效了.
麻烦给我发一个吧,谢谢了!snksoft@126.com


  • 巛☆夏引灬
  • 中尉
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
楼主资料可以给我一份嘛!923801381@qq.com


  • 天王盖地虎
  • 新兵
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
楼主链接无效


  • guohaihang1220
  • 列兵
    2
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
求链接


  • 维也纳狮子
  • 少尉
    6
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
楼主,求份资料,850123348@qq.com 谢啦


2025-08-15 22:18:13
广告
不感兴趣
开通SVIP免广告
  • 再原地等一个人
  • 新兵
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
这个很厉害了。


  • 九都多平
  • 新兵
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
game boy 的CPU才 2MHz .玩起来顺畅的很。


  • nnd爹
  • 新兵
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
能帮我看看我这个程序么 谢谢
#include<reg52.h>
#include<intrins.h>
#define MAIN_Fosc 11059200UL //UL表示强制转换为unsigned long 型
#define PCF8951_ADDR 0x90
#define DACOUT_EN 0x40
typedef unsigned int INT16U;
typedef unsigned int uint;
typedef unsigned int uint16;
typedef unsigned int u16;
typedef unsigned char u8;
typedef unsigned char uchar;
typedef unsigned char uint8;
typedef unsigned char INT8U;
sbit we = P2^7;
sbit du = P2^6;
sbit SCL = P2^1;
sbit SDA = P2^0;
sbit led1 = P1^0;
sbit led2 = P1^7;
sbit beep = P2^3;
uchar ADC_value;
uchar code leddata[]={0x3F,0x06,0x5B,0x4F,
0x66,0x6D,0x7D,0x07,
0x7F,0x6F,0x77,0x7C,
0x39,0x5E,0x79,0x71,
0x76,0x38,0x37,0x3E,
0x73,0x5C,0x40,0x00};
/*5us延时*/
void delay_5us()
{
_nop_();
}
/*1ms延时*/
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=114;y>0;y--);
}
/*1ms延时*/
void delay_ms(INT16U MS)
{
INT16U i;
do{
i = MAIN_Fosc/96000; //12T 12个时钟周期等于1个机器周期
while(--i); //--i 先减再使用
}while(--MS);
} //do while先执行条件,while 先判断
/*自动适应晶振频率 5us延时*/
void Delay_5us()
{
#if MAIN_Fosc == 11059200 //预编译,提高程序效益
_nop_();
#elif MAIN_Fosc == 12000000
_nop_();
#elif MAIN_Fosc == 22118400
_nop_();
#endif
}
void I2C_init()
{
SCL = 1;
_nop_();
SDA = 1;
_nop_();
}
void I2C_start()
{
SCL = 1;
_nop_();
SDA = 1;
delay_5us();
SDA = 0;
delay_5us();
}
void I2C_stop()
{
SCL = 1;
_nop_();
SDA = 0;
delay_5us();
SDA = 1;
delay_5us();
}
bit Test_ACK()
{
SCL = 1;
_nop_();
if(SDA)
{
SCL = 0;
_nop_();
I2C_stop();
return(0);
}
else
{
SCL = 0;
_nop_();
return(1);
}
}
void Master_ACK(bit i)
{
SCL = 0;
_nop_();
if(i)
{
SDA = 0;
}
else
{
SDA = 1;
}
_nop_();
SCL = 1;
delay_5us();
SCL = 0;
delay_5us();
SDA = 1;
_nop_();
}
void I2C_send_byte(uchar byte)
{
uchar i;
SCL = 1;
_nop_();
for(i=0;i<8;i++)
{
SCL = 0;
_nop_();
if(byte&0x80)
{
SDA = 1;
}
else
{
SDA = 0;
}
SCL = 1;
_nop_();
byte<<=1;
}
SCL = 0;
_nop_();
SDA = 1;
_nop_();
}
uchar I2C_receive_byte()
{
uchar i,dat;
SCL = 0;
_nop_();
SDA = 1;
_nop_();
for(i=0;i<8;i++)
{
SCL = 1;
delay_5us();
if(SDA)
{
dat |= 0x01;
}
else
{
dat &= 0xfe;
}
_nop_();
SCL = 1;
_nop_();
if(i<7)
{
dat<<=1;
}
}
return(dat);
}
bit DAC_OUT(uchar DAT)
{
I2C_start();
I2C_send_byte(PCF8951_ADDR+0);//器件地址+0
if(!Test_ACK())
{
return(0);
}
I2C_send_byte(DACOUT_EN);//首地址
if(!Test_ACK())
{
return(0);
}
I2C_send_byte(DAT);
if(!Test_ACK())
{
return(0);
}
I2C_stop();
_nop_();
return(1);
}
bit ADC_read(uchar CON)
{
I2C_start();
I2C_send_byte(PCF8951_ADDR+0);//0写
if(!Test_ACK())
{
return(0);
}
I2C_send_byte(CON);
Master_ACK(0);
I2C_start();
I2C_send_byte(PCF8951_ADDR+1);//1读
if(!Test_ACK())
{
return(0);
}
ADC_value = I2C_receive_byte();
Master_ACK(0);
I2C_stop();
return(1);
}
void display(uchar i)
{
uchar bai,shi,ge;
bai = i/100;
shi = i%100/10;
ge = i%10;
P0 = 0xff;
we = 1;
P0 = 0xfe;
we = 0;
du = 1;
P0 = leddata[bai];
du = 0;
delay(5);
P0 = 0xff;
we = 1;
P0 = 0xfd;
we = 0;
du = 1;
P0 = leddata[shi];
du = 0;
delay(5);
P0 = 0xff;
we = 1;
P0 = 0xfb;
we = 0;
du = 1;
P0 = leddata[ge];
du = 0;
delay(5);
}
void main()
{
I2C_init();
while(1)
{
if(ADC_read(0x02))led1 = 0;else led1 = 1;
if(DAC_OUT(ADC_value))led2 = 0; else led2 = 1;
display(ADC_value);
if(ADC_value>150)beep = 0;else beep = 1;
delay(5);
}
}


  • 爸爸给你跪下
  • 中士
    4
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
给个原理图和源码呗 1668234102qq@.com


  • desanta
  • 上尉
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼


  • aqzhaopu
  • 中士
    4
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
实力派的人


2025-08-15 22:12:13
广告
不感兴趣
开通SVIP免广告
  • 山水间
  • 新兵
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
我想做一款游戏机➕上超鸡玛丽和三国、魂斗罗等游戏,加上3.5的屏,有没有有机会合作一把,我的微信是1592051515,加微信备注游戏谢谢


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 首页 上一页 1 2 3 4 5 6 下一页 尾页
  • 129回复贴,共6页
  • ,跳到 页  
<<返回单片机吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示