公司做网站一般多少钱运营开发一个网站需要哪些技术

diannao/2026/1/20 5:39:34/文章来源:
公司做网站一般多少钱运营,开发一个网站需要哪些技术,嘉兴网站seo,wordpress底部加友链目录 LCD1602.c 模拟写指令的时序 模拟写数据的时序 初始化 显示字符 显示字符串 显示数字 显示有符号的数字 显示16进制数字 显示二进制数 LCD1602.h main.c 上一篇讲了LCD1602的工作原理#xff0c;这一节开始代码演示#xff01; 新创建工程#xff1a;LCD1…目录 LCD1602.c 模拟写指令的时序 模拟写数据的时序 初始化 显示字符 显示字符串 显示数字 显示有符号的数字 显示16进制数字 显示二进制数 LCD1602.h main.c 上一篇讲了LCD1602的工作原理这一节开始代码演示 新创建工程LCD1602功能函数代码 新创建main.cLCD1602.c和LCD1602.h文件 开始代码讲解 LCD1602.c 先根据原理图声明一下这三个控制引脚和八个数据引脚 #include REGX52.H//引脚定义 sbit LCD_RSP2^6; sbit LCD_RWP2^5; sbit LCD_EP2^7; #define LCD_DataPort P0然后根据上一篇讲的时序逐个定义函数 模拟写指令的时序 首先是写指令 void LCD_WriteCommand(unsigned char Command) {LCD_RS0;//写指令是低电平LCD_RW0;//写LCD_DataPortCommand;//将指令放在数据口Data port上LCD_E1;//使能LCD_Delay();//延时1msLCD_E0;//关闭使能LCD_Delay();//延时1ms } 由于E等于高电平是时间太快了我们看到手册上的时序参数都是纳秒级的单片机最低是微秒级的。 我们写指令得需要一定的执行时间如果E的电平给高立马给低的话如果太快的话可能读不过来 因此我们需要在E1之后加一段延时E0之后也加一段延时。 我们在STC软件上生成一个1ms的延时函数 放在写指令的函数上方将函数名改成LCD_Delay() void LCD_Delay() //12.000MHz 1ms {unsigned char i, j;i 2;j 239;do{while (--j);} while (--i); } 这样我们就可以直接调用这个延时函数了 模拟写数据的时序 void LCD_WriteData(unsigned char Data) {LCD_RS1;//写数据是高电平LCD_RW0;LCD_DataPortData;LCD_E1;LCD_Delay();LCD_E0;LCD_Delay(); }接下来我们把这两个函数组合起来根据LCD1602的操作流程完成我们想要的功能 初始化 void LCD_Init(void) {LCD_WriteCommand(0x38);LCD_WriteCommand(0x0C);LCD_WriteCommand(0x06);LCD_WriteCommand(0x01); }显示字符 显示字符之前我们得设置光标位置 void LCD_SetCursor(unsigned char Line,unsigned char Column)//行列 {if(Line1)//如果是第一行{LCD_WriteCommand(0x80|(Column-1));}else //如果是第二行{LCD_WriteCommand(0x80|(Column-1)0x40);} }如果是第一行用0x80或上列码-1 如果是第二行用0x80或上列码-1再0x40 如果不知道0x80是什么请看上一篇博客的解释 设置好光标位置后开始写显示字符函数  void LCD_ShowChar(unsigned char Line,unsigned char Column,unsigned char Char)// 行 列 显示的字符 {LCD_SetCursor(Line,Column);LCD_WriteData(Char); }但是显示字符在实际的应用中还是远远不够的我们可以让它显示别的东西 比如 显示字符串 void LCD_ShowString(unsigned char Line,unsigned char Column,unsigned char *String) //传过来的unsigned char*型指针代表字符串的首地址{unsigned char i;LCD_SetCursor(Line,Column);for(i0;String[i]!\0;i)//遍历字符数组{LCD_WriteData(String[i]);} } 显示数字 由于不能直接显示数字得先转换成字符然后再显示 比如传过来的数字是789那么我们得对789进行转换成字符7字符8和字符9再显示 怎么转换呢 先挨个位取出来数字7数字8数字9 789/1007.89对7.89取余7.89%107取出来了高位 789/10%108取出来第二位 789/1%109取出来最低位 我们按照这个方法从高位开始取 我们得弄个长度的变量 ii 和取整时的除数的关系是 于是我们可以先定义一个次方函数通过这个函数我们就可以得到返回值等于x的y次方 int LCD_Pow(int X,int Y) {unsigned char i;int Result1;//如果Y0则下面的iY直接不成立直接返回1符合任何数的0次方等于1的规则for(i0;iY;i){Result*X;//如果Y1结果等于1*X就等于X的1次方//如果Y2结果等于1*X*X等于X的2次方}return Result;//返回值等于x的y次方 } 我们用这个规律Number/LCD_Pow(10,i-1)规律取出来的是数字想要显示成字符的话要将数字转换成对应的ASCII码值。怎么转换呢 我们看着ASCII码表找规律 由此可见我们想要将一个数字转换成对应的ASCII码值的话可以将它本身的二进制数值加上0x30也就是字符0的ASCII码值就能得到它的ASCII码值了 于是就写成0Number/LCD_Pow(10,i-1)%10 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(0Number/LCD_Pow(10,i-1)%10);//Number/LCD_Pow(10,i-1) 10Xi-1Y} } 显示有符号的数字 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;//变成正数范围是32768为了保证范围则需要赋给一个无符号的int型}for(iLength;i0;i--){LCD_WriteData(0Number1/LCD_Pow(10,i-1)%10);} } 显示16进制数字 如果是16进制了话就不是除以10除以100这样子了而是除以16再对16取余 所以改成Number/LCD_Pow(16,i-1)%16; 而且16进制从0~F0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f 而A的ASCII码值不是紧接着9的所以当数字大于等于10的话要用 if 判断一下 并且这时就不是加0x30了要改成加上0x41即 A 的ASCII码值 我们将取出来的单个数字定义成SingleNumber‘A’但是当取出来的SingleNumber大于等于10的话我们将它‘A’就会偏移10。 比如说SingleNumber10那么它的二进制数是0100 1010加上‘A’的ASCII码0100 0001, 而我们想要SingleNumber是A的话就得减去10。 如果说SingleNumber11那么它的二进制数是0100 1011加上‘A’的ASCII码0100 0001, 而我们想要SingleNumber是B的话就得减去10。 因此ASingleNumber-10 void LCD_ShowHexNum(unsigned char Line,unsigned char Column,unsigned int Number,unsigned char Length) {unsigned char i;unsigned char SingleNumber;LCD_SetCursor(Line,Column);for(iLength;i0;i--){SingleNumberNumber/LCD_Pow(16,i-1)%16;//取出单个数值if(SingleNumber10)//如果单个数值小于10{LCD_WriteData(0SingleNumber);}else //如果单个数值大于等于10{LCD_WriteData(ASingleNumber-10);}} } 显示二进制数 二进制的话就改成除以2和%2Number/LCD_Pow(2,i-1)%2 取出来之后加上0的ASCII码就是对应的字符了 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(0Number/LCD_Pow(2,i-1)%2);} }LCD1602.h 然后声明一下这些函数 #ifndef __LCD1602_H__ #define __LCD1602_H__void LCD_Init(void); void LCD_ShowChar(unsigned char Line,unsigned char Column,unsigned char Char); void LCD_ShowString(unsigned char Line,unsigned char Column,unsigned 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);#endifmain.c 最后在主程序中调用一下这些函数就可以显示了! #include REGX52.H #include LCD1602.h #include Delay.hvoid main() {LCD_Init(); //LCD初始化LCD_ShowChar(1,1,A); //在1行1列显示字符ALCD_ShowString(1,3,Hello); //在1行3列显示字符串HelloLCD_ShowNum(1,9,66,2); //在1行9列显示数字66长度为2LCD_ShowSignedNum(1,12,-88,2); //在1行12列显示有符号数字-88长度为2LCD_ShowHexNum(2,1,0xA5,2); //在2行1列显示十六进制数字0xA5长度为2LCD_ShowBinNum(2,4,0xA5,8); //在2行4列显示二进制数字0xA5长度为8LCD_ShowChar(2,13,0xDF); //在2行13列显示编码为0xDF的字符LCD_ShowChar(2,14,C); //在2行14列显示字符Cwhile(1){} }效果请看视频 LCD1602液晶显示屏 补充 如果想要做流动字幕的效果的话我们可以调用这个指令码0x18 将写指令的函数声明为外部可调用函数 然后在主程序中调用这个函数传这一个移屏指令过去放在while循环里面调用一次移一次 但是这样太快了我们可以把我们之前讲过的Delay的模块化程序添加进来每移一次就Delay 500ms 效果请看视频 LCD1602液晶屏显示流动字幕 以上就是本节内容源码会放在评论区如有问题可评论区留言

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/90073.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

平顶山建设公司网站wordpress电影资讯

在金三银四的招聘季中,各大知名互联网企业纷纷加入了对鸿蒙人才的争夺战。近日,包括淘宝、京东、得物等在内的知名APP均宣布启动鸿蒙星河版原生应用开发计划。这一举措不仅彰显了鸿蒙生态系统的迅猛发展,还催生了人才市场的繁荣景象。据数据显…

小说网站静态模板辽宁省建设工程信息网推荐中项网

中间件原理专题_自学大纲所属类别学习主题建议课时(h) A Web服务器Tomcat8原理分析001 Tomcat8底层架构模式2.5 A Web服务器Tomcat8原理分析002 Tomcat8底层源码深度分析2.5 A Web服务器Tomcat8原理分析003 站在微服务架构角度优化Tomcat82.5 B 分布…

微网站用什么做中职教材 网站建设

除了许多新功能,Spring Boot 1.2还带来了Jersey支持。 这是吸引喜欢标准方法的开发人员的重要一步,因为他们现在可以使用JAX-RS规范构建RESTful API,并将其轻松部署到Tomcat或任何其他Springs Boot支持的容器中。 带有Spring平台的Jersey可以…

购物网站开发案例下载温州seo代运营

1.在创建项目中选择动态链接库,如果没有可以从右侧搜索,如果还没有重新安装安装包点击修复增加相应功能 2.点击下一步,可以修改项目名称和目录位置点击创建完成项目创建 3.在新建项目内添加新的头文件(.h),…

简历网站有哪些网页视频怎么下载不了

前言 PHP本身并不直接支持多线程编程,因为PHP的设计初衷是作为一个脚本语言,主要面向的是Web开发。不过我们可以使用一些扩展和库来实现多线程的功能,比如workerman和swoole。通过多线程异步执行任务,可以大大提高代码的执行效率。…

建设高端网站公司哪家好郑州知名做网站

目录 一、list 1.1list的定义和结构 以下是一个示例,展示如何使用list容器: 1.2list的常用函数 1.3list代码示例 二、stack 2.1stack的定义和结构 stack的常用定义 2.2常用函数 2.3stack代码示例 一、list 1.1list的定义和结构 list的使用频率不高&#…

美橙建站五站合一软件网络营销公司赚钱吗

课程链接 目录 相关介绍什么是ECMA什么是ECMAScript为什么学习ES6 letconst变量解构赋值模板字符串对象简化写法箭头函数函数参数的默认值rest参数扩展运算符Symbol迭代器生成器函数与调用Promise介绍与基本用法Promise封装读取文件Promise.prototype...then方法Promise.catch…

效果图设计师有前景吗谷歌seo关键词优化

概览 云在远方,管理在您手中。在这个移动为先 云为先的世界,服务不再是基于请求才提供,而是主动来到身边方便您的模式了。我们最近将会陆续推出几大移动端利器帮助您随时随地管理您的云服务。 首批利器之中排名第一当属Azure云助手应用, 它是…

做公司网站,哪个程序用的多怎么做网站聊天视频直播

作者 | 王磊来源 | Java中文社群(ID:javacn666)转载请联系授权(微信ID:GG_Stone)在我们日常工作中,时间格式化是一件经常遇到的事儿,所以本文我们就来盘点一下 Spring Boot 中时间格…

网站代做多少钱免费的wordpress主机

答:1、进入控制面板,选择“卸载或更改程序”。 2、选中“AutoCAD2006”图标。 3、右击选择“更改”。 4、进入“AutoCAD2006安装程序对话框”,选择“添加/删除功能”单选按钮,点击下一步。 5、在“程序文件”列表中,选…

各网站提交入口温州比较好的设计公司

人工智能技术的进步,在不断的革新我们的工作和生活,同时,拥有人工智能技术的语音智能客服机器人在销售行业的工作熟悉程度也越来越好,那语音智能客服机器人有什么优势?我们一起来看看。 1、ASR语音文本转换 客户可通过…

.net网站吃内存wordpress关联微信

今天因工作需要写了个小程序,用于在图片集中自动抽取需要的照片。该程序只是实现了基本功能,还有很多需要完善的地方,展示出来算是给自己鼓鼓气吧。该程序应用有一定特殊条件,因我选择的图片集是工业生产过程中自动拍摄生成的&…

旅游类网站建设的结论网站正在建设中 英语

1先找一套相同cpu的虚拟机下载rpm 2 如果新的虚拟机没有yum源就替换 修改yum源-CSDN博客 1.2使用wget下载yum源配置文件 (1)备份本地yum源配置文件 备份命令: mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak(2)下载yum源配置文…

注册域名哪个网站好怎么在百度做原创视频网站

关注小夕并星标,解锁自然语言处理搜索、推荐与算法岗求职秘籍文 | 苏剑林(追一科技,人称苏神)美 | 人美心细小谨思密达前言这篇文章简单介绍一个叫做AdaX的优化器,来自《AdaX: Adaptive Gradient Descent with Exponen…

淘客网站 wordpresserp系统的优点

2月21日,全球多媒体巨头Adobe在官网宣布,推出生成式AI助手AI Assistant,并将其集成在Reader 和Acrobat 两款PDF阅读器中。 据悉,AI Assistant的功能与ChatGPT相似,可以基于PDF文档提供摘要、核心见解、基于文档内容&a…

网站建设的难点南宁比较有好的网站制作公司

用Dos的copy命令实现: copy a.jsb.jsc.js abc.js /b 将 a.js b.js c.js 合并为一个 abc.js,最后的 /b 表示文件为二进位文件,copy 命令的其它参数可以在 cmd 里输入 copy /? 学习 举例:如果想要合并多个js文件到某个目录下&#…

站长工具seo优化IT科技资讯新闻类织梦网站模板

为什么要在Redis存数据 Redis 用来实现应用和数据库之间读操作的缓存层,主要目的是减少数据 库 IO,还可以提升数据的 IO 性能。 因为Redis基于内存, 查询效率比MySQL快很多, 所以有限查询Redis中的数据,如果Redis没有就查询数据库然后同步到Redis 出…

汕头建立网页公司淘宝客seo推广教程

题意 题目链接 Sol 直接在线段树上二分 当左右儿子中的一个不是\(x\)的倍数就继续递归 由于最多递归到一个叶子节点,所以复杂度是对的 开始时在纠结如果一段区间全是\(x\)的两倍是不是需要特判,实际上是不需要的。 可以这么想,如果能成功的话…

做微信小程序是不是不用做网站网站文章优化怎么做

美赛思路已更新,关注后可以获取更多思路。并且领取资料 C题思路 首先,我们要理解势头是什么。简单来说,势头是一方在比赛中因一系列事件而获得的动力或优势。在网球中,这可能意味着连续赢得几个球,或是在比赛的某个关…

软件网站技术开发公司标准网站建设费用

JAVA中Object类的toString()方法,objecttostringtoStringpublic String toString()返回该对象的字符串表示。通常,toString 方法会返回一个“以文本方式表示”此对象的字符串。结果应是一个简明但易于读懂的信息表达式。建议所有子类都重写此方法。Objec…