请高手指教51单片机PC用C语言修改PC指针?

因为子程序调用时下一条指令嘚地址入栈,放到38H(低位地址)和39H( 高位地址)这时,SP=39H如果还有入栈的,就是放到40H了

你对这个回答的评价是?

希望对大家有帮助!!!

入门有針对性的解决一些简单的实际问题边理论边实践学一样会一样

基本实验:LED流水灯,数码管显示键盘控制,音乐播放继电器控淛I2C通信实验,串口通信实验红外线遥控信号解码实验等 单片机PC的定义分类和内部组成


1单片机PC就是中央处理器CPU,随机存储器RAM。只读存儲器ROM定时、计数器和各种输入输出接口I/o接口电路等部件集成在一块电路芯片上的微型计算机。

适合便携式手提式和野外作业 2分类按不哃容量的存储器配置分:51子系列和52子系列


ROM,可擦除可编程ROM128BRAM,两个16位定时器/计数器和5个中段器52系列是增强型各项指标都高

Provider内部集成看门狗计时器等。3.1串行接口就是接口数据传送 3.2中断控制系统接收中断请求如定时时间到需要鸣笛报警类似stop to do 停下来去执行ROM中特定的每段程序,執行完后再继续执行先前中断的程序


时钟电路控制节拍工作

一个典型的单片机PC应用系统包括输入电路,单片机PC输出电路 把他想象成电腦。


十六进制A10B11C12D13E14F15

记A10和D13点得13点F15不是F16十六进制加H逻辑数据的运算逻辑與。两个输入一个输出中间加一个恒定5v电压有0为0,全1出1逻辑或有1为1全0出0;字长通常与计算机内部的寄存器和運算器数据总线的宽度一致


实例1功能感受protues仿真单片机PC播放《渴望》主题曲
运用protues打开仿真原理图。
原理图编辑窗口没有滚动条可通过预览窗口该表原理图的可视范围。

Protues双击右键删除先单击鼠标右键可通过鼠标左键可以编辑元器件的属性鼠标右键来删除画错的连线 中键缩放原理图

新建即保存新建设计文件

双击鼠标左键编辑label放置电源和地必须编辑正确的labelVCCGND各元器件引脚通过总线的连接并不表示真正意义上的電气连接,需要添加网络标号


振荡电路:单片机PC是一种时序电路,必须施加脉冲信号才能工作在它的内部有一个时钟产生电路,只要接仩两个电容和一个晶振即可正常工作P30
复位电路;启动后让单片机PC从初始状态开始执行程序。
EA一横:接正电源端表示使用内部程序存储器。
紸意:观察仿真效果时晶振电路,复位电路和EA引脚和电路的连接可以省略

Keil软件源程序后缀。C必须手工输入表示为c语言程序,让keilc51采用對应的c语言的方式来编译源程序#include<reg51.h>包含51单片机PC寄存器定义的头文件 将新建的源程序文件加载到项目管理器右击source group文件add c文件


单片机PC不能处理c,必须将c转换成二进制或十六进制代码汇编或编译。

单片机PC软硬件系统仿真成功后要真正投入实际应用,必须将程序烧写入单片机PC芯片A51程序烧录器和


先将COM接口(用作数据通信)与计算机的COM接口(RS-232)连接好,然后将单片机PC安插在烧录器的插座中再用一根USB线将USB接口与计算机的USB接口连接,让计算机通过这根USB线向烧录器提供+5V电源
使用烧录器前手动设置一些,参数标签页根据COM口,设置好串口波特率设置为28800;
点擊自动擦除器件命令,点击打开文件命令选择单片机PC文件十六进制文件hex 再点击打开点击自动写器件
实例4用单片机PC控制一个灯闪烁

Led灯亮存茬电压差和正向偏置 延迟函数

Protues示波器面板?及使用 单片机PC需要一个时钟信号送给内部个电路才能使他们有节拍的工作,时钟信号的频率甴外部振荡电路的晶振频率决定51系列单片机PC的机器周期是由12个振荡周期组成。


指令周期:单片机PC执行一条指令的时间

时钟频率越低,延时的时间就越长灯闪烁的速度就越慢。实例5 p1口状态送入p0p2p3利用单片机PC工作速度快的特点无限循环可以让单片机PC不停地把p1口的電平状态送到p0p2口和p3口。 引脚接地低电平被输入到p口

实例6使用p3口流水点亮8led

实例7通过对p3口地址的操作流水点亮8led 单片机PC都有固定的地址記忆:张三在教室的第2排第5列
老师可以说清张三回答问题也可以说请第2排第5列的同学答题。

定义后程序中对x的操作就相当于对地址0xb0p3的操作类似于指针 P3口的固定地址是BOH

MCS-51单片机PC存储器的基本结构


   它有两种1即程序存储器和2数据存储器
从物理MSC-51有4个存储地址空间,即片内程序存储器和片外程序存储器
程序存储器受EA一横外接电平的控制
1当EA一横接地时,单片机PC只能使用外部程序存储器
2当EA一横接+5v是单片机PC先使用内部程序存储器容量不够时自动使用外部程序存储器。
单片机PC的复位电路 P54页?
1种采用/*。。*/可以注释多行内容
2种采用//但只能注释一行
ANSI标准萣义的关键字
延时函数不需要返回值
X++先用x的值,再让x加1

实例8用不同数据类型的数据控制led的闪烁  使用无符号整型数据和无符号字符数据来設计延时函数


由于整型数据占两个字节,而无符号字符型数据仅占一个字节因此对无符号整型数据进行操作花费的时间就要长一些,整型数据要实现100次循环消耗的时间约800个机器周期。无符号100占300个为了提高运行效率,尽可能用无符号字符型数据

实例9 p0口和p1口分别显礻加法和减法运算结果 其实就是利用二进制的单位数值进行亮1不亮0的表示


乘法除法就是利用二进制转化为十进制再进行处理

实例12用自增运算控制p08ked的闪烁花样 只要送到p0口的数值发生变化,p0口8位led点亮的状态就会发生变化可以先将变量的初值送到p0口延迟一段时间,再利用自增运算使变量加1然后将新的变量值送到p0口并延时一段时间,即可使8位led的闪烁花样不断变化

实例15;用p0口显示按位异或运算结果异或相异絀1,相同出0;记忆异性才能很火热的做出子女

实例16 p0口显示左移的运算结果

F=EY+Z逻辑函数p771专门设计数字电路实现逻辑功能2通过单片机PC编程來实现逻辑功能软件即硬件//实例17"万能逻辑电路"实验

实例18用右移实现流水灯


前提设p口为0xff八次右移一位高位丢弃低位补0

延迟用的变量因为要取大数所以必须用int后面因为要快所以取char型变量因为单片机PC运行快。所以led灯闪后要延迟C语言语句  


P1=0x00;如果按键s按下接地(相应位为低电平),
While語句花括号运用和  一般情况下,在循环体中应该有让循环停止的语句?
Do循环语句 while(循环式)
尽量避免使用goto语句
P87页的程序软件即硬件
实唎21用for语句实现鸣笛报警

T=1/f,所以要让蜂鸣器发出频率f的声音,只要让单片机PC输送周期为t的脉冲方波电平即可让单片机PC没半个周期取反一次。半周期可通过延时来实现可以通过循环的方式来实现延时,P90一重循环消耗的机器数近似N=3*n二重循环消耗的机器数近似N=3*n*m例子如果单片机PC的晶振频率为11.0592MHz,则机器的周期为1.085μs,要发出1600Hz的声音就让单片机PC每半个周期312μs将输出电平取反一次,而延时312μs需要消耗机器周期数N=312/1.085286可以取300循環次数300/3=100

数组作为函数参数一个数组的名字表示该数组的首地址所以用数组名作为函数的参数时。被传递的数组的首地址被调用函数嘚参数的形式须是定义为指针型变量。 用数组名作为函数的参数时应该在主调函数和被调函数中都进行数组定义。定义的数组类型必须┅致编译器不检查形参数组的长度p109函数?

函数型指针 一个函数在编译时,就分配了一个入口地址这个入口地址就是函数的指针,

实唎30用有参函数控制p08位流水灯的流水速度 P113实例31不实用?、

实例32 实例33是不错的c语言程序函数调用练习c语言p115p116

实例34不错c语言程序p118 指针数组适匼用来指向若干个字符串,尤其是各列字符串长度不一致的情形这对于字符的液晶显示等很有意义。


实际运用液晶等显示器显示字符时如果液晶的接口通过P0口和单片机PC连接,将各字符串送入p0口实际上就是送入液晶显示器。
的返回值为x3c思考他的应用
实例37实例38感觉像是介紹函数以后??c语言应用程序卡那可可能看看
宏定义c语言允许一个标示符来表示一个字符串称为宏。
P125宏定义不是c语句所以不需加汾号。
可以用#undef命令来终止宏定义的作用域即对#undef后面的无用。为防止歧义应加括号及时
带参数的函数宏和函数不同函数是先求出实参表達式的值,然后代入形参而带参数的宏只是进行简单的字符替换。
实例40文件包含应用举例
已将P3_0定义为P3.0引脚直接应用P3_0就可以对P3口进行操莋了。
实例41条件编译应用举例
常用的条件编译是根据某常量表达式的值的是否为真来控制编译
#endif?思考好的应用

第五章单片机PC的定时器计數器 当加在

第六章单片机PC的中断系统

由于单片机PC的输入输出口只有高电平1和低电平0因此向蜂鸣器输送的电平信号实际是就是该音频的方波。例如中音频率523Hz他的周期为1÷523秒,即193ms只要向蜂鸣器输送周期为1.91ms的脉冲方波电平信号就能发出523Hz的音调,该方波的半周期为1.91÷2=0.995ms为此,需要利用定时器的中断让输送给蜂鸣器的电平信号每0。955ms取反一次即可由于本书使用的单片机PC晶振为11.0952mhz,他的机器周期为12×(1÷110592)=1.085μs。洇此需要的机器周期总数为
定时器的定时常数为880

7MCS51单片机PC串行4中工作方式?、为了能够在计算机端看到单片机PC发出的数据较好的方法是借助于调试软件“串口调试助手”8P197页图9I^2C总线是Inter

千万不要认为只要程序对了,单片机PC就可以永远正确运行实际工作环境的各種干扰会导致单片机PC死机。X5045具有上电复位和降压管理的功能还具有看门狗定时器和具有块保护功能的串行EEPROM上电复位;上电就产生复位信号看门狗; 规定时间没有电平信号 就产生复位信号,利用该功能可以让单片机PC死机后自动重新复位


10A/D转换器;逐次逼近(常用) 双積分牛但慢 并行

红外信号接收红外发射部分包括键盘矩阵编码调制 LED红外发送器 接收器包括光电转换放大器

   中断定时器程序其实隐藏了调鼡。

完整的Word格式文档51黑下载地址:

不在在单独的寄存器中,看图

伱对这个回答的评价是

是的,但不可访问不可编程

你对这个回答的评价是?

你对这个回答的评价是

我要回帖

更多关于 单片机PC 的文章

 

随机推荐