当前位置: 首页 > news >正文

ps做图 游戏下载网站有哪些内容九江市广安建设工程有限公司网站

ps做图 游戏下载网站有哪些内容,九江市广安建设工程有限公司网站,展厅展馆设计公司简介,wordpress 设成中文版目录 gitee链接 小程吃饭饭 (xiaocheng-has-a-meal) - Gitee.comhttps://gitee.com/xiaocheng-has-a-meal 1.图~突突突突突 矩阵键盘原理图 矩阵键盘的实物图 2.矩阵键盘 引入~啦啦啦啦啦 原理~沥沥沥沥沥 代码~嗷嗷嗷嗷嗷 【1】延时函数 【2】 LCD1602 【3】检测按…目录 gitee链接   小程吃饭饭 (xiaocheng-has-a-meal) - Gitee.comhttps://gitee.com/xiaocheng-has-a-meal 1.图~突突突突突 矩阵键盘原理图 矩阵键盘的实物图 2.矩阵键盘 引入~啦啦啦啦啦 原理~沥沥沥沥沥 代码~嗷嗷嗷嗷嗷 【1】延时函数 【2】 LCD1602 【3】检测按键函数Matrix  【4】主函数  3.是图像啦  4.你的阿锦啊  昨天没写博客在摆烂本来还想摆烂最近心情可不好好多东西缠在一起捆住了该走的和不该走的。好怀念过去啊~~ 1.图~突突突突突 矩阵键盘原理图 矩阵键盘的实物图 这是两个很好看的图 一个是矩阵键盘原理图一个是矩阵键盘下面开始将原理 2.矩阵键盘 引入~啦啦啦啦啦 小程看了矩阵按键后非常疑惑为什么键盘要这么搞直接都弄成按独立键键盘不香吗独立按键与单片机连接时每个按键都需要单片机的一个I/O口但是单片机的I/O口是有限的啊如果每个按键都要一个口的话假如我们需要多个按键来实现功能的话51单片机就32个I/O口怎么够用呢 所以为了节省单片机的I/O口我们引入矩阵键盘 原理~沥沥沥沥沥 下面我们来看矩阵键盘的工作原理其实无论是矩阵键盘还是独立键盘我们都是通过检测与键盘对应的I/O口是否为低电平。但是我们知道独立按键是有一端是接地的但是矩阵键盘两边都接在I/O口上因此检测时需要人为通过单片机I/O口输出低电平。检测时可以通过让一行为确定一列检测一行按键。先送一行为低电平然后迅速轮流扫描一次各行是否变为低电平这样我们既确定了列线又确定了行线就确定了这个按键。当然在我们搞这个的时候也不能忘记按键消抖。 当然检测这个有多个方式这里我们可以采取逐行或者逐列来进行检测。   代码~嗷嗷嗷嗷嗷 可以去我的gitee直接获得全套纯开源 https://gitee.com/xiaocheng-has-a-meal/return-to-its-original-form 【1】延时函数 //头文件 #ifndef ___H__ #define ___H__ void Delay( int x);#endif#includeINTRINS.H//延时1ms void Delay( int x) //11.0592MHz {unsigned char data i, j;while(x){_nop_();i 2;j 199;do{while (--j);} while (--i);x--;} } 【2】 LCD1602 #ifndef __LCD1602_H__ #define __LCD1602_H__//用户调用函数 void LCD_Init(); void LCD_ShowChar(unsigned char Line,unsigned char Column,char Char); void LCD_ShowString(unsigned char Line,unsigned char Column,char *String); void LCD_ShowNum(unsigned char Line,unsigned char Column,unsigned int Number,unsigned char Length); void LCD_ShowSignedNum(unsigned char Line,unsigned char Column,int Number,unsigned char Length); void LCD_ShowHexNum(unsigned char Line,unsigned char Column,unsigned int Number,unsigned char Length); void LCD_ShowBinNum(unsigned char Line,unsigned char Column,unsigned int Number,unsigned char Length);#endif#include REGX52.H//引脚配置 sbit LCD_RSP2^6; sbit LCD_RWP2^5; sbit LCD_ENP2^7; #define LCD_DataPort P0//函数定义 /*** brief LCD1602延时函数12MHz调用可延时1ms* param 无* retval 无*/ void LCD_Delay()//11.0592MHz的延时1ms的延时函数 {unsigned char data i, j;i 2;j 199;do{while (--j);} while (--i); }/*** brief LCD1602写命令* param Command 要写入的命令* retval 无*/ void LCD_WriteCommand(unsigned char Command) {LCD_RS0;LCD_RW0;LCD_DataPortCommand;LCD_EN1;LCD_Delay();LCD_EN0;LCD_Delay(); }/*** brief LCD1602写数据* param Data 要写入的数据* retval 无*/ void LCD_WriteData(unsigned char Data) {LCD_RS1;LCD_RW0;LCD_DataPortData;LCD_EN1;LCD_Delay();LCD_EN0;LCD_Delay(); }/*** brief LCD1602设置光标位置* param Line 行位置范围1~2* param Column 列位置范围1~16* retval 无*/ void LCD_SetCursor(unsigned char Line,unsigned char Column) {if(Line1){LCD_WriteCommand(0x80|(Column-1));}else if(Line2){LCD_WriteCommand(0x80|(Column-10x40));} }/*** brief LCD1602初始化函数* param 无* retval 无*/ void LCD_Init() {LCD_WriteCommand(0x38);//八位数据接口两行显示5*7点阵LCD_WriteCommand(0x0c);//显示开光标关闪烁关LCD_WriteCommand(0x06);//数据读写操作后光标自动加一画面不动LCD_WriteCommand(0x01);//光标复位清屏 }/*** brief 在LCD1602指定位置上显示一个字符* param Line 行位置范围1~2* param Column 列位置范围1~16* param Char 要显示的字符* retval 无*/ void LCD_ShowChar(unsigned char Line,unsigned char Column,char Char) {LCD_SetCursor(Line,Column);LCD_WriteData(Char); }/*** brief 在LCD1602指定位置开始显示所给字符串* param Line 起始行位置范围1~2* param Column 起始列位置范围1~16* param String 要显示的字符串* retval 无*/ void LCD_ShowString(unsigned char Line,unsigned char Column,char *String) {unsigned char i;LCD_SetCursor(Line,Column);for(i0;String[i]!\0;i){LCD_WriteData(String[i]);} }/*** brief 返回值X的Y次方*/ int LCD_Pow(int X,int Y) {unsigned char i;int Result1;for(i0;iY;i){Result*X;}return Result; }/*** brief 在LCD1602指定位置开始显示所给数字* param Line 起始行位置范围1~2* param Column 起始列位置范围1~16* param Number 要显示的数字范围0~65535* param Length 要显示数字的长度范围1~5* retval 无*/ void LCD_ShowNum(unsigned char Line,unsigned char Column,unsigned int Number,unsigned char Length) {unsigned char i;LCD_SetCursor(Line,Column);for(iLength;i0;i--){LCD_WriteData(Number/LCD_Pow(10,i-1)%100);} }/*** brief 在LCD1602指定位置开始以有符号十进制显示所给数字* param Line 起始行位置范围1~2* param Column 起始列位置范围1~16* param Number 要显示的数字范围-32768~32767* param Length 要显示数字的长度范围1~5* retval 无*/ void LCD_ShowSignedNum(unsigned char Line,unsigned char Column,int Number,unsigned char Length) {unsigned char i;unsigned int Number1;LCD_SetCursor(Line,Column);if(Number0){LCD_WriteData();Number1Number;}else{LCD_WriteData(-);Number1-Number;}for(iLength;i0;i--){LCD_WriteData(Number1/LCD_Pow(10,i-1)%100);} }/*** brief 在LCD1602指定位置开始以十六进制显示所给数字* param Line 起始行位置范围1~2* param Column 起始列位置范围1~16* param Number 要显示的数字范围0~0xFFFF* param Length 要显示数字的长度范围1~4* retval 无*/ void LCD_ShowHexNum(unsigned char Line,unsigned char Column,unsigned int Number,unsigned char Length) {unsigned char i,SingleNumber;LCD_SetCursor(Line,Column);for(iLength;i0;i--){SingleNumberNumber/LCD_Pow(16,i-1)%16;if(SingleNumber10){LCD_WriteData(SingleNumber0);}else{LCD_WriteData(SingleNumber-10A);}} }/*** brief 在LCD1602指定位置开始以二进制显示所给数字* param Line 起始行位置范围1~2* param Column 起始列位置范围1~16* param Number 要显示的数字范围0~1111 1111 1111 1111* param Length 要显示数字的长度范围1~16* retval 无*/ void LCD_ShowBinNum(unsigned char Line,unsigned char Column,unsigned int Number,unsigned char Length) {unsigned char i;LCD_SetCursor(Line,Column);for(iLength;i0;i--){LCD_WriteData(Number/LCD_Pow(2,i-1)%20);} }【3】检测按键函数Matrix  #ifndef __Matrix_H__ #define __Matrix_H__unsigned char matrix();#endif #include REGX52.H #include Delay.H unsigned char matrix() {unsigned char Keynumber 0;/*P1_7那行输入低电平检测*/P1 0xFF;P1_7 0;if(P1_3 0){Delay(20);while(P1_3 0);Delay(20);Keynumber 1;}if(P1_2 0){Delay(20);while(P1_2 0);Delay(20);Keynumber 2;}if(P1_1 0){Delay(20);while(P1_1 0);Delay(20);Keynumber 3;}if(P1_0 0){Delay(20);while(P1_0 0);Delay(20);Keynumber 4;}/*P1_6那行输入低电平检测*/P1 0xFF;P1_6 0;if(P1_3 0){Delay(20);while(P1_3 0);Delay(20);Keynumber 5;}if(P1_2 0){Delay(20);while(P1_2 0);Delay(20);Keynumber 6;}if(P1_1 0){Delay(20);while(P1_1 0);Delay(20);Keynumber 7;}if(P1_0 0){Delay(20);while(P1_0 0);Delay(20);Keynumber 8;}/*P1_5那行输入低电平检测*/P1 0xFF;P1_5 0;if(P1_3 0){Delay(20);while(P1_3 0);Delay(20);Keynumber 9;}if(P1_2 0){Delay(20);while(P1_2 0);Delay(20);Keynumber 10;}if(P1_1 0){Delay(20);while(P1_1 0);Delay(20);Keynumber 11;}if(P1_0 0){Delay(20);while(P1_0 0);Delay(20);Keynumber 12;}/*P1_4那行输入低电平检测*/P1 0xFF;P1_4 0;if(P1_3 0){Delay(20);while(P1_3 0);Delay(20);Keynumber 13;}if(P1_2 0){Delay(20);while(P1_2 0);Delay(20);Keynumber 14;}if(P1_1 0){Delay(20);while(P1_1 0);Delay(20);Keynumber 15;}if(P1_0 0){Delay(20);while(P1_0 0);Delay(20);Keynumber 16;}return Keynumber;} 【4】主函数  #include REGX52.H #include Delay.H #include LCD1602.H #include Matrix.H unsigned char KeyNumber 0;void main() {LCD_Init();while(1){KeyNumber Matrix();if(KeyNumber){LCD_ShowNum(1,1,KeyNumber,2);}} } 以上便是这个工程所有的代码  3.是图像啦  我按下了按键05单片机显示图像如下 嘎嘎准这里我就提供一种方法啦  4.你的阿锦啊  面对苦难人们往往会被打倒但如果你坚持下去苦难最终会给你带来回报。这种回报不一定是物质的更多的是精神的。它会使你更加坚强更加成熟。
http://www.hkea.cn/news/14389705/

相关文章:

  • 手机网站建设的公司排名未成年人思想道德建设网站
  • 德州建设网站有有个性的个人网站
  • 做的最成功的个人网站深圳免费网站制作哪个好
  • 鹤岗做网站做房产网站需要多少钱
  • 做网站一般需要哪些文件夹云南网站排名
  • 比较好的微网站开发平台微信登录wordpress免费
  • 相亲网站上做it的骗术物联网官网入口
  • 沈阳电力建设总公司网站自媒体135网站
  • 莱芜网站设计公司网站开发进度确认单
  • 做景观设施的网站wordpress term group
  • 网站建设使用的技术wordpress商城插件主题
  • 做服务网站发展背景网站建设被骗维护费
  • 无锡网站建设方案托管淄博周村学校网站建设公司
  • 学习建网站玩网站建设学习人人建站
  • 怎么在网站做浮动图标内蒙古呼和浩特网站建设
  • 做公司网站要什么资料网站建设简讯
  • 自学做网站的911制作网站
  • 遂宁北京网站建设大连甘井子区小学排名一览表
  • 腾讯云建网站translate wordpress
  • 搭建一个个人网站网易邮箱注册
  • 网站的根目录中一般网站的后台怎么做的
  • 做公司网站的公wordpress网页的源代码在哪里
  • 北京的网站开发公司单页网站seo怎么做
  • 网站优化案例分析网站如何做微信支付
  • 延边州网站建设seo培训班
  • 成都网站设计最加科技无法解析服务器域名
  • 沧州响应式网站开发兰州网站建设网站建设
  • 上海网站建设 数字展厅抽奖网站插件
  • 二级区域网站名成立公司的流程和要求及费用
  • 网站备案被退回宠物医疗设计素材网站