基于单片机俄罗斯方块仿真设计-学习笔记
Proteus简介
Proteus软件是英国Lab Center Electronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是比较好的仿真单片机及外围器件的工具。虽然国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。
Proteus是英国著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DSPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil和MATLAB等多种编译器。


#include <REGX52.H> #include"pic.c" #include <intrins.h> #define LCD_DATA P2 #define button_delay 150 //按键延时 #define button_acceleration 65 //按键加速度阈值 #define GAME_LOCATION 30 sbit button_a = P3^4; //变形 sbit button_b = P3^5; //开始 sbit up = P3^2; //暂停开始 sbit down = P3^0; sbit left = P3^1; sbit right = P3^3; sbit speaker=P3^6; sbit LCD_RS=P1^0; sbit LCD_RW=P1^1; sbit LCD_E=P1^2; sbit LCD_CS2=P1^4; //右屏选择(左右屏有时候相反) sbit LCD_CS1=P1^3; //左屏选择 sbit LCD_RST=P3^7; unsigned int up_reg=button_delay; //按键up累加器 unsigned int down_reg=button_delay; //按键down累加器 unsigned int left_reg=button_delay; //按键left累加器 unsigned int right_reg=button_delay; //按键right累加器 unsigned int button_a_reg=button_delay; //按键button_a累加器 unsigned int button_b_reg=button_delay; //按键button_b累加器 unsigned int right_acceleration=0; //按键right加速度寄存器 unsigned int left_acceleration=0; //按键left加速度寄存器 unsigned int idata Box_Ram[19];//定义游戏点阵缓存10*16 unsigned char box_down_reg;//定义方块下落累加寄存器 unsigned char time0_reg;//定义定时器0累加寄存器 unsigned char next_mode;//定义下一个方块的类型 unsigned char next_shape;//定义下一个方块的形状 unsigned int destroy_row_num=0;//定义所消的行数 unsigned char speed_num=0;//定义游戏速度等级 unsigned char level_num;//定义游戏难度等级 bit game_over_flag;//游戏结束标志位置0表示游戏未结束 bit pause_game_flag;//游戏暂停标志位置0表示游戏未暂停

浙公网安备 33010602011771号