基于C51单片机和OLED12864显示屏实现的Google小恐龙游戏是一个有趣且富有教育意义的项目。 知识领域:嵌入式系统设计、微控制器编程、人机交互界面设计 技术关键词: C51单片机 OLED12864显示屏 微控制器编程 显示驱动 游戏逻辑实现 内容关键词: Google小恐龙游戏 电子游戏移植 交互式电子游戏 硬件接口编程 用途: 教育目的:帮助学生理解微控制器的工作原理以及如何通过编程实现复杂的功能。 技术展示:展示C51单片机和OLED显示屏的交互能力,以及如何将软件逻辑与硬件相结合。 娱乐与创新:提供一个交互式的游戏体验,同时鼓励用户探索和创新,例如通过修改游戏代码来增加新功能或改进现有功能。 推荐介绍: "探索嵌入式世界的乐趣,我们的项目将经典的Google小恐龙游戏移植到了C51单片机和OLED12864显示屏上。这不仅是一次技术挑战,也是对编程和硬件交互的深刻理解。通过这个项目,参与者将学习到如何使用C51单片机进行微控制器编程,掌握OLED12864显示屏的显示驱动技术,并实现复杂的游戏逻辑。无论是作为教育工具,还是技术
2025-11-14 14:26:36 19KB
1
单片机连接12864(st7920)液晶显示器和1个按键接INT0,模拟一个抽奖机。 液晶初始显示“祝你好运!”; 按一下按键,液晶显示“开始抽奖”,然后显示“3-2-1”倒计时后,产生20个(0-4之间的)随机数; 液晶屏幕根据随机数显示“特等奖”、“1等奖”、“2等奖”、“3等奖”、“谢谢参与";
2022-03-11 11:58:18 806KB 12864显示屏 中断
1
基于51单片机的LCD12864显示屏程序例程合集(12例),可以作为你的学习设计参考。
2022-02-15 14:04:38 1.54MB 51单片机 stm32 嵌入式硬件 单片机
LCD12864显示屏C51单片机驱动源码KEIL工程文件,可做为你的学习设计参考。 void main() { LCD12864_Reset(); //初始化液晶 LCD12864_HAIZI_SET(); //设置为普通模式 Delay_ms(100); LCD12864_NoWaitIdle_COM_Write(0x80); //设置指针 LCD12864_write_word("别人笑我太疯癫,"); //显示内容 LCD12864_NoWaitIdle_COM_Write(0x90); //设置指针 LCD12864_write_word("我笑他人看不穿。"); //显示内容 LCD12864_NoWaitIdle_COM_Write(0x88); //设置指针 LCD12864_write_word("不见五陵豪杰墓,"); //显示内容 LCD12864_NoWaitIdle_COM_Write(0x98); //设置指针 LCD12864_write_word("无花无酒锄作田。"); //显示内容 while(1) { } } //**************************************************** //MS延时函数(12M晶振下测试) //**************************************************** void Delay_ms(unsigned int n) { unsigned int i,j; for(i=0;i
基于msp430的俄罗斯方块程序,lcd12864显示屏 自写的程序,可以通过蓝牙模块实现按键操作。
2021-12-03 17:32:17 3.39MB msp430,lcd12864
1
OLED12864是通过IIC与单片机进行通信的,该代码是基于msp430f5529单片机,运用了单片机中的12位ADC,按键中断和IIC通信部分。 代码功能是:实现手动步进,和ADC检测当前电压最后结果在OLED12864上显示的功能。 程序调试通过,过程中遇到的问题及解决办法均在代码中有标注,以便技术的交流和提升。
2021-10-05 10:56:32 255KB OLED12864 IIC通信 msp430f5529 ADC检测
1
FPGA控制LCD12864显示屏显示图片实验Verilog逻辑源码Quartus11.0工程文件, FPGA型号为CYCLONE4E系列中的EP4CE6E22C8,可以做为你的学习设计参考。 ​ module LCD12864(clk,rst,lcd12864_rs,lcd12864_rw,lcd12864_en,lcd12864_data,psb); input clk; //系统时钟 input rst; //复位信号 output lcd12864_rs; //1:数据模式;0:指令模式 output lcd12864_rw; //1:读操作;0:写操作 output lcd12864_en; //使能信号,写操作时在下降沿将数据送出;读操作时保持高电平 output psb; output[7:0] lcd12864_data; //LCD数据总线 reg lcd12864_rs; reg lcd12864_en; reg[7:0] lcd12864_data; reg[3:0] state; //状态机 reg[3:0] next_state; reg[14:0] div_cnt; //分频计数器 reg[9:0] cnt; //写操作计数器 reg cnt_rst; //写操作计数器复位信号 wire[7:0] data; //要显示的数据 reg clk_div; //分频时钟 /********************状态机参数*********************/ parameter idle = 4'b0000, setbase_1 = 4'b0001, setmode_1 = 4'b0010, setcurs_1 = 4'b0111, setexte_1 = 4'b0100, setexte_2 = 4'b1100, wr_y_addr_1 = 4'b1101, wr_y_addr_2 = 4'b1111, wr_x_addr_1 = 4'b1110, wr_x_addr_2 = 4'b1010, wr_data_1 = 4'b1011, wr_data_2 = 4'b1001; assign lcd12864_rw = 1'b0; //对LCD始终为写操作 assign psb=1'b1; //开背光灯 /******************时钟分频**********************/ always @(posedge clk or negedge rst) begin if(!rst) div_cnt <= 15'd0; else if(div_cnt==15'h4000) begin div_cnt <= 15'd0; clk_div<=~clk_div; end else div_cnt <= div_cnt+ 1'b1; end /**************状态机转向*********/ always @(posedge clk_div or negedge rst) begin if(!rst) state <= idle; else state <= next_state; end /***************************************************************/
FPGA控制LCD12864显示屏显示4行字符实验Verilog逻辑源码Quartus11.0工程文件,, FPGA型号为CYCLONE4E系列中的EP4CE6E22C8,可以做为你的学习设计参考。 module lcd12864(clk,rs,rw,en,dat,psb); input clk; //系统时钟输入50M output [7:0] dat; //LCD的8位数据口 output rs,rw,en,psb; //LCD的控制脚 reg e; reg [7:0] dat; reg rs; reg [15:0] counter; reg [6:0] current,next; reg clkr; reg [1:0] cnt; ///////////////////////////////////////////// assign psb=1'b1; assign rw=0; always @(posedge clk) //da de shi zhong pinlv begin counter=counter+1; if(counter==16'h000f) clkr=~clkr; end //////////////////////////////////////////////// always @(posedge clkr) begin current=next; case(current) 7'd0: begin rs<=0; dat<=8'h31; next<=next+1'b1;end //*设置8位格式,* 7'd1: begin rs<=0; dat<=8'h0C; next<=next+1'b1;end //*整体显示,关光标,不闪烁*/ 7'd2: begin rs<=0; dat<=8'h06; next<=next+1'b1; end //*设定输入方式,增量不移位*/ 7'd3: begin rs<=0; dat<=8'h01; next<=next+1'b1; end //*清除显示*/ 7'd4: begin rs<=1; dat<=8'hB4; next<=next+1'b1; end //显示第一行 7'd5: begin rs<=1; dat<=8'hF3; next<=next+1'b1; end 7'd6: begin rs<=1; dat<=8'hCE; next<=next+1'b1; end 7'd7: begin rs<=1; dat<=8'hF7;next<=next+1'b1; end 7'd8: begin rs<=1; dat<=8'hB9; next<=next+1'b1; end 7'd9: begin rs<=1; dat<=8'hCF; next<=next+1'b1; end 7'd10: begin rs<=1; dat<="-"; next<=next+1'b1; end 7'd11: begin rs<=1; dat<="F";next<=next+1'b1; end 7'd12: begin rs<=1; dat<="P"; next<=next+1'b1; end 7'd13: begin rs<=1; dat<="G";next<=next+1'b1; end 7'd14: begin rs<=1; dat<="A"; next<=next+1'b1; end 7'd15: begin rs<=1; dat<="!"; next<=next+1'b1; end 7'd16: begin
2021-08-23 13:13:59 3.33MB
基于SHT31传感器: 传感器介绍:SHT-31是一款低成本环境温湿度检测模块。 工作电压 2.4-5.5v 功耗小,体积小,采用DFN封装工艺。 其工作原理,是通过单片机读取温度湿度数据,IIC通信方式输出。 特点:体积小,高性价比,IIC通信。 主要应用:远程遥测装置,通风和空调系统,温控器,恒湿器等。 显示器:产品上常用的LCD12864液晶显示屏:JLX12864G-086-PN 根据本资料可以设计制作出一个高精度的温湿度计,程序里面有算法补偿处理。另外本人将模块温湿度值与标准表对比,数值几乎一致,温度相差±0.1℃,相对湿度相差±0.2%RH,说明设计的精度还是很不错的。
2021-04-26 09:01:44 91KB SHT31 SHT3X 51单片机 电子设计
1
单片机控制OLED12864显示屏之模块化编程,实验效果请查看腾讯视频:https://v.qq.com/x/page/g3240xbfvbj.html 【备注】该程序由作者根据SSD1306的手册(datasheet)一字一句敲键盘所得,做了大量实验,花费时间精力,请尊重劳动成果,谢谢。
2021-04-19 09:04:14 32.47MB 单片机 OLED OLED12864 模块化编程