收藏 分销(赏)

飞思卡尔8位单片机MC9S0813程序接口编程实例.doc

上传人:pc****0 文档编号:7815821 上传时间:2025-01-19 格式:DOC 页数:3 大小:39KB
下载 相关 举报
飞思卡尔8位单片机MC9S0813程序接口编程实例.doc_第1页
第1页 / 共3页
飞思卡尔8位单片机MC9S0813程序接口编程实例.doc_第2页
第2页 / 共3页
飞思卡尔8位单片机MC9S0813程序接口编程实例.doc_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

1、(1) LED编程汇编语言例 实例编号:A08 路径:ASMA08_数码管LED (LEDMain.asm)*-*文 件 名:LEDMain.asm *硬件连接:PTA 7-0 分别接LED的数据线 h g f e d c b a * PTB 3-0 分别接各LED的位选线(自左到右) *程序描述:在4连排数码管上从左至右显示3568 *目的:实现数码管的显示 *说明:SD-HC08实验仪器未提供LED的固定接线,也未提供LED,可 * 自行购买,在IC扩展区接线,同时注意LCD及键盘的可能影响 * *-嵌入式应用技术基础教程教学实例-*头文件$include GP32ASM.H ;包含GP3

2、2的头文件*两个起始地址名RAMstartAddr equ $0040 ;RAM的起始地址FlashStartAddr equ $8000 ;程序开始地址*LED相关信号口LEDdata equ PTA ;LED数据线接口LEDdata_D equ DDRA ;数据线相应方向寄存器LEDcs equ PTB ;位选线接口LEDcs_D equ DDRB ;位选线相应方向寄存器*内存变量 org RAMstartAddr ;RAM的起始地址CS rmb 1 ;位选信号LEDbuf rmb 4 ;LED显示缓冲区I1 rmb 1 ;临时变量I2 rmb 1 ;临时变量*=*主程序 org Flas

3、hStartAddr ;程序起始地址start: ;复位后程序从此开始执行 ;堆栈初始化 SEI LDHX #$023F TXS JSR GP32Init ;调系统初始化子程序GP32Init ;LED口初始化 LDA #%11111111 STA LEDdata_D ;数据口为输出到LED STA LEDcs_D ;位选口为输出到LEDMainLoop: ;LEDbuf0-3中放入要显示的数字 MOV #!3,LEDbuf MOV #!5,LEDbuf+1 MOV #!6,LEDbuf+2 MOV #!8,LEDbuf+3 ;在4位共阴极LED上显示LEDbuf中的4个数据(只允许0-9)

4、MOV #%11110111,I1 ;初始位选信号(共阴极情况) MOV #!4,I2 ;显示个数 LDHX #LEDBufLEDShow: PSHH ;保护数据地址 PSHX LDX ,X ;数据 LDA I1 ;位选信号 JSR LEDshow1 ;显示一个数据 LDA I1 ;变动位选信号 SEC RORA STA I1 ;延时 LDHX #!10 JSR Delay_ms PULX ;恢复数据地址 PULH AIX #!1 ;指向下一个数据 DBNZ I2,LEDShow JMP MainLoop*LEDshow1:在1个LED上显示数字-*功 能:在第A个LED上显示数字X(本处转码

5、) *入 口:A(LED信号,决定位选) X(要显示的数字) *出 口:无 *-* LEDshow1: PSHH ;保护HX CLRH STA LEDcs ;送位选信号 LDA Table,X ;取显示码 STA LEDdata ;送到LED数据线 PULH ;恢复H RTS *显示码表 0 1 2 3 4 5 6 7 8 9 Table: FCB $3F,$06,$5B,$4F,$66,$6D,$7D,$07,$7F,$6F*外部子程序存放处,这些子程序都在当前目录中 $INCLUDE GP32init.asm$INCLUDE Delay.asm*中断向量 ORG $FFFE DW star

6、t ;复位向量(2) LED编程C语言例 实例编号:C08 路径:CC08_数码管LED (LEDTest.prj)/*-*工 程 名:LEDTest.prj *硬件连接:PTA 7-0 分别接LED的数据线 h g f e d c b a * PTB 3-0 分别接各LED的位选线(自左到右) *程序描述:在4连排数码管上从左至右显示1234 *目的:实现数码管的显示 *说明:SD-HC08实验仪器未提供LED的固定接线,也未提供LED,可* 自行购买,在IC扩展区接线,同时注意LCD及键盘的可能影响* *-嵌入式应用技术基础教程教学实例-*/*头文件*/#include GP32C.h /

7、MCU头文件/LED相关接线#define LEDdata PTA /LED数据线接口#define LEDdata_D DDRA /数据线相应方向寄存器#define LEDcs PTB /位选线接口 #define LEDcs_D DDRB /位选线相应方向寄存器/内部变量定义unsigned char LEDbuf4,CS; /LED显示缓冲区及位选信号 void LEDshow1(unsigned char cs,unsigned char num);/*主程序*/void main() unsigned char i; unsigned int j; LEDdata_D=0xFF;

8、/数据口为输出 LEDcs_D=0xFF; /位选口为输出 /LEDbuf0-3中放入要显示的数字 LEDbuf0=3; LEDbuf1=5; LEDbuf2=6; LEDbuf3=8; /在4位共阴极LED上显示LEDbuf中的4个数据(只允许0-9) CS=0b11110111; /初始位选信号(共阴极情况) while(1) for(i=0;i1; /变动位选信号 for(j=0;j5;j+); /延时 /显示码表const unsigned char Table10=0x3F,0x06,0x5B,0x4F,0x66, 0x6D,0x7D,0x07,0x7F,0x6F; /*LEDshow1:在1个LED上显示数字-*功 能:在第cs个LED上显示数字num(本处转码) *参 数:cs(LED信号,决定位选) num(要显示的数字) *返 回:无 *-*/void LEDshow1(unsigned char cs,unsigned char num) LEDcs=cs; /送位选信号 LEDdata=Tablenum; /取显示码并送到LED数据线

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 百科休闲 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服