您的位置:

看不懂单片机c语言程序,C语言与单片机

本文目录一览:

会C语言 但 看不懂单片机C语言程序!

会C语言的话就容易多啦,但要看你的C语言到哪个层次,另外对于单片机程序这种和硬件连接紧密的程序,仅有C语言是不够的,还需要了解单片机的硬件,用C语言编程相对汇编容易,可以简单看看PIC16F716的使用手册,然后从最简单的程序开始,慢慢就行了,如果还是吃力的话建议可以先了解最简单的51单片机。了解单片机硬件原理,再会C语言,就可以写

单片机程序了

单片机C语言程序,看不懂,求讲解

“T0中断服务程序不是一个子程序吗?但没看见在主程序中调用这个子程序啊,求讲解这个程序命令的运行过程,定时器怎么中断的?”

该子程序是在硬件产生中断的时候,跳转到相应中断入口后,再跳转到这个中断服务程序的。请注意函数后面的“interrupt x”声明,这是C51的扩展内容。

“用示波器测波形是测p1.0引脚,为什么是这个引脚,怎么确定的?p1_0不是个变量名吗?”

P1_0这个符号在前面的头文件 t89c51cc02.h 中有定义。至于“为什么是这个引脚”,是由硬件设计及本程序共同确定的。P1_0(不是你写的p1_0,C语言要区分大小写哦)代表P1口的第0管脚,在头文件中通过sbit定义。

“为什么T0中断服务程序和主程序中都有T0的初值,设置还是一样,他们有什么关系?”

主程序前面的是对Timer0初始化,赋以初值。执行 TR0 = 1; 这一句以后,Timer0就开始运行了——TL0与TH0组成的13位计数器开始不断递增。当13位全部为1之后,再递增就全部为0,此时溢出事件会触发产生定时器0,同时计数器仍然在继续计数——为了让时间间隔保持一致,就需要再度将计数器赋以初值。

单片机c语言程序,看不懂 ,求讲解

本文分三个步骤介绍12864的内部资源原理,指令集详细讲解,以及应用例子。

对12864的所有操作概括起来有4种:

1)、读忙状态(同时读出指针地址内容),初始化之后每次对12864的读写均要进行忙检测。

2)、写命令:所有的命令可以查看指令表,后续讲解指令的详细用法。写地址也是写指令。

3)、写数据:操作对象有DDRAM、CGRAM、GDRAM。

4)、读数据:操作对象也是DDRAM、CGRAM、GDRAM。

关于编码在DDRAM中的存储需要说明事项如下:

1)、每次对DDRAM的操作单位是一个字,也就是2个字节,当往DDRAM写入数据时,首先写地址,然后连续送入2个字节的数据,先送高字节数据,再送低字节数据。读数据时也是如此,先写地址,然后读出高字节数据,再读出低字节数据(读数据时注意先假读一次)。

2)、显示ASCII码半宽字符时,往每个地址送入2个字节的ASCII编码,对应屏幕上的位置就会显示2个半宽字符,左边的为高字节字符,右边的为低字节字符。

3)、显示汉字时,汉字编码的2个字节必须存储在同一地址空间中,不能分开放在2个地址存放,否则显示的就不是你想要的字符。每个字中的2个字节自动结合查找字模并显示字符。所以,如果我们往一个地址中写入的是一个汉字的2字节编码就会正确显示该字符,编码高字节存放在前一地址低字节,编码低字节存放在后一地址高字节,显然他们就不会结合查找字模,而是与各地址相应字节结合查找字模。