⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 inout_2313.s

📁 AVR开发板例子源代码
💻 S
字号:
	.module inout_2313.c
	.area text(rom, con, rel)
	.dbfile E:\iccavr代码\实验19_杜邦线使用_2313\inout_2313.c
	.dbfunc e main _main fV
;              i -> <dead>
	.even
_main::
	.dbline -1
	.dbline 34
; //******************************************************************************
; //                                                                             *
; //    FileName   : inout_2313.c           ICCAVR V6.31A编译                   *
; //    Function   : 直接键盘驱动并显示程序                                      *
; //    Date       : 2006-12-11                                                  *
; //    Version    : 1.0                                                         *
; //                                                                             *
; //    Author     : 开关电源              hongtusy@163.com                      *
; //    Company    : 电子信息技术咨询网    http://www.itsn.cn                    *
; //                                                                             *
; //***************************描述与记事*****************************************
; //实验板的AVR程序,直接键盘的使用,可使用F1~F8等8个直接输入键盘。
; //说明:
; //具体电路可参照试验介绍里的说明。
; //使用器件:本实验是为了演示配合杜邦线使用ATtiny2313而特别安排的。
; //          使用默认的片内RC振荡器,4MHz
; //功能描述:按下PB口相应的按键,PD口对应的LED亮,松开后又恢复原样,同时PA0的蜂鸣器响//
; //接线定义:PD接LED(原SW1)输出,PB口(原SW4)键盘输入。PA0口接蜂鸣器。
; //使用的开关:SW4-1~7.SW6-1/3/4打开,SW3-5/8为系统复位端。
; //杜邦线:本实验就是为了演示杜邦线的使用,这里需要使用8根杜邦线将板上PD口连接至
; //        LED的输入端PC口,因为2313没有PC口。将杜邦线一端插在SW1后的插针上,
; //        另一端插在扩展插座JP2的PD口上。
; //        将PA0口()连到SW5-7的蜂鸣器引脚上。
; //记事:注意此时需要使用原配的实验套件"双公插针",事先将插针插在扩展插座上。
; //******************************************************************************
; #include <iot2313v.h>      //头文件,ATtiny2313单片机的寄存器定义
; 
; //注意事项1。PB口和下载口在一起,如果对地连接,很可能会影响下载,需注意。
; //        2。矩阵键盘使用SW4-1~8,直接键盘使用SW4-1~7和SW6-3~4开关。
;          //本程序是为了测试2313用的,刚好可以测试PB口和PD口(只有前7位),
; 		 //不过需要用杜邦线将LED灯的PC口接到插座的PD口上。
; 
; void main (void)
; {
	.dbline 36
;       unsigned char i;
; 	  DDRD=0xff;  //PD口设置为输出,共阴LED灯。
	ldi R24,255
	out 0x11,R24
	.dbline 38
; 	  
; 	  DDRB=0x00;  //PB口作为输入,内部上拉
	clr R2
	out 0x17,R2
	.dbline 39
; 	  PORTB=0xff;
	out 0x18,R24
	.dbline 41
; 	  
; 	  DDRA=0xff;  //蜂鸣器输出。
	out 0x1a,R24
	rjmp L3
L2:
	.dbline 44
; 	  
; 	  while(1)
; 	  {
	.dbline 45
; 	       PORTD = ~PINB;   //PB口的引脚状态读到PD口
	in R2,0x16
	com R2
	out 0x12,R2
	.dbline 46
; 		   if (~PINB)
	in R2,0x16
	com R2
	breq L5
	.dbline 47
; 		   {
	.dbline 48
; 		         PORTA &= ~(1<<PA0);  //让PA0口的蜂鸣器响
	cbi 0x1b,0
	.dbline 49
; 		   }
	rjmp L6
L5:
	.dbline 51
; 		   else
; 		   {
	.dbline 52
; 		         PORTA |= 1<<PA0;   //让PA0口的蜂鸣器关
	sbi 0x1b,0
	.dbline 53
; 		   }
L6:
	.dbline 54
L3:
	.dbline 43
	rjmp L2
X0:
	.dbline -2
L1:
	.dbline 0 ; func end
	ret
	.dbsym l i 1 c
	.dbend

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -