;*****************************************;
;实验名称:一位数码管静态显示0-9实验 ;
;作者: 龙谊 ;
;版本: VER 1.0 ;
;说明: 采用共阴极数码管 ;
;修改: 无 ;
;编程语言: 汇编语言 ;
;*****************************************;
ORG 00H
START: MOV DPTR,#TABLE ;把表TABLE的地址存入数据指针
BEGIN: CLR A ;清除ACC
MOVC A,@A+DPTR ;在表TABLE所指的地址中取码
CJNE A,#01,QIDONG ;码=01H?不等跳到QIDONG
JMP START ;等于返回重新开始
QIDONG: MOV P0,A ;将码送P0,即P0显示数码管的段码
CALL DELAY ;调延时子程序
INC DPTR ;数据指针加1,指向下一个码
JMP BEGIN
DELAY: MOV R5,#100 ;采用12MHZ晶振,延时时间为1秒
D1: MOV R6,#20
D2: MOV R7,#248
DJNZ R7,$
DJNZ R6,D2
DJNZ R5,D1
RET
TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH ;共阴极数码管0-9的编码
DB 01H ;结束码
END
关键字:单片机 入门程序
引用地址:
单片机入门程序三
推荐阅读最新更新时间:2024-03-16 14:42
单片机不起振原因分析
1、单片机晶振不起振原因分析 遇到单片机晶振不起振是常见现象,那么引起晶振不起振的原因有哪些呢? (1) PCB板布线错误; (2) 单片机质量有问题; (3) 晶振质量有问题; (4) 负载电容或匹配电容与晶振不匹配或者电容质量有问题; (5) PCB板受潮,导致阻抗失配而不能起振; (6) 晶振电路的走线过长; (7) 晶振两脚之间有走线; (8) 外围电路的影响。 解决方案,建议按如下方法逐个排除故障: (1) 排除电路错误的可能性,因此你可以用相应型号单片机的推荐电路进行比较。 (2) 排除外围元件不良的可能性,因为外围零件无非为电阻,电容,你很容易鉴别是
[单片机]
基于AT89S52单片机的电子密码锁
基于AT89S52单片机的电子密码锁,通过lcd1602显示,24c02芯片锁存,可以修改密码,延时开锁。 单片机源程序如下: //包含头文件 #include REG51.h #include intrins.h //宏定义 #define LCM_Data P0 //将P0口定义为LCM_Data #define uchar unsigned char #define uint unsigned int //1602的控制脚 sbit lcd1602_rs=P2^5; sbit lcd1602_rw=P2^6; sbit lcd1602_en=P2^7; sbit Scl=P3^4;
[单片机]
单片机第二次作业
作业:将A扩大十倍(A值较小,不溢出) ,此题方法较多,根据材料有三种做法,下面就一一列出。(既然此题如此繁琐,就请大家给个好评吧! ) 当然刚开始还是新建文件和工程,大家都懂得!那么我就直接粘贴啦! 1、先file new 建asm文件6.asm 方法一: MOV B,#10 MUL AB END 为了调试时看数据,预先在A中赋值为01H(既然A值较小,不溢出,那么就选个小一点的吧,简单嘛!)所以程序前加: MOV A,#01H 2、建新工程,Project new project ,选Ateml AT89C51 ,导入文件6.asm。 注
[单片机]
STC89C52RC单片机设计的FM收音机+自动搜台+存储电台
刚调试好的收音机,但是信号还不是很好,收音机模块用的TEA5767芯片,液晶1602显示,爱好者可以自己下载调试。 可以手动自动调节自动搜台电台 单片机源程序如下: #include reg52.h #include tea5767.h #include delay.h #include lcd1602.h //K1:上一台 K2:下一台 K3:从低向高搜索台 sbit K1 = P2 ^ 1; sbit K2 = P2 ^ 4; sbit K3 = P2 ^ 7; //当前频道号 从 0 开始 unsigned char ch = 0; void main() { //初始化 1602lcd lcd1602_init
[单片机]
AVR单片机设计中I/O口的使用注意事项
1.先正确设置DDRx方向寄存器,再进行I/O口的读写操作。 2.I/O口复位后的初始状态全部为输入工作方式,内部上拉电阻无效,外部引脚呈现三态高阻输入状态。 3.当I/O口工作在输入方式时,且要读取外部引脚上的电平时,应读取PINxn的值,而不是PORTxn的值。 4.当I/O工作在输入方式时,要根据实际情况使用或不使用内部的上拉电阻。 5.一旦将I/O口的工作方式由输出设置成输入方式后,必须等待1个时钟周期后才能正确读到外部引脚PINxn的值。
[单片机]
单片机初学者的常见问题总结
1、吴鉴鹰单片机开发板可以在哪些电脑系统上面运行答:在WIN7/XP/8/10都行。 2、吴鉴鹰单片机开发板可以外扩STM32,ATmega128的最小系统板吗?答:可以的,只需要把51芯片下下来,然后把STM32,ATmega128的最小系统板用杜邦线插上就行。 3、单片机的学习,需要哪些软件答:KEIL、STC—ISP软件。 4、下载软件需要安装吗?答:不需要安装,但是需要安装驱动。WIN7/XP/8/10,安装方法一样。驱动安装方法: 一、打开软件的文件夹 二、打开文件夹“ USB to UART Driver” 三、打开文件夹“CH340_CH341” 四、点击应用程序 五、点击安装5、
[单片机]
AVR单片机教程——闪烁LED
上次我们把LED点亮了。你可能已经试过把 LED_RED 换成其他灯,也可能已经用 led_on() 把所有LED一起点亮了。但是LED点亮以后,程序就退出了,之后LED一直没有暗,直到没有供电。这一次,我们用程序来控制LED的亮和暗。 新建一个C executable项目,选择ATmega324PA单片机,在项目属性中添加库libee1,将配置改为Release。这是本教程现阶段中每一次新建项目都要做的。我刚才尝试用project template简化,然而设置无法导入。 默认生成的main.c中的内容我们还是不要,全部删除后敲入以下代码: 1 #include ee1/led.h 2 #include ee1/d
[单片机]
单片机的应用领域
单片机的应用领域: 目前单片机渗透到我们生活的各个领域,几 乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿 车的安全保障系统,录象机、摄象机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。因此,单片机的学习、开发与应用将造就一批计算机应用 与智能化控制的科学家、工程师。 单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴: 1.在智能仪器仪表上的应用 单
[单片机]