c语言读取cmos,访问CMOS,读取时间和日期并在控制台显示

本文介绍了如何使用C语言和汇编语言读取CMOS中的时间及日期信息,并将其在控制台上以ASCII码形式显示。通过端口70h和71h与CMOS交互,读取秒、分、时、日、月和年数据,并转换为可读格式。
摘要由CSDN通过智能技术生成

CMOS芯片特徵:

①包含一個實時鐘和一個有128個存儲單元的RAM存儲器

②128個字節的RAM中,內部實時鐘佔用0~0dh單元來保存時間信息,其餘大部份單元用於保存系統配置信息,供系統啟動時BIOS程序讀取。

③該芯片內部有兩個端口,端口地址為70h和71h。CPU通過這兩個端口來讀寫CMOS RAM。

在CMOS RAM中,存放著當前的時間:年、月、日、時、分、秒。這6個信息的長度都為1個字節,存放單元為:

秒:0 分:2 時:4 日:7 月:8 年:9

這些數據以BCD碼的方式存放。(高4位的BCD碼表示十位,低4位的BCD碼表示個位。)

BCD码值+30h = 十进制数对应的ASCII码

C语言实现(Win-TC编译通过):

#include

void main(){

while(!kbhit()){//按任意键退出循环

int

i,m;

printf("date:");

for

(i = 9;i >= 7;i--){

//输出日期

outportb(0x70,i);//向port地址70h输出value

m

= inportb(0x71);//返回从指定的I/O端口71h读入一个字节(8位数)

printf("%2x

",m);

}

printf("\n");

printf("t

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值