今天给大家介绍的mega128单片机对IO口的控制
现象是在1602液晶上显示字符(1602液晶显示器是指该显示器每行可以显示16个字符,共2行。类似的还有128 64)
先说这个知识点主要是因为在控制和读取开关量器件的时候用的都对IO的操作,另外用液晶显示可以在我们调试机器人的时候更直观的输出调试的值,程序是否正常一目了然,提高调试效率。
写在前面的话:新手入门专用,高手请跳过整篇
一、先给大家提供本次介绍的资源
mega128单片机通过IO口控制1602液晶显示字符 http://pan.baidu.com/s/1bnuO9Oj
上面是资源内容的截图
简单的说明:
延时头文件:现在先不去管头文件是什么,记住工程中必须要加入这个头文件,里面写的是对延时函数的封装,这样做属于模块化编程,增强了C语言的可移植性,加入工程方法,在编译器左侧的工程名上右击鼠标,选择add fiel,然后再提示框里找到 .h文件添加进去就ok了。
1602字库头文件:里面封装了1602液晶的写指令函数和写字符函数,以及把我们传进去的字符对应翻译成适合1602数据的字库函数。
往单片机下载的文件:这个文件是在我们的工程没有错误(可以有警告)的情况下,通过编译器生成的 .hex 文件,就是烧写的程序。
编译器创建的工程文件:我们在用编译器新建工程的时候,自动生成的工程文件入口。
我们编写的C代码:这个文件以 .C 结尾的文件,我们可以选中右击用记事本打开,它和 .h 文件都是整个工程的核心。
剩余的文件:基本上都是在编译的过程中自动生成的中间文件或者是用于配置、调试的文件,只要保留有C文件和h文件,我们就可以重新创建一模一样的工程。
二、mega128的两个端口寄存器
上图是我在程序中截图的内容,其中
DDRE:数据方向寄存器,高电平为输出模式,程序中表示E组IO口的值为0x00,意思就是8个端口的值为0000 0000,都为低 电平,也就是都为输入模式
PORTE:数据存储器,E组的8个IO口初始化为1111 1111。
关于寄存器的只是有很多,而且很多是都是二进制转换成16进制配置,还好不需要记忆,学会查找手册就行,手册我之前分享过了哦。
关于寄存器的总结,我在网上找到一个朋友的博客,链接过来给大家看下,http://blog.sina.com.cn/s/blog_503cd6a90100fhom.html
结束语:
后续会分享更多的资源,希望大家能够喜欢,如果有什么疑问或者建议,请留言,机器人交流群:221733759
最后给大家推荐几个模块
机器人大电流直流电机驱动:https://item.taobao.com/item.htm?spm=a1z10.1-c.w4004-11970373710.6.Eg1Umi&id=522693660041
灰度传感器:https://item.taobao.com/item.htm?spm=a1z10.1-c.w4004-11970373710.2.Eg1Umi&id=521915489173