LED数码管是单片机外围接口设备中常用的显示设备,有七段管和米字管两种,实验室中常用的是七段管。其工作方式有两种:共阴极和共阳极。所谓共阴极是把LED的com端都接地,而共阳极就是把com端都接高电平。其驱动显示
位清0指令CLR C ;使CY=0CLR bit ;使指令的位地址等于0。例:CLR P1.0 ;即使P1.0变为0位置1指令SETB C ;使CY=1SETB bit ;使指定的位地址等于1。例:SETB P1.0 ;使P.0变为1位取反指令CPL C ;使CY等于原来的相反的值,由
1.定义的变量不要太多。低128位为用户定义变量的存放区域(默认时),也可以把变量放在高128位,但容易出错,尽量少放,最好不放。通过M51可以查看内存变量的存放,最好不要超过110个字节,否则程序无法运行或出错
8个发光管由上至下间隔1s流动,其中每个管亮500ms,灭500ms,亮时蜂鸣器响,灭时关闭蜂鸣器,一直重复下去。C++ Code12345678910111213141516171819202122232425262728293031323334#include#include#defineucharunsign
1 //晶振的频率2 #define OSC_FREQ (11059200UL)34 //每个指令的振荡周期数(4,6,12),注意,这里一定要仔细查看芯片手册5 //*12 - 早期的8051、8052及当前的绝大部分51单片机6 //*6 - Philips 的芯片7 //*4 - Dall
TX-1C板操作并行模式的1602液晶液晶第1,2脚是gnd和vcc第3脚是对比度调节第4脚是数据/指令选择端RS第5脚是读写选择端R/W,我们这次只写不读,故直接接地第6脚是读写使能EN第7到14脚是数据口,我们接STC89C52RC的P0口第15
这个小项目自己做了5天,小有成就感。。。感谢前辈们多多提意见。。12864液晶、DS12C887时钟芯片、DS18B20温度传感器。。。#define uchar unsigned char#define uint unsigned intuint temp;float f_temp;sbit Ds=P2
这个指令的作用是把累加器A的8位无符号整数除以寄存器B中的8位无符号整数,所得到的商存在累加器A,而余数存在寄存器B中。除法运算总是使OV和进位标志位CY等于0。如果OV=1,表明寄存器B中的内容为00H,那么执行结果为
看到很多在做电子工程设计的朋友在讨论:51单片机转到ARM该怎样学习?《单片机与嵌入式系统应用》小编为大家找到了这样一位工程师,谈谈他的实际经验~ 我以前一直用的是51,不过一直是C51,对C语言已经有10多年的
有个出租车计价器的题目,给出了汇编的程序,要求改为 C 语言的程序。这汇编的程序,编写的很复杂,实现的功能却还是很简陋。在硬件方面,显示金额的位数也不足。做而论道用 C 重新编写了一个程序,如下:#i
近来,看到好几个要求用 51 单片机和数码管来设计计算器的题目51 单片机,本质上是微控制器,以逻辑运算见长。用它来设计计算器 ?不知道谁想出来的这样的题目,思路明显就是跑偏了,呵呵特别是后一个的题目
51 系列单片机是高电平复位。如果在 AT89S52 的 9 号引脚(RST)加上宽度大于 2 个机器周期的高电平,该单片机芯片就将处于复位状态。复位时:PC = 0000H,SP = 07H,P0~
利用 51 单片机构成计数器,计数的上限,做的大一些,也不难,几千几万都可以。下面的电路,小了一点,是个两路两位的计数器。用来记录乒乓球比赛,还算可以,用于篮球比赛,分数超过 99,这个电路就不够用了
利用 2 个实验系统通过 232 通信,实现双机串行通信功能。用汇编或 C 语言编写一个 51 单片机程序,用本侧的 K0~K3 能控制对侧的 L0~L3,用对侧的 K0~K3 能控制本侧的 L0~L
//实例6:使用P0口流水点亮8位LED#include //包含单片机寄存器的头文件 /**************************************** 函数功能:延时一段时间 *****************************************/void delay(void) {
注意1.高低电平的改变不适合在主函数的while循环中,因为要有数码管动态显示的延时和其它逻辑处理,时间太长会不能及时改变高低电平值。2.中断的执行时间一定是不能超过定时时间的,不然就会中断没处理完又来了下一个
本部分主要介绍1602液晶显示,显示内容为“Hello,Welcome to my site,my friends.”。原理图如下:程序如下:#include#define uchar unsigned char#define uint unsigned intsbit RS=P3^0; //数据/命令选择端(H/L)
关于51单片机内存问题,一直是个疑惑大家的问题,因为51单片机是个很另类的单片机。下面我给楼主讲解一下:51单片机之所以另类,是因为,他寻址内存的空间,不是靠总线,是用指令的方式。51单片机有以下几个内存模块
本文以“60秒倒计时电路”为例谈一谈51 单片机汇编语言模块化编程的一点技巧。
P3口有两个功能:除了作为I/O使用外(其内部有上拉电阻),还有一些特殊功能,由特殊寄存器来设置,具体功能请参考我们后面的引脚说明。有内部EPROM的单片机芯片(例如8751),为写入程序需提供专门的编程脉冲和编程