c语言intrins头文件,结合单片机学习板学习c语言之流水灯制作 intrins.h头文件
原标题:结合单片机学习板学习c语言之流水灯制作 intrins.h头文件
目的:实现流水灯。
本文引用地址:http://www.eepw.com.cn/article/201608/294948.htm源程序:
/*本程序结合STC89C51使用,晶振12M,中间用到串口中断子程序是利用STC单片机的自定义ISP下载功能,自定义下载命令是FEH,关于自定义下载请参考《用51单片机就用STC51,手把手教你STC51的ISP》*/
#include"at89x51.h"
//#include"reg51.h"
#include "intrins.h"
#include
sfr ISP_CONTR =0xE7;
delay_05s()
{
int i;
i=647395;
for(;i!=0;i--);
}
void serial() interrupt 4 //编号0-4,外中断0,定时器0,外中断1,定时器1,串行中断
{
int a;
RI=0;
a=SBUF;
if (a==0xFE)
{delay_05s();
delay_05s();
ISP_CONTR=0x60;}
else
SBUF='A';//若不是自定义下载命令则返回'A'
while(!TI);
TI=0;
}
void main(void)
{
unsigned int a,c;
unsigned char b;
TMOD=0x20;
TH1=0xf4;//波特率4800
TL1=0XF4;
TR1=1;
SCON=0XF8;
PCON=0X80;
EA=1;
ES=1;
RI=0;
b=0xfe;
while(1)
{
P1=b;
b=_crol_(b,1);//字符中的位左移1位(伪本征函数)
for(c=0;c<30000;c++);/*延时,实践表明当小于值大于等于32768(刚好是unsigned int最大值65535的一半)时,此句指令执行时间大于1秒*/
}
}
程序附加说明:
1.关于自定义下载,略微解释下原理,电脑中STC-ISP软件向单片机发送自定义下载命令后,引起单片机的串口中断,并进入中断子程序:判断是否为设定“自定义下载命令”-延时1秒-执行重启命令“ISP_CONTR=0x60;”(即MOV ISP_CONTR(0XE7),0X60),单片机重启并先运行ISP监视程序,电脑STC-ISP软件便把.hex文件数据下到STC单片机中去。
2.流水灯循环左移右移,用C语言,要高效的话,只有用伪本征函数文件“intrins.h”中的_crol_(),_cror_()...等等函数,具体解释如蓝色文字,例如,要用P1口驱动8个共阳连接的二极管左循环一个一个地亮,语句是 P1=_crol_(a,1);//a储存被移位的字符。
c51中的intrins.h库函数
_crol_ 字符循环左移
_cror_ 字符循环右移
_irol_ 整数循环左移
_iror_ 整数循环右移
_lrol_ 长整数循环左移
_lror_ 长整数循环右移
_nop_ 空操作8051 NOP 指令
_testbit_ 测试并清零位8051 JBC 指令
详解:
函数名: _crol_,_irol_,_lrol_
原 型: unsigned char _crol_(unsigned char val,unsigned char n);
unsigned int _irol_(unsigned int val,unsigned char n);
unsigned int _lrol_(unsigned int val,unsigned char n);
功 能:_crol_,_irol_,_lrol_以位形式将val 左移n 位,该函数与8051“RLA”指令
相关,上面几个函数不同于参数类型。
例:
#include
main()
{
unsigned int y;
C-5 1 程序设计 37
y=0x00ff;
y=_irol_(y,4); /*y=0x0ff0*/
}
函数名: _cror_,_iror_,_lror_
原 型: unsigned char _cror_(unsigned char val,unsigned char n);
unsigned int _iror_(unsigned int val,unsigned char n);
unsigned int _lror_(unsigned int val,unsigned char n);
功 能:_cror_,_iror_,_lror_以位形式将val 右移n 位,该函数与8051“RRA”指令
相关,上面几个函数不同于参数类型。
例:
#include
main()
{
unsigned int y;
y=0x0ff00;
y=_iror_(y,4); /*y=0x0ff0*/
}
函数名: _nop_
原 型: void _nop_(void);
功 能:_nop_产生一个NOP 指令,该函数可用作C 程序的时间比较。C51 编译器在_nop_
函数工作期间不产生函数调用,即在程序中直接执行了NOP 指令。
例:
P()=1;
_nop_();
P()=0;
函数名: _testbit_
原 型:bit _testbit_(bit x);
功 能:_testbit_产生一个JBC 指令,该函数测试一个位,当置位时返回1,否则返回0。
如果该位置为1,则将该位复位为0。8051 的JBC 指令即用作此目的。
_testbit_只能用于可直接寻址的位;在表达式中使用是不允许的。
3.至于>>=,>>,<
责任编辑:
c语言intrins头文件,结合单片机学习板学习c语言之流水灯制作 intrins.h头文件相关推荐
- 在c语言中本征函数说明,结合单片机学习板学习c语言之流水灯制作--intrins.h头文件...
目的:实现流水灯.本文引用地址:http://www.eepw.com.cn/article/201608/294948.htm 源程序: /*本程序结合STC89C51使用,晶振12M,中间用到串口 ...
- 立创EDA入门3 通过51单片机最小板学习PCB设计
立创EDA入门3 通过51单片机最小板学习PCB设计 一.本文目的 二.原理图设计 1. 新建工程,命名为51系统 2. 各模块原理图 3. 一些常用操作 (1)放置普通元器件 (2)封装.标签设置 ...
- p1口流水灯c语言,单片机实验二--P1口输出实验(流水灯)
<单片机实验二--P1口输出实验(流水灯)>由会员分享,可在线阅读,更多相关<单片机实验二--P1口输出实验(流水灯)(3页珍藏版)>请在人人文库网上搜索. 1.实验2p1端口 ...
- 51单片机流水灯制作
文章目录 51单片机流水灯制作 初试与复试 初试 复试 制作 分工 制作之硬件 制作之软件 总结 51单片机流水灯制作 我不得不承认自己的毅力实在是太差了,原先准备一星期写一篇博客的目标一致没有实现, ...
- ## C51单片机2种方法让8个流水灯依次亮灭
C51单片机2种方法让8个流水灯依次亮灭 第一种 数组 就是把每次亮灯情况写在数组里面.8个二极管共同接地.比如说0xfe是二进制是11111110,第一个灯灭.然后下一个数是0xfd,对应二进制是1 ...
- 单片机学c语言还是python好_单片机开发用哪种语言最好?
在过去的几十年中,单片机的规格变化不大,但是语言和支持软件的扩展为应用程序开发开辟了许多途径.多年来,对单片机进行编程涉及到两种语言的选择:C语言和汇编语言.但是随着现在可用于微处理器的新语言,用户在 ...
- c语言程序 5ms 延时,计算机单片机延时方法电脑c语言.docx
计算机单片机延时方法电脑C 语言 您需要登录后才可以回帖登录| 注册发布 单片机是一种集成电路芯片,是采用超大规模集成电路技术把 具有数据处理能力的中央处理器CPU.随机存储器RAM.只读存储器 RO ...
- 单片机c语言99秒倒计时,51单片机99秒倒计时C语言源程序
51单片机99秒倒计时C语言源程序 51单片机实现数码管99秒倒计时,其实很简单,就是使用定时器中断来实现.目的就是学习怎样用单片机实现倒计时,从而实现一些延时控制类的东西,99秒只是一个例子,你完全 ...
- 单片机c语言出租车计时程序,基于单片机的出租车计费(c语言).doc
基于单片机的出租车计费(c语言) 基于单片机的出租车计费(c语言) 基于proteus仿真 一.设计要求: 1.用实现出租车计费器的设计. 出租车起步开始计程和计费,计程系统按实际公里数计程,计费系统 ...
最新文章
- 开发者应具备的产品设计意识
- 如何理解 Web API
- spring框架的概述以及spring中基于XML的IOC配置——概念
- iPhone使用CoreTelephony获得SIM卡网络运营商资讯和通话资料
- 探索PCIe 3.0峰值性能,长江存储推新消费级固态硬盘致态TiPlus5000
- JavaScript中的innerHTML,innerHTML,value属性
- 为什么大家都会往大城市跑
- 2021孝感高中高考成绩查询,孝感高中成绩排名2021,孝感中考分数线排行榜
- [readable]轻松学,浅析依赖倒置(DIP)、控制反转(IOC)和依赖注入(DI)
- Amoeba Architecture
- JSON格式错误报JSON parse error:
- python爬虫解决频繁访问_python爬虫程序如何预防被限制
- Javaweb面试题(一)———更新中
- 关于 AI 的数百个问题,清华男神刘云浩教授的 3 万字回复给整得明明白白|附抽奖送书...
- 南邮计算机就业,这两所大学实力强劲,从专业到就业率分析,来看看谁更强吧...
- java毕业设计——基于Java+AI的五子棋游戏设计与实现(毕业论文+程序源码)——五子棋游戏
- 墨尘 - UE4 入门教程笔记 —— 二
- php 图片大小更改,word图片怎么统一调整大小
- Oracle数据库常用SQL语句查询
- 苹果三代耳机_airpods三代上市时间 苹果第三代蓝牙耳机什么时候上市